
    Vh7                    t    d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
mZ  G d	 d
e      Z G d de	      Zy)z!GCP plugin for integration tests.    )annotationsN   )display)IntegrationConfig   )CloudEnvironmentCloudEnvironmentConfigCloudProviderc                  0     e Zd ZdZd fdZd fdZ xZS )GcpCloudProviderzEGCP cloud provider plugin. Sets up cloud resources before delegation.c                2    t         |   |       d| _        y )NT)super__init__uses_config)selfargs	__class__s     e/home/dcms/DCMS/lib/python3.12/site-packages/ansible_test/_internal/commands/integration/cloud/gcp.pyr   zGcpCloudProvider.__init__   s        c                n    t         |           | j                         st        j                  d       yy)zKSetup the cloud resource before delegation and register a cleanup callback.zHstatic configuration could not be used. are you missing a template file?N)r   setup_use_static_configr   notice)r   r   s    r   r   zGcpCloudProvider.setup   s,    &&(NNZ )r   )r   r   returnNone)r   r   )__name__
__module____qualname____doc__r   r   __classcell__)r   s   @r   r   r      s    O 
 r   r   c                      e Zd ZdZddZy)GcpCloudEnvironmentzTGCP cloud environment plugin. Updates integration test environment after delegation.c                    t        j                         }|j                  | j                         t	        | j
                        }|j                  t	        |j                  d                   t        |      S )zRReturn environment configuration for use in the test environment after delegation.)resource_prefixdefault)ansible_vars)	configparserConfigParserreadconfig_pathdictr$   updateitemsr	   )r   parserr&   s      r   get_environment_configz*GcpCloudEnvironment.get_environment_config,   sc    **,D$$% 00
 	Di!89:%%
 	
r   N)r   r	   )r   r   r   r   r/    r   r   r"   r"   )   s
    ^
r   r"   )r   
__future__r   r'   utilr   configr    r   r	   r
   r   r"   r0   r   r   <module>r5      s=    ( "  } $
* 
r   