def Run(self, args): result = self.iam_client.projects_serviceAccounts_keys.Get( self.messages.IamProjectsServiceAccountsKeysGetRequest( name=iam_util.EmailAndKeyToResourceName(args.iam_account, args.key), publicKeyType=iam_util.PublicKeyTypeFromString(args.type))) self.WriteFile(args.output_file, result.publicKeyData) log.status.Print('written key [{0}] for [{2}] as [{1}]'.format( args.key, args.output_file, args.iam_account))
def _SetUpGetPublicKeyExpectations(self, iam_account, key_id='1234'): self.client.projects_serviceAccounts_keys.Get.Expect( request=self.msgs.IamProjectsServiceAccountsKeysGetRequest( name=iam_util.EmailAndKeyToResourceName(iam_account, key_id), publicKeyType=iam_util.PublicKeyTypeFromString('pem')), response=self.msgs.ServiceAccountKey( name=('projects/test-project/serviceAccounts/%s/keys/1234' % iam_account), publicKeyData=b'key data goes here'))
def Run(self, args): key_ref = resources.REGISTRY.Parse( args.key, collection='iam.projects.serviceAccounts.keys', params={ 'serviceAccountsId': args.iam_account, 'projectsId': '-' }) key = key_ref.keysId result = self.iam_client.projects_serviceAccounts_keys.Get( self.messages.IamProjectsServiceAccountsKeysGetRequest( name=key_ref.RelativeName(), publicKeyType=iam_util.PublicKeyTypeFromString(args.type))) log.WriteToFileOrStdout(args.output_file, content=result.publicKeyData, binary=True) log.status.Print('written key [{0}] for [{2}] as [{1}]'.format( key, args.output_file, args.iam_account))