
    
                     6    d Z ddlmZ ddlmZ  G d de      Zy)z7Utilities for Audit Manager API, Enrollments Endpoints.    )	constants)utilc                   V    e Zd ZdZ	 ddej
                  ddfdZdededed	efd
Z	d Z
y)EnrollmentsClientz+Client for operations in Audit Manager API.Napi_versionreturnc                     |xs t        j                  |      | _        |xs t        j                  ||      | _        y )N)r   )r   client)r   GetClientInstancer
   GetMessagesModulemessages)selfr   r
   r   s       7lib/googlecloudsdk/api_lib/audit_manager/enrollments.py__init__zEnrollmentsClient.__init__   s9     KD22{KDK  6 6!DM    scopeeligible_gcs_bucketsis_parent_folderis_parent_organizationc                    |r| j                   j                  }n/|r| j                   j                  }n| j                   j                  }| j                  j                         }t        t        | j                  |            |_	        |r| j                  j                         }n7|r| j                  j                         }n| j                  j                         }||_        ||_        |j                  |      S )a  Enrolls a resource to Audit Manager.

    Args:
      scope: The scope to be enrolled.
      eligible_gcs_buckets: List of destination among which customer can choose
        to upload their reports during the audit process.
      is_parent_folder: Whether the parent is folder and not project.
      is_parent_organization: Whether the parent is organization and not
        project.

    Returns:
      Described audit operation resource.
    )r
   folders_locationsorganizations_locationsprojects_locationsr   EnrollResourceRequestlistmapGcs_uri_to_eligible_destinationdestinations1AuditmanagerFoldersLocationsEnrollResourceRequest7AuditmanagerOrganizationsLocationsEnrollResourceRequest2AuditmanagerProjectsLocationsEnrollResourceRequestr   enrollResourceRequestEnrollResource)r   r   r   r   r   service	inner_reqreqs           r   AddzEnrollmentsClient.Add    s    ( --g	33g..g335I!D002FGI MMKKMc	
--
O
O
Q 
 MMLLNcCI )C!!#&&r   c                 H    | j                   j                         }||_        |S )N)r   EligibleDestinationeligibleGcsBucket)r   gcs_uridests      r   r   z1EnrollmentsClient.Gcs_uri_to_eligible_destinationM   s!    ==,,.D$DKr   )NN)__name__
__module____qualname____doc__r   
ApiVersionr   strboolr'   r    r   r   r   r      sX    3 FJ"--+'+'  +' 	+'
 #+'Zr   r   N)r0   $googlecloudsdk.api_lib.audit_managerr   r   objectr   r4   r   r   <module>r7      s    > : 5; ;r   