diff --git a/twilio/base/version.py b/twilio/base/version.py index ed7e86f499..b7d5ce8e48 100644 --- a/twilio/base/version.py +++ b/twilio/base/version.py @@ -434,6 +434,9 @@ def _parse_create(self, method: str, uri: str, response: Response) -> Any: if response.status_code < 200 or response.status_code >= 300: raise self.exception(method, uri, response, "Unable to create record") + if response.status_code == 204: + return True + return json.loads(response.text) def create( diff --git a/twilio/rest/accounts/AccountsBase.py b/twilio/rest/accounts/AccountsBase.py deleted file mode 100644 index e9ac0d589d..0000000000 --- a/twilio/rest/accounts/AccountsBase.py +++ /dev/null @@ -1,44 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from typing import Optional - -from twilio.base.domain import Domain -from twilio.rest import Client -from twilio.rest.accounts.v1 import V1 - - -class AccountsBase(Domain): - - def __init__(self, twilio: Client): - """ - Initialize the Accounts Domain - - :returns: Domain for Accounts - """ - super().__init__(twilio, "https://accounts.twilio.com") - self._v1: Optional[V1] = None - - @property - def v1(self) -> V1: - """ - :returns: Versions v1 of Accounts - """ - if self._v1 is None: - self._v1 = V1(self) - return self._v1 - - def __repr__(self) -> str: - """ - Provide a friendly representation - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/accounts/__init__.py b/twilio/rest/accounts/__init__.py deleted file mode 100644 index e2275aea44..0000000000 --- a/twilio/rest/accounts/__init__.py +++ /dev/null @@ -1,35 +0,0 @@ -from warnings import warn - -from twilio.rest.accounts.AccountsBase import AccountsBase -from twilio.rest.accounts.v1.auth_token_promotion import AuthTokenPromotionList -from twilio.rest.accounts.v1.credential import CredentialList -from twilio.rest.accounts.v1.secondary_auth_token import SecondaryAuthTokenList - - -class Accounts(AccountsBase): - @property - def auth_token_promotion(self) -> AuthTokenPromotionList: - warn( - "auth_token_promotion is deprecated. Use v1.auth_token_promotion instead.", - DeprecationWarning, - stacklevel=2, - ) - return self.v1.auth_token_promotion - - @property - def credentials(self) -> CredentialList: - warn( - "credentials is deprecated. Use v1.credentials instead.", - DeprecationWarning, - stacklevel=2, - ) - return self.v1.credentials - - @property - def secondary_auth_token(self) -> SecondaryAuthTokenList: - warn( - "secondary_auth_token is deprecated. Use v1.secondary_auth_token instead.", - DeprecationWarning, - stacklevel=2, - ) - return self.v1.secondary_auth_token diff --git a/twilio/rest/accounts/v1/__init__.py b/twilio/rest/accounts/v1/__init__.py index 6f5012d0fa..12f1408559 100644 --- a/twilio/rest/accounts/v1/__init__.py +++ b/twilio/rest/accounts/v1/__init__.py @@ -15,12 +15,7 @@ from typing import Optional from twilio.base.version import Version from twilio.base.domain import Domain -from twilio.rest.accounts.v1.auth_token_promotion import AuthTokenPromotionList -from twilio.rest.accounts.v1.bulk_consents import BulkConsentsList -from twilio.rest.accounts.v1.bulk_contacts import BulkContactsList from twilio.rest.accounts.v1.credential import CredentialList -from twilio.rest.accounts.v1.safelist import SafelistList -from twilio.rest.accounts.v1.secondary_auth_token import SecondaryAuthTokenList class V1(Version): @@ -32,49 +27,14 @@ def __init__(self, domain: Domain): :param domain: The Twilio.accounts domain """ super().__init__(domain, "v1") - self._auth_token_promotion: Optional[AuthTokenPromotionList] = None - self._bulk_consents: Optional[BulkConsentsList] = None - self._bulk_contacts: Optional[BulkContactsList] = None self._credentials: Optional[CredentialList] = None - self._safelist: Optional[SafelistList] = None - self._secondary_auth_token: Optional[SecondaryAuthTokenList] = None - - @property - def auth_token_promotion(self) -> AuthTokenPromotionList: - if self._auth_token_promotion is None: - self._auth_token_promotion = AuthTokenPromotionList(self) - return self._auth_token_promotion - - @property - def bulk_consents(self) -> BulkConsentsList: - if self._bulk_consents is None: - self._bulk_consents = BulkConsentsList(self) - return self._bulk_consents - - @property - def bulk_contacts(self) -> BulkContactsList: - if self._bulk_contacts is None: - self._bulk_contacts = BulkContactsList(self) - return self._bulk_contacts - + @property def credentials(self) -> CredentialList: if self._credentials is None: self._credentials = CredentialList(self) return self._credentials - @property - def safelist(self) -> SafelistList: - if self._safelist is None: - self._safelist = SafelistList(self) - return self._safelist - - @property - def secondary_auth_token(self) -> SecondaryAuthTokenList: - if self._secondary_auth_token is None: - self._secondary_auth_token = SecondaryAuthTokenList(self) - return self._secondary_auth_token - def __repr__(self) -> str: """ Provide a friendly representation diff --git a/twilio/rest/accounts/v1/auth_token_promotion.py b/twilio/rest/accounts/v1/auth_token_promotion.py deleted file mode 100644 index 8580538a9b..0000000000 --- a/twilio/rest/accounts/v1/auth_token_promotion.py +++ /dev/null @@ -1,181 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - Twilio - Accounts - This is the public Twilio REST API. - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from datetime import datetime -from typing import Any, Dict, Optional -from twilio.base import deserialize, values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.version import Version - - -class AuthTokenPromotionInstance(InstanceResource): - """ - :ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that the secondary Auth Token was created for. - :ivar auth_token: The promoted Auth Token that must be used to authenticate future API requests. - :ivar date_created: The date and time in UTC when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - :ivar date_updated: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - :ivar url: The URI for this resource, relative to `https://accounts.twilio.com` - """ - - def __init__(self, version: Version, payload: Dict[str, Any]): - super().__init__(version) - - self.account_sid: Optional[str] = payload.get("account_sid") - self.auth_token: Optional[str] = payload.get("auth_token") - self.date_created: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_created") - ) - self.date_updated: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_updated") - ) - self.url: Optional[str] = payload.get("url") - - self._context: Optional[AuthTokenPromotionContext] = None - - @property - def _proxy(self) -> "AuthTokenPromotionContext": - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: AuthTokenPromotionContext for this AuthTokenPromotionInstance - """ - if self._context is None: - self._context = AuthTokenPromotionContext( - self._version, - ) - return self._context - - def update(self) -> "AuthTokenPromotionInstance": - """ - Update the AuthTokenPromotionInstance - - - :returns: The updated AuthTokenPromotionInstance - """ - return self._proxy.update() - - async def update_async(self) -> "AuthTokenPromotionInstance": - """ - Asynchronous coroutine to update the AuthTokenPromotionInstance - - - :returns: The updated AuthTokenPromotionInstance - """ - return await self._proxy.update_async() - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class AuthTokenPromotionContext(InstanceContext): - - def __init__(self, version: Version): - """ - Initialize the AuthTokenPromotionContext - - :param version: Version that contains the resource - """ - super().__init__(version) - - self._uri = "/AuthTokens/Promote" - - def update(self) -> AuthTokenPromotionInstance: - """ - Update the AuthTokenPromotionInstance - - - :returns: The updated AuthTokenPromotionInstance - """ - - data = values.of({}) - headers = values.of({}) - - headers["Accept"] = "application/json" - - payload = self._version.update( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return AuthTokenPromotionInstance(self._version, payload) - - async def update_async(self) -> AuthTokenPromotionInstance: - """ - Asynchronous coroutine to update the AuthTokenPromotionInstance - - - :returns: The updated AuthTokenPromotionInstance - """ - - data = values.of({}) - headers = values.of({}) - - headers["Accept"] = "application/json" - - payload = await self._version.update_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return AuthTokenPromotionInstance(self._version, payload) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class AuthTokenPromotionList(ListResource): - - def __init__(self, version: Version): - """ - Initialize the AuthTokenPromotionList - - :param version: Version that contains the resource - - """ - super().__init__(version) - - def get(self) -> AuthTokenPromotionContext: - """ - Constructs a AuthTokenPromotionContext - - """ - return AuthTokenPromotionContext(self._version) - - def __call__(self) -> AuthTokenPromotionContext: - """ - Constructs a AuthTokenPromotionContext - - """ - return AuthTokenPromotionContext(self._version) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/accounts/v1/bulk_consents.py b/twilio/rest/accounts/v1/bulk_consents.py deleted file mode 100644 index 9e242552ee..0000000000 --- a/twilio/rest/accounts/v1/bulk_consents.py +++ /dev/null @@ -1,114 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - Twilio - Accounts - This is the public Twilio REST API. - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from typing import Any, Dict, List, Optional -from twilio.base import serialize, values - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.version import Version - - -class BulkConsentsInstance(InstanceResource): - """ - :ivar items: A list of objects where each object represents the result of processing a `correlation_id`. Each object contains the following fields: `correlation_id`, a unique 32-character UUID that maps the response to the original request; `error_code`, an integer where 0 indicates success and any non-zero value represents an error; and `error_messages`, an array of strings describing specific validation errors encountered. If the request is successful, the error_messages array will be empty. - """ - - def __init__(self, version: Version, payload: Dict[str, Any]): - super().__init__(version) - - self.items: Optional[Dict[str, object]] = payload.get("items") - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class BulkConsentsList(ListResource): - - def __init__(self, version: Version): - """ - Initialize the BulkConsentsList - - :param version: Version that contains the resource - - """ - super().__init__(version) - - self._uri = "/Consents/Bulk" - - def create(self, items: List[object]) -> BulkConsentsInstance: - """ - Create the BulkConsentsInstance - - :param items: This is a list of objects that describes a contact's opt-in status. Each object contains the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID used to uniquely map the request item with the response item; `sender_id`, which can be either a valid messaging service SID or a from phone number; `status`, a string representing the consent status. Can be one of [`opt-in`, `opt-out`]; `source`, a string indicating the medium through which the consent was collected. Can be one of [`website`, `offline`, `opt-in-message`, `opt-out-message`, `others`]; `date_of_consent`, an optional datetime string field in ISO-8601 format that captures the exact date and time when the user gave or revoked consent. If not provided, it will be empty. - - :returns: The created BulkConsentsInstance - """ - - data = values.of( - { - "Items": serialize.map(items, lambda e: serialize.object(e)), - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = self._version.create( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return BulkConsentsInstance(self._version, payload) - - async def create_async(self, items: List[object]) -> BulkConsentsInstance: - """ - Asynchronously create the BulkConsentsInstance - - :param items: This is a list of objects that describes a contact's opt-in status. Each object contains the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID used to uniquely map the request item with the response item; `sender_id`, which can be either a valid messaging service SID or a from phone number; `status`, a string representing the consent status. Can be one of [`opt-in`, `opt-out`]; `source`, a string indicating the medium through which the consent was collected. Can be one of [`website`, `offline`, `opt-in-message`, `opt-out-message`, `others`]; `date_of_consent`, an optional datetime string field in ISO-8601 format that captures the exact date and time when the user gave or revoked consent. If not provided, it will be empty. - - :returns: The created BulkConsentsInstance - """ - - data = values.of( - { - "Items": serialize.map(items, lambda e: serialize.object(e)), - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = await self._version.create_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return BulkConsentsInstance(self._version, payload) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/accounts/v1/bulk_contacts.py b/twilio/rest/accounts/v1/bulk_contacts.py deleted file mode 100644 index 17b6da33f3..0000000000 --- a/twilio/rest/accounts/v1/bulk_contacts.py +++ /dev/null @@ -1,114 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - Twilio - Accounts - This is the public Twilio REST API. - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from typing import Any, Dict, List, Optional -from twilio.base import serialize, values - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.version import Version - - -class BulkContactsInstance(InstanceResource): - """ - :ivar items: A list of objects where each object represents the result of processing a `correlation_id`. Each object contains the following fields: `correlation_id`, a unique 32-character UUID that maps the response to the original request; `error_code`, an integer where 0 indicates success and any non-zero value represents an error; and `error_messages`, an array of strings describing specific validation errors encountered. If the request is successful, the error_messages array will be empty. - """ - - def __init__(self, version: Version, payload: Dict[str, Any]): - super().__init__(version) - - self.items: Optional[Dict[str, object]] = payload.get("items") - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class BulkContactsList(ListResource): - - def __init__(self, version: Version): - """ - Initialize the BulkContactsList - - :param version: Version that contains the resource - - """ - super().__init__(version) - - self._uri = "/Contacts/Bulk" - - def create(self, items: List[object]) -> BulkContactsInstance: - """ - Create the BulkContactsInstance - - :param items: A list of objects where each object represents a contact's details. Each object includes the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID that maps the response to the original request; `country_iso_code`, a string representing the country using the ISO format (e.g., US for the United States); and `zip_code`, a string representing the postal code. - - :returns: The created BulkContactsInstance - """ - - data = values.of( - { - "Items": serialize.map(items, lambda e: serialize.object(e)), - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = self._version.create( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return BulkContactsInstance(self._version, payload) - - async def create_async(self, items: List[object]) -> BulkContactsInstance: - """ - Asynchronously create the BulkContactsInstance - - :param items: A list of objects where each object represents a contact's details. Each object includes the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID that maps the response to the original request; `country_iso_code`, a string representing the country using the ISO format (e.g., US for the United States); and `zip_code`, a string representing the postal code. - - :returns: The created BulkContactsInstance - """ - - data = values.of( - { - "Items": serialize.map(items, lambda e: serialize.object(e)), - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = await self._version.create_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return BulkContactsInstance(self._version, payload) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/accounts/v1/credential/__init__.py b/twilio/rest/accounts/v1/credential/__init__.py index e9c4653f0c..4ef330974b 100644 --- a/twilio/rest/accounts/v1/credential/__init__.py +++ b/twilio/rest/accounts/v1/credential/__init__.py @@ -12,31 +12,41 @@ Do not edit the class manually. """ -from typing import Optional + +from datetime import date, datetime +from decimal import Decimal +from typing import Any, Dict, List, Optional, Union, Iterator, AsyncIterator +from twilio.base import deserialize, serialize, values from twilio.base.list_resource import ListResource from twilio.base.version import Version from twilio.rest.accounts.v1.credential.aws import AwsList -from twilio.rest.accounts.v1.credential.public_key import PublicKeyList -class CredentialList(ListResource): + + + +class CredentialList(ListResource): + def __init__(self, version: Version): """ Initialize the CredentialList :param version: Version that contains the resource - + """ super().__init__(version) - self._uri = "/Credentials" - + + self._uri = '/Credentials' + self._aws: Optional[AwsList] = None - self._public_key: Optional[PublicKeyList] = None + + + @property def aws(self) -> AwsList: @@ -47,14 +57,7 @@ def aws(self) -> AwsList: self._aws = AwsList(self._version) return self._aws - @property - def public_key(self) -> PublicKeyList: - """ - Access the public_key - """ - if self._public_key is None: - self._public_key = PublicKeyList(self._version) - return self._public_key + def __repr__(self) -> str: """ @@ -62,4 +65,5 @@ def __repr__(self) -> str: :returns: Machine friendly representation """ - return "" + return '' + diff --git a/twilio/rest/accounts/v1/credential/aws.py b/twilio/rest/accounts/v1/credential/aws.py index ba5335accd..16ca960b5e 100644 --- a/twilio/rest/accounts/v1/credential/aws.py +++ b/twilio/rest/accounts/v1/credential/aws.py @@ -12,9 +12,11 @@ Do not edit the class manually. """ -from datetime import datetime + +from datetime import date, datetime +from decimal import Decimal from typing import Any, Dict, List, Optional, Union, Iterator, AsyncIterator -from twilio.base import deserialize, values +from twilio.base import deserialize, serialize, values from twilio.base.instance_context import InstanceContext from twilio.base.instance_resource import InstanceResource from twilio.base.list_resource import ListResource @@ -23,6 +25,8 @@ class AwsInstance(InstanceResource): + + """ :ivar sid: The unique string that we created to identify the AWS resource. :ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the AWS resource. @@ -32,23 +36,19 @@ class AwsInstance(InstanceResource): :ivar url: The URI for this resource, relative to `https://accounts.twilio.com` """ - def __init__( - self, version: Version, payload: Dict[str, Any], sid: Optional[str] = None - ): + def __init__(self, version: Version, payload: Dict[str, Any], sid: Optional[str] = None): super().__init__(version) + self.sid: Optional[str] = payload.get("sid") self.account_sid: Optional[str] = payload.get("account_sid") self.friendly_name: Optional[str] = payload.get("friendly_name") - self.date_created: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_created") - ) - self.date_updated: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_updated") - ) + self.date_created: Optional[datetime] = deserialize.iso8601_datetime(payload.get("date_created")) + self.date_updated: Optional[datetime] = deserialize.iso8601_datetime(payload.get("date_updated")) self.url: Optional[str] = payload.get("url") - self._solution = { + + self._solution = { "sid": sid or self.sid, } self._context: Optional[AwsContext] = None @@ -62,34 +62,32 @@ def _proxy(self) -> "AwsContext": :returns: AwsContext for this AwsInstance """ if self._context is None: - self._context = AwsContext( - self._version, - sid=self._solution["sid"], - ) + self._context = AwsContext(self._version, sid=self._solution['sid'],) return self._context - + + def delete(self) -> bool: """ Deletes the AwsInstance - + :returns: True if delete succeeds, False otherwise """ return self._proxy.delete() - async def delete_async(self) -> bool: """ Asynchronous coroutine that deletes the AwsInstance - + :returns: True if delete succeeds, False otherwise """ return await self._proxy.delete_async() - + + def fetch(self) -> "AwsInstance": """ Fetch the AwsInstance - + :returns: The fetched AwsInstance """ @@ -98,47 +96,41 @@ def fetch(self) -> "AwsInstance": async def fetch_async(self) -> "AwsInstance": """ Asynchronous coroutine to fetch the AwsInstance - + :returns: The fetched AwsInstance """ return await self._proxy.fetch_async() - - def update(self, friendly_name: Union[str, object] = values.unset) -> "AwsInstance": + + + def update(self, friendly_name: Union[str, object]=values.unset) -> "AwsInstance": """ Update the AwsInstance - + :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. :returns: The updated AwsInstance """ - return self._proxy.update( - friendly_name=friendly_name, - ) + return self._proxy.update(friendly_name=friendly_name, ) - async def update_async( - self, friendly_name: Union[str, object] = values.unset - ) -> "AwsInstance": + async def update_async(self, friendly_name: Union[str, object]=values.unset) -> "AwsInstance": """ Asynchronous coroutine to update the AwsInstance - + :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. :returns: The updated AwsInstance """ - return await self._proxy.update_async( - friendly_name=friendly_name, - ) - + return await self._proxy.update_async(friendly_name=friendly_name, ) + def __repr__(self) -> str: """ Provide a friendly representation :returns: Machine friendly representation """ - context = " ".join("{}={}".format(k, v) for k, v in self._solution.items()) - return "".format(context) - + context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) + return ''.format(context) class AwsContext(InstanceContext): @@ -151,142 +143,168 @@ def __init__(self, version: Version, sid: str): """ super().__init__(version) + # Path Solution - self._solution = { - "sid": sid, + self._solution = { + 'sid': sid, } - self._uri = "/Credentials/AWS/{sid}".format(**self._solution) - + self._uri = '/Credentials/AWS/{sid}'.format(**self._solution) + + + def delete(self) -> bool: """ Deletes the AwsInstance - + :returns: True if delete succeeds, False otherwise """ + headers = values.of({}) - - return self._version.delete(method="DELETE", uri=self._uri, headers=headers) + + + + return self._version.delete(method='DELETE', uri=self._uri, headers=headers) async def delete_async(self) -> bool: """ Asynchronous coroutine that deletes the AwsInstance - + :returns: True if delete succeeds, False otherwise """ - + headers = values.of({}) - - return await self._version.delete_async( - method="DELETE", uri=self._uri, headers=headers - ) - + + + + return await self._version.delete_async(method='DELETE', uri=self._uri, headers=headers) + + def fetch(self) -> AwsInstance: """ Fetch the AwsInstance - + :returns: The fetched AwsInstance """ + headers = values.of({}) - + + headers["Accept"] = "application/json" - - payload = self._version.fetch(method="GET", uri=self._uri, headers=headers) + + payload = self._version.fetch(method='GET', uri=self._uri , headers=headers) return AwsInstance( self._version, payload, - sid=self._solution["sid"], + sid=self._solution['sid'], + ) async def fetch_async(self) -> AwsInstance: """ Asynchronous coroutine to fetch the AwsInstance - + :returns: The fetched AwsInstance """ + headers = values.of({}) - + + headers["Accept"] = "application/json" - - payload = await self._version.fetch_async( - method="GET", uri=self._uri, headers=headers - ) + + payload = await self._version.fetch_async(method='GET', uri=self._uri , headers=headers) return AwsInstance( self._version, payload, - sid=self._solution["sid"], + sid=self._solution['sid'], + ) - - def update(self, friendly_name: Union[str, object] = values.unset) -> AwsInstance: + + + def update(self, friendly_name: Union[str, object]=values.unset) -> AwsInstance: """ Update the AwsInstance - + :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. :returns: The updated AwsInstance """ - - data = values.of( - { - "FriendlyName": friendly_name, - } - ) + + data = values.of({ + 'FriendlyName': friendly_name, + }) headers = values.of({}) - + + headers["Content-Type"] = "application/x-www-form-urlencoded" - + + headers["Accept"] = "application/json" + - payload = self._version.update( - method="POST", uri=self._uri, data=data, headers=headers - ) + payload = self._version.update(method='POST', uri=self._uri, data=data, headers=headers) - return AwsInstance(self._version, payload, sid=self._solution["sid"]) + return AwsInstance( + self._version, + payload, + sid=self._solution['sid'] + ) - async def update_async( - self, friendly_name: Union[str, object] = values.unset - ) -> AwsInstance: + async def update_async(self, friendly_name: Union[str, object]=values.unset) -> AwsInstance: """ Asynchronous coroutine to update the AwsInstance - + :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. :returns: The updated AwsInstance """ - - data = values.of( - { - "FriendlyName": friendly_name, - } - ) + + data = values.of({ + 'FriendlyName': friendly_name, + }) headers = values.of({}) - + + headers["Content-Type"] = "application/x-www-form-urlencoded" - + + headers["Accept"] = "application/json" + - payload = await self._version.update_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return AwsInstance(self._version, payload, sid=self._solution["sid"]) + payload = await self._version.update_async(method='POST', uri=self._uri, data=data, headers=headers) + return AwsInstance( + self._version, + payload, + sid=self._solution['sid'] + ) + + def __repr__(self) -> str: """ Provide a friendly representation :returns: Machine friendly representation """ - context = " ".join("{}={}".format(k, v) for k, v in self._solution.items()) - return "".format(context) + context = ' '.join('{}={}'.format(k, v) for k, v in self._solution.items()) + return ''.format(context) + + + + + + + + + class AwsPage(Page): @@ -308,91 +326,91 @@ def __repr__(self) -> str: return "" -class AwsList(ListResource): + + +class AwsList(ListResource): + def __init__(self, version: Version): """ Initialize the AwsList :param version: Version that contains the resource - + """ super().__init__(version) - self._uri = "/Credentials/AWS" - - def create( - self, - credentials: str, - friendly_name: Union[str, object] = values.unset, - account_sid: Union[str, object] = values.unset, - ) -> AwsInstance: + + self._uri = '/Credentials/AWS' + + + + + + + def create(self, credentials: str, friendly_name: Union[str, object]=values.unset, account_sid: Union[str, object]=values.unset) -> AwsInstance: """ Create the AwsInstance :param credentials: A string that contains the AWS access credentials in the format `:`. For example, `AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. :param account_sid: The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request. - + :returns: The created AwsInstance """ - - data = values.of( - { - "Credentials": credentials, - "FriendlyName": friendly_name, - "AccountSid": account_sid, - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - + + data = values.of({ + 'Credentials': credentials, + 'FriendlyName': friendly_name, + 'AccountSid': account_sid, + }) + headers = values.of({ + 'Content-Type': 'application/x-www-form-urlencoded' + }) + headers["Content-Type"] = "application/x-www-form-urlencoded" - + + headers["Accept"] = "application/json" - - payload = self._version.create( - method="POST", uri=self._uri, data=data, headers=headers - ) + + + payload = self._version.create(method='POST', uri=self._uri, data=data, headers=headers) return AwsInstance(self._version, payload) - async def create_async( - self, - credentials: str, - friendly_name: Union[str, object] = values.unset, - account_sid: Union[str, object] = values.unset, - ) -> AwsInstance: + async def create_async(self, credentials: str, friendly_name: Union[str, object]=values.unset, account_sid: Union[str, object]=values.unset) -> AwsInstance: """ Asynchronously create the AwsInstance :param credentials: A string that contains the AWS access credentials in the format `:`. For example, `AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. :param account_sid: The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request. - + :returns: The created AwsInstance """ - - data = values.of( - { - "Credentials": credentials, - "FriendlyName": friendly_name, - "AccountSid": account_sid, - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - + + data = values.of({ + 'Credentials': credentials, + 'FriendlyName': friendly_name, + 'AccountSid': account_sid, + }) + headers = values.of({ + 'Content-Type': 'application/x-www-form-urlencoded' + }) + headers["Content-Type"] = "application/x-www-form-urlencoded" - + + headers["Accept"] = "application/json" - - payload = await self._version.create_async( - method="POST", uri=self._uri, data=data, headers=headers - ) + + + payload = await self._version.create_async(method='POST', uri=self._uri, data=data, headers=headers) return AwsInstance(self._version, payload) - - def stream( - self, + + + def stream(self, + limit: Optional[int] = None, page_size: Optional[int] = None, ) -> Iterator[AwsInstance]: @@ -401,7 +419,7 @@ def stream( This operation lazily loads records as efficiently as possible until the limit is reached. The results are returned as a generator, so this operation is memory efficient. - + :param limit: Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit :param page_size: Number of records to fetch per request, when not set will use @@ -412,12 +430,14 @@ def stream( :returns: Generator that will yield up to limit results """ limits = self._version.read_limits(limit, page_size) - page = self.page(page_size=limits["page_size"]) + page = self.page( + page_size=limits['page_size'] + ) - return self._version.stream(page, limits["limit"]) + return self._version.stream(page, limits['limit']) - async def stream_async( - self, + async def stream_async(self, + limit: Optional[int] = None, page_size: Optional[int] = None, ) -> AsyncIterator[AwsInstance]: @@ -426,7 +446,7 @@ async def stream_async( This operation lazily loads records as efficiently as possible until the limit is reached. The results are returned as a generator, so this operation is memory efficient. - + :param limit: Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit :param page_size: Number of records to fetch per request, when not set will use @@ -437,12 +457,14 @@ async def stream_async( :returns: Generator that will yield up to limit results """ limits = self._version.read_limits(limit, page_size) - page = await self.page_async(page_size=limits["page_size"]) + page = await self.page_async( + page_size=limits['page_size'] + ) - return self._version.stream_async(page, limits["limit"]) + return self._version.stream_async(page, limits['limit']) - def list( - self, + def list(self, + limit: Optional[int] = None, page_size: Optional[int] = None, ) -> List[AwsInstance]: @@ -450,7 +472,7 @@ def list( Lists AwsInstance records from the API as a list. Unlike stream(), this operation is eager and will load `limit` records into memory before returning. - + :param limit: Upper limit for the number of records to return. list() guarantees never to return more than limit. Default is no limit :param page_size: Number of records to fetch per request, when not set will use @@ -460,15 +482,13 @@ def list( :returns: list that will contain up to limit results """ - return list( - self.stream( - limit=limit, - page_size=page_size, - ) - ) + return list(self.stream( + limit=limit, + page_size=page_size, + )) - async def list_async( - self, + async def list_async(self, + limit: Optional[int] = None, page_size: Optional[int] = None, ) -> List[AwsInstance]: @@ -476,7 +496,7 @@ async def list_async( Asynchronously lists AwsInstance records from the API as a list. Unlike stream(), this operation is eager and will load `limit` records into memory before returning. - + :param limit: Upper limit for the number of records to return. list() guarantees never to return more than limit. Default is no limit :param page_size: Number of records to fetch per request, when not set will use @@ -486,16 +506,13 @@ async def list_async( :returns: list that will contain up to limit results """ - return [ - record - async for record in await self.stream_async( - limit=limit, - page_size=page_size, - ) - ] + return [record async for record in await self.stream_async( + limit=limit, + page_size=page_size, + )] - def page( - self, + def page(self, + page_token: Union[str, object] = values.unset, page_number: Union[int, object] = values.unset, page_size: Union[int, object] = values.unset, @@ -503,32 +520,32 @@ def page( """ Retrieve a single page of AwsInstance records from the API. Request is executed immediately - + :param page_token: PageToken provided by the API :param page_number: Page Number, this value is simply for client state :param page_size: Number of records to return, defaults to 50 :returns: Page of AwsInstance """ - data = values.of( - { - "PageToken": page_token, - "Page": page_number, - "PageSize": page_size, - } - ) - - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - + data = values.of({ + 'PageToken': page_token, + 'Page': page_number, + 'PageSize': page_size, + }) + + headers = values.of({ + 'Content-Type': 'application/x-www-form-urlencoded' + }) + + headers["Accept"] = "application/json" + - response = self._version.page( - method="GET", uri=self._uri, params=data, headers=headers - ) + response = self._version.page(method='GET', uri=self._uri, params=data, headers=headers) return AwsPage(self._version, response) - async def page_async( - self, + async def page_async(self, + page_token: Union[str, object] = values.unset, page_number: Union[int, object] = values.unset, page_size: Union[int, object] = values.unset, @@ -536,28 +553,28 @@ async def page_async( """ Asynchronously retrieve a single page of AwsInstance records from the API. Request is executed immediately - + :param page_token: PageToken provided by the API :param page_number: Page Number, this value is simply for client state :param page_size: Number of records to return, defaults to 50 :returns: Page of AwsInstance """ - data = values.of( - { - "PageToken": page_token, - "Page": page_number, - "PageSize": page_size, - } - ) - - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - + data = values.of({ + 'PageToken': page_token, + 'Page': page_number, + 'PageSize': page_size, + }) + + headers = values.of({ + 'Content-Type': 'application/x-www-form-urlencoded' + }) + + headers["Accept"] = "application/json" + - response = await self._version.page_async( - method="GET", uri=self._uri, params=data, headers=headers - ) + response = await self._version.page_async(method='GET', uri=self._uri, params=data, headers=headers) return AwsPage(self._version, response) def get_page(self, target_url: str) -> AwsPage: @@ -569,7 +586,10 @@ def get_page(self, target_url: str) -> AwsPage: :returns: Page of AwsInstance """ - response = self._version.domain.twilio.request("GET", target_url) + response = self._version.domain.twilio.request( + 'GET', + target_url + ) return AwsPage(self._version, response) async def get_page_async(self, target_url: str) -> AwsPage: @@ -581,13 +601,18 @@ async def get_page_async(self, target_url: str) -> AwsPage: :returns: Page of AwsInstance """ - response = await self._version.domain.twilio.request_async("GET", target_url) + response = await self._version.domain.twilio.request_async( + 'GET', + target_url + ) return AwsPage(self._version, response) + + def get(self, sid: str) -> AwsContext: """ Constructs a AwsContext - + :param sid: The Twilio-provided string that uniquely identifies the AWS resource to update. """ return AwsContext(self._version, sid=sid) @@ -595,7 +620,7 @@ def get(self, sid: str) -> AwsContext: def __call__(self, sid: str) -> AwsContext: """ Constructs a AwsContext - + :param sid: The Twilio-provided string that uniquely identifies the AWS resource to update. """ return AwsContext(self._version, sid=sid) @@ -606,4 +631,5 @@ def __repr__(self) -> str: :returns: Machine friendly representation """ - return "" + return '' + diff --git a/twilio/rest/accounts/v1/credential/public_key.py b/twilio/rest/accounts/v1/credential/public_key.py deleted file mode 100644 index c2b4f9bbee..0000000000 --- a/twilio/rest/accounts/v1/credential/public_key.py +++ /dev/null @@ -1,613 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - Twilio - Accounts - This is the public Twilio REST API. - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from datetime import datetime -from typing import Any, Dict, List, Optional, Union, Iterator, AsyncIterator -from twilio.base import deserialize, values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.version import Version -from twilio.base.page import Page - - -class PublicKeyInstance(InstanceResource): - """ - :ivar sid: The unique string that that we created to identify the PublicKey resource. - :ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Credential that the PublicKey resource belongs to. - :ivar friendly_name: The string that you assigned to describe the resource. - :ivar date_created: The date and time in GMT when the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. - :ivar date_updated: The date and time in GMT when the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format. - :ivar url: The URI for this resource, relative to `https://accounts.twilio.com` - """ - - def __init__( - self, version: Version, payload: Dict[str, Any], sid: Optional[str] = None - ): - super().__init__(version) - - self.sid: Optional[str] = payload.get("sid") - self.account_sid: Optional[str] = payload.get("account_sid") - self.friendly_name: Optional[str] = payload.get("friendly_name") - self.date_created: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_created") - ) - self.date_updated: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_updated") - ) - self.url: Optional[str] = payload.get("url") - - self._solution = { - "sid": sid or self.sid, - } - self._context: Optional[PublicKeyContext] = None - - @property - def _proxy(self) -> "PublicKeyContext": - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: PublicKeyContext for this PublicKeyInstance - """ - if self._context is None: - self._context = PublicKeyContext( - self._version, - sid=self._solution["sid"], - ) - return self._context - - def delete(self) -> bool: - """ - Deletes the PublicKeyInstance - - - :returns: True if delete succeeds, False otherwise - """ - return self._proxy.delete() - - async def delete_async(self) -> bool: - """ - Asynchronous coroutine that deletes the PublicKeyInstance - - - :returns: True if delete succeeds, False otherwise - """ - return await self._proxy.delete_async() - - def fetch(self) -> "PublicKeyInstance": - """ - Fetch the PublicKeyInstance - - - :returns: The fetched PublicKeyInstance - """ - return self._proxy.fetch() - - async def fetch_async(self) -> "PublicKeyInstance": - """ - Asynchronous coroutine to fetch the PublicKeyInstance - - - :returns: The fetched PublicKeyInstance - """ - return await self._proxy.fetch_async() - - def update( - self, friendly_name: Union[str, object] = values.unset - ) -> "PublicKeyInstance": - """ - Update the PublicKeyInstance - - :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. - - :returns: The updated PublicKeyInstance - """ - return self._proxy.update( - friendly_name=friendly_name, - ) - - async def update_async( - self, friendly_name: Union[str, object] = values.unset - ) -> "PublicKeyInstance": - """ - Asynchronous coroutine to update the PublicKeyInstance - - :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. - - :returns: The updated PublicKeyInstance - """ - return await self._proxy.update_async( - friendly_name=friendly_name, - ) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - context = " ".join("{}={}".format(k, v) for k, v in self._solution.items()) - return "".format(context) - - -class PublicKeyContext(InstanceContext): - - def __init__(self, version: Version, sid: str): - """ - Initialize the PublicKeyContext - - :param version: Version that contains the resource - :param sid: The Twilio-provided string that uniquely identifies the PublicKey resource to update. - """ - super().__init__(version) - - # Path Solution - self._solution = { - "sid": sid, - } - self._uri = "/Credentials/PublicKeys/{sid}".format(**self._solution) - - def delete(self) -> bool: - """ - Deletes the PublicKeyInstance - - - :returns: True if delete succeeds, False otherwise - """ - - headers = values.of({}) - - return self._version.delete(method="DELETE", uri=self._uri, headers=headers) - - async def delete_async(self) -> bool: - """ - Asynchronous coroutine that deletes the PublicKeyInstance - - - :returns: True if delete succeeds, False otherwise - """ - - headers = values.of({}) - - return await self._version.delete_async( - method="DELETE", uri=self._uri, headers=headers - ) - - def fetch(self) -> PublicKeyInstance: - """ - Fetch the PublicKeyInstance - - - :returns: The fetched PublicKeyInstance - """ - - headers = values.of({}) - - headers["Accept"] = "application/json" - - payload = self._version.fetch(method="GET", uri=self._uri, headers=headers) - - return PublicKeyInstance( - self._version, - payload, - sid=self._solution["sid"], - ) - - async def fetch_async(self) -> PublicKeyInstance: - """ - Asynchronous coroutine to fetch the PublicKeyInstance - - - :returns: The fetched PublicKeyInstance - """ - - headers = values.of({}) - - headers["Accept"] = "application/json" - - payload = await self._version.fetch_async( - method="GET", uri=self._uri, headers=headers - ) - - return PublicKeyInstance( - self._version, - payload, - sid=self._solution["sid"], - ) - - def update( - self, friendly_name: Union[str, object] = values.unset - ) -> PublicKeyInstance: - """ - Update the PublicKeyInstance - - :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. - - :returns: The updated PublicKeyInstance - """ - - data = values.of( - { - "FriendlyName": friendly_name, - } - ) - headers = values.of({}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = self._version.update( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return PublicKeyInstance(self._version, payload, sid=self._solution["sid"]) - - async def update_async( - self, friendly_name: Union[str, object] = values.unset - ) -> PublicKeyInstance: - """ - Asynchronous coroutine to update the PublicKeyInstance - - :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. - - :returns: The updated PublicKeyInstance - """ - - data = values.of( - { - "FriendlyName": friendly_name, - } - ) - headers = values.of({}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = await self._version.update_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return PublicKeyInstance(self._version, payload, sid=self._solution["sid"]) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - context = " ".join("{}={}".format(k, v) for k, v in self._solution.items()) - return "".format(context) - - -class PublicKeyPage(Page): - - def get_instance(self, payload: Dict[str, Any]) -> PublicKeyInstance: - """ - Build an instance of PublicKeyInstance - - :param payload: Payload response from the API - """ - return PublicKeyInstance(self._version, payload) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" - - -class PublicKeyList(ListResource): - - def __init__(self, version: Version): - """ - Initialize the PublicKeyList - - :param version: Version that contains the resource - - """ - super().__init__(version) - - self._uri = "/Credentials/PublicKeys" - - def create( - self, - public_key: str, - friendly_name: Union[str, object] = values.unset, - account_sid: Union[str, object] = values.unset, - ) -> PublicKeyInstance: - """ - Create the PublicKeyInstance - - :param public_key: A URL encoded representation of the public key. For example, `-----BEGIN PUBLIC KEY-----MIIBIjANB.pa9xQIDAQAB-----END PUBLIC KEY-----` - :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. - :param account_sid: The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request - - :returns: The created PublicKeyInstance - """ - - data = values.of( - { - "PublicKey": public_key, - "FriendlyName": friendly_name, - "AccountSid": account_sid, - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = self._version.create( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return PublicKeyInstance(self._version, payload) - - async def create_async( - self, - public_key: str, - friendly_name: Union[str, object] = values.unset, - account_sid: Union[str, object] = values.unset, - ) -> PublicKeyInstance: - """ - Asynchronously create the PublicKeyInstance - - :param public_key: A URL encoded representation of the public key. For example, `-----BEGIN PUBLIC KEY-----MIIBIjANB.pa9xQIDAQAB-----END PUBLIC KEY-----` - :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long. - :param account_sid: The SID of the Subaccount that this Credential should be associated with. Must be a valid Subaccount of the account issuing the request - - :returns: The created PublicKeyInstance - """ - - data = values.of( - { - "PublicKey": public_key, - "FriendlyName": friendly_name, - "AccountSid": account_sid, - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = await self._version.create_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return PublicKeyInstance(self._version, payload) - - def stream( - self, - limit: Optional[int] = None, - page_size: Optional[int] = None, - ) -> Iterator[PublicKeyInstance]: - """ - Streams PublicKeyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - """ - limits = self._version.read_limits(limit, page_size) - page = self.page(page_size=limits["page_size"]) - - return self._version.stream(page, limits["limit"]) - - async def stream_async( - self, - limit: Optional[int] = None, - page_size: Optional[int] = None, - ) -> AsyncIterator[PublicKeyInstance]: - """ - Asynchronously streams PublicKeyInstance records from the API as a generator stream. - This operation lazily loads records as efficiently as possible until the limit - is reached. - The results are returned as a generator, so this operation is memory efficient. - - :param limit: Upper limit for the number of records to return. stream() - guarantees to never return more than limit. Default is no limit - :param page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, stream() will attempt to read the - limit with the most efficient page size, i.e. min(limit, 1000) - - :returns: Generator that will yield up to limit results - """ - limits = self._version.read_limits(limit, page_size) - page = await self.page_async(page_size=limits["page_size"]) - - return self._version.stream_async(page, limits["limit"]) - - def list( - self, - limit: Optional[int] = None, - page_size: Optional[int] = None, - ) -> List[PublicKeyInstance]: - """ - Lists PublicKeyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: list that will contain up to limit results - """ - return list( - self.stream( - limit=limit, - page_size=page_size, - ) - ) - - async def list_async( - self, - limit: Optional[int] = None, - page_size: Optional[int] = None, - ) -> List[PublicKeyInstance]: - """ - Asynchronously lists PublicKeyInstance records from the API as a list. - Unlike stream(), this operation is eager and will load `limit` records into - memory before returning. - - :param limit: Upper limit for the number of records to return. list() guarantees - never to return more than limit. Default is no limit - :param page_size: Number of records to fetch per request, when not set will use - the default value of 50 records. If no page_size is defined - but a limit is defined, list() will attempt to read the limit - with the most efficient page size, i.e. min(limit, 1000) - - :returns: list that will contain up to limit results - """ - return [ - record - async for record in await self.stream_async( - limit=limit, - page_size=page_size, - ) - ] - - def page( - self, - page_token: Union[str, object] = values.unset, - page_number: Union[int, object] = values.unset, - page_size: Union[int, object] = values.unset, - ) -> PublicKeyPage: - """ - Retrieve a single page of PublicKeyInstance records from the API. - Request is executed immediately - - :param page_token: PageToken provided by the API - :param page_number: Page Number, this value is simply for client state - :param page_size: Number of records to return, defaults to 50 - - :returns: Page of PublicKeyInstance - """ - data = values.of( - { - "PageToken": page_token, - "Page": page_number, - "PageSize": page_size, - } - ) - - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Accept"] = "application/json" - - response = self._version.page( - method="GET", uri=self._uri, params=data, headers=headers - ) - return PublicKeyPage(self._version, response) - - async def page_async( - self, - page_token: Union[str, object] = values.unset, - page_number: Union[int, object] = values.unset, - page_size: Union[int, object] = values.unset, - ) -> PublicKeyPage: - """ - Asynchronously retrieve a single page of PublicKeyInstance records from the API. - Request is executed immediately - - :param page_token: PageToken provided by the API - :param page_number: Page Number, this value is simply for client state - :param page_size: Number of records to return, defaults to 50 - - :returns: Page of PublicKeyInstance - """ - data = values.of( - { - "PageToken": page_token, - "Page": page_number, - "PageSize": page_size, - } - ) - - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Accept"] = "application/json" - - response = await self._version.page_async( - method="GET", uri=self._uri, params=data, headers=headers - ) - return PublicKeyPage(self._version, response) - - def get_page(self, target_url: str) -> PublicKeyPage: - """ - Retrieve a specific page of PublicKeyInstance records from the API. - Request is executed immediately - - :param target_url: API-generated URL for the requested results page - - :returns: Page of PublicKeyInstance - """ - response = self._version.domain.twilio.request("GET", target_url) - return PublicKeyPage(self._version, response) - - async def get_page_async(self, target_url: str) -> PublicKeyPage: - """ - Asynchronously retrieve a specific page of PublicKeyInstance records from the API. - Request is executed immediately - - :param target_url: API-generated URL for the requested results page - - :returns: Page of PublicKeyInstance - """ - response = await self._version.domain.twilio.request_async("GET", target_url) - return PublicKeyPage(self._version, response) - - def get(self, sid: str) -> PublicKeyContext: - """ - Constructs a PublicKeyContext - - :param sid: The Twilio-provided string that uniquely identifies the PublicKey resource to update. - """ - return PublicKeyContext(self._version, sid=sid) - - def __call__(self, sid: str) -> PublicKeyContext: - """ - Constructs a PublicKeyContext - - :param sid: The Twilio-provided string that uniquely identifies the PublicKey resource to update. - """ - return PublicKeyContext(self._version, sid=sid) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/accounts/v1/safelist.py b/twilio/rest/accounts/v1/safelist.py deleted file mode 100644 index be8fe416af..0000000000 --- a/twilio/rest/accounts/v1/safelist.py +++ /dev/null @@ -1,204 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - Twilio - Accounts - This is the public Twilio REST API. - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from typing import Any, Dict, Optional, Union -from twilio.base import values - -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.version import Version - - -class SafelistInstance(InstanceResource): - """ - :ivar sid: The unique string that we created to identify the SafeList resource. - :ivar phone_number: The phone number or phone number 1k prefix in SafeList. - """ - - def __init__(self, version: Version, payload: Dict[str, Any]): - super().__init__(version) - - self.sid: Optional[str] = payload.get("sid") - self.phone_number: Optional[str] = payload.get("phone_number") - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class SafelistList(ListResource): - - def __init__(self, version: Version): - """ - Initialize the SafelistList - - :param version: Version that contains the resource - - """ - super().__init__(version) - - self._uri = "/SafeList/Numbers" - - def create(self, phone_number: str) -> SafelistInstance: - """ - Create the SafelistInstance - - :param phone_number: The phone number or phone number 1k prefix to be added in SafeList. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). - - :returns: The created SafelistInstance - """ - - data = values.of( - { - "PhoneNumber": phone_number, - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = self._version.create( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return SafelistInstance(self._version, payload) - - async def create_async(self, phone_number: str) -> SafelistInstance: - """ - Asynchronously create the SafelistInstance - - :param phone_number: The phone number or phone number 1k prefix to be added in SafeList. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). - - :returns: The created SafelistInstance - """ - - data = values.of( - { - "PhoneNumber": phone_number, - } - ) - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Content-Type"] = "application/x-www-form-urlencoded" - - headers["Accept"] = "application/json" - - payload = await self._version.create_async( - method="POST", uri=self._uri, data=data, headers=headers - ) - - return SafelistInstance(self._version, payload) - - def delete(self, phone_number: Union[str, object] = values.unset) -> bool: - """ - Asynchronously delete the SafelistInstance - - :param phone_number: The phone number or phone number 1k prefix to be removed from SafeList. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). - :returns: True if delete succeeds, False otherwise - """ - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - params = values.of( - { - "PhoneNumber": phone_number, - } - ) - return self._version.delete( - method="DELETE", uri=self._uri, headers=headers, params=params - ) - - async def delete_async( - self, phone_number: Union[str, object] = values.unset - ) -> bool: - """ - Asynchronously delete the SafelistInstance - - :param phone_number: The phone number or phone number 1k prefix to be removed from SafeList. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). - :returns: True if delete succeeds, False otherwise - """ - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - params = values.of( - { - "PhoneNumber": phone_number, - } - ) - return await self._version.delete_async( - method="DELETE", uri=self._uri, headers=headers, params=params - ) - - def fetch( - self, phone_number: Union[str, object] = values.unset - ) -> SafelistInstance: - """ - Asynchronously fetch the SafelistInstance - - :param phone_number: The phone number or phone number 1k prefix to be fetched from SafeList. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). - :returns: The fetched SafelistInstance - """ - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Accept"] = "application/json" - - params = values.of( - { - "PhoneNumber": phone_number, - } - ) - - payload = self._version.fetch( - method="GET", uri=self._uri, headers=headers, params=params - ) - - return SafelistInstance(self._version, payload) - - async def fetch_async( - self, phone_number: Union[str, object] = values.unset - ) -> SafelistInstance: - """ - Asynchronously fetch the SafelistInstance - - :param phone_number: The phone number or phone number 1k prefix to be fetched from SafeList. Phone numbers must be in [E.164 format](https://www.twilio.com/docs/glossary/what-e164). - :returns: The fetched SafelistInstance - """ - headers = values.of({"Content-Type": "application/x-www-form-urlencoded"}) - - headers["Accept"] = "application/json" - - params = values.of( - { - "PhoneNumber": phone_number, - } - ) - - payload = await self._version.fetch_async( - method="GET", uri=self._uri, headers=headers, params=params - ) - - return SafelistInstance(self._version, payload) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/accounts/v1/secondary_auth_token.py b/twilio/rest/accounts/v1/secondary_auth_token.py deleted file mode 100644 index f5e2b5c1a3..0000000000 --- a/twilio/rest/accounts/v1/secondary_auth_token.py +++ /dev/null @@ -1,215 +0,0 @@ -r""" - This code was generated by - ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ - | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ - | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ - - Twilio - Accounts - This is the public Twilio REST API. - - NOTE: This class is auto generated by OpenAPI Generator. - https://openapi-generator.tech - Do not edit the class manually. -""" - -from datetime import datetime -from typing import Any, Dict, Optional -from twilio.base import deserialize, values -from twilio.base.instance_context import InstanceContext -from twilio.base.instance_resource import InstanceResource -from twilio.base.list_resource import ListResource -from twilio.base.version import Version - - -class SecondaryAuthTokenInstance(InstanceResource): - """ - :ivar account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that the secondary Auth Token was created for. - :ivar date_created: The date and time in UTC when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - :ivar date_updated: The date and time in UTC when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. - :ivar secondary_auth_token: The generated secondary Auth Token that can be used to authenticate future API requests. - :ivar url: The URI for this resource, relative to `https://accounts.twilio.com` - """ - - def __init__(self, version: Version, payload: Dict[str, Any]): - super().__init__(version) - - self.account_sid: Optional[str] = payload.get("account_sid") - self.date_created: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_created") - ) - self.date_updated: Optional[datetime] = deserialize.iso8601_datetime( - payload.get("date_updated") - ) - self.secondary_auth_token: Optional[str] = payload.get("secondary_auth_token") - self.url: Optional[str] = payload.get("url") - - self._context: Optional[SecondaryAuthTokenContext] = None - - @property - def _proxy(self) -> "SecondaryAuthTokenContext": - """ - Generate an instance context for the instance, the context is capable of - performing various actions. All instance actions are proxied to the context - - :returns: SecondaryAuthTokenContext for this SecondaryAuthTokenInstance - """ - if self._context is None: - self._context = SecondaryAuthTokenContext( - self._version, - ) - return self._context - - def create(self) -> "SecondaryAuthTokenInstance": - """ - Create the SecondaryAuthTokenInstance - - - :returns: The created SecondaryAuthTokenInstance - """ - return self._proxy.create() - - async def create_async(self) -> "SecondaryAuthTokenInstance": - """ - Asynchronous coroutine to create the SecondaryAuthTokenInstance - - - :returns: The created SecondaryAuthTokenInstance - """ - return await self._proxy.create_async() - - def delete(self) -> bool: - """ - Deletes the SecondaryAuthTokenInstance - - - :returns: True if delete succeeds, False otherwise - """ - return self._proxy.delete() - - async def delete_async(self) -> bool: - """ - Asynchronous coroutine that deletes the SecondaryAuthTokenInstance - - - :returns: True if delete succeeds, False otherwise - """ - return await self._proxy.delete_async() - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class SecondaryAuthTokenContext(InstanceContext): - - def __init__(self, version: Version): - """ - Initialize the SecondaryAuthTokenContext - - :param version: Version that contains the resource - """ - super().__init__(version) - - self._uri = "/AuthTokens/Secondary" - - def create(self) -> SecondaryAuthTokenInstance: - """ - Create the SecondaryAuthTokenInstance - - - :returns: The created SecondaryAuthTokenInstance - """ - data = values.of({}) - - payload = self._version.create(method="POST", uri=self._uri, data=data) - - return SecondaryAuthTokenInstance(self._version, payload) - - async def create_async(self) -> SecondaryAuthTokenInstance: - """ - Asynchronous coroutine to create the SecondaryAuthTokenInstance - - - :returns: The created SecondaryAuthTokenInstance - """ - data = values.of({}) - - payload = await self._version.create_async( - method="POST", uri=self._uri, data=data - ) - - return SecondaryAuthTokenInstance(self._version, payload) - - def delete(self) -> bool: - """ - Deletes the SecondaryAuthTokenInstance - - - :returns: True if delete succeeds, False otherwise - """ - - headers = values.of({}) - - return self._version.delete(method="DELETE", uri=self._uri, headers=headers) - - async def delete_async(self) -> bool: - """ - Asynchronous coroutine that deletes the SecondaryAuthTokenInstance - - - :returns: True if delete succeeds, False otherwise - """ - - headers = values.of({}) - - return await self._version.delete_async( - method="DELETE", uri=self._uri, headers=headers - ) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - - return "" - - -class SecondaryAuthTokenList(ListResource): - - def __init__(self, version: Version): - """ - Initialize the SecondaryAuthTokenList - - :param version: Version that contains the resource - - """ - super().__init__(version) - - def get(self) -> SecondaryAuthTokenContext: - """ - Constructs a SecondaryAuthTokenContext - - """ - return SecondaryAuthTokenContext(self._version) - - def __call__(self) -> SecondaryAuthTokenContext: - """ - Constructs a SecondaryAuthTokenContext - - """ - return SecondaryAuthTokenContext(self._version) - - def __repr__(self) -> str: - """ - Provide a friendly representation - - :returns: Machine friendly representation - """ - return "" diff --git a/twilio/rest/assistants/v1/assistant/assistants_tool.py b/twilio/rest/assistants/v1/assistant/assistants_tool.py index ed02410d3c..3cb9908c21 100644 --- a/twilio/rest/assistants/v1/assistant/assistants_tool.py +++ b/twilio/rest/assistants/v1/assistant/assistants_tool.py @@ -160,6 +160,9 @@ def create(self) -> AssistantsToolInstance: payload = self._version.create(method="POST", uri=self._uri, data=data) + if type(payload) is bool: + return payload + return AssistantsToolInstance( self._version, payload,