from ._base import Base
from typing import Any, BinaryIO
__all__ = ["Cloud"]
[docs]
class Cloud(Base):
[docs]
def get_cloud_limits(self):
"""Get cloud workspace limits
`Read in Mattermost API docs (cloud - GetCloudLimits) <https://developers.mattermost.com/api-documentation/#/operations/GetCloudLimits>`_
"""
return self.client.get("""/api/v4/cloud/limits""")
[docs]
def get_cloud_products(self):
"""Get cloud products
`Read in Mattermost API docs (cloud - GetCloudProducts) <https://developers.mattermost.com/api-documentation/#/operations/GetCloudProducts>`_
"""
return self.client.get("""/api/v4/cloud/products""")
[docs]
def create_customer_payment(self):
"""Create a customer setup payment intent
`Read in Mattermost API docs (cloud - CreateCustomerPayment) <https://developers.mattermost.com/api-documentation/#/operations/CreateCustomerPayment>`_
"""
return self.client.post("""/api/v4/cloud/payment""")
[docs]
def confirm_customer_payment(self, stripe_setup_intent_id: str | None = None):
"""Completes the payment setup intent
stripe_setup_intent_id:
`Read in Mattermost API docs (cloud - ConfirmCustomerPayment) <https://developers.mattermost.com/api-documentation/#/operations/ConfirmCustomerPayment>`_
"""
__data = {"stripe_setup_intent_id": stripe_setup_intent_id}
return self.client.post("""/api/v4/cloud/payment/confirm""", data=__data)
[docs]
def get_cloud_customer(self):
"""Get cloud customer
`Read in Mattermost API docs (cloud - GetCloudCustomer) <https://developers.mattermost.com/api-documentation/#/operations/GetCloudCustomer>`_
"""
return self.client.get("""/api/v4/cloud/customer""")
[docs]
def update_cloud_customer(
self,
name: str | None = None,
email: str | None = None,
contact_first_name: str | None = None,
contact_last_name: str | None = None,
num_employees: str | None = None,
):
"""Update cloud customer
name:
email:
contact_first_name:
contact_last_name:
num_employees:
`Read in Mattermost API docs (cloud - UpdateCloudCustomer) <https://developers.mattermost.com/api-documentation/#/operations/UpdateCloudCustomer>`_
"""
__options = {
"name": name,
"email": email,
"contact_first_name": contact_first_name,
"contact_last_name": contact_last_name,
"num_employees": num_employees,
}
return self.client.put("""/api/v4/cloud/customer""", options=__options)
[docs]
def update_cloud_customer_address(self, options: Any):
"""Update cloud customer address
`Read in Mattermost API docs (cloud - UpdateCloudCustomerAddress) <https://developers.mattermost.com/api-documentation/#/operations/UpdateCloudCustomerAddress>`_
"""
return self.client.put("""/api/v4/cloud/customer/address""", options=options)
[docs]
def get_subscription(self):
"""Get cloud subscription
`Read in Mattermost API docs (cloud - GetSubscription) <https://developers.mattermost.com/api-documentation/#/operations/GetSubscription>`_
"""
return self.client.get("""/api/v4/cloud/subscription""")
[docs]
def get_invoices_for_subscription(self):
"""Get cloud subscription invoices
`Read in Mattermost API docs (cloud - GetInvoicesForSubscription) <https://developers.mattermost.com/api-documentation/#/operations/GetInvoicesForSubscription>`_
"""
return self.client.get("""/api/v4/cloud/subscription/invoices""")
[docs]
def get_invoice_for_subscription_as_pdf(self, invoice_id: str):
"""Get cloud invoice PDF
invoice_id: Invoice ID
`Read in Mattermost API docs (cloud - GetInvoiceForSubscriptionAsPdf) <https://developers.mattermost.com/api-documentation/#/operations/GetInvoiceForSubscriptionAsPdf>`_
"""
return self.client.get(f"/api/v4/cloud/subscription/invoices/{invoice_id}/pdf")
[docs]
def post_endpoint_for_cws_webhooks(self):
"""POST endpoint for CWS Webhooks
`Read in Mattermost API docs (cloud - PostEndpointForCwsWebhooks) <https://developers.mattermost.com/api-documentation/#/operations/PostEndpointForCwsWebhooks>`_
"""
return self.client.post("""/api/v4/cloud/webhook""")