def Run(self, args):
        self.SetAddress(args.account)
        policy = self.iam_client.projects_serviceAccounts.GetIamPolicy(
            self.messages.IamProjectsServiceAccountsGetIamPolicyRequest(
                resource=utils.EmailToAccountResourceName(args.account)))

        iam_util.AddBindingToIamPolicy(self.messages, policy, args)

        return self.iam_client.projects_serviceAccounts.SetIamPolicy(
            self.messages.IamProjectsServiceAccountsSetIamPolicyRequest(
                resource=utils.EmailToAccountResourceName(args.account),
                setIamPolicyRequest=self.messages.SetIamPolicyRequest(
                    policy=policy)))
예제 #2
0
    def Run(self, args):
        projects = self.context['projects_client']
        messages = self.context['projects_messages']

        project_ref = self.GetProject(args.id)

        policy_request = messages.CloudresourcemanagerProjectsGetIamPolicyRequest(
            resource=project_ref.Name(),
            getIamPolicyRequest=messages.GetIamPolicyRequest())
        policy = projects.projects.GetIamPolicy(policy_request)

        iam_util.AddBindingToIamPolicy(messages, policy, args)

        policy_request = messages.CloudresourcemanagerProjectsSetIamPolicyRequest(
            resource=project_ref.Name(),
            setIamPolicyRequest=messages.SetIamPolicyRequest(policy=policy))
        return projects.projects.SetIamPolicy(policy_request)
예제 #3
0
    def Run(self, args):
        projects = self.context['projects_client']
        messages = self.context['projects_messages']
        resources = self.context['projects_resources']

        project_ref = resources.Parse(
            args.id, collection='cloudresourcemanager.projects')

        policy_request = messages.CloudresourcemanagerProjectsGetIamPolicyRequest(
            resource=project_ref.Name(),
            getIamPolicyRequest=messages.GetIamPolicyRequest())
        policy = projects.projects.GetIamPolicy(policy_request)

        iam_util.AddBindingToIamPolicy(messages, policy, args,
                                       util.GetKnownIAMRoles())

        policy_request = messages.CloudresourcemanagerProjectsSetIamPolicyRequest(
            resource=project_ref.Name(),
            setIamPolicyRequest=messages.SetIamPolicyRequest(policy=policy))
        return projects.projects.SetIamPolicy(policy_request)
예제 #4
0
    def Run(self, args):
        apitools_client = self.context[lib.GENOMICS_APITOOLS_CLIENT_KEY]
        messages = self.context[lib.GENOMICS_MESSAGES_MODULE_KEY]
        resources = self.context[lib.GENOMICS_RESOURCES_KEY]

        dataset_resource = resources.Parse(args.id,
                                           collection='genomics.datasets')

        policy_request = messages.GenomicsDatasetsGetIamPolicyRequest(
            resource='datasets/{0}'.format(dataset_resource.Name()),
            getIamPolicyRequest=messages.GetIamPolicyRequest(),
        )
        policy = apitools_client.datasets.GetIamPolicy(policy_request)

        iam_util.AddBindingToIamPolicy(messages, policy, args)

        policy_request = messages.GenomicsDatasetsSetIamPolicyRequest(
            resource='datasets/{0}'.format(dataset_resource.Name()),
            setIamPolicyRequest=messages.SetIamPolicyRequest(policy=policy),
        )
        return apitools_client.datasets.SetIamPolicy(policy_request)