Closed marccarre closed 6 years ago
From Tate Mandel (tmandel@google.com):
I also created two test subscriptions for your service. Please try listing, getting, approving, and (optionally) denying them using the Partner Subscriptions API with you service account.
Subscription 1 (standard):
name: partnerSubscriptions/47426f1a-d744-4249-ae84-3f4fe194c107
external_account_id: E-F65F-C51C-67FE-D42F
Subscription 2 (enterprise):
name: partnerSubscriptions/db941fb9-d77b-49b3-8fb4-4c31c5f4ff47
external_account_id: E-53D7-7F2A-1D98-F3F5
Generating a JSON key for the cloud-launcher
service and saving it to service-cloud-launcher.json
, then installing oauth2l, and setting the alias
alias gcurl='curl -H "$(oauth2l header --json service-cloud-launcher.json cloud-platform userinfo.email)" -H "Content-Type: application/json"'
I then ran the following calls:
List standard subscription
$ gcurl https://cloudbilling.googleapis.com/v1/partnerSubscriptions?externalAccountId=E-F65F-C51C-67FE-D42F
{
"subscriptions": [
{
"name": "partnerSubscriptions/47426f1a-d744-4249-ae84-3f4fe194c107",
"externalAccountId": "E-F65F-C51C-67FE-D42F",
"version": "1508480169982224",
"status": "PENDING",
"subscribedResources": [
{
"subscriptionProvider": "weaveworks-public-cloudmarketplacepartner.googleapis.com",
"resource": "weave-cloud",
"labels": {
"weaveworks-public-cloudmarketplacepartner.googleapis.com/ServiceLevel": "standard"
}
}
],
"startDate": {
"year": 2017,
"month": 10,
"day": 19
},
"createTime": "2017-10-20T06:16:09.982224Z",
"updateTime": "2017-10-20T06:16:09.982224Z",
"requiredApprovals": [
{
"name": "default-approval",
"status": "PENDING"
}
]
}
]
}
List enterprise subscription
$ gcurl https://cloudbilling.googleapis.com/v1/partnerSubscriptions?externalAccountId=E-53D7-7F2A-1D98-F3F5
{
"subscriptions": [
{
"name": "partnerSubscriptions/db941fb9-d77b-49b3-8fb4-4c31c5f4ff47",
"externalAccountId": "E-53D7-7F2A-1D98-F3F5",
"version": "1508480224803575",
"status": "PENDING",
"subscribedResources": [
{
"subscriptionProvider": "weaveworks-public-cloudmarketplacepartner.googleapis.com",
"resource": "weave-cloud",
"labels": {
"weaveworks-public-cloudmarketplacepartner.googleapis.com/ServiceLevel": "enterprise"
}
}
],
"startDate": {
"year": 2017,
"month": 10,
"day": 19
},
"createTime": "2017-10-20T06:17:04.803575Z",
"updateTime": "2017-10-20T06:17:04.803575Z",
"requiredApprovals": [
{
"name": "default-approval",
"status": "PENDING"
}
]
}
]
}
Get standard subscription
$ gcurl https://cloudbilling.googleapis.com/v1/partnerSubscriptions/47426f1a-d744-4249-ae84-3f4fe194c107
{
"name": "partnerSubscriptions/47426f1a-d744-4249-ae84-3f4fe194c107",
"externalAccountId": "E-F65F-C51C-67FE-D42F",
"version": "1508480169982224",
"status": "PENDING",
"subscribedResources": [
{
"subscriptionProvider": "weaveworks-public-cloudmarketplacepartner.googleapis.com",
"resource": "weave-cloud",
"labels": {
"weaveworks-public-cloudmarketplacepartner.googleapis.com/ServiceLevel": "standard"
}
}
],
"startDate": {
"year": 2017,
"month": 10,
"day": 19
},
"createTime": "2017-10-20T06:16:09.982224Z",
"updateTime": "2017-10-20T06:16:09.982224Z",
"requiredApprovals": [
{
"name": "default-approval",
"status": "PENDING"
}
]
}
Approve standard subscription
$ gcurl -X POST -d '{"approvalId":"default-approval","approvalNote":"oauth2l test"}' https://cloudbilling.googleapis.com/v1/partnerSubscriptions/47426f1a-d744-4249-ae84-3f4fe194c107:approve
{
"name": "partnerSubscriptions/47426f1a-d744-4249-ae84-3f4fe194c107",
"externalAccountId": "E-F65F-C51C-67FE-D42F",
"version": "1508779422963661",
"status": "ACTIVE",
"subscribedResources": [
{
"subscriptionProvider": "weaveworks-public-cloudmarketplacepartner.googleapis.com",
"resource": "weave-cloud",
"labels": {
"weaveworks-public-cloudmarketplacepartner.googleapis.com/ServiceLevel": "standard"
}
}
],
"startDate": {
"year": 2017,
"month": 10,
"day": 23
},
"createTime": "2017-10-20T06:16:09.982224Z",
"updateTime": "2017-10-23T17:23:42.963661Z",
"requiredApprovals": [
{
"name": "default-approval",
"status": "APPROVED",
"approvalTime": "2017-10-23T17:23:42.850Z",
"approvalNote": "oauth2l test"
}
]
}
Deny enterprise subscription
$ gcurl -X POST -d '{"approvalId":"default-approval","approvalNote":"oauth2l test"}' https://cloudbilling.googleapis.com/v1/partnerSubscriptions/db941fb9-d77b-49b3-8fb4-4c31c5f4ff47:deny
{
"name": "partnerSubscriptions/db941fb9-d77b-49b3-8fb4-4c31c5f4ff47",
"externalAccountId": "E-53D7-7F2A-1D98-F3F5",
"version": "1508779513961795",
"status": "CANCELED",
"subscribedResources": [
{
"subscriptionProvider": "weaveworks-public-cloudmarketplacepartner.googleapis.com",
"resource": "weave-cloud",
"labels": {
"weaveworks-public-cloudmarketplacepartner.googleapis.com/ServiceLevel": "enterprise"
}
}
],
"startDate": {
"year": 2017,
"month": 10,
"day": 19
},
"createTime": "2017-10-20T06:17:04.803575Z",
"updateTime": "2017-10-23T17:25:13.961795Z",
"requiredApprovals": [
{
"name": "default-approval",
"status": "DENIED",
"approvalTime": "2017-10-23T17:25:13.886Z",
"approvalNote": "oauth2l test"
}
]
}
We may be able to use: