@@ -117,6 +117,15 @@ function validate_user_params(action, params) {
117117 case iam_constants . IAM_ACTIONS . LIST_USERS :
118118 validate_list_users ( params ) ;
119119 break ;
120+ case iam_constants . IAM_ACTIONS . TAG_USER :
121+ validate_tag_user_params ( params ) ;
122+ break ;
123+ case iam_constants . IAM_ACTIONS . UNTAG_USER :
124+ validate_untag_user_params ( params ) ;
125+ break ;
126+ case iam_constants . IAM_ACTIONS . LIST_USER_TAGS :
127+ validate_list_user_tags_params ( params ) ;
128+ break ;
120129 default :
121130 throw new RpcError ( 'INTERNAL_ERROR' , `${ action } is not supported` ) ;
122131 }
@@ -478,6 +487,46 @@ function translate_rpc_error(err) {
478487 throw err ;
479488}
480489
490+ /**
491+ * validate_tag_user_params checks the params for tag_user action
492+ * @param {object } params
493+ */
494+ function validate_tag_user_params ( params ) {
495+ try {
496+ validation_utils . validate_iam_tags ( params . tags ) ;
497+ validation_utils . validate_username ( params . username , iam_constants . IAM_PARAMETER_NAME . USERNAME ) ;
498+ } catch ( err ) {
499+ translate_rpc_error ( err ) ;
500+ }
501+ }
502+
503+ /**
504+ * validate_untag_user_params checks the params for untag_user action
505+ * @param {object } params
506+ */
507+ function validate_untag_user_params ( params ) {
508+ try {
509+ validation_utils . validate_iam_tag_keys ( params . tag_keys ) ;
510+ validation_utils . validate_username ( params . username , iam_constants . IAM_PARAMETER_NAME . USERNAME ) ;
511+ } catch ( err ) {
512+ translate_rpc_error ( err ) ;
513+ }
514+ }
515+
516+ /**
517+ * validate_list_user_tags_params checks the params for list_user_tags action
518+ * @param {object } params
519+ */
520+ function validate_list_user_tags_params ( params ) {
521+ try {
522+ validate_marker ( params . marker ) ;
523+ validate_max_items ( params . max_items ) ;
524+ validation_utils . validate_username ( params . username , iam_constants . IAM_PARAMETER_NAME . USERNAME ) ;
525+ } catch ( err ) {
526+ translate_rpc_error ( err ) ;
527+ }
528+ }
529+
481530// EXPORTS
482531exports . format_iam_xml_date = format_iam_xml_date ;
483532exports . create_arn_for_user = create_arn_for_user ;
@@ -490,4 +539,7 @@ exports.validate_iam_path = validate_iam_path;
490539exports . validate_marker = validate_marker ;
491540exports . validate_access_key_id = validate_access_key_id ;
492541exports . validate_status = validate_status ;
542+ exports . validate_tag_user_params = validate_tag_user_params ;
543+ exports . validate_untag_user_params = validate_untag_user_params ;
544+ exports . validate_list_user_tags_params = validate_list_user_tags_params ;
493545
0 commit comments