
                         b    S r SSKJr  SSKJr  SSKJr  SSKJr  SS jrSS jr " S	 S
\	5      r
g)z2Utilities for Cloud Monitoring Metrics Scopes API.    )absolute_import)division)unicode_literals)apisc                 .    [         R                  " SSU S9$ )N
monitoringv1no_http)r   GetClientInstancer
   s    7lib/googlecloudsdk/api_lib/monitoring/metrics_scopes.pyr   r      s    			dG	DD    Nc                 @    U =(       d
    [        5       n U R                  $ N)r   MESSAGES_MODULE)clients    r   GetMessagesModuler      s    (&(&			r   c                   @    \ rS rSrSrSS jrS rS rS rS r	S	 r
S
rg)MetricsScopeClient!   zAClient for the Metrics Scope service in the Cloud Monitoring API.Nc                     U=(       d
    [        5       U l        U=(       d    [        U5      U l        U R                  R                  U l        U R                  R                  U l        g r   )r   r   r   messageslocations_global_metricsScopes_ms_service'locations_global_metricsScopes_projects_mp_service)selfr   r   s      r   __init__MetricsScopeClient.__init__$   sH    /-/DK9 1& 9DM{{AAD{{JJDr   c                 (    SUR                  5       -   $ )Nzlocations/global/metricsScopes/)Name)r   metrics_scope_refs     r   MetricsScopeName#MetricsScopeClient.MetricsScopeName*   s    ,/@/E/E/GGGr   c                 L    U R                  U5      S-   UR                  5       -   $ )Nz
/projects/)r#   r!   )r   r"   monitored_project_refs      r   MonitoredProjectName'MetricsScopeClient.MonitoredProjectName-   s3      )*,A,F,F,HI Ir   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ )z9List the Metrics Scopes monitoring the specified project.)monitoredResourceContainer)r   PMonitoringLocationsGlobalMetricsScopesListMetricsScopesByMonitoredProjectRequestRelativeNamer   #ListMetricsScopesByMonitoredProject)r   project_refrequests      r   ListMetricsScopeClient.List1   sG     	XX'2'?'?'A 	Y 	C  ??HHr   c                     U R                   R                  5       nU R                  UU5      Ul        U R                   R	                  UU R                  U5      S9nU R                  R                  U5      $ )z9Create a Monitored Project in a Monitoring Metrics Scope.)monitoredProjectparent)r   MonitoredProjectr'   name;MonitoringLocationsGlobalMetricsScopesProjectsCreateRequestr#   r   Create)r   r"   r&   mpr/   s        r   r8   MetricsScopeClient.Create9   sv    		'	'	)B''(9(=?BG 		D	D(():; 
E 
= 
 ""7++r   c                     U R                   R                  U R                  UU5      S9nU R                  R	                  U5      $ )z;Delete a Monitored Project from a Monitoring Metrics Scope.)r6   )r   ;MonitoringLocationsGlobalMetricsScopesProjectsDeleteRequestr'   r   Delete)r   r"   r&   r/   s       r   r=   MetricsScopeClient.DeleteE   sP     		D	D**+<+@B 
E 
C 
 ""7++r   )r   r   r   r   )NN)__name__
__module____qualname____firstlineno____doc__r   r#   r'   r0   r8   r=   __static_attributes__ r   r   r   r   !   s'    IKHII
,,r   r   )Fr   )rC   
__future__r   r   r   googlecloudsdk.api_lib.utilr   r   r   objectr   rE   r   r   <module>rI      s-    9 &  ' ,E 
+, +,r   