gcloud
コマンドラインプログラムを使用してプロジェクトの有効なAPIを変更する方法が見つかりません。私の直感は、それが請求の「アリーナ」になるだろうということですが、私はこれを見つけようとしていて、多くの幸運を持っています。
使用する
gcloud services enable <service name>
例:
gcloud services enable containerregistry.googleapis.com
Issue現在のデフォルトプロジェクトの場合は、gcloud service-management list --enabledを実行して、有効なすべての使用可能なAPIをリストします。
$ gcloud service-management list --enabled
Listed 0 items.
上記のようなもの、つまり0項目が表示される場合は、プロジェクトの一部のコマンドで以下のエラーが発生している可能性があります。
ERROR: (gcloud.compute.machine-types.list) Some requests did not succeed:
- Project {PROJECT_ID} is not found and cannot be used for API calls
ソリューションあなたがする必要があるのは以下です
出力は非常に長いので、グローバルオプションのpage-sizeを使用することをお勧めします。
$ gcloud service-management list --available --page-size=10 --sort-by="NAME"
NAME TITLE
picker.googleapis.com Google Picker API
bigquery-json.googleapis.com BigQuery API
chromewebstore.googleapis.com Chrome Web Store API
tracing.googleapis.com Google Tracing API
youtube.googleapis.com YouTube Data API v3
actions.googleapis.com Google Actions API
dataflow.googleapis.com Google Dataflow API
serviceuser.googleapis.com Google Service User API
fusiontables.googleapis.com Fusion Tables API
surveys.googleapis.com Surveys API
NAME TITLE
reseller.googleapis.com Google Apps Reseller API
speech.googleapis.com Google Cloud Speech API
appsmarket-component.googleapis.com Google Apps Marketplace SDK
bigtabletableadmin.googleapis.com Google Cloud Bigtable Table Admin API
container.googleapis.com Google Container Engine API
vision.googleapis.com Google Cloud Vision API
storage-api.googleapis.com Google Cloud Storage JSON API
weavecompanion.googleapis.com Weave Companion API
ml.googleapis.com Google Cloud Machine Learning Engine
firebaserules.googleapis.com Firebase Rules API
...
有効にしたいGoogle Compute Engine APIを確認するなど、必要な特定の利用可能なAPIをさらに確認する
$ gcloud service-management list --available --filter='NAME:compute*' NAME TITLE compute-component.googleapis.com Google Compute Engine API
プロジェクトの課金を有効にします。
$ gcloud alpha billing accounts projects link amghouse-some-project-1 --account-id=XXFFXX-B9XX37-2D5DX --format=json { "billingAccountName": "billingAccounts/XXFFXX-B9XX37-2D5DX", "billingEnabled": true, "name": "projects/amghouse-some-project-1 /billingInfo", "projectId": "amghouse-some-project-1 " }
最後に、プロジェクトでAPIを有効にします
`
$gcloud service-management enable compute-component.googleapis.com
Waiting for async operation operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682 to complete...
Operation finished successfully. The following command can describe the Operation details:
gcloud service-management operations describe operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682
`
`
$ gcloud service-management operations describe operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682 --format=json
{
"done": true,
"metadata": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.OperationMetadata",
"persisted": true,
"resourceNames": [
"services/compute-component.googleapis.com/projectSettings/"
],
"startTime": "2017-04-08 23:30:22 WAT"
},
"name": "operations/projectSettings.c6d11ddc-915f-4d66-9b98-237e473e7682",
"response": {
"@type": "type.googleapis.com/google.api.servicemanagement.v1.EnableServiceResponse"
}
}
`
注意プロジェクトが請求情報にリンクされていないと、APIを有効にしようとすると次のようなエラーで失敗します
$ gcloud service-management enable compute-component.googleapis.com
ERROR: (gcloud.service-management.enable) FAILED_PRECONDITION: Operation does not satisfy the following requirements: billing-enabled {Billing must be enabled for activation of service '' in project 'amghouse-bct-sms-1' to proceed., https://console.developers.google.com/project/amghouse-bct-sms-1/settings}
編集:これは廃止されました。 gcloud services
の回答をご覧ください。
service-management
サーフェスを確認してください。その他のヘルプについてはgcloud help service-management
を、新しいサービスを有効にする方法についてはgcloud help service-management enable
をご覧ください。 gcloud service-management list
を使用して利用可能なサービスを一覧表示すると、有効にするサービスの名前を見つけることができます。
コンテナーエンジンAPIを有効にするために私のために働いたもの-
gcloudサービスはcontainerregistry.googleapis.comを有効にします