
                         J    S r SSKJr  SSKJr  SSKJr  SSKJr  S rS rS r	g	)
z$Access approval settings API helper.    )absolute_import)division)unicode_literals)apisc                 r   [         R                  " SS5      n[         R                  " SS5      nSU ;   a*  UR                  U S9nUR                  R                  U5      $ SU ;   a*  UR                  U S9nUR                  R                  U5      $ UR                  U S9nUR                  R                  U5      $ )z3Delete the access approval settings for a resource.accessapprovalv1organizations/namefolders/)
r   GetClientInstanceGetMessagesModule>AccessapprovalOrganizationsDeleteAccessApprovalSettingsRequestorganizationsDeleteAccessApprovalSettings8AccessapprovalFoldersDeleteAccessApprovalSettingsRequestfolders9AccessapprovalProjectsDeleteAccessApprovalSettingsRequestprojectsr   clientmsgsreqs       6lib/googlecloudsdk/api_lib/access_approval/settings.pyDeleter      s    !!"2D9&			 0$	7$

M
M N C <<SAA4

G
G H C >>66s;;FF 	G 	# 
	5	5c	::    c                 r   [         R                  " SS5      n[         R                  " SS5      nSU ;   a*  UR                  U S9nUR                  R                  U5      $ SU ;   a*  UR                  U S9nUR                  R                  U5      $ UR                  U S9nUR                  R                  U5      $ )z0Get the access approval settings for a resource.r   r	   r
   r   r   )
r   r   r   ;AccessapprovalOrganizationsGetAccessApprovalSettingsRequestr   GetAccessApprovalSettings5AccessapprovalFoldersGetAccessApprovalSettingsRequestr   6AccessapprovalProjectsGetAccessApprovalSettingsRequestr   r   s       r   Getr#   .   s    !!"2D9&			 0$	7$

J
J K C 99#>>4

D
D$
D
OC>>33C88CCCN#		2	23	77r   c                    [         R                  " SS5      n[         R                  " SS5      nSnU Vs/ s H  oR                  US9PM     nnUR	                  U UUUUUUUUU	S9
nSU ;   a+  UR                  XU
S9nUR                  R                  U5      $ SU ;   a+  UR                  XU
S9nUR                  R                  U5      $ UR                  XU
S9nUR                  R                  U5      $ s  snf )	aj  Update the access approval settings for a resource.

Args:
  name: the settings resource name (e.g. projects/123/accessApprovalSettings)
  notification_emails: list of email addresses
  enrolled_services: list of services
  active_key_version: KMS signing key version resource name
  preferred_request_expiration_days: the default expiration time for approval
    requests
  prefer_no_broad_approval_requests: communicates the preference to Google
    personnel to request access with as targeted a resource scope as possible
  notification_pubsub_topic: A pubsub topic to which notifications relating to
    approval requests should be sent
  request_scope_max_width_preference: specifies broadest scope of access for
    access requests without a specific method
  require_customer_visible_justification: to configure if a customer visible
    justification (i.e. Vector Case) is required for a Googler to create an
    Access Ticket to send to the customer when attempting to access customer
    resources.
  approval_policy: the policy for approving requests
  update_mask: which fields to update

Returns:
  updated settings
r   r	   N)cloudProduct)
r   enrolledServicesnotificationEmailsactiveKeyVersionpreferredRequestExpirationDayspreferNoBroadApprovalRequestsnotificationPubsubTopicrequestScopeMaxWidthPreference#requireCustomerVisibleJustificationapprovalPolicyr
   )r   accessApprovalSettings
updateMaskr   )r   r   r   EnrolledServiceAccessApprovalSettings>AccessapprovalOrganizationsUpdateAccessApprovalSettingsRequestr   UpdateAccessApprovalSettings8AccessapprovalFoldersUpdateAccessApprovalSettingsRequestr   9AccessapprovalProjectsUpdateAccessApprovalSettingsRequestr   )r   notification_emailsenrolled_servicesactive_key_version!preferred_request_expiration_days!prefer_no_broad_approval_requestsnotification_pubsub_topic"request_scope_max_width_preference&require_customer_visible_justificationapproval_policyupdate_maskr   r   settingssservices_protosr   s                    r   UpdaterD   @   s=   L !!"2D9&			 0$	7$(4E4Eq*4E   ((&,)%F$E7%G*P$ ) ( 

M
M{ N C <<SAA4

G
G{ H C >>66s;;FF[ 	G 	# 
	5	5c	::=s   C4N)
__doc__
__future__r   r   r   googlecloudsdk.api_lib.utilr   r   r#   rD    r   r   <module>rI      s&    + &  ' ,;,8$H;r   