私は、請求アカウントを移行するために、私の組織内に多数のプロジェクトがあります。 Ruby APIにはGoogle::Apis::CloudbillingV1::ProjectBillingInfoがあり、これにはupdate!メソッドが含まれています。プログラムでGoogleクラウドプロジェクトの請求先アカウントを更新しますか?
私はステップがありません。私のコードは次のようになります。
require 'googleauth'
require 'google/apis/cloudbilling_v1'
service = Google::Apis::CloudbillingV1::CloudbillingService.new
service.authorization = Google::Auth.get_application_default(['https://www.googleapis.com/auth/cloud-platform'])
FROM_BA = 'billingAccounts/123456'
TO_BA = 'billingAccounts/789012'
puts "Changing billing account on projects:"
service.list_billing_account_projects(FROM_BA).project_billing_info.each do |p|
puts "\t#{p.name} (#{p.project_id}): #{p.billing_account_name} --> #{TO_BA}"
p.update!(billing_account_name: TO_BA)
end
ループを見つけ、FROM_BA
課金アカウント内のすべてのプロジェクトをリストしません。そして、私はupdate!
が呼び出されていることを知っています。しかし、変更はアカウント内のプロジェクトには反映されません。私はここで一歩足りないと思う。コミットコール?私は例を見つけることができないようだし、ドキュメントはここでは役に立たない。
アカウント内の実際のプロジェクトの上流にある変更をupdate!
変更しないでください。