Skip to content

Commit eddcfe9

Browse files
committed
add billing v4 api phase 1 endpoint
Change-Id: I6184331640e85a44c50b0513fa7800255b74628c Reviewed-on: https://review.couchbase.org/c/CapellaRESTAPIs/+/242624 Reviewed-by: Pierre Regazzoni <pierre.regazzoni@couchbase.com> Tested-by: Thuan Nguyen <soccon@gmail.com>
1 parent 3bb6b77 commit eddcfe9

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

capella/dedicated/CapellaAPI_v4.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ def __init__(self, url, secret, access, bearer_token):
8888
self.app_svc_log_streaming_endpoint = self.cluster_appservice_api + "logStreaming"
8989
self.app_endpoint_log_streaming_endpoint = self.app_endpoints_endpoint + "/{}/logStreaming"
9090
self.app_svc_log_streaming_pause_resume_endpoint = self.app_svc_log_streaming_endpoint + "/activationState"
91+
92+
self.billing_organization_endpoint = organization_endpoint + "/{}/billing"
93+
self.billing_itemized_per_cluster_endpoint = self.cluster_endpoint + "/{}/billing"
94+
self.billing_pay_as_you_go_endpoint = self.billing_get_prepaid_credit_endpoint + "/payAsYouGo"
95+
self.billing_download_categorized_csv_endpoint = organization_endpoint + "/{}/billing/download"
96+
self.billing_download_itemized_per_cluster_csv_endpoint = self.cluster_endpoint + "/{}/billing/download"
9197

9298
def create_user(
9399
self,
@@ -6435,6 +6441,61 @@ def resume_app_service_log_streaming(self, organizationId, projectId, clusterId,
64356441
self.app_svc_log_streaming_pause_resume_endpoint.format(organizationId, projectId, clusterId, appServiceId), params, headers)
64366442
return resp
64376443

6444+
# ***** billing phase 1 start here *********
6445+
def get_prepaid_credit_consumption(self, organizationId, headers=None, **kwargs):
6446+
if kwargs:
6447+
params = kwargs
6448+
else:
6449+
params = None
6450+
resp = self.api_get(
6451+
self.billing_organization_endpoint.format(organizationId), params, headers)
6452+
return resp
6453+
6454+
def get_categorized_billing(self, organizationId, headers=None, **kwargs):
6455+
if kwargs:
6456+
params = kwargs
6457+
else:
6458+
params = None
6459+
resp = self.api_post(
6460+
self.billing_organization_endpoint.format(organizationId), params, headers)
6461+
return resp
6462+
6463+
def get_itemized_billing_per_cluster(self, organizationId, projectId, clusterId, headers=None, **kwargs):
6464+
if kwargs:
6465+
params = kwargs
6466+
else:
6467+
params = None
6468+
resp = self.api_post(
6469+
self.billing_itemized_per_cluster_endpoint.format(organizationId, projectId, clusterId), params, headers)
6470+
return resp
6471+
6472+
def get_pay_as_you_go_billing(self, organizationId, headers=None, **kwargs):
6473+
if kwargs:
6474+
params = kwargs
6475+
else:
6476+
params = None
6477+
resp = self.api_get(
6478+
self.billing_pay_as_you_go_endpoint.format(organizationId), params, headers)
6479+
return resp
6480+
6481+
def get_download_categorized_csv_billing(self, organizationId, headers=None, **kwargs):
6482+
if kwargs:
6483+
params = kwargs
6484+
else:
6485+
params = None
6486+
resp = self.api_post(
6487+
self.billing_download_categorized_csv_endpoint.format(organizationId), params, headers)
6488+
return resp
6489+
6490+
def get_download_itemized_per_cluster_csv_billing(self, organizationId, headers=None, **kwargs):
6491+
if kwargs:
6492+
params = kwargs
6493+
else:
6494+
params = None
6495+
resp = self.api_post(
6496+
self.billing_download_itemized_per_cluster_csv_endpoint.format(organizationId), params, headers)
6497+
return resp
6498+
64386499
class CapellaAPI(CommonCapellaAPI):
64396500

64406501
def __init__(self, url, secret, access, user, pwd, bearer_token,

0 commit comments

Comments
 (0)