def Args(parser):
   iam_util.AddArgsForAddIamPolicyBinding(
       parser,
       role_completer=self._GenerateDeclarativeIamRolesCompleter(),
       add_condition=self._add_condition)
   self._CommonArgs(parser)
   base.URI_FLAG.RemoveFromParser(parser)
Ejemplo n.º 2
0
 def Args(parser):
   flags.GetModelName().AddToParser(parser)
   flags.GetRegionArg('model').AddToParser(parser)
   iam_util.AddArgsForAddIamPolicyBinding(
       parser,
       flags.MlEngineIamRolesCompleter,
       add_condition=True)
Ejemplo n.º 3
0
 def testAddArgsForAddIamPolicyBinding_Viewer(self):
     parser = argparse.ArgumentParser()
     ai = self.getDummyArgumentInterceptor(parser)
     iam_util.AddArgsForAddIamPolicyBinding(ai)
     res = parser.parse_args(['--role=roles/viewer', '--member=vtest'])
     self.assertEqual(res.role, 'roles/viewer')
     self.assertEqual(res.member, 'vtest')
Ejemplo n.º 4
0
def _AddIamPolicyBindingFlags(parser,
                              add_condition=False,
                              hide_region_flag=True):
    flags.GetModelName().AddToParser(parser)
    flags.GetRegionArg(hidden=hide_region_flag).AddToParser(parser)
    iam_util.AddArgsForAddIamPolicyBinding(parser,
                                           flags.MlEngineIamRolesCompleter,
                                           add_condition=add_condition)
Ejemplo n.º 5
0
 def Args(parser):
     group = parser.add_argument_group('LabelKey.', required=True)
     arguments.AddLabelParentArgToParser(
         group,
         message=(
             'This field is required if LABEL_KEY_ID is a display name '
             'instead of a numeric id.'))
     arguments.AddLabelKeyIdArgToParser(group)
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
Ejemplo n.º 6
0
    def Args(parser, track=base.ReleaseTrack.GA):
        """Registers flags for this command.

    Args:
      parser: The argparse parser.
      track: base.ReleaseTrack, calliope release track.
    """
        flags.AddFunctionResourceArg(parser, 'to add IAM policy binding for')
        iam_util.AddArgsForAddIamPolicyBinding(parser)
    def Args(parser):
        """Register flags for this command.

    Args:
      parser: An argparse.ArgumentParser-like object. It is mocked out in order
          to capture some information, but behaves like an ArgumentParser.
    """
        parser.add_argument('name', help='The name of this cluster.')
        iam_util.AddArgsForAddIamPolicyBinding(parser)
 def Args(parser):
     flags.AddConcepts(
         parser,
         flags.GetAttestorPresentationSpec(
             positional=True,
             group_help='The attestor whose IAM policy will be modified.',
         ),
     )
     iam_util.AddArgsForAddIamPolicyBinding(parser)
Ejemplo n.º 9
0
  def Args(parser):
    resource_args.AddInstanceResourceArg(parser, 'Instance to add IAM binding.')
    base.URI_FLAG.RemoveFromParser(parser)

    iam_util.AddArgsForAddIamPolicyBinding(parser)
    parser.add_argument(
        '--namespace',
        help='CDAP Namespace whose IAM policy we wish to append. '
        'For example: `--namespace=my-namespace`.')
Ejemplo n.º 10
0
 def testAddArgsForAddIamPolicyBindingAddCondition_NoneCondition(self):
     parser = util.ArgumentParser()
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
     res = parser.parse_args(
         ['--role=roles/viewer', '--member=guest', '--condition=None'])
     self.assertEqual(res.role, 'roles/viewer')
     self.assertEqual(res.member, 'guest')
     self.assertTrue('None' in res.condition)
     self.assertFalse('expression' in res.condition)
     self.assertFalse('title' in res.condition)
     self.assertFalse('description' in res.condition)
Ejemplo n.º 11
0
 def testValidateAndExtractConditionMutex_PrimitiveRole(self):
     parser = util.ArgumentParser()
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
     res = parser.parse_args([
         '--role=roles/editor', '--member=user:[email protected]',
         '--condition=expression=expr,title=title,description=descr'
     ])
     with self.AssertRaisesExceptionRegexp(
             iam_util.IamPolicyBindingInvalidError,
             r'.*Binding with a condition and a primitive role is not allowed.*'
     ):
         iam_util.ValidateAndExtractConditionMutexRole(res)
    def Args(parser):
        """Args is called by calliope to gather arguments for this command.

    Args:
      parser: An argparse parser that you can use to add arguments that go
          on the command line after this command. Positional arguments are
          allowed.
    """
        service_flag = common_flags.producer_service_flag(
            suffix='to which the member is to be added')
        service_flag.AddToParser(parser)

        iam_util.AddArgsForAddIamPolicyBinding(parser)
Ejemplo n.º 13
0
 def testAddArgsForAddIamPolicyBindingAddCondition(self):
     parser = util.ArgumentParser()
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
     res = parser.parse_args([
         '--role=roles/viewer', '--member=guest',
         '--condition=expression=ip=whitelist_ip,title=title_value,'
         'description=description_value'
     ])
     self.assertEqual(res.role, 'roles/viewer')
     self.assertEqual(res.member, 'guest')
     self.assertEqual(res.condition.get('expression'), 'ip=whitelist_ip')
     self.assertEqual(res.condition.get('title'), 'title_value')
     self.assertEqual(res.condition.get('description'), 'description_value')
Ejemplo n.º 14
0
    def Args(parser):
        """Args is called by calliope to gather arguments for this command.

    Please add arguments in alphabetical order except for no- or a clear-
    pair for that argument which can follow the argument itself.
    Args:
      parser: An argparse parser that you can use to add arguments that go
          on the command line after this command. Positional arguments are
          allowed.
    """
        flags.Instance().AddToParser(parser)

        iam_util.AddArgsForAddIamPolicyBinding(parser)
Ejemplo n.º 15
0
 def testValidateAndExtractCondition_FromCondition(self):
     parser = util.ArgumentParser()
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
     res = parser.parse_args([
         '--role=roles/non-primitive', '--member=user:[email protected]',
         '--condition=expression=expr,title=title,description=descr'
     ])
     condition = iam_util.ValidateAndExtractCondition(res)
     expected_condition = {
         'expression': 'expr',
         'title': 'title',
         'description': 'descr'
     }
     self.assertEqual(condition, expected_condition)
Ejemplo n.º 16
0
    def testAddBindingToIamPolicy(self):
        parser = argparse.ArgumentParser()
        ai = self.getDummyArgumentInterceptor(parser)
        iam_util.AddArgsForAddIamPolicyBinding(ai)
        args = parser.parse_args(
            ['--role=roles/editor', '--member=user:[email protected]'])

        expected_policy = copy.deepcopy(self.TEST_IAM_POLICY)
        expected_policy.bindings.append(
            self.messages.Binding(members=['user:[email protected]'],
                                  role='roles/editor'))

        actual_policy = copy.deepcopy(self.TEST_IAM_POLICY)
        iam_util.AddBindingToIamPolicy(self.messages.Binding, actual_policy,
                                       args.member, args.role)

        self.assertEqual(actual_policy, expected_policy)
Ejemplo n.º 17
0
 def testAddArgsForAddIamPolicyBindingAddCondition_FromFile(self):
     parser = util.ArgumentParser()
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
     condition_file = self.Touch(
         self.temp_path,
         'condition',
         contents='expression=ip=whitelist_ip,title=title_value,'
         'description=description_value')
     res = parser.parse_args([
         '--role=roles/viewer', '--member=guest',
         '--condition-from-file={}'.format(condition_file)
     ])
     self.assertEqual(res.role, 'roles/viewer')
     self.assertEqual(res.member, 'guest')
     self.assertEqual(
         res.condition_from_file,
         'expression=ip=whitelist_ip,title=title_value,'
         'description=description_value')
Ejemplo n.º 18
0
 def testValidateAndExtractCondition_FromFile(self):
     parser = util.ArgumentParser()
     iam_util.AddArgsForAddIamPolicyBinding(parser, add_condition=True)
     condition_file = self.Touch(self.temp_path,
                                 'condition',
                                 contents='expression: expr\ntitle: title\n'
                                 'description: descr')
     res = parser.parse_args([
         '--role=roles/non-primitive', '--member=user:[email protected]',
         '--condition-from-file={}'.format(condition_file)
     ])
     condition = iam_util.ValidateAndExtractCondition(res)
     expected_condition = {
         'expression': 'expr',
         'title': 'title',
         'description': 'descr'
     }
     self.assertEqual(condition, expected_condition)
Ejemplo n.º 19
0
 def Args(parser):
     flags.IdArg('to which you want to add a binding').AddToParser(parser)
     iam_util.AddArgsForAddIamPolicyBinding(
         parser, completer=completers.OrganizationsIamRolesCompleter)
 def Args(parser):
     flags.AddLocationFlag(parser, 'keyring')
     flags.AddKeyRingArgument(parser, 'whose IAM policy to modify')
     iam_util.AddArgsForAddIamPolicyBinding(
         parser, role_completer=completers.KeyRingIamRolesCompleter)
 def Args(parser):
     flags.INSTANCE_ARG.AddArgument(
         parser, operation_type='add the IAM policy binding to')
     iam_util.AddArgsForAddIamPolicyBinding(parser)
 def Args(parser):
     flags.GetProjectFlag('add IAM policy binding to').AddToParser(parser)
     iam_util.AddArgsForAddIamPolicyBinding(
         parser, completer=completers.ProjectsIamRolesCompleter)
 def Args(parser):
     iam_util.AddServiceAccountNameArg(
         parser, action='whose policy to add bindings to')
     iam_util.AddArgsForAddIamPolicyBinding(parser)
 def Args(parser):
     """Register flags for this command."""
     iam_util.AddArgsForAddIamPolicyBinding(parser)
     flags.AddStoreResourceFlags(parser)
Ejemplo n.º 25
0
 def Args(parser):
     iam_util.AddArgsForAddIamPolicyBinding(parser)
Ejemplo n.º 26
0
 def Args(parser):
     resource_args.AddApiResourceArg(parser,
                                     'IAM policy binding will be added to',
                                     positional=True)
     iam_util.AddArgsForAddIamPolicyBinding(
         parser, common_flags.GatewayIamRolesCompleter)
Ejemplo n.º 27
0
 def Args(parser):
     resource_args.AddSubscriptionResourceArg(
         parser, 'to add an IAM policy binding to.')
     iam_util.AddArgsForAddIamPolicyBinding(parser)
Ejemplo n.º 28
0
  def Args(parser):
    resource_args.AddAssetResourceArg(parser, 'to add IAM policy binding to.')

    iam_util.AddArgsForAddIamPolicyBinding(parser)
 def Args(parser):
     """Register flags for this command."""
     flags.AddFunctionResourceArg(parser, 'to add IAM policy binding for')
     iam_util.AddArgsForAddIamPolicyBinding(parser)
Ejemplo n.º 30
0
 def Args(parser):
     flags.GetProjectFlag('add IAM policy binding to').AddToParser(parser)
     iam_util.AddArgsForAddIamPolicyBinding(
         parser, 'id', 'cloudresourcemanager.projects')