
                             S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	K
Jr  SS
K
Jr  SSKJr  \	R                    " S S\	R"                  5      5       rg)z7Implementation of create command for inventory reports.    )absolute_import)division)unicode_literals)insights_api)arg_parsers)base)errors)flags)storage_url)resource_argsc                   8    \ rS rSrSrSSS.r\S 5       rS rSr	g	)
Update   z"Update an inventory report config.z1
       Update an inventory report config.
      a  

      To update the display-name of an inventory report config with ID=1234,
      location=us-central1, and project=foo:

        $ {command} 1234 --location=us-central1 --project=foo --display-name=bar

      To update the same inventory report config with fully specified name:

        $ {command} /projects/foo/locations/us-central1/reportConfigs/1234 --display-name=bar
      )DESCRIPTIONEXAMPLESc                    [         R                  " U S5        [        R                  " U 5        U R	                  SS9nUR	                  SS9n[        R
                  " U5        UR                  SS[        R                  " [        R                  S9S	S
9  UR                  SS[        R                  " [        R                  S9SS
9  g )Nz	to updateT)mutexz(Add and Remove flags for metadata fields)helpz--add-metadata-fieldsMETADATA_FIELDS)choicesz(Adds fields to the metadata_fields list.)metavartyper   z--remove-metadata-fieldsz-Removes fields from the metadata_fields list.)
r   add_report_config_resource_argr
   add_inventory_reports_flags	add_group*add_inventory_reports_metadata_fields_flagadd_argumentr   ArgList*OPTIONAL_INVENTORY_REPORTS_METADATA_FIELDS)parsermetadata_fields_group metadata_fields_add_remove_groups      8lib/surface/storage/insights/inventory_reports/update.pyArgsUpdate.Args3   s    00E	%%f-",,4,8'<'F'F7 (G (9$	445JK$11!  DDF7 2 9 %11"!  DDF< 2 >    c                    [         R                  " 5       nUR                  R                  R	                  5       R                  5       nUR                  (       d  UR                  (       a  UR                  U5      n[        UR                  R                  5      nUR                  b$  UR                   H  nUR                  U5        M     UR                  bN  UR                   H>  nXe;  a%  [        R                  " SR                  U5      5      eUR!                  U5        M@     [#        U5      nO)UR$                  (       a  [#        UR$                  5      nO/ nUR&                  b5  [(        R*                  " [(        R,                  " UR&                  5      5      nOS nUR/                  UUUUR0                  UR2                  UR4                  UR6                  UR8                  UR:                  UR<                  UR>                  S9$ )Nz-Cannot remove non-existing metadata field: {})
destination_urlmetadata_fields
start_dateend_date	frequencycsv_separatorcsv_delimiter
csv_headerparquetdisplay_name) r   InsightsApiCONCEPTSreport_configParseRelativeNameadd_metadata_fieldsremove_metadata_fieldsget_inventory_reportsetobjectMetadataReportOptionsmetadataFieldsaddr	   Errorformatremovelistr)   destinationr   storage_url_from_stringadd_gcs_scheme_if_missingupdate_inventory_reportschedule_startsschedule_repeats_untilschedule_repeatsr-   r.   r/   r0   r1   )	selfargsclientreport_config_namer4   r)   fieldmetadata_fields_listr(   s	            r#   Run
Update.RunK   s   %%'F44::<IIK4#>#> 112DEm

3
3
B
BDo		!	!	---E


e
$ . 
	$	$	000E),,?FFuMO O

 
 
'	 1
 "/2			!$"6"67
  ##;;

/
/0@0@
ACo o))','',,''((((??&& *  r&    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr$   rO   __static_attributes__rQ   r&   r#   r   r      s/    *


	-" > >./r&   r   N)rV   
__future__r   r   r   googlecloudsdk.api_lib.storager   googlecloudsdk.callioper   r   "googlecloudsdk.command_lib.storager	   r
   r   =googlecloudsdk.command_lib.storage.insights.inventory_reportsr   DefaultUniverseOnlyCommandr   rQ   r&   r#   <module>ra      sP    > &  ' 7 / ( 5 4 : W [T\\ [ [r&   