Initial commit: Email alerts application
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
r"""
|
||||
This code was generated by
|
||||
___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
||||
| | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
||||
| |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
||||
|
||||
Twilio - Preview
|
||||
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 Optional
|
||||
from twilio.base.version import Version
|
||||
from twilio.base.domain import Domain
|
||||
from twilio.rest.preview.wireless.command import CommandList
|
||||
from twilio.rest.preview.wireless.rate_plan import RatePlanList
|
||||
from twilio.rest.preview.wireless.sim import SimList
|
||||
|
||||
|
||||
class Wireless(Version):
|
||||
def __init__(self, domain: Domain):
|
||||
"""
|
||||
Initialize the Wireless version of Preview
|
||||
|
||||
:param domain: The Twilio.preview domain
|
||||
"""
|
||||
super().__init__(domain, "wireless")
|
||||
self._commands: Optional[CommandList] = None
|
||||
self._rate_plans: Optional[RatePlanList] = None
|
||||
self._sims: Optional[SimList] = None
|
||||
|
||||
@property
|
||||
def commands(self) -> CommandList:
|
||||
if self._commands is None:
|
||||
self._commands = CommandList(self)
|
||||
return self._commands
|
||||
|
||||
@property
|
||||
def rate_plans(self) -> RatePlanList:
|
||||
if self._rate_plans is None:
|
||||
self._rate_plans = RatePlanList(self)
|
||||
return self._rate_plans
|
||||
|
||||
@property
|
||||
def sims(self) -> SimList:
|
||||
if self._sims is None:
|
||||
self._sims = SimList(self)
|
||||
return self._sims
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless>"
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,572 @@
|
||||
r"""
|
||||
This code was generated by
|
||||
___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
||||
| | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
||||
| |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
||||
|
||||
Twilio - Preview
|
||||
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 CommandInstance(InstanceResource):
|
||||
|
||||
"""
|
||||
:ivar sid:
|
||||
:ivar account_sid:
|
||||
:ivar device_sid:
|
||||
:ivar sim_sid:
|
||||
:ivar command:
|
||||
:ivar command_mode:
|
||||
:ivar status:
|
||||
:ivar direction:
|
||||
:ivar date_created:
|
||||
:ivar date_updated:
|
||||
:ivar url:
|
||||
"""
|
||||
|
||||
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.device_sid: Optional[str] = payload.get("device_sid")
|
||||
self.sim_sid: Optional[str] = payload.get("sim_sid")
|
||||
self.command: Optional[str] = payload.get("command")
|
||||
self.command_mode: Optional[str] = payload.get("command_mode")
|
||||
self.status: Optional[str] = payload.get("status")
|
||||
self.direction: Optional[str] = payload.get("direction")
|
||||
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[CommandContext] = None
|
||||
|
||||
@property
|
||||
def _proxy(self) -> "CommandContext":
|
||||
"""
|
||||
Generate an instance context for the instance, the context is capable of
|
||||
performing various actions. All instance actions are proxied to the context
|
||||
|
||||
:returns: CommandContext for this CommandInstance
|
||||
"""
|
||||
if self._context is None:
|
||||
self._context = CommandContext(
|
||||
self._version,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
return self._context
|
||||
|
||||
def fetch(self) -> "CommandInstance":
|
||||
"""
|
||||
Fetch the CommandInstance
|
||||
|
||||
|
||||
:returns: The fetched CommandInstance
|
||||
"""
|
||||
return self._proxy.fetch()
|
||||
|
||||
async def fetch_async(self) -> "CommandInstance":
|
||||
"""
|
||||
Asynchronous coroutine to fetch the CommandInstance
|
||||
|
||||
|
||||
:returns: The fetched CommandInstance
|
||||
"""
|
||||
return await self._proxy.fetch_async()
|
||||
|
||||
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 "<Twilio.Preview.Wireless.CommandInstance {}>".format(context)
|
||||
|
||||
|
||||
class CommandContext(InstanceContext):
|
||||
def __init__(self, version: Version, sid: str):
|
||||
"""
|
||||
Initialize the CommandContext
|
||||
|
||||
:param version: Version that contains the resource
|
||||
:param sid:
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
# Path Solution
|
||||
self._solution = {
|
||||
"sid": sid,
|
||||
}
|
||||
self._uri = "/Commands/{sid}".format(**self._solution)
|
||||
|
||||
def fetch(self) -> CommandInstance:
|
||||
"""
|
||||
Fetch the CommandInstance
|
||||
|
||||
|
||||
:returns: The fetched CommandInstance
|
||||
"""
|
||||
|
||||
payload = self._version.fetch(
|
||||
method="GET",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
return CommandInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
|
||||
async def fetch_async(self) -> CommandInstance:
|
||||
"""
|
||||
Asynchronous coroutine to fetch the CommandInstance
|
||||
|
||||
|
||||
:returns: The fetched CommandInstance
|
||||
"""
|
||||
|
||||
payload = await self._version.fetch_async(
|
||||
method="GET",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
return CommandInstance(
|
||||
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 "<Twilio.Preview.Wireless.CommandContext {}>".format(context)
|
||||
|
||||
|
||||
class CommandPage(Page):
|
||||
def get_instance(self, payload: Dict[str, Any]) -> CommandInstance:
|
||||
"""
|
||||
Build an instance of CommandInstance
|
||||
|
||||
:param payload: Payload response from the API
|
||||
"""
|
||||
return CommandInstance(self._version, payload)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.CommandPage>"
|
||||
|
||||
|
||||
class CommandList(ListResource):
|
||||
def __init__(self, version: Version):
|
||||
"""
|
||||
Initialize the CommandList
|
||||
|
||||
:param version: Version that contains the resource
|
||||
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
self._uri = "/Commands"
|
||||
|
||||
def create(
|
||||
self,
|
||||
command: str,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
callback_method: Union[str, object] = values.unset,
|
||||
callback_url: Union[str, object] = values.unset,
|
||||
command_mode: Union[str, object] = values.unset,
|
||||
include_sid: Union[str, object] = values.unset,
|
||||
) -> CommandInstance:
|
||||
"""
|
||||
Create the CommandInstance
|
||||
|
||||
:param command:
|
||||
:param device:
|
||||
:param sim:
|
||||
:param callback_method:
|
||||
:param callback_url:
|
||||
:param command_mode:
|
||||
:param include_sid:
|
||||
|
||||
:returns: The created CommandInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"Command": command,
|
||||
"Device": device,
|
||||
"Sim": sim,
|
||||
"CallbackMethod": callback_method,
|
||||
"CallbackUrl": callback_url,
|
||||
"CommandMode": command_mode,
|
||||
"IncludeSid": include_sid,
|
||||
}
|
||||
)
|
||||
|
||||
payload = self._version.create(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return CommandInstance(self._version, payload)
|
||||
|
||||
async def create_async(
|
||||
self,
|
||||
command: str,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
callback_method: Union[str, object] = values.unset,
|
||||
callback_url: Union[str, object] = values.unset,
|
||||
command_mode: Union[str, object] = values.unset,
|
||||
include_sid: Union[str, object] = values.unset,
|
||||
) -> CommandInstance:
|
||||
"""
|
||||
Asynchronously create the CommandInstance
|
||||
|
||||
:param command:
|
||||
:param device:
|
||||
:param sim:
|
||||
:param callback_method:
|
||||
:param callback_url:
|
||||
:param command_mode:
|
||||
:param include_sid:
|
||||
|
||||
:returns: The created CommandInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"Command": command,
|
||||
"Device": device,
|
||||
"Sim": sim,
|
||||
"CallbackMethod": callback_method,
|
||||
"CallbackUrl": callback_url,
|
||||
"CommandMode": command_mode,
|
||||
"IncludeSid": include_sid,
|
||||
}
|
||||
)
|
||||
|
||||
payload = await self._version.create_async(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return CommandInstance(self._version, payload)
|
||||
|
||||
def stream(
|
||||
self,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
direction: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> Iterator[CommandInstance]:
|
||||
"""
|
||||
Streams CommandInstance 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 str device:
|
||||
:param str sim:
|
||||
:param str status:
|
||||
:param str direction:
|
||||
: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(
|
||||
device=device,
|
||||
sim=sim,
|
||||
status=status,
|
||||
direction=direction,
|
||||
page_size=limits["page_size"],
|
||||
)
|
||||
|
||||
return self._version.stream(page, limits["limit"])
|
||||
|
||||
async def stream_async(
|
||||
self,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
direction: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> AsyncIterator[CommandInstance]:
|
||||
"""
|
||||
Asynchronously streams CommandInstance 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 str device:
|
||||
:param str sim:
|
||||
:param str status:
|
||||
:param str direction:
|
||||
: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(
|
||||
device=device,
|
||||
sim=sim,
|
||||
status=status,
|
||||
direction=direction,
|
||||
page_size=limits["page_size"],
|
||||
)
|
||||
|
||||
return self._version.stream_async(page, limits["limit"])
|
||||
|
||||
def list(
|
||||
self,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
direction: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> List[CommandInstance]:
|
||||
"""
|
||||
Lists CommandInstance records from the API as a list.
|
||||
Unlike stream(), this operation is eager and will load `limit` records into
|
||||
memory before returning.
|
||||
|
||||
:param str device:
|
||||
:param str sim:
|
||||
:param str status:
|
||||
:param str direction:
|
||||
: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(
|
||||
device=device,
|
||||
sim=sim,
|
||||
status=status,
|
||||
direction=direction,
|
||||
limit=limit,
|
||||
page_size=page_size,
|
||||
)
|
||||
)
|
||||
|
||||
async def list_async(
|
||||
self,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
direction: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> List[CommandInstance]:
|
||||
"""
|
||||
Asynchronously lists CommandInstance records from the API as a list.
|
||||
Unlike stream(), this operation is eager and will load `limit` records into
|
||||
memory before returning.
|
||||
|
||||
:param str device:
|
||||
:param str sim:
|
||||
:param str status:
|
||||
:param str direction:
|
||||
: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(
|
||||
device=device,
|
||||
sim=sim,
|
||||
status=status,
|
||||
direction=direction,
|
||||
limit=limit,
|
||||
page_size=page_size,
|
||||
)
|
||||
]
|
||||
|
||||
def page(
|
||||
self,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
direction: Union[str, object] = values.unset,
|
||||
page_token: Union[str, object] = values.unset,
|
||||
page_number: Union[int, object] = values.unset,
|
||||
page_size: Union[int, object] = values.unset,
|
||||
) -> CommandPage:
|
||||
"""
|
||||
Retrieve a single page of CommandInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param device:
|
||||
:param sim:
|
||||
:param status:
|
||||
:param direction:
|
||||
: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 CommandInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"Device": device,
|
||||
"Sim": sim,
|
||||
"Status": status,
|
||||
"Direction": direction,
|
||||
"PageToken": page_token,
|
||||
"Page": page_number,
|
||||
"PageSize": page_size,
|
||||
}
|
||||
)
|
||||
|
||||
response = self._version.page(method="GET", uri=self._uri, params=data)
|
||||
return CommandPage(self._version, response)
|
||||
|
||||
async def page_async(
|
||||
self,
|
||||
device: Union[str, object] = values.unset,
|
||||
sim: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
direction: Union[str, object] = values.unset,
|
||||
page_token: Union[str, object] = values.unset,
|
||||
page_number: Union[int, object] = values.unset,
|
||||
page_size: Union[int, object] = values.unset,
|
||||
) -> CommandPage:
|
||||
"""
|
||||
Asynchronously retrieve a single page of CommandInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param device:
|
||||
:param sim:
|
||||
:param status:
|
||||
:param direction:
|
||||
: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 CommandInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"Device": device,
|
||||
"Sim": sim,
|
||||
"Status": status,
|
||||
"Direction": direction,
|
||||
"PageToken": page_token,
|
||||
"Page": page_number,
|
||||
"PageSize": page_size,
|
||||
}
|
||||
)
|
||||
|
||||
response = await self._version.page_async(
|
||||
method="GET", uri=self._uri, params=data
|
||||
)
|
||||
return CommandPage(self._version, response)
|
||||
|
||||
def get_page(self, target_url: str) -> CommandPage:
|
||||
"""
|
||||
Retrieve a specific page of CommandInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param target_url: API-generated URL for the requested results page
|
||||
|
||||
:returns: Page of CommandInstance
|
||||
"""
|
||||
response = self._version.domain.twilio.request("GET", target_url)
|
||||
return CommandPage(self._version, response)
|
||||
|
||||
async def get_page_async(self, target_url: str) -> CommandPage:
|
||||
"""
|
||||
Asynchronously retrieve a specific page of CommandInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param target_url: API-generated URL for the requested results page
|
||||
|
||||
:returns: Page of CommandInstance
|
||||
"""
|
||||
response = await self._version.domain.twilio.request_async("GET", target_url)
|
||||
return CommandPage(self._version, response)
|
||||
|
||||
def get(self, sid: str) -> CommandContext:
|
||||
"""
|
||||
Constructs a CommandContext
|
||||
|
||||
:param sid:
|
||||
"""
|
||||
return CommandContext(self._version, sid=sid)
|
||||
|
||||
def __call__(self, sid: str) -> CommandContext:
|
||||
"""
|
||||
Constructs a CommandContext
|
||||
|
||||
:param sid:
|
||||
"""
|
||||
return CommandContext(self._version, sid=sid)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.CommandList>"
|
||||
@@ -0,0 +1,662 @@
|
||||
r"""
|
||||
This code was generated by
|
||||
___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
||||
| | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
||||
| |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
||||
|
||||
Twilio - Preview
|
||||
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, serialize, 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 RatePlanInstance(InstanceResource):
|
||||
|
||||
"""
|
||||
:ivar sid:
|
||||
:ivar unique_name:
|
||||
:ivar account_sid:
|
||||
:ivar friendly_name:
|
||||
:ivar data_enabled:
|
||||
:ivar data_metering:
|
||||
:ivar data_limit:
|
||||
:ivar messaging_enabled:
|
||||
:ivar voice_enabled:
|
||||
:ivar national_roaming_enabled:
|
||||
:ivar international_roaming:
|
||||
:ivar date_created:
|
||||
:ivar date_updated:
|
||||
:ivar url:
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self, version: Version, payload: Dict[str, Any], sid: Optional[str] = None
|
||||
):
|
||||
super().__init__(version)
|
||||
|
||||
self.sid: Optional[str] = payload.get("sid")
|
||||
self.unique_name: Optional[str] = payload.get("unique_name")
|
||||
self.account_sid: Optional[str] = payload.get("account_sid")
|
||||
self.friendly_name: Optional[str] = payload.get("friendly_name")
|
||||
self.data_enabled: Optional[bool] = payload.get("data_enabled")
|
||||
self.data_metering: Optional[str] = payload.get("data_metering")
|
||||
self.data_limit: Optional[int] = deserialize.integer(payload.get("data_limit"))
|
||||
self.messaging_enabled: Optional[bool] = payload.get("messaging_enabled")
|
||||
self.voice_enabled: Optional[bool] = payload.get("voice_enabled")
|
||||
self.national_roaming_enabled: Optional[bool] = payload.get(
|
||||
"national_roaming_enabled"
|
||||
)
|
||||
self.international_roaming: Optional[List[str]] = payload.get(
|
||||
"international_roaming"
|
||||
)
|
||||
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[RatePlanContext] = None
|
||||
|
||||
@property
|
||||
def _proxy(self) -> "RatePlanContext":
|
||||
"""
|
||||
Generate an instance context for the instance, the context is capable of
|
||||
performing various actions. All instance actions are proxied to the context
|
||||
|
||||
:returns: RatePlanContext for this RatePlanInstance
|
||||
"""
|
||||
if self._context is None:
|
||||
self._context = RatePlanContext(
|
||||
self._version,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
return self._context
|
||||
|
||||
def delete(self) -> bool:
|
||||
"""
|
||||
Deletes the RatePlanInstance
|
||||
|
||||
|
||||
:returns: True if delete succeeds, False otherwise
|
||||
"""
|
||||
return self._proxy.delete()
|
||||
|
||||
async def delete_async(self) -> bool:
|
||||
"""
|
||||
Asynchronous coroutine that deletes the RatePlanInstance
|
||||
|
||||
|
||||
:returns: True if delete succeeds, False otherwise
|
||||
"""
|
||||
return await self._proxy.delete_async()
|
||||
|
||||
def fetch(self) -> "RatePlanInstance":
|
||||
"""
|
||||
Fetch the RatePlanInstance
|
||||
|
||||
|
||||
:returns: The fetched RatePlanInstance
|
||||
"""
|
||||
return self._proxy.fetch()
|
||||
|
||||
async def fetch_async(self) -> "RatePlanInstance":
|
||||
"""
|
||||
Asynchronous coroutine to fetch the RatePlanInstance
|
||||
|
||||
|
||||
:returns: The fetched RatePlanInstance
|
||||
"""
|
||||
return await self._proxy.fetch_async()
|
||||
|
||||
def update(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
) -> "RatePlanInstance":
|
||||
"""
|
||||
Update the RatePlanInstance
|
||||
|
||||
:param unique_name:
|
||||
:param friendly_name:
|
||||
|
||||
:returns: The updated RatePlanInstance
|
||||
"""
|
||||
return self._proxy.update(
|
||||
unique_name=unique_name,
|
||||
friendly_name=friendly_name,
|
||||
)
|
||||
|
||||
async def update_async(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
) -> "RatePlanInstance":
|
||||
"""
|
||||
Asynchronous coroutine to update the RatePlanInstance
|
||||
|
||||
:param unique_name:
|
||||
:param friendly_name:
|
||||
|
||||
:returns: The updated RatePlanInstance
|
||||
"""
|
||||
return await self._proxy.update_async(
|
||||
unique_name=unique_name,
|
||||
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 "<Twilio.Preview.Wireless.RatePlanInstance {}>".format(context)
|
||||
|
||||
|
||||
class RatePlanContext(InstanceContext):
|
||||
def __init__(self, version: Version, sid: str):
|
||||
"""
|
||||
Initialize the RatePlanContext
|
||||
|
||||
:param version: Version that contains the resource
|
||||
:param sid:
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
# Path Solution
|
||||
self._solution = {
|
||||
"sid": sid,
|
||||
}
|
||||
self._uri = "/RatePlans/{sid}".format(**self._solution)
|
||||
|
||||
def delete(self) -> bool:
|
||||
"""
|
||||
Deletes the RatePlanInstance
|
||||
|
||||
|
||||
:returns: True if delete succeeds, False otherwise
|
||||
"""
|
||||
return self._version.delete(
|
||||
method="DELETE",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
async def delete_async(self) -> bool:
|
||||
"""
|
||||
Asynchronous coroutine that deletes the RatePlanInstance
|
||||
|
||||
|
||||
:returns: True if delete succeeds, False otherwise
|
||||
"""
|
||||
return await self._version.delete_async(
|
||||
method="DELETE",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
def fetch(self) -> RatePlanInstance:
|
||||
"""
|
||||
Fetch the RatePlanInstance
|
||||
|
||||
|
||||
:returns: The fetched RatePlanInstance
|
||||
"""
|
||||
|
||||
payload = self._version.fetch(
|
||||
method="GET",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
return RatePlanInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
|
||||
async def fetch_async(self) -> RatePlanInstance:
|
||||
"""
|
||||
Asynchronous coroutine to fetch the RatePlanInstance
|
||||
|
||||
|
||||
:returns: The fetched RatePlanInstance
|
||||
"""
|
||||
|
||||
payload = await self._version.fetch_async(
|
||||
method="GET",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
return RatePlanInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
|
||||
def update(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
) -> RatePlanInstance:
|
||||
"""
|
||||
Update the RatePlanInstance
|
||||
|
||||
:param unique_name:
|
||||
:param friendly_name:
|
||||
|
||||
:returns: The updated RatePlanInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"UniqueName": unique_name,
|
||||
"FriendlyName": friendly_name,
|
||||
}
|
||||
)
|
||||
|
||||
payload = self._version.update(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return RatePlanInstance(self._version, payload, sid=self._solution["sid"])
|
||||
|
||||
async def update_async(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
) -> RatePlanInstance:
|
||||
"""
|
||||
Asynchronous coroutine to update the RatePlanInstance
|
||||
|
||||
:param unique_name:
|
||||
:param friendly_name:
|
||||
|
||||
:returns: The updated RatePlanInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"UniqueName": unique_name,
|
||||
"FriendlyName": friendly_name,
|
||||
}
|
||||
)
|
||||
|
||||
payload = await self._version.update_async(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return RatePlanInstance(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 "<Twilio.Preview.Wireless.RatePlanContext {}>".format(context)
|
||||
|
||||
|
||||
class RatePlanPage(Page):
|
||||
def get_instance(self, payload: Dict[str, Any]) -> RatePlanInstance:
|
||||
"""
|
||||
Build an instance of RatePlanInstance
|
||||
|
||||
:param payload: Payload response from the API
|
||||
"""
|
||||
return RatePlanInstance(self._version, payload)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.RatePlanPage>"
|
||||
|
||||
|
||||
class RatePlanList(ListResource):
|
||||
def __init__(self, version: Version):
|
||||
"""
|
||||
Initialize the RatePlanList
|
||||
|
||||
:param version: Version that contains the resource
|
||||
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
self._uri = "/RatePlans"
|
||||
|
||||
def create(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
data_enabled: Union[bool, object] = values.unset,
|
||||
data_limit: Union[int, object] = values.unset,
|
||||
data_metering: Union[str, object] = values.unset,
|
||||
messaging_enabled: Union[bool, object] = values.unset,
|
||||
voice_enabled: Union[bool, object] = values.unset,
|
||||
commands_enabled: Union[bool, object] = values.unset,
|
||||
national_roaming_enabled: Union[bool, object] = values.unset,
|
||||
international_roaming: Union[List[str], object] = values.unset,
|
||||
) -> RatePlanInstance:
|
||||
"""
|
||||
Create the RatePlanInstance
|
||||
|
||||
:param unique_name:
|
||||
:param friendly_name:
|
||||
:param data_enabled:
|
||||
:param data_limit:
|
||||
:param data_metering:
|
||||
:param messaging_enabled:
|
||||
:param voice_enabled:
|
||||
:param commands_enabled:
|
||||
:param national_roaming_enabled:
|
||||
:param international_roaming:
|
||||
|
||||
:returns: The created RatePlanInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"UniqueName": unique_name,
|
||||
"FriendlyName": friendly_name,
|
||||
"DataEnabled": data_enabled,
|
||||
"DataLimit": data_limit,
|
||||
"DataMetering": data_metering,
|
||||
"MessagingEnabled": messaging_enabled,
|
||||
"VoiceEnabled": voice_enabled,
|
||||
"CommandsEnabled": commands_enabled,
|
||||
"NationalRoamingEnabled": national_roaming_enabled,
|
||||
"InternationalRoaming": serialize.map(
|
||||
international_roaming, lambda e: e
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
payload = self._version.create(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return RatePlanInstance(self._version, payload)
|
||||
|
||||
async def create_async(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
data_enabled: Union[bool, object] = values.unset,
|
||||
data_limit: Union[int, object] = values.unset,
|
||||
data_metering: Union[str, object] = values.unset,
|
||||
messaging_enabled: Union[bool, object] = values.unset,
|
||||
voice_enabled: Union[bool, object] = values.unset,
|
||||
commands_enabled: Union[bool, object] = values.unset,
|
||||
national_roaming_enabled: Union[bool, object] = values.unset,
|
||||
international_roaming: Union[List[str], object] = values.unset,
|
||||
) -> RatePlanInstance:
|
||||
"""
|
||||
Asynchronously create the RatePlanInstance
|
||||
|
||||
:param unique_name:
|
||||
:param friendly_name:
|
||||
:param data_enabled:
|
||||
:param data_limit:
|
||||
:param data_metering:
|
||||
:param messaging_enabled:
|
||||
:param voice_enabled:
|
||||
:param commands_enabled:
|
||||
:param national_roaming_enabled:
|
||||
:param international_roaming:
|
||||
|
||||
:returns: The created RatePlanInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"UniqueName": unique_name,
|
||||
"FriendlyName": friendly_name,
|
||||
"DataEnabled": data_enabled,
|
||||
"DataLimit": data_limit,
|
||||
"DataMetering": data_metering,
|
||||
"MessagingEnabled": messaging_enabled,
|
||||
"VoiceEnabled": voice_enabled,
|
||||
"CommandsEnabled": commands_enabled,
|
||||
"NationalRoamingEnabled": national_roaming_enabled,
|
||||
"InternationalRoaming": serialize.map(
|
||||
international_roaming, lambda e: e
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
payload = await self._version.create_async(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return RatePlanInstance(self._version, payload)
|
||||
|
||||
def stream(
|
||||
self,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> Iterator[RatePlanInstance]:
|
||||
"""
|
||||
Streams RatePlanInstance 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[RatePlanInstance]:
|
||||
"""
|
||||
Asynchronously streams RatePlanInstance 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[RatePlanInstance]:
|
||||
"""
|
||||
Lists RatePlanInstance 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[RatePlanInstance]:
|
||||
"""
|
||||
Asynchronously lists RatePlanInstance 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,
|
||||
) -> RatePlanPage:
|
||||
"""
|
||||
Retrieve a single page of RatePlanInstance 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 RatePlanInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"PageToken": page_token,
|
||||
"Page": page_number,
|
||||
"PageSize": page_size,
|
||||
}
|
||||
)
|
||||
|
||||
response = self._version.page(method="GET", uri=self._uri, params=data)
|
||||
return RatePlanPage(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,
|
||||
) -> RatePlanPage:
|
||||
"""
|
||||
Asynchronously retrieve a single page of RatePlanInstance 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 RatePlanInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"PageToken": page_token,
|
||||
"Page": page_number,
|
||||
"PageSize": page_size,
|
||||
}
|
||||
)
|
||||
|
||||
response = await self._version.page_async(
|
||||
method="GET", uri=self._uri, params=data
|
||||
)
|
||||
return RatePlanPage(self._version, response)
|
||||
|
||||
def get_page(self, target_url: str) -> RatePlanPage:
|
||||
"""
|
||||
Retrieve a specific page of RatePlanInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param target_url: API-generated URL for the requested results page
|
||||
|
||||
:returns: Page of RatePlanInstance
|
||||
"""
|
||||
response = self._version.domain.twilio.request("GET", target_url)
|
||||
return RatePlanPage(self._version, response)
|
||||
|
||||
async def get_page_async(self, target_url: str) -> RatePlanPage:
|
||||
"""
|
||||
Asynchronously retrieve a specific page of RatePlanInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param target_url: API-generated URL for the requested results page
|
||||
|
||||
:returns: Page of RatePlanInstance
|
||||
"""
|
||||
response = await self._version.domain.twilio.request_async("GET", target_url)
|
||||
return RatePlanPage(self._version, response)
|
||||
|
||||
def get(self, sid: str) -> RatePlanContext:
|
||||
"""
|
||||
Constructs a RatePlanContext
|
||||
|
||||
:param sid:
|
||||
"""
|
||||
return RatePlanContext(self._version, sid=sid)
|
||||
|
||||
def __call__(self, sid: str) -> RatePlanContext:
|
||||
"""
|
||||
Constructs a RatePlanContext
|
||||
|
||||
:param sid:
|
||||
"""
|
||||
return RatePlanContext(self._version, sid=sid)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.RatePlanList>"
|
||||
@@ -0,0 +1,810 @@
|
||||
r"""
|
||||
This code was generated by
|
||||
___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
||||
| | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
||||
| |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
||||
|
||||
Twilio - Preview
|
||||
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
|
||||
from twilio.rest.preview.wireless.sim.usage import UsageList
|
||||
|
||||
|
||||
class SimInstance(InstanceResource):
|
||||
|
||||
"""
|
||||
:ivar sid:
|
||||
:ivar unique_name:
|
||||
:ivar account_sid:
|
||||
:ivar rate_plan_sid:
|
||||
:ivar friendly_name:
|
||||
:ivar iccid:
|
||||
:ivar e_id:
|
||||
:ivar status:
|
||||
:ivar commands_callback_url:
|
||||
:ivar commands_callback_method:
|
||||
:ivar sms_fallback_method:
|
||||
:ivar sms_fallback_url:
|
||||
:ivar sms_method:
|
||||
:ivar sms_url:
|
||||
:ivar voice_fallback_method:
|
||||
:ivar voice_fallback_url:
|
||||
:ivar voice_method:
|
||||
:ivar voice_url:
|
||||
:ivar date_created:
|
||||
:ivar date_updated:
|
||||
:ivar url:
|
||||
:ivar links:
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self, version: Version, payload: Dict[str, Any], sid: Optional[str] = None
|
||||
):
|
||||
super().__init__(version)
|
||||
|
||||
self.sid: Optional[str] = payload.get("sid")
|
||||
self.unique_name: Optional[str] = payload.get("unique_name")
|
||||
self.account_sid: Optional[str] = payload.get("account_sid")
|
||||
self.rate_plan_sid: Optional[str] = payload.get("rate_plan_sid")
|
||||
self.friendly_name: Optional[str] = payload.get("friendly_name")
|
||||
self.iccid: Optional[str] = payload.get("iccid")
|
||||
self.e_id: Optional[str] = payload.get("e_id")
|
||||
self.status: Optional[str] = payload.get("status")
|
||||
self.commands_callback_url: Optional[str] = payload.get("commands_callback_url")
|
||||
self.commands_callback_method: Optional[str] = payload.get(
|
||||
"commands_callback_method"
|
||||
)
|
||||
self.sms_fallback_method: Optional[str] = payload.get("sms_fallback_method")
|
||||
self.sms_fallback_url: Optional[str] = payload.get("sms_fallback_url")
|
||||
self.sms_method: Optional[str] = payload.get("sms_method")
|
||||
self.sms_url: Optional[str] = payload.get("sms_url")
|
||||
self.voice_fallback_method: Optional[str] = payload.get("voice_fallback_method")
|
||||
self.voice_fallback_url: Optional[str] = payload.get("voice_fallback_url")
|
||||
self.voice_method: Optional[str] = payload.get("voice_method")
|
||||
self.voice_url: Optional[str] = payload.get("voice_url")
|
||||
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.links: Optional[Dict[str, object]] = payload.get("links")
|
||||
|
||||
self._solution = {
|
||||
"sid": sid or self.sid,
|
||||
}
|
||||
self._context: Optional[SimContext] = None
|
||||
|
||||
@property
|
||||
def _proxy(self) -> "SimContext":
|
||||
"""
|
||||
Generate an instance context for the instance, the context is capable of
|
||||
performing various actions. All instance actions are proxied to the context
|
||||
|
||||
:returns: SimContext for this SimInstance
|
||||
"""
|
||||
if self._context is None:
|
||||
self._context = SimContext(
|
||||
self._version,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
return self._context
|
||||
|
||||
def fetch(self) -> "SimInstance":
|
||||
"""
|
||||
Fetch the SimInstance
|
||||
|
||||
|
||||
:returns: The fetched SimInstance
|
||||
"""
|
||||
return self._proxy.fetch()
|
||||
|
||||
async def fetch_async(self) -> "SimInstance":
|
||||
"""
|
||||
Asynchronous coroutine to fetch the SimInstance
|
||||
|
||||
|
||||
:returns: The fetched SimInstance
|
||||
"""
|
||||
return await self._proxy.fetch_async()
|
||||
|
||||
def update(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
callback_method: Union[str, object] = values.unset,
|
||||
callback_url: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
commands_callback_method: Union[str, object] = values.unset,
|
||||
commands_callback_url: Union[str, object] = values.unset,
|
||||
sms_fallback_method: Union[str, object] = values.unset,
|
||||
sms_fallback_url: Union[str, object] = values.unset,
|
||||
sms_method: Union[str, object] = values.unset,
|
||||
sms_url: Union[str, object] = values.unset,
|
||||
voice_fallback_method: Union[str, object] = values.unset,
|
||||
voice_fallback_url: Union[str, object] = values.unset,
|
||||
voice_method: Union[str, object] = values.unset,
|
||||
voice_url: Union[str, object] = values.unset,
|
||||
) -> "SimInstance":
|
||||
"""
|
||||
Update the SimInstance
|
||||
|
||||
:param unique_name:
|
||||
:param callback_method:
|
||||
:param callback_url:
|
||||
:param friendly_name:
|
||||
:param rate_plan:
|
||||
:param status:
|
||||
:param commands_callback_method:
|
||||
:param commands_callback_url:
|
||||
:param sms_fallback_method:
|
||||
:param sms_fallback_url:
|
||||
:param sms_method:
|
||||
:param sms_url:
|
||||
:param voice_fallback_method:
|
||||
:param voice_fallback_url:
|
||||
:param voice_method:
|
||||
:param voice_url:
|
||||
|
||||
:returns: The updated SimInstance
|
||||
"""
|
||||
return self._proxy.update(
|
||||
unique_name=unique_name,
|
||||
callback_method=callback_method,
|
||||
callback_url=callback_url,
|
||||
friendly_name=friendly_name,
|
||||
rate_plan=rate_plan,
|
||||
status=status,
|
||||
commands_callback_method=commands_callback_method,
|
||||
commands_callback_url=commands_callback_url,
|
||||
sms_fallback_method=sms_fallback_method,
|
||||
sms_fallback_url=sms_fallback_url,
|
||||
sms_method=sms_method,
|
||||
sms_url=sms_url,
|
||||
voice_fallback_method=voice_fallback_method,
|
||||
voice_fallback_url=voice_fallback_url,
|
||||
voice_method=voice_method,
|
||||
voice_url=voice_url,
|
||||
)
|
||||
|
||||
async def update_async(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
callback_method: Union[str, object] = values.unset,
|
||||
callback_url: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
commands_callback_method: Union[str, object] = values.unset,
|
||||
commands_callback_url: Union[str, object] = values.unset,
|
||||
sms_fallback_method: Union[str, object] = values.unset,
|
||||
sms_fallback_url: Union[str, object] = values.unset,
|
||||
sms_method: Union[str, object] = values.unset,
|
||||
sms_url: Union[str, object] = values.unset,
|
||||
voice_fallback_method: Union[str, object] = values.unset,
|
||||
voice_fallback_url: Union[str, object] = values.unset,
|
||||
voice_method: Union[str, object] = values.unset,
|
||||
voice_url: Union[str, object] = values.unset,
|
||||
) -> "SimInstance":
|
||||
"""
|
||||
Asynchronous coroutine to update the SimInstance
|
||||
|
||||
:param unique_name:
|
||||
:param callback_method:
|
||||
:param callback_url:
|
||||
:param friendly_name:
|
||||
:param rate_plan:
|
||||
:param status:
|
||||
:param commands_callback_method:
|
||||
:param commands_callback_url:
|
||||
:param sms_fallback_method:
|
||||
:param sms_fallback_url:
|
||||
:param sms_method:
|
||||
:param sms_url:
|
||||
:param voice_fallback_method:
|
||||
:param voice_fallback_url:
|
||||
:param voice_method:
|
||||
:param voice_url:
|
||||
|
||||
:returns: The updated SimInstance
|
||||
"""
|
||||
return await self._proxy.update_async(
|
||||
unique_name=unique_name,
|
||||
callback_method=callback_method,
|
||||
callback_url=callback_url,
|
||||
friendly_name=friendly_name,
|
||||
rate_plan=rate_plan,
|
||||
status=status,
|
||||
commands_callback_method=commands_callback_method,
|
||||
commands_callback_url=commands_callback_url,
|
||||
sms_fallback_method=sms_fallback_method,
|
||||
sms_fallback_url=sms_fallback_url,
|
||||
sms_method=sms_method,
|
||||
sms_url=sms_url,
|
||||
voice_fallback_method=voice_fallback_method,
|
||||
voice_fallback_url=voice_fallback_url,
|
||||
voice_method=voice_method,
|
||||
voice_url=voice_url,
|
||||
)
|
||||
|
||||
@property
|
||||
def usage(self) -> UsageList:
|
||||
"""
|
||||
Access the usage
|
||||
"""
|
||||
return self._proxy.usage
|
||||
|
||||
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 "<Twilio.Preview.Wireless.SimInstance {}>".format(context)
|
||||
|
||||
|
||||
class SimContext(InstanceContext):
|
||||
def __init__(self, version: Version, sid: str):
|
||||
"""
|
||||
Initialize the SimContext
|
||||
|
||||
:param version: Version that contains the resource
|
||||
:param sid:
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
# Path Solution
|
||||
self._solution = {
|
||||
"sid": sid,
|
||||
}
|
||||
self._uri = "/Sims/{sid}".format(**self._solution)
|
||||
|
||||
self._usage: Optional[UsageList] = None
|
||||
|
||||
def fetch(self) -> SimInstance:
|
||||
"""
|
||||
Fetch the SimInstance
|
||||
|
||||
|
||||
:returns: The fetched SimInstance
|
||||
"""
|
||||
|
||||
payload = self._version.fetch(
|
||||
method="GET",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
return SimInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
|
||||
async def fetch_async(self) -> SimInstance:
|
||||
"""
|
||||
Asynchronous coroutine to fetch the SimInstance
|
||||
|
||||
|
||||
:returns: The fetched SimInstance
|
||||
"""
|
||||
|
||||
payload = await self._version.fetch_async(
|
||||
method="GET",
|
||||
uri=self._uri,
|
||||
)
|
||||
|
||||
return SimInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sid=self._solution["sid"],
|
||||
)
|
||||
|
||||
def update(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
callback_method: Union[str, object] = values.unset,
|
||||
callback_url: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
commands_callback_method: Union[str, object] = values.unset,
|
||||
commands_callback_url: Union[str, object] = values.unset,
|
||||
sms_fallback_method: Union[str, object] = values.unset,
|
||||
sms_fallback_url: Union[str, object] = values.unset,
|
||||
sms_method: Union[str, object] = values.unset,
|
||||
sms_url: Union[str, object] = values.unset,
|
||||
voice_fallback_method: Union[str, object] = values.unset,
|
||||
voice_fallback_url: Union[str, object] = values.unset,
|
||||
voice_method: Union[str, object] = values.unset,
|
||||
voice_url: Union[str, object] = values.unset,
|
||||
) -> SimInstance:
|
||||
"""
|
||||
Update the SimInstance
|
||||
|
||||
:param unique_name:
|
||||
:param callback_method:
|
||||
:param callback_url:
|
||||
:param friendly_name:
|
||||
:param rate_plan:
|
||||
:param status:
|
||||
:param commands_callback_method:
|
||||
:param commands_callback_url:
|
||||
:param sms_fallback_method:
|
||||
:param sms_fallback_url:
|
||||
:param sms_method:
|
||||
:param sms_url:
|
||||
:param voice_fallback_method:
|
||||
:param voice_fallback_url:
|
||||
:param voice_method:
|
||||
:param voice_url:
|
||||
|
||||
:returns: The updated SimInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"UniqueName": unique_name,
|
||||
"CallbackMethod": callback_method,
|
||||
"CallbackUrl": callback_url,
|
||||
"FriendlyName": friendly_name,
|
||||
"RatePlan": rate_plan,
|
||||
"Status": status,
|
||||
"CommandsCallbackMethod": commands_callback_method,
|
||||
"CommandsCallbackUrl": commands_callback_url,
|
||||
"SmsFallbackMethod": sms_fallback_method,
|
||||
"SmsFallbackUrl": sms_fallback_url,
|
||||
"SmsMethod": sms_method,
|
||||
"SmsUrl": sms_url,
|
||||
"VoiceFallbackMethod": voice_fallback_method,
|
||||
"VoiceFallbackUrl": voice_fallback_url,
|
||||
"VoiceMethod": voice_method,
|
||||
"VoiceUrl": voice_url,
|
||||
}
|
||||
)
|
||||
|
||||
payload = self._version.update(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return SimInstance(self._version, payload, sid=self._solution["sid"])
|
||||
|
||||
async def update_async(
|
||||
self,
|
||||
unique_name: Union[str, object] = values.unset,
|
||||
callback_method: Union[str, object] = values.unset,
|
||||
callback_url: Union[str, object] = values.unset,
|
||||
friendly_name: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
status: Union[str, object] = values.unset,
|
||||
commands_callback_method: Union[str, object] = values.unset,
|
||||
commands_callback_url: Union[str, object] = values.unset,
|
||||
sms_fallback_method: Union[str, object] = values.unset,
|
||||
sms_fallback_url: Union[str, object] = values.unset,
|
||||
sms_method: Union[str, object] = values.unset,
|
||||
sms_url: Union[str, object] = values.unset,
|
||||
voice_fallback_method: Union[str, object] = values.unset,
|
||||
voice_fallback_url: Union[str, object] = values.unset,
|
||||
voice_method: Union[str, object] = values.unset,
|
||||
voice_url: Union[str, object] = values.unset,
|
||||
) -> SimInstance:
|
||||
"""
|
||||
Asynchronous coroutine to update the SimInstance
|
||||
|
||||
:param unique_name:
|
||||
:param callback_method:
|
||||
:param callback_url:
|
||||
:param friendly_name:
|
||||
:param rate_plan:
|
||||
:param status:
|
||||
:param commands_callback_method:
|
||||
:param commands_callback_url:
|
||||
:param sms_fallback_method:
|
||||
:param sms_fallback_url:
|
||||
:param sms_method:
|
||||
:param sms_url:
|
||||
:param voice_fallback_method:
|
||||
:param voice_fallback_url:
|
||||
:param voice_method:
|
||||
:param voice_url:
|
||||
|
||||
:returns: The updated SimInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"UniqueName": unique_name,
|
||||
"CallbackMethod": callback_method,
|
||||
"CallbackUrl": callback_url,
|
||||
"FriendlyName": friendly_name,
|
||||
"RatePlan": rate_plan,
|
||||
"Status": status,
|
||||
"CommandsCallbackMethod": commands_callback_method,
|
||||
"CommandsCallbackUrl": commands_callback_url,
|
||||
"SmsFallbackMethod": sms_fallback_method,
|
||||
"SmsFallbackUrl": sms_fallback_url,
|
||||
"SmsMethod": sms_method,
|
||||
"SmsUrl": sms_url,
|
||||
"VoiceFallbackMethod": voice_fallback_method,
|
||||
"VoiceFallbackUrl": voice_fallback_url,
|
||||
"VoiceMethod": voice_method,
|
||||
"VoiceUrl": voice_url,
|
||||
}
|
||||
)
|
||||
|
||||
payload = await self._version.update_async(
|
||||
method="POST",
|
||||
uri=self._uri,
|
||||
data=data,
|
||||
)
|
||||
|
||||
return SimInstance(self._version, payload, sid=self._solution["sid"])
|
||||
|
||||
@property
|
||||
def usage(self) -> UsageList:
|
||||
"""
|
||||
Access the usage
|
||||
"""
|
||||
if self._usage is None:
|
||||
self._usage = UsageList(
|
||||
self._version,
|
||||
self._solution["sid"],
|
||||
)
|
||||
return self._usage
|
||||
|
||||
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 "<Twilio.Preview.Wireless.SimContext {}>".format(context)
|
||||
|
||||
|
||||
class SimPage(Page):
|
||||
def get_instance(self, payload: Dict[str, Any]) -> SimInstance:
|
||||
"""
|
||||
Build an instance of SimInstance
|
||||
|
||||
:param payload: Payload response from the API
|
||||
"""
|
||||
return SimInstance(self._version, payload)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.SimPage>"
|
||||
|
||||
|
||||
class SimList(ListResource):
|
||||
def __init__(self, version: Version):
|
||||
"""
|
||||
Initialize the SimList
|
||||
|
||||
:param version: Version that contains the resource
|
||||
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
self._uri = "/Sims"
|
||||
|
||||
def stream(
|
||||
self,
|
||||
status: Union[str, object] = values.unset,
|
||||
iccid: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
e_id: Union[str, object] = values.unset,
|
||||
sim_registration_code: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> Iterator[SimInstance]:
|
||||
"""
|
||||
Streams SimInstance 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 str status:
|
||||
:param str iccid:
|
||||
:param str rate_plan:
|
||||
:param str e_id:
|
||||
:param str sim_registration_code:
|
||||
: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(
|
||||
status=status,
|
||||
iccid=iccid,
|
||||
rate_plan=rate_plan,
|
||||
e_id=e_id,
|
||||
sim_registration_code=sim_registration_code,
|
||||
page_size=limits["page_size"],
|
||||
)
|
||||
|
||||
return self._version.stream(page, limits["limit"])
|
||||
|
||||
async def stream_async(
|
||||
self,
|
||||
status: Union[str, object] = values.unset,
|
||||
iccid: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
e_id: Union[str, object] = values.unset,
|
||||
sim_registration_code: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> AsyncIterator[SimInstance]:
|
||||
"""
|
||||
Asynchronously streams SimInstance 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 str status:
|
||||
:param str iccid:
|
||||
:param str rate_plan:
|
||||
:param str e_id:
|
||||
:param str sim_registration_code:
|
||||
: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(
|
||||
status=status,
|
||||
iccid=iccid,
|
||||
rate_plan=rate_plan,
|
||||
e_id=e_id,
|
||||
sim_registration_code=sim_registration_code,
|
||||
page_size=limits["page_size"],
|
||||
)
|
||||
|
||||
return self._version.stream_async(page, limits["limit"])
|
||||
|
||||
def list(
|
||||
self,
|
||||
status: Union[str, object] = values.unset,
|
||||
iccid: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
e_id: Union[str, object] = values.unset,
|
||||
sim_registration_code: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> List[SimInstance]:
|
||||
"""
|
||||
Lists SimInstance records from the API as a list.
|
||||
Unlike stream(), this operation is eager and will load `limit` records into
|
||||
memory before returning.
|
||||
|
||||
:param str status:
|
||||
:param str iccid:
|
||||
:param str rate_plan:
|
||||
:param str e_id:
|
||||
:param str sim_registration_code:
|
||||
: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(
|
||||
status=status,
|
||||
iccid=iccid,
|
||||
rate_plan=rate_plan,
|
||||
e_id=e_id,
|
||||
sim_registration_code=sim_registration_code,
|
||||
limit=limit,
|
||||
page_size=page_size,
|
||||
)
|
||||
)
|
||||
|
||||
async def list_async(
|
||||
self,
|
||||
status: Union[str, object] = values.unset,
|
||||
iccid: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
e_id: Union[str, object] = values.unset,
|
||||
sim_registration_code: Union[str, object] = values.unset,
|
||||
limit: Optional[int] = None,
|
||||
page_size: Optional[int] = None,
|
||||
) -> List[SimInstance]:
|
||||
"""
|
||||
Asynchronously lists SimInstance records from the API as a list.
|
||||
Unlike stream(), this operation is eager and will load `limit` records into
|
||||
memory before returning.
|
||||
|
||||
:param str status:
|
||||
:param str iccid:
|
||||
:param str rate_plan:
|
||||
:param str e_id:
|
||||
:param str sim_registration_code:
|
||||
: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(
|
||||
status=status,
|
||||
iccid=iccid,
|
||||
rate_plan=rate_plan,
|
||||
e_id=e_id,
|
||||
sim_registration_code=sim_registration_code,
|
||||
limit=limit,
|
||||
page_size=page_size,
|
||||
)
|
||||
]
|
||||
|
||||
def page(
|
||||
self,
|
||||
status: Union[str, object] = values.unset,
|
||||
iccid: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
e_id: Union[str, object] = values.unset,
|
||||
sim_registration_code: Union[str, object] = values.unset,
|
||||
page_token: Union[str, object] = values.unset,
|
||||
page_number: Union[int, object] = values.unset,
|
||||
page_size: Union[int, object] = values.unset,
|
||||
) -> SimPage:
|
||||
"""
|
||||
Retrieve a single page of SimInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param status:
|
||||
:param iccid:
|
||||
:param rate_plan:
|
||||
:param e_id:
|
||||
:param sim_registration_code:
|
||||
: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 SimInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"Status": status,
|
||||
"Iccid": iccid,
|
||||
"RatePlan": rate_plan,
|
||||
"EId": e_id,
|
||||
"SimRegistrationCode": sim_registration_code,
|
||||
"PageToken": page_token,
|
||||
"Page": page_number,
|
||||
"PageSize": page_size,
|
||||
}
|
||||
)
|
||||
|
||||
response = self._version.page(method="GET", uri=self._uri, params=data)
|
||||
return SimPage(self._version, response)
|
||||
|
||||
async def page_async(
|
||||
self,
|
||||
status: Union[str, object] = values.unset,
|
||||
iccid: Union[str, object] = values.unset,
|
||||
rate_plan: Union[str, object] = values.unset,
|
||||
e_id: Union[str, object] = values.unset,
|
||||
sim_registration_code: Union[str, object] = values.unset,
|
||||
page_token: Union[str, object] = values.unset,
|
||||
page_number: Union[int, object] = values.unset,
|
||||
page_size: Union[int, object] = values.unset,
|
||||
) -> SimPage:
|
||||
"""
|
||||
Asynchronously retrieve a single page of SimInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param status:
|
||||
:param iccid:
|
||||
:param rate_plan:
|
||||
:param e_id:
|
||||
:param sim_registration_code:
|
||||
: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 SimInstance
|
||||
"""
|
||||
data = values.of(
|
||||
{
|
||||
"Status": status,
|
||||
"Iccid": iccid,
|
||||
"RatePlan": rate_plan,
|
||||
"EId": e_id,
|
||||
"SimRegistrationCode": sim_registration_code,
|
||||
"PageToken": page_token,
|
||||
"Page": page_number,
|
||||
"PageSize": page_size,
|
||||
}
|
||||
)
|
||||
|
||||
response = await self._version.page_async(
|
||||
method="GET", uri=self._uri, params=data
|
||||
)
|
||||
return SimPage(self._version, response)
|
||||
|
||||
def get_page(self, target_url: str) -> SimPage:
|
||||
"""
|
||||
Retrieve a specific page of SimInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param target_url: API-generated URL for the requested results page
|
||||
|
||||
:returns: Page of SimInstance
|
||||
"""
|
||||
response = self._version.domain.twilio.request("GET", target_url)
|
||||
return SimPage(self._version, response)
|
||||
|
||||
async def get_page_async(self, target_url: str) -> SimPage:
|
||||
"""
|
||||
Asynchronously retrieve a specific page of SimInstance records from the API.
|
||||
Request is executed immediately
|
||||
|
||||
:param target_url: API-generated URL for the requested results page
|
||||
|
||||
:returns: Page of SimInstance
|
||||
"""
|
||||
response = await self._version.domain.twilio.request_async("GET", target_url)
|
||||
return SimPage(self._version, response)
|
||||
|
||||
def get(self, sid: str) -> SimContext:
|
||||
"""
|
||||
Constructs a SimContext
|
||||
|
||||
:param sid:
|
||||
"""
|
||||
return SimContext(self._version, sid=sid)
|
||||
|
||||
def __call__(self, sid: str) -> SimContext:
|
||||
"""
|
||||
Constructs a SimContext
|
||||
|
||||
:param sid:
|
||||
"""
|
||||
return SimContext(self._version, sid=sid)
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.SimList>"
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,239 @@
|
||||
r"""
|
||||
This code was generated by
|
||||
___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
|
||||
| | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
|
||||
| |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
|
||||
|
||||
Twilio - Preview
|
||||
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_context import InstanceContext
|
||||
from twilio.base.instance_resource import InstanceResource
|
||||
from twilio.base.list_resource import ListResource
|
||||
from twilio.base.version import Version
|
||||
|
||||
|
||||
class UsageInstance(InstanceResource):
|
||||
|
||||
"""
|
||||
:ivar sim_sid:
|
||||
:ivar sim_unique_name:
|
||||
:ivar account_sid:
|
||||
:ivar period:
|
||||
:ivar commands_usage:
|
||||
:ivar commands_costs:
|
||||
:ivar data_usage:
|
||||
:ivar data_costs:
|
||||
:ivar url:
|
||||
"""
|
||||
|
||||
def __init__(self, version: Version, payload: Dict[str, Any], sim_sid: str):
|
||||
super().__init__(version)
|
||||
|
||||
self.sim_sid: Optional[str] = payload.get("sim_sid")
|
||||
self.sim_unique_name: Optional[str] = payload.get("sim_unique_name")
|
||||
self.account_sid: Optional[str] = payload.get("account_sid")
|
||||
self.period: Optional[Dict[str, object]] = payload.get("period")
|
||||
self.commands_usage: Optional[Dict[str, object]] = payload.get("commands_usage")
|
||||
self.commands_costs: Optional[Dict[str, object]] = payload.get("commands_costs")
|
||||
self.data_usage: Optional[Dict[str, object]] = payload.get("data_usage")
|
||||
self.data_costs: Optional[Dict[str, object]] = payload.get("data_costs")
|
||||
self.url: Optional[str] = payload.get("url")
|
||||
|
||||
self._solution = {
|
||||
"sim_sid": sim_sid,
|
||||
}
|
||||
self._context: Optional[UsageContext] = None
|
||||
|
||||
@property
|
||||
def _proxy(self) -> "UsageContext":
|
||||
"""
|
||||
Generate an instance context for the instance, the context is capable of
|
||||
performing various actions. All instance actions are proxied to the context
|
||||
|
||||
:returns: UsageContext for this UsageInstance
|
||||
"""
|
||||
if self._context is None:
|
||||
self._context = UsageContext(
|
||||
self._version,
|
||||
sim_sid=self._solution["sim_sid"],
|
||||
)
|
||||
return self._context
|
||||
|
||||
def fetch(
|
||||
self,
|
||||
end: Union[str, object] = values.unset,
|
||||
start: Union[str, object] = values.unset,
|
||||
) -> "UsageInstance":
|
||||
"""
|
||||
Fetch the UsageInstance
|
||||
|
||||
:param end:
|
||||
:param start:
|
||||
|
||||
:returns: The fetched UsageInstance
|
||||
"""
|
||||
return self._proxy.fetch(
|
||||
end=end,
|
||||
start=start,
|
||||
)
|
||||
|
||||
async def fetch_async(
|
||||
self,
|
||||
end: Union[str, object] = values.unset,
|
||||
start: Union[str, object] = values.unset,
|
||||
) -> "UsageInstance":
|
||||
"""
|
||||
Asynchronous coroutine to fetch the UsageInstance
|
||||
|
||||
:param end:
|
||||
:param start:
|
||||
|
||||
:returns: The fetched UsageInstance
|
||||
"""
|
||||
return await self._proxy.fetch_async(
|
||||
end=end,
|
||||
start=start,
|
||||
)
|
||||
|
||||
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 "<Twilio.Preview.Wireless.UsageInstance {}>".format(context)
|
||||
|
||||
|
||||
class UsageContext(InstanceContext):
|
||||
def __init__(self, version: Version, sim_sid: str):
|
||||
"""
|
||||
Initialize the UsageContext
|
||||
|
||||
:param version: Version that contains the resource
|
||||
:param sim_sid:
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
# Path Solution
|
||||
self._solution = {
|
||||
"sim_sid": sim_sid,
|
||||
}
|
||||
self._uri = "/Sims/{sim_sid}/Usage".format(**self._solution)
|
||||
|
||||
def fetch(
|
||||
self,
|
||||
end: Union[str, object] = values.unset,
|
||||
start: Union[str, object] = values.unset,
|
||||
) -> UsageInstance:
|
||||
"""
|
||||
Fetch the UsageInstance
|
||||
|
||||
:param end:
|
||||
:param start:
|
||||
|
||||
:returns: The fetched UsageInstance
|
||||
"""
|
||||
|
||||
data = values.of(
|
||||
{
|
||||
"End": end,
|
||||
"Start": start,
|
||||
}
|
||||
)
|
||||
|
||||
payload = self._version.fetch(method="GET", uri=self._uri, params=data)
|
||||
|
||||
return UsageInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sim_sid=self._solution["sim_sid"],
|
||||
)
|
||||
|
||||
async def fetch_async(
|
||||
self,
|
||||
end: Union[str, object] = values.unset,
|
||||
start: Union[str, object] = values.unset,
|
||||
) -> UsageInstance:
|
||||
"""
|
||||
Asynchronous coroutine to fetch the UsageInstance
|
||||
|
||||
:param end:
|
||||
:param start:
|
||||
|
||||
:returns: The fetched UsageInstance
|
||||
"""
|
||||
|
||||
data = values.of(
|
||||
{
|
||||
"End": end,
|
||||
"Start": start,
|
||||
}
|
||||
)
|
||||
|
||||
payload = await self._version.fetch_async(
|
||||
method="GET", uri=self._uri, params=data
|
||||
)
|
||||
|
||||
return UsageInstance(
|
||||
self._version,
|
||||
payload,
|
||||
sim_sid=self._solution["sim_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 "<Twilio.Preview.Wireless.UsageContext {}>".format(context)
|
||||
|
||||
|
||||
class UsageList(ListResource):
|
||||
def __init__(self, version: Version, sim_sid: str):
|
||||
"""
|
||||
Initialize the UsageList
|
||||
|
||||
:param version: Version that contains the resource
|
||||
:param sim_sid:
|
||||
|
||||
"""
|
||||
super().__init__(version)
|
||||
|
||||
# Path Solution
|
||||
self._solution = {
|
||||
"sim_sid": sim_sid,
|
||||
}
|
||||
|
||||
def get(self) -> UsageContext:
|
||||
"""
|
||||
Constructs a UsageContext
|
||||
|
||||
"""
|
||||
return UsageContext(self._version, sim_sid=self._solution["sim_sid"])
|
||||
|
||||
def __call__(self) -> UsageContext:
|
||||
"""
|
||||
Constructs a UsageContext
|
||||
|
||||
"""
|
||||
return UsageContext(self._version, sim_sid=self._solution["sim_sid"])
|
||||
|
||||
def __repr__(self) -> str:
|
||||
"""
|
||||
Provide a friendly representation
|
||||
|
||||
:returns: Machine friendly representation
|
||||
"""
|
||||
return "<Twilio.Preview.Wireless.UsageList>"
|
||||
Reference in New Issue
Block a user