This is an automated email from the ASF dual-hosted git repository.

shahar1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new d984e0c7795 Update Composer naming and add ManagedAirflow aliases 
(#66001)
d984e0c7795 is described below

commit d984e0c77956556e66910371c5c37d2226793df2
Author: Ulada Zakharava <[email protected]>
AuthorDate: Tue May 5 16:17:49 2026 +0000

    Update Composer naming and add ManagedAirflow aliases (#66001)
---
 .github/ISSUE_TEMPLATE/1-airflow_bug_report.yml    |   2 +-
 .../google/docs/operators/cloud/cloud_composer.rst | 144 +++++++++++++--------
 providers/google/provider.yaml                     |  11 +-
 .../google/cloud/operators/managed_airflow.py      |  40 ++++++
 .../airflow/providers/google/get_provider_info.py  |  15 ++-
 .../cloud/composer/example_cloud_composer.py       |  44 +++----
 .../google/cloud/operators/test_managed_airflow.py |  50 +++++++
 7 files changed, 220 insertions(+), 86 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml 
b/.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml
index 633ef433f4b..a9c89787403 100644
--- a/.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml
@@ -99,7 +99,7 @@ body:
         - "Other Docker-based deployment"
         - "Virtualenv installation"
         - "Astronomer"
-        - "Google Cloud Composer"
+        - "Google Managed Service for Apache Airflow"
         - "Amazon (AWS) MWAA"
         - "Microsoft ADF Managed Airflow"
         - "Other"
diff --git a/providers/google/docs/operators/cloud/cloud_composer.rst 
b/providers/google/docs/operators/cloud/cloud_composer.rst
index d02e19b26df..e666bbe35e1 100644
--- a/providers/google/docs/operators/cloud/cloud_composer.rst
+++ b/providers/google/docs/operators/cloud/cloud_composer.rst
@@ -18,35 +18,44 @@
 Managed Service for Apache Airflow (formerly Cloud Composer) Operators
 ======================================================================
 
-Managed Service for Apache Airflow (formerly Cloud Composer) is a fully 
managed workflow orchestration service, enabling you to create, schedule, 
monitor,
-and manage workflows that span across clouds and on-premises data centers.
+Managed Service for Apache Airflow (formerly Cloud Composer) is a fully 
managed workflow
+orchestration service, enabling you to create, schedule, monitor, and manage 
workflows that span
+across clouds and on-premises data centers.
 
-Managed Service for Apache Airflow (formerly Cloud Composer) is built on the 
popular Apache Airflow open source project and operates using the
-Python programming language.
+Managed Service for Apache Airflow (formerly Cloud Composer) is built on the 
popular Apache Airflow
+open source project and operates using the Python programming language.
 
-By using Managed Service for Apache Airflow (formerly Cloud Composer) instead 
of a local instance of Apache Airflow, you can benefit from the best of
-Airflow with no installation or management overhead. Managed Service for 
Apache Airflow (formerly Cloud Composer) helps you create Airflow
+By using Managed Service for Apache Airflow (formerly Cloud Composer) instead 
of a local instance
+of Apache Airflow, you can benefit from the best of Airflow with no 
installation or management
+overhead. Managed Service for Apache Airflow (formerly Cloud Composer) helps 
you create Airflow
 environments quickly and use Airflow-native tools, such as the powerful 
Airflow web interface and
 command-line tools, so you can focus on your workflows and not your 
infrastructure.
 
-For more information about the service visit `Cloud Composer production 
documentation <Product documentation 
<https://cloud.google.com/composer/docs/concepts/overview>`__
+For more information about the service visit the `product documentation
+<https://cloud.google.com/composer/docs/concepts/overview>`__.
 
 Create an environment
 ---------------------
 
-Before you create a cloud composer environment you need to define it.
-For more information about the available fields to pass when creating an 
environment, visit `Cloud Composer create environment API. 
<https://cloud.google.com/composer/docs/reference/rest/v1/projects.locations.environments#Environment>`__
+Before you create a Managed Service for Apache Airflow environment you need to 
define it.
+For more information about the available fields to pass when creating an 
environment, visit the
+`Managed Service for Apache Airflow create environment API
+<https://cloud.google.com/composer/docs/reference/rest/v1/projects.locations.environments#Environment>`__.
 
 A simple environment configuration can look as followed:
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 0
-    :start-after: [START howto_operator_composer_simple_environment]
-    :end-before: [END howto_operator_composer_simple_environment]
+    :start-after: [START howto_operator_managed_airflow_simple_environment]
+    :end-before: [END howto_operator_managed_airflow_simple_environment]
 
 With this configuration we can create the environment:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerCreateEnvironmentOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowCreateEnvironmentOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerCreateEnvironmentOperator``. The preferred alias for new code is
+``ManagedAirflowCreateEnvironmentOperator``.
 
 The create operator only succeeds after the Composer environment reaches the 
``RUNNING`` state.
 If the long-running create operation finishes but the environment remains in 
another state such as
@@ -55,17 +64,17 @@ If the long-running create operation finishes but the 
environment remains in ano
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START howto_operator_create_composer_environment]
-    :end-before: [END howto_operator_create_composer_environment]
+    :start-after: [START howto_operator_create_managed_airflow_environment]
+    :end-before: [END howto_operator_create_managed_airflow_environment]
 
 or you can define the same operator in the deferrable mode:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerCreateEnvironmentOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowCreateEnvironmentOperator`
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START 
howto_operator_create_composer_environment_deferrable_mode]
-    :end-before: [END 
howto_operator_create_composer_environment_deferrable_mode]
+    :start-after: [START 
howto_operator_create_managed_airflow_environment_deferrable_mode]
+    :end-before: [END 
howto_operator_create_managed_airflow_environment_deferrable_mode]
 
 For retry-heavy system tests, you can clean up a failed environment before 
retrying the create task.
 The example below only deletes environments that are already in the ``ERROR`` 
state and leaves other
@@ -82,101 +91,127 @@ Get an environment
 
 To get an environment you can use:
 
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerGetEnvironmentOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowGetEnvironmentOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerGetEnvironmentOperator``. The preferred alias for new code is
+``ManagedAirflowGetEnvironmentOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START howto_operator_get_composer_environment]
-    :end-before: [END howto_operator_get_composer_environment]
+    :start-after: [START howto_operator_get_managed_airflow_environment]
+    :end-before: [END howto_operator_get_managed_airflow_environment]
 
 List environments
 --------------------
 
-To get an environment you can use:
+To list environments you can use:
 
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerListEnvironmentsOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowListEnvironmentsOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerListEnvironmentsOperator``. The preferred alias for new code is
+``ManagedAirflowListEnvironmentsOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START howto_operator_list_composer_environments]
-    :end-before: [END howto_operator_list_composer_environments]
+    :start-after: [START howto_operator_list_managed_airflow_environments]
+    :end-before: [END howto_operator_list_managed_airflow_environments]
 
 Update environments
 ----------------------
 
 You can update the environments by providing an environment config and an 
updateMask.
 In the updateMask argument you specify the path, relative to the environment, 
of the field to update.
-For more information on updateMask and other parameters take a look at `Cloud 
Composer update environment API. 
<https://cloud.google.com/composer/docs/reference/rest/v1/projects.locations.environments/patch>`__
+For more information on updateMask and other parameters take a look at the
+`Managed Service for Apache Airflow update environment API
+<https://cloud.google.com/composer/docs/reference/rest/v1/projects.locations.environments/patch>`__.
 
 An example of a new service config and the updateMask:
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 0
-    :start-after: [START howto_operator_composer_update_environment]
-    :end-before: [END howto_operator_composer_update_environment]
+    :start-after: [START howto_operator_managed_airflow_update_environment]
+    :end-before: [END howto_operator_managed_airflow_update_environment]
 
 To update a service you can use:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerUpdateEnvironmentOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowUpdateEnvironmentOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerUpdateEnvironmentOperator``. The preferred alias for new code is
+``ManagedAirflowUpdateEnvironmentOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START howto_operator_update_composer_environment]
-    :end-before: [END howto_operator_update_composer_environment]
+    :start-after: [START howto_operator_update_managed_airflow_environment]
+    :end-before: [END howto_operator_update_managed_airflow_environment]
 
 or you can define the same operator in the deferrable mode:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerCreateEnvironmentOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowUpdateEnvironmentOperator`
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START 
howto_operator_update_composer_environment_deferrable_mode]
-    :end-before: [END 
howto_operator_update_composer_environment_deferrable_mode]
+    :start-after: [START 
howto_operator_update_managed_airflow_environment_deferrable_mode]
+    :end-before: [END 
howto_operator_update_managed_airflow_environment_deferrable_mode]
 
-Delete a service
------------------
+Delete an environment
+---------------------
+
+To delete an environment you can use:
 
-To delete a service you can use:
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowDeleteEnvironmentOperator`
 
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerDeleteEnvironmentOperator`
+The executable example below still imports the compatibility name
+``CloudComposerDeleteEnvironmentOperator``. The preferred alias for new code is
+``ManagedAirflowDeleteEnvironmentOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START howto_operator_delete_composer_environment]
-    :end-before: [END howto_operator_delete_composer_environment]
+    :start-after: [START howto_operator_delete_managed_airflow_environment]
+    :end-before: [END howto_operator_delete_managed_airflow_environment]
 
 or you can define the same operator in the deferrable mode:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerDeleteEnvironmentOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowDeleteEnvironmentOperator`
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START 
howto_operator_delete_composer_environment_deferrable_mode]
-    :end-before: [END 
howto_operator_delete_composer_environment_deferrable_mode]
+    :start-after: [START 
howto_operator_delete_managed_airflow_environment_deferrable_mode]
+    :end-before: [END 
howto_operator_delete_managed_airflow_environment_deferrable_mode]
 
 
-List of Composer Images
-------------------------
+List of Managed Airflow Images
+------------------------------
 
-You can also list all supported Cloud Composer images:
+You can also list all supported Managed Service for Apache Airflow images:
 
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerListImageVersionsOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowListImageVersionsOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerListImageVersionsOperator``. The preferred alias for new code is
+``ManagedAirflowListImageVersionsOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
     :dedent: 4
-    :start-after: [START howto_operator_composer_image_list]
-    :end-before: [END howto_operator_composer_image_list]
+    :start-after: [START howto_operator_managed_airflow_image_list]
+    :end-before: [END howto_operator_managed_airflow_image_list]
 
 Run Airflow CLI commands
 ------------------------
 
 You can run Airflow CLI commands in your environments, use:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerRunAirflowCLICommandOperator`
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowRunAirflowCLICommandOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerRunAirflowCLICommandOperator``. The preferred alias for new 
code is
+``ManagedAirflowRunAirflowCLICommandOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
@@ -215,8 +250,12 @@ or you can define the same sensor in the deferrable mode:
 Trigger a Dag run
 -----------------
 
-You can trigger a Dag in another Composer environment, use:
-:class:`~airflow.providers.google.cloud.operators.cloud_composer.CloudComposerTriggerDAGRunOperator`
+You can trigger a DAG in another Managed Service for Apache Airflow 
environment, use:
+:class:`~airflow.providers.google.cloud.operators.managed_airflow.ManagedAirflowTriggerDAGRunOperator`
+
+The executable example below still imports the compatibility name
+``CloudComposerTriggerDAGRunOperator``. The preferred alias for new code is
+``ManagedAirflowTriggerDAGRunOperator``.
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
     :language: python
@@ -227,7 +266,8 @@ You can trigger a Dag in another Composer environment, use:
 Waits for a different Dag, task group, or task to complete
 ----------------------------------------------------------
 
-You can use sensor that waits for a different Dag, task group, or task to 
complete for a specific composer environment, use:
+You can use sensor that waits for a different DAG, task group, or task to 
complete for a specific
+Managed Service for Apache Airflow environment, use:
 
:class:`~airflow.providers.google.cloud.sensors.cloud_composer.CloudComposerExternalTaskSensor`
 
 .. exampleinclude:: 
/../../google/tests/system/google/cloud/composer/example_cloud_composer.py
diff --git a/providers/google/provider.yaml b/providers/google/provider.yaml
index 51f25207d5f..3f48764a8d2 100644
--- a/providers/google/provider.yaml
+++ b/providers/google/provider.yaml
@@ -171,7 +171,7 @@ integrations:
     external-doc-url: https://cloud.google.com/
     tags: [gcp]
     logo: /docs/integration-logos/Google.png
-  - integration-name: Google Cloud Composer
+  - integration-name: Managed Service for Apache Airflow
     external-doc-url: https://cloud.google.com/composer
     how-to-guide:
       - 
/docs/apache-airflow-providers-google/operators/cloud/cloud_composer.rst
@@ -495,9 +495,10 @@ operators:
   - integration-name: Google Cloud Build
     python-modules:
       - airflow.providers.google.cloud.operators.cloud_build
-  - integration-name: Google Cloud Composer
+  - integration-name: Managed Service for Apache Airflow
     python-modules:
       - airflow.providers.google.cloud.operators.cloud_composer
+      - airflow.providers.google.cloud.operators.managed_airflow
   - integration-name: Google Cloud Run
     python-modules:
       - airflow.providers.google.cloud.operators.cloud_run
@@ -651,7 +652,7 @@ sensors:
   - integration-name: Google Bigtable
     python-modules:
       - airflow.providers.google.cloud.sensors.bigtable
-  - integration-name: Google Cloud Composer
+  - integration-name: Managed Service for Apache Airflow
     python-modules:
       - airflow.providers.google.cloud.sensors.cloud_composer
   - integration-name: Google Cloud Storage Transfer Service
@@ -757,7 +758,7 @@ hooks:
   - integration-name: Google Cloud Build
     python-modules:
       - airflow.providers.google.cloud.hooks.cloud_build
-  - integration-name: Google Cloud Composer
+  - integration-name: Managed Service for Apache Airflow
     python-modules:
       - airflow.providers.google.cloud.hooks.cloud_composer
   - integration-name: Google Cloud Run
@@ -946,7 +947,7 @@ triggers:
   - integration-name: Google Cloud Build
     python-modules:
       - airflow.providers.google.cloud.triggers.cloud_build
-  - integration-name: Google Cloud Composer
+  - integration-name: Managed Service for Apache Airflow
     python-modules:
       - airflow.providers.google.cloud.triggers.cloud_composer
   - integration-name: Google Cloud Run
diff --git 
a/providers/google/src/airflow/providers/google/cloud/operators/managed_airflow.py
 
b/providers/google/src/airflow/providers/google/cloud/operators/managed_airflow.py
new file mode 100644
index 00000000000..377db691a4c
--- /dev/null
+++ 
b/providers/google/src/airflow/providers/google/cloud/operators/managed_airflow.py
@@ -0,0 +1,40 @@
+#
+# 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
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+from typing import TypeAlias
+
+from airflow.providers.google.cloud.operators.cloud_composer import (
+    CloudComposerCreateEnvironmentOperator,
+    CloudComposerDeleteEnvironmentOperator,
+    CloudComposerGetEnvironmentOperator,
+    CloudComposerListEnvironmentsOperator,
+    CloudComposerListImageVersionsOperator,
+    CloudComposerRunAirflowCLICommandOperator,
+    CloudComposerTriggerDAGRunOperator,
+    CloudComposerUpdateEnvironmentOperator,
+)
+
+ManagedAirflowCreateEnvironmentOperator: TypeAlias = 
CloudComposerCreateEnvironmentOperator
+ManagedAirflowDeleteEnvironmentOperator: TypeAlias = 
CloudComposerDeleteEnvironmentOperator
+ManagedAirflowGetEnvironmentOperator: TypeAlias = 
CloudComposerGetEnvironmentOperator
+ManagedAirflowListEnvironmentsOperator: TypeAlias = 
CloudComposerListEnvironmentsOperator
+ManagedAirflowUpdateEnvironmentOperator: TypeAlias = 
CloudComposerUpdateEnvironmentOperator
+ManagedAirflowListImageVersionsOperator: TypeAlias = 
CloudComposerListImageVersionsOperator
+ManagedAirflowRunAirflowCLICommandOperator: TypeAlias = 
CloudComposerRunAirflowCLICommandOperator
+ManagedAirflowTriggerDAGRunOperator: TypeAlias = 
CloudComposerTriggerDAGRunOperator
diff --git a/providers/google/src/airflow/providers/google/get_provider_info.py 
b/providers/google/src/airflow/providers/google/get_provider_info.py
index 271026bc353..5fa1e538c74 100644
--- a/providers/google/src/airflow/providers/google/get_provider_info.py
+++ b/providers/google/src/airflow/providers/google/get_provider_info.py
@@ -84,7 +84,7 @@ def get_provider_info():
                 "logo": "/docs/integration-logos/Google.png",
             },
             {
-                "integration-name": "Google Cloud Composer",
+                "integration-name": "Managed Service for Apache Airflow",
                 "external-doc-url": "https://cloud.google.com/composer";,
                 "how-to-guide": 
["/docs/apache-airflow-providers-google/operators/cloud/cloud_composer.rst"],
                 "tags": ["google"],
@@ -513,8 +513,11 @@ def get_provider_info():
                 "python-modules": 
["airflow.providers.google.cloud.operators.cloud_build"],
             },
             {
-                "integration-name": "Google Cloud Composer",
-                "python-modules": 
["airflow.providers.google.cloud.operators.cloud_composer"],
+                "integration-name": "Managed Service for Apache Airflow",
+                "python-modules": [
+                    "airflow.providers.google.cloud.operators.cloud_composer",
+                    "airflow.providers.google.cloud.operators.managed_airflow",
+                ],
             },
             {
                 "integration-name": "Google Cloud Run",
@@ -722,7 +725,7 @@ def get_provider_info():
                 "python-modules": 
["airflow.providers.google.cloud.sensors.bigtable"],
             },
             {
-                "integration-name": "Google Cloud Composer",
+                "integration-name": "Managed Service for Apache Airflow",
                 "python-modules": 
["airflow.providers.google.cloud.sensors.cloud_composer"],
             },
             {
@@ -852,7 +855,7 @@ def get_provider_info():
                 "python-modules": 
["airflow.providers.google.cloud.hooks.cloud_build"],
             },
             {
-                "integration-name": "Google Cloud Composer",
+                "integration-name": "Managed Service for Apache Airflow",
                 "python-modules": 
["airflow.providers.google.cloud.hooks.cloud_composer"],
             },
             {
@@ -1104,7 +1107,7 @@ def get_provider_info():
                 "python-modules": 
["airflow.providers.google.cloud.triggers.cloud_build"],
             },
             {
-                "integration-name": "Google Cloud Composer",
+                "integration-name": "Managed Service for Apache Airflow",
                 "python-modules": 
["airflow.providers.google.cloud.triggers.cloud_composer"],
             },
             {
diff --git 
a/providers/google/tests/system/google/cloud/composer/example_cloud_composer.py 
b/providers/google/tests/system/google/cloud/composer/example_cloud_composer.py
index 31d455ef1bf..5077d5fb311 100644
--- 
a/providers/google/tests/system/google/cloud/composer/example_cloud_composer.py
+++ 
b/providers/google/tests/system/google/cloud/composer/example_cloud_composer.py
@@ -66,7 +66,7 @@ PROJECT_NUMBER = "{{ 
task_instance.xcom_pull('get_project_number') }}"
 DAG_ID = "composer"
 REGION = "us-central1"
 
-# [START howto_operator_composer_simple_environment]
+# [START howto_operator_managed_airflow_simple_environment]
 
 ENVIRONMENT_ID = f"test-{DAG_ID}-{ENV_ID}".replace("_", "-")
 ENVIRONMENT_ID_ASYNC = f"test-deferrable-{DAG_ID}-{ENV_ID}".replace("_", "-")
@@ -79,16 +79,16 @@ ENVIRONMENT = {
         },
     },
 }
-# [END howto_operator_composer_simple_environment]
+# [END howto_operator_managed_airflow_simple_environment]
 
-# [START howto_operator_composer_update_environment]
+# [START howto_operator_managed_airflow_update_environment]
 UPDATED_ENVIRONMENT = {
     "labels": {
         "label": "testing",
     }
 }
 UPDATE_MASK = {"paths": ["labels.label"]}
-# [END howto_operator_composer_update_environment]
+# [END howto_operator_managed_airflow_update_environment]
 
 COMMAND = "dags list -o json --verbose"
 log = logging.getLogger(__name__)
@@ -174,15 +174,15 @@ with DAG(
     catchup=False,
     tags=["example", "composer"],
 ) as dag:
-    # [START howto_operator_composer_image_list]
+    # [START howto_operator_managed_airflow_image_list]
     image_versions = CloudComposerListImageVersionsOperator(
         task_id="image_versions",
         project_id=PROJECT_ID,
         region=REGION,
     )
-    # [END howto_operator_composer_image_list]
+    # [END howto_operator_managed_airflow_image_list]
 
-    # [START howto_operator_create_composer_environment]
+    # [START howto_operator_create_managed_airflow_environment]
     create_env = CloudComposerCreateEnvironmentOperator(
         task_id="create_env",
         project_id=PROJECT_ID,
@@ -193,9 +193,9 @@ with DAG(
         retry_delay=timedelta(minutes=1),
         on_retry_callback=cleanup_failed_environment_before_retry,
     )
-    # [END howto_operator_create_composer_environment]
+    # [END howto_operator_create_managed_airflow_environment]
 
-    # [START howto_operator_create_composer_environment_deferrable_mode]
+    # [START howto_operator_create_managed_airflow_environment_deferrable_mode]
     defer_create_env = CloudComposerCreateEnvironmentOperator(
         task_id="defer_create_env",
         project_id=PROJECT_ID,
@@ -207,24 +207,24 @@ with DAG(
         retry_delay=timedelta(minutes=1),
         on_retry_callback=cleanup_failed_environment_before_retry,
     )
-    # [END howto_operator_create_composer_environment_deferrable_mode]
+    # [END howto_operator_create_managed_airflow_environment_deferrable_mode]
 
-    # [START howto_operator_list_composer_environments]
+    # [START howto_operator_list_managed_airflow_environments]
     list_envs = CloudComposerListEnvironmentsOperator(
         task_id="list_envs", project_id=PROJECT_ID, region=REGION
     )
-    # [END howto_operator_list_composer_environments]
+    # [END howto_operator_list_managed_airflow_environments]
 
-    # [START howto_operator_get_composer_environment]
+    # [START howto_operator_get_managed_airflow_environment]
     get_env = CloudComposerGetEnvironmentOperator(
         task_id="get_env",
         project_id=PROJECT_ID,
         region=REGION,
         environment_id=ENVIRONMENT_ID,
     )
-    # [END howto_operator_get_composer_environment]
+    # [END howto_operator_get_managed_airflow_environment]
 
-    # [START howto_operator_update_composer_environment]
+    # [START howto_operator_update_managed_airflow_environment]
     update_env = CloudComposerUpdateEnvironmentOperator(
         task_id="update_env",
         project_id=PROJECT_ID,
@@ -233,9 +233,9 @@ with DAG(
         update_mask=UPDATE_MASK,
         environment=UPDATED_ENVIRONMENT,
     )
-    # [END howto_operator_update_composer_environment]
+    # [END howto_operator_update_managed_airflow_environment]
 
-    # [START howto_operator_update_composer_environment_deferrable_mode]
+    # [START howto_operator_update_managed_airflow_environment_deferrable_mode]
     defer_update_env = CloudComposerUpdateEnvironmentOperator(
         task_id="defer_update_env",
         project_id=PROJECT_ID,
@@ -245,7 +245,7 @@ with DAG(
         environment=UPDATED_ENVIRONMENT,
         deferrable=True,
     )
-    # [END howto_operator_update_composer_environment_deferrable_mode]
+    # [END howto_operator_update_managed_airflow_environment_deferrable_mode]
 
     # [START howto_operator_run_airflow_cli_command]
     run_airflow_cli_cmd = CloudComposerRunAirflowCLICommandOperator(
@@ -328,17 +328,17 @@ with DAG(
     )
     # [END howto_sensor_external_task_deferrable_mode]
 
-    # [START howto_operator_delete_composer_environment]
+    # [START howto_operator_delete_managed_airflow_environment]
     delete_env = CloudComposerDeleteEnvironmentOperator(
         task_id="delete_env",
         project_id=PROJECT_ID,
         region=REGION,
         environment_id=ENVIRONMENT_ID,
     )
-    # [END howto_operator_delete_composer_environment]
+    # [END howto_operator_delete_managed_airflow_environment]
     delete_env.trigger_rule = TriggerRule.ALL_DONE
 
-    # [START howto_operator_delete_composer_environment_deferrable_mode]
+    # [START howto_operator_delete_managed_airflow_environment_deferrable_mode]
     defer_delete_env = CloudComposerDeleteEnvironmentOperator(
         task_id="defer_delete_env",
         project_id=PROJECT_ID,
@@ -346,7 +346,7 @@ with DAG(
         environment_id=ENVIRONMENT_ID_ASYNC,
         deferrable=True,
     )
-    # [END howto_operator_delete_composer_environment_deferrable_mode]
+    # [END howto_operator_delete_managed_airflow_environment_deferrable_mode]
     defer_delete_env.trigger_rule = TriggerRule.ALL_DONE
 
     chain(
diff --git 
a/providers/google/tests/unit/google/cloud/operators/test_managed_airflow.py 
b/providers/google/tests/unit/google/cloud/operators/test_managed_airflow.py
new file mode 100644
index 00000000000..80942928b79
--- /dev/null
+++ b/providers/google/tests/unit/google/cloud/operators/test_managed_airflow.py
@@ -0,0 +1,50 @@
+#
+# 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
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+from airflow.providers.google.cloud.operators.cloud_composer import (
+    CloudComposerCreateEnvironmentOperator,
+    CloudComposerDeleteEnvironmentOperator,
+    CloudComposerGetEnvironmentOperator,
+    CloudComposerListEnvironmentsOperator,
+    CloudComposerListImageVersionsOperator,
+    CloudComposerRunAirflowCLICommandOperator,
+    CloudComposerTriggerDAGRunOperator,
+    CloudComposerUpdateEnvironmentOperator,
+)
+from airflow.providers.google.cloud.operators.managed_airflow import (
+    ManagedAirflowCreateEnvironmentOperator,
+    ManagedAirflowDeleteEnvironmentOperator,
+    ManagedAirflowGetEnvironmentOperator,
+    ManagedAirflowListEnvironmentsOperator,
+    ManagedAirflowListImageVersionsOperator,
+    ManagedAirflowRunAirflowCLICommandOperator,
+    ManagedAirflowTriggerDAGRunOperator,
+    ManagedAirflowUpdateEnvironmentOperator,
+)
+
+
+def test_managed_airflow_aliases() -> None:
+    assert ManagedAirflowCreateEnvironmentOperator is 
CloudComposerCreateEnvironmentOperator
+    assert ManagedAirflowDeleteEnvironmentOperator is 
CloudComposerDeleteEnvironmentOperator
+    assert ManagedAirflowGetEnvironmentOperator is 
CloudComposerGetEnvironmentOperator
+    assert ManagedAirflowListEnvironmentsOperator is 
CloudComposerListEnvironmentsOperator
+    assert ManagedAirflowUpdateEnvironmentOperator is 
CloudComposerUpdateEnvironmentOperator
+    assert ManagedAirflowListImageVersionsOperator is 
CloudComposerListImageVersionsOperator
+    assert ManagedAirflowRunAirflowCLICommandOperator is 
CloudComposerRunAirflowCLICommandOperator
+    assert ManagedAirflowTriggerDAGRunOperator is 
CloudComposerTriggerDAGRunOperator

Reply via email to