scaleway_async.iot.v1 package

Submodules

scaleway_async.iot.v1.api module

class scaleway_async.iot.v1.api.IotV1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your IoT hubs and devices.

async create_device(*, hub_id: str, allow_insecure: bool, allow_multiple_connections: bool, region: Optional[str] = None, name: Optional[str] = None, message_filters: Optional[DeviceMessageFilters] = None, description: Optional[str] = None) CreateDeviceResponse

Add a device. Attach a device to a given Hub. :param hub_id: Hub ID of the device. :param allow_insecure: Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones. :param allow_multiple_connections: Defines whether to allow multiple physical devices to connect with this device’s credentials. :param region: Region to target. If none is passed will use default region from the config. :param name: Device name. :param message_filters: Filter-sets to authorize or deny the device to publish/subscribe to specific topics. :param description: Device description. :return: CreateDeviceResponse

Usage:

result = await api.create_device(
    hub_id="example",
    allow_insecure=False,
    allow_multiple_connections=False,
)
async create_hub(*, product_plan: HubProductPlan, region: Optional[str] = None, name: Optional[str] = None, project_id: Optional[str] = None, disable_events: Optional[bool] = None, events_topic_prefix: Optional[str] = None, twins_graphite_config: Optional[HubTwinsGraphiteConfig] = None) Hub

Create a hub. Create a new Hub in the targeted region, specifying its configuration including name and product plan. :param product_plan: Hub product plan. :param region: Region to target. If none is passed will use default region from the config. :param name: Hub name (up to 255 characters). :param project_id: Project/Organization ID to filter for, only Hubs from this Project/Organization will be returned. :param disable_events: Disable Hub events. :param events_topic_prefix: Topic prefix (default ‘$SCW/events’) of Hub events. :param twins_graphite_config: BETA - not implemented yet. One-Of (‘twins_db_config’): at most one of ‘twins_graphite_config’ could be set. :return: Hub

Usage:

result = await api.create_hub(
    product_plan=plan_shared,
)
async create_network(*, type_: NetworkNetworkType, hub_id: str, topic_prefix: str, region: Optional[str] = None, name: Optional[str] = None) CreateNetworkResponse

Create a new network. Create a new network for an existing hub. Beside the default network, you can add networks for different data providers. Possible network types are Sigfox and REST. :param type_: Type of network to connect with. :param hub_id: Hub ID to connect the Network to. :param topic_prefix: Topic prefix for the Network. :param region: Region to target. If none is passed will use default region from the config. :param name: Network name. :return: CreateNetworkResponse

Usage:

result = await api.create_network(
    type=NetworkNetworkType.unknown,
    hub_id="example",
    topic_prefix="example",
)
async create_route(*, hub_id: str, topic: str, region: Optional[str] = None, name: Optional[str] = None, s3_config: Optional[CreateRouteRequestS3Config] = None, db_config: Optional[CreateRouteRequestDatabaseConfig] = None, rest_config: Optional[CreateRouteRequestRestConfig] = None) Route

Create a route. Multiple kinds of routes can be created, such as: - Database Route

Create a route that will record subscribed MQTT messages into your database. <b>You need to manage the database by yourself</b>.

  • REST Route. Create a route that will call a REST API on received subscribed MQTT messages.

  • Amazon S3 Routes. Create a route that will put subscribed MQTT messages into an Object Storage bucket. You need to create the bucket yourself and grant write access. Granting can be done with s3cmd (s3cmd setacl s3://<my-bucket> –acl-grant=write:555c69c3-87d0-4bf8-80f1-99a2f757d031:555c69c3-87d0-4bf8-80f1-99a2f757d031).

Parameters:
  • hub_id – Hub ID of the route.

  • topic – Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

  • region – Region to target. If none is passed will use default region from the config.

  • name – Route name.

  • s3_config – If creating Amazon S3 Routes, Amazon S3-specific configuration fields.

One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param db_config: If creating Database Route, DB-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param rest_config: If creating Rest Route, Rest-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :return: Route

Usage:

result = await api.create_route(
    hub_id="example",
    topic="example",
)
async delete_device(*, device_id: str, region: Optional[str] = None) None

Remove a device. Remove a specific device from the specific Hub it is attached to. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_device(
    device_id="example",
)
async delete_hub(*, hub_id: str, region: Optional[str] = None, delete_devices: Optional[bool] = None) None

Delete a hub. Delete an existing IoT Hub, specified by its Hub ID. Deleting a Hub is permanent, and cannot be undone. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :param delete_devices: Defines whether to force the deletion of devices added to this Hub or reject the operation.

Usage:

result = await api.delete_hub(
    hub_id="example",
)
async delete_network(*, network_id: str, region: Optional[str] = None) None

Delete a Network. Delete an existing network, specified by its network ID. Deleting a network is permanent, and cannot be undone. :param network_id: Network ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_network(
    network_id="example",
)
async delete_route(*, route_id: str, region: Optional[str] = None) None

Delete a route. Delete an existing route, specified by its route ID. Deleting a route is permanent, and cannot be undone. :param route_id: Route ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_route(
    route_id="example",
)
async delete_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None) None

BETA - Delete a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_twin_document(
    twin_id="example",
    document_name="example",
)
async delete_twin_documents(*, twin_id: str, region: Optional[str] = None) None

BETA - Delete all the documents of a Cloud Twin. :param twin_id: Twin ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_twin_documents(
    twin_id="example",
)
async disable_device(*, device_id: str, region: Optional[str] = None) Device

Disable a device. Disable an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: Device

Usage:

result = await api.disable_device(
    device_id="example",
)
async disable_hub(*, hub_id: str, region: Optional[str] = None) Hub

Disable a hub. Disable an existing IoT Hub, specified by its Hub ID. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.disable_hub(
    hub_id="example",
)
async enable_device(*, device_id: str, region: Optional[str] = None) Device

Enable a device. Enable a specific device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: Device

Usage:

result = await api.enable_device(
    device_id="example",
)
async enable_hub(*, hub_id: str, region: Optional[str] = None) Hub

Enable a hub. Enable an existing IoT Hub, specified by its Hub ID. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.enable_hub(
    hub_id="example",
)
async get_device(*, device_id: str, region: Optional[str] = None) Device

Get a device. Retrieve information about an existing device, specified by its device ID. Its full details, including name, status and ID, are returned in the response object. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: Device

Usage:

result = await api.get_device(
    device_id="example",
)
async get_device_certificate(*, device_id: str, region: Optional[str] = None) GetDeviceCertificateResponse

Get a device’s certificate. Get information for a particular PEM-encoded certificate, specified by the device ID. The response returns full details of the device, including its type of certificate. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: GetDeviceCertificateResponse

Usage:

result = await api.get_device_certificate(
    device_id="example",
)
async get_device_metrics(*, device_id: str, region: Optional[str] = None, start_date: Optional[datetime] = None) GetDeviceMetricsResponse

Get a device’s metrics. Get the metrics of an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :param start_date: Start date used to compute the best scale for the returned metrics. :return: GetDeviceMetricsResponse :deprecated

Usage:

result = await api.get_device_metrics(
    device_id="example",
)
async get_hub(*, hub_id: str, region: Optional[str] = None) Hub

Get a hub. Retrieve information about an existing IoT Hub, specified by its Hub ID. Its full details, including name, status and endpoint, are returned in the response object. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.get_hub(
    hub_id="example",
)
async get_hub_ca(*, hub_id: str, region: Optional[str] = None) GetHubCAResponse

Get the certificate authority of a hub. Get information for a particular PEM-encoded certificate, specified by the Hub ID. :param hub_id: :param region: Region to target. If none is passed will use default region from the config. :return: GetHubCAResponse

Usage:

result = await api.get_hub_ca(
    hub_id="example",
)
async get_hub_metrics(*, hub_id: str, region: Optional[str] = None, start_date: Optional[datetime] = None) GetHubMetricsResponse

Get a hub’s metrics. Get the metrics of an existing IoT Hub, specified by its Hub ID. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :param start_date: Start date used to compute the best scale for returned metrics. :return: GetHubMetricsResponse :deprecated

Usage:

result = await api.get_hub_metrics(
    hub_id="example",
)
async get_network(*, network_id: str, region: Optional[str] = None) Network

Retrieve a specific network. Retrieve an existing network, specified by its network ID. The response returns full details of the network, including its type, the topic prefix and its endpoint. :param network_id: Network ID. :param region: Region to target. If none is passed will use default region from the config. :return: Network

Usage:

result = await api.get_network(
    network_id="example",
)
async get_route(*, route_id: str, region: Optional[str] = None) Route

Get a route. Get information for a particular route, specified by the route ID. The response returns full details of the route, including its type, the topic it subscribes to and its configuration. :param route_id: Route ID. :param region: Region to target. If none is passed will use default region from the config. :return: Route

Usage:

result = await api.get_route(
    route_id="example",
)
async get_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None) TwinDocument

BETA - Get a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config. :return: TwinDocument

Usage:

result = await api.get_twin_document(
    twin_id="example",
    document_name="example",
)
async list_devices(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListDevicesRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, allow_insecure: Optional[bool] = None, status: Optional[DeviceStatus] = None) ListDevicesResponse

List devices. List all devices in the specified region. By default, returned devices are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of devices to return within a page. Maximum value is 100. :param order_by: Ordering of requested devices. :param name: Name to filter for, only devices with this name will be returned. :param hub_id: Hub ID to filter for, only devices attached to this Hub will be returned. :param allow_insecure: Defines wheter to filter the allow_insecure flag. :param status: Device status (enabled, disabled, etc.). :return: ListDevicesResponse

Usage:

result = await api.list_devices()
async list_devices_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListDevicesRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, allow_insecure: Optional[bool] = None, status: Optional[DeviceStatus] = None) List[Device]

List devices. List all devices in the specified region. By default, returned devices are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of devices to return within a page. Maximum value is 100. :param order_by: Ordering of requested devices. :param name: Name to filter for, only devices with this name will be returned. :param hub_id: Hub ID to filter for, only devices attached to this Hub will be returned. :param allow_insecure: Defines wheter to filter the allow_insecure flag. :param status: Device status (enabled, disabled, etc.). :return: List[Device]

Usage:

result = await api.list_devices_all()
async list_hubs(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListHubsRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, name: Optional[str] = None) ListHubsResponse

List hubs. List all Hubs in the specified zone. By default, returned Hubs are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of Hubs to return within a page. Maximum value is 100. :param order_by: Sort order of Hubs in the response. :param project_id: Only list Hubs of this Project ID. :param organization_id: Only list Hubs of this Organization ID. :param name: Hub name. :return: ListHubsResponse

Usage:

result = await api.list_hubs()
async list_hubs_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListHubsRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, name: Optional[str] = None) List[Hub]

List hubs. List all Hubs in the specified zone. By default, returned Hubs are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of Hubs to return within a page. Maximum value is 100. :param order_by: Sort order of Hubs in the response. :param project_id: Only list Hubs of this Project ID. :param organization_id: Only list Hubs of this Organization ID. :param name: Hub name. :return: List[Hub]

Usage:

result = await api.list_hubs_all()
async list_networks(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNetworksRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, topic_prefix: Optional[str] = None) ListNetworksResponse

List the networks. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of networks to return. The maximum value is 100. :param order_by: Ordering of requested routes. :param name: Network name to filter for. :param hub_id: Hub ID to filter for. :param topic_prefix: Topic prefix to filter for. :return: ListNetworksResponse

Usage:

result = await api.list_networks()
async list_networks_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNetworksRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, topic_prefix: Optional[str] = None) List[Network]

List the networks. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of networks to return. The maximum value is 100. :param order_by: Ordering of requested routes. :param name: Network name to filter for. :param hub_id: Hub ID to filter for. :param topic_prefix: Topic prefix to filter for. :return: List[Network]

Usage:

result = await api.list_networks_all()
async list_routes(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListRoutesRequestOrderBy] = None, hub_id: Optional[str] = None, name: Optional[str] = None) ListRoutesResponse

List routes. List all routes in the specified region. By default, returned routes are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of routes to return within a page. Maximum value is 100. :param order_by: Ordering of requested routes. :param hub_id: Hub ID to filter for. :param name: Route name to filter for. :return: ListRoutesResponse

Usage:

result = await api.list_routes()
async list_routes_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListRoutesRequestOrderBy] = None, hub_id: Optional[str] = None, name: Optional[str] = None) List[RouteSummary]

List routes. List all routes in the specified region. By default, returned routes are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of routes to return within a page. Maximum value is 100. :param order_by: Ordering of requested routes. :param hub_id: Hub ID to filter for. :param name: Route name to filter for. :return: List[RouteSummary]

Usage:

result = await api.list_routes_all()
async list_twin_documents(*, twin_id: str, region: Optional[str] = None) ListTwinDocumentsResponse

BETA - List the documents of a Cloud Twin. :param twin_id: Twin ID. :param region: Region to target. If none is passed will use default region from the config. :return: ListTwinDocumentsResponse

Usage:

result = await api.list_twin_documents(
    twin_id="example",
)
async patch_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None, version: Optional[int] = None, data: Optional[Dict[str, Any]] = None) TwinDocument

BETA - Patch a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config. :param version: If set, ensures that the current version of the document matches before persisting the update. :param data: A json data that will be applied on the document’s current data. Patching rules: * The patch goes recursively through the patch objects. * If the patch object property is null, it is removed from the final object. * If the patch object property is a value (number, strings, bool, arrays), it is replaced. * If the patch object property is an object, the previous rules will be applied recursively on it. :return: TwinDocument

Usage:

result = await api.patch_twin_document(
    twin_id="example",
    document_name="example",
)
async put_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None, version: Optional[int] = None, data: Optional[Dict[str, Any]] = None) TwinDocument

BETA - Update a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config. :param version: If set, ensures that the current version of the document matches before persisting the update. :param data: New data that will replace the contents of the document. :return: TwinDocument

Usage:

result = await api.put_twin_document(
    twin_id="example",
    document_name="example",
)
async renew_device_certificate(*, device_id: str, region: Optional[str] = None) RenewDeviceCertificateResponse

Renew a device certificate. Renew the certificate of an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: RenewDeviceCertificateResponse

Usage:

result = await api.renew_device_certificate(
    device_id="example",
)
async set_device_certificate(*, device_id: str, certificate_pem: str, region: Optional[str] = None) SetDeviceCertificateResponse

Set a custom certificate on a device. Switch the existing certificate of a given device with an EM-encoded custom certificate. :param device_id: Device ID. :param certificate_pem: PEM-encoded custom certificate. :param region: Region to target. If none is passed will use default region from the config. :return: SetDeviceCertificateResponse

Usage:

result = await api.set_device_certificate(
    device_id="example",
    certificate_pem="example",
)
async set_hub_ca(*, hub_id: str, ca_cert_pem: str, challenge_cert_pem: str, region: Optional[str] = None) Hub

Set the certificate authority of a hub. Set a particular PEM-encoded certificate, specified by the Hub ID. :param hub_id: Hub ID. :param ca_cert_pem: CA’s PEM-encoded certificate. :param challenge_cert_pem: Challenge is a PEM-encoded certificate that acts as proof of possession of the CA. It must be signed by the CA, and have a Common Name equal to the Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.set_hub_ca(
    hub_id="example",
    ca_cert_pem="example",
    challenge_cert_pem="example",
)
async update_device(*, device_id: str, region: Optional[str] = None, description: Optional[str] = None, allow_insecure: Optional[bool] = None, allow_multiple_connections: Optional[bool] = None, message_filters: Optional[DeviceMessageFilters] = None, hub_id: Optional[str] = None) Device

Update a device. Update the parameters of an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :param description: Description for the device. :param allow_insecure: Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones. :param allow_multiple_connections: Defines whether to allow multiple physical devices to connect with this device’s credentials. :param message_filters: Filter-sets to restrict the topics the device can publish/subscribe to. :param hub_id: Change Hub for this device, additional fees may apply, see IoT Hub pricing. :return: Device

Usage:

result = await api.update_device(
    device_id="example",
)
async update_hub(*, hub_id: str, region: Optional[str] = None, name: Optional[str] = None, product_plan: Optional[HubProductPlan] = None, disable_events: Optional[bool] = None, events_topic_prefix: Optional[str] = None, enable_device_auto_provisioning: Optional[bool] = None, twins_graphite_config: Optional[HubTwinsGraphiteConfig] = None) Hub

Update a hub. Update the parameters of an existing IoT Hub, specified by its Hub ID. :param hub_id: ID of the Hub you want to update. :param region: Region to target. If none is passed will use default region from the config. :param name: Hub name (up to 255 characters). :param product_plan: Hub product plan. :param disable_events: Disable Hub events. :param events_topic_prefix: Topic prefix of Hub events. :param enable_device_auto_provisioning: Enable device auto provisioning. :param twins_graphite_config: BETA - not implemented yet. One-Of (‘twins_db_config’): at most one of ‘twins_graphite_config’ could be set. :return: Hub

Usage:

result = await api.update_hub(
    hub_id="example",
)
async update_route(*, route_id: str, region: Optional[str] = None, name: Optional[str] = None, topic: Optional[str] = None, s3_config: Optional[UpdateRouteRequestS3Config] = None, db_config: Optional[UpdateRouteRequestDatabaseConfig] = None, rest_config: Optional[UpdateRouteRequestRestConfig] = None) Route

Update a route. Update the parameters of an existing route, specified by its route ID. :param route_id: Route id. :param region: Region to target. If none is passed will use default region from the config. :param name: Route name. :param topic: Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters. :param s3_config: When updating Amazon S3 Route, Amazon S3-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param db_config: When updating Database Route, DB-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param rest_config: When updating Rest Route, Rest-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :return: Route

Usage:

result = await api.update_route(
    route_id="example",
)
async wait_for_hub(*, hub_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Hub, Union[bool, Awaitable[bool]]]] = None) Hub

Get a hub. Retrieve information about an existing IoT Hub, specified by its Hub ID. Its full details, including name, status and endpoint, are returned in the response object. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.get_hub(
    hub_id="example",
)

scaleway_async.iot.v1.content module

scaleway_async.iot.v1.content.HUB_TRANSIENT_STATUSES: List[HubStatus] = [<HubStatus.ENABLING: 'enabling'>, <HubStatus.DISABLING: 'disabling'>]

Lists transient statutes of the enum HubStatus.

scaleway_async.iot.v1.marshalling module

scaleway_async.iot.v1.marshalling.marshal_CreateDeviceRequest(request: CreateDeviceRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_CreateHubRequest(request: CreateHubRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_CreateNetworkRequest(request: CreateNetworkRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_CreateRouteRequest(request: CreateRouteRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_CreateRouteRequestDatabaseConfig(request: CreateRouteRequestDatabaseConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_CreateRouteRequestRestConfig(request: CreateRouteRequestRestConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_CreateRouteRequestS3Config(request: CreateRouteRequestS3Config, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_DeviceMessageFilters(request: DeviceMessageFilters, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_DeviceMessageFiltersRule(request: DeviceMessageFiltersRule, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_HubTwinsGraphiteConfig(request: HubTwinsGraphiteConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_PatchTwinDocumentRequest(request: PatchTwinDocumentRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_PutTwinDocumentRequest(request: PutTwinDocumentRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_SetDeviceCertificateRequest(request: SetDeviceCertificateRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_SetHubCARequest(request: SetHubCARequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_UpdateDeviceRequest(request: UpdateDeviceRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_UpdateHubRequest(request: UpdateHubRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_UpdateRouteRequest(request: UpdateRouteRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_UpdateRouteRequestDatabaseConfig(request: UpdateRouteRequestDatabaseConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_UpdateRouteRequestRestConfig(request: UpdateRouteRequestRestConfig, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.marshal_UpdateRouteRequestS3Config(request: UpdateRouteRequestS3Config, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.iot.v1.marshalling.unmarshal_Certificate(data: Any) Certificate
scaleway_async.iot.v1.marshalling.unmarshal_CreateDeviceResponse(data: Any) CreateDeviceResponse
scaleway_async.iot.v1.marshalling.unmarshal_CreateNetworkResponse(data: Any) CreateNetworkResponse
scaleway_async.iot.v1.marshalling.unmarshal_Device(data: Any) Device
scaleway_async.iot.v1.marshalling.unmarshal_DeviceMessageFilters(data: Any) DeviceMessageFilters
scaleway_async.iot.v1.marshalling.unmarshal_DeviceMessageFiltersRule(data: Any) DeviceMessageFiltersRule
scaleway_async.iot.v1.marshalling.unmarshal_GetDeviceCertificateResponse(data: Any) GetDeviceCertificateResponse
scaleway_async.iot.v1.marshalling.unmarshal_GetDeviceMetricsResponse(data: Any) GetDeviceMetricsResponse
scaleway_async.iot.v1.marshalling.unmarshal_GetHubCAResponse(data: Any) GetHubCAResponse
scaleway_async.iot.v1.marshalling.unmarshal_GetHubMetricsResponse(data: Any) GetHubMetricsResponse
scaleway_async.iot.v1.marshalling.unmarshal_Hub(data: Any) Hub
scaleway_async.iot.v1.marshalling.unmarshal_HubTwinsGraphiteConfig(data: Any) HubTwinsGraphiteConfig
scaleway_async.iot.v1.marshalling.unmarshal_ListDevicesResponse(data: Any) ListDevicesResponse
scaleway_async.iot.v1.marshalling.unmarshal_ListHubsResponse(data: Any) ListHubsResponse
scaleway_async.iot.v1.marshalling.unmarshal_ListNetworksResponse(data: Any) ListNetworksResponse
scaleway_async.iot.v1.marshalling.unmarshal_ListRoutesResponse(data: Any) ListRoutesResponse
scaleway_async.iot.v1.marshalling.unmarshal_ListTwinDocumentsResponse(data: Any) ListTwinDocumentsResponse
scaleway_async.iot.v1.marshalling.unmarshal_ListTwinDocumentsResponseDocumentSummary(data: Any) ListTwinDocumentsResponseDocumentSummary
scaleway_async.iot.v1.marshalling.unmarshal_Network(data: Any) Network
scaleway_async.iot.v1.marshalling.unmarshal_RenewDeviceCertificateResponse(data: Any) RenewDeviceCertificateResponse
scaleway_async.iot.v1.marshalling.unmarshal_Route(data: Any) Route
scaleway_async.iot.v1.marshalling.unmarshal_RouteDatabaseConfig(data: Any) RouteDatabaseConfig
scaleway_async.iot.v1.marshalling.unmarshal_RouteRestConfig(data: Any) RouteRestConfig
scaleway_async.iot.v1.marshalling.unmarshal_RouteS3Config(data: Any) RouteS3Config
scaleway_async.iot.v1.marshalling.unmarshal_RouteSummary(data: Any) RouteSummary
scaleway_async.iot.v1.marshalling.unmarshal_SetDeviceCertificateResponse(data: Any) SetDeviceCertificateResponse
scaleway_async.iot.v1.marshalling.unmarshal_TwinDocument(data: Any) TwinDocument

scaleway_async.iot.v1.types module

class scaleway_async.iot.v1.types.Certificate(crt: 'str', key: 'str')

Bases: object

crt: str
key: str
class scaleway_async.iot.v1.types.CreateDeviceRequest(hub_id: 'str', allow_insecure: 'bool', allow_multiple_connections: 'bool', region: 'Optional[ScwRegion]', name: 'Optional[str]', message_filters: 'Optional[DeviceMessageFilters]', description: 'Optional[str]')

Bases: object

allow_insecure: bool

Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones.

allow_multiple_connections: bool

Defines whether to allow multiple physical devices to connect with this device’s credentials.

description: Optional[str]

Device description.

hub_id: str

Hub ID of the device.

message_filters: Optional[DeviceMessageFilters]

Filter-sets to authorize or deny the device to publish/subscribe to specific topics.

name: Optional[str]

Device name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.CreateDeviceResponse(device: 'Optional[Device]', certificate: 'Optional[Certificate]')

Bases: object

certificate: Optional[Certificate]

Device certificate.

device: Optional[Device]

Information related to the created device.

class scaleway_async.iot.v1.types.CreateHubRequest(product_plan: 'HubProductPlan', region: 'Optional[ScwRegion]', name: 'Optional[str]', project_id: 'Optional[str]', disable_events: 'Optional[bool]', events_topic_prefix: 'Optional[str]', twins_graphite_config: 'Optional[HubTwinsGraphiteConfig]')

Bases: object

disable_events: Optional[bool]

Disable Hub events.

events_topic_prefix: Optional[str]

Topic prefix (default ‘$SCW/events’) of Hub events.

name: Optional[str]

Hub name (up to 255 characters).

product_plan: HubProductPlan

Hub product plan.

project_id: Optional[str]

Project/Organization ID to filter for, only Hubs from this Project/Organization will be returned.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twins_graphite_config: Optional[HubTwinsGraphiteConfig]
class scaleway_async.iot.v1.types.CreateNetworkRequest(type_: 'NetworkNetworkType', hub_id: 'str', topic_prefix: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]')

Bases: object

hub_id: str

Hub ID to connect the Network to.

name: Optional[str]

Network name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

topic_prefix: str

Topic prefix for the Network.

type_: NetworkNetworkType

Type of network to connect with.

class scaleway_async.iot.v1.types.CreateNetworkResponse(secret: 'str', network: 'Optional[Network]')

Bases: object

network: Optional[Network]

Information related to the created network.

secret: str

Endpoint Key to keep secret. This cannot be retrieved later.

class scaleway_async.iot.v1.types.CreateRouteRequest(hub_id: 'str', topic: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]', s3_config: 'Optional[CreateRouteRequestS3Config]', db_config: 'Optional[CreateRouteRequestDatabaseConfig]', rest_config: 'Optional[CreateRouteRequestRestConfig]')

Bases: object

db_config: Optional[CreateRouteRequestDatabaseConfig]
hub_id: str

Hub ID of the route.

name: Optional[str]

Route name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

rest_config: Optional[CreateRouteRequestRestConfig]
s3_config: Optional[CreateRouteRequestS3Config]
topic: str

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

class scaleway_async.iot.v1.types.CreateRouteRequestDatabaseConfig(host: 'str', port: 'int', dbname: 'str', username: 'str', password: 'str', query: 'str', engine: 'RouteDatabaseConfigEngine')

Bases: object

dbname: str
engine: RouteDatabaseConfigEngine
host: str
password: str
port: int
query: str
username: str
class scaleway_async.iot.v1.types.CreateRouteRequestRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'str', headers: 'Dict[str, str]')

Bases: object

headers: Dict[str, str]
uri: str
verb: RouteRestConfigHttpVerb
class scaleway_async.iot.v1.types.CreateRouteRequestS3Config(bucket_region: 'str', bucket_name: 'str', object_prefix: 'str', strategy: 'RouteS3ConfigS3Strategy')

Bases: object

bucket_name: str
bucket_region: str
object_prefix: str
strategy: RouteS3ConfigS3Strategy
class scaleway_async.iot.v1.types.DeleteDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.DeleteHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]', delete_devices: 'Optional[bool]')

Bases: object

delete_devices: Optional[bool]

Defines whether to force the deletion of devices added to this Hub or reject the operation.

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.DeleteNetworkRequest(network_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

network_id: str

Network ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.DeleteRouteRequest(route_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

route_id: str

Route ID.

class scaleway_async.iot.v1.types.DeleteTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]')

Bases: object

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.types.DeleteTwinDocumentsRequest(twin_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.types.Device(id: 'str', name: 'str', description: 'str', status: 'DeviceStatus', hub_id: 'str', last_activity_at: 'Optional[datetime]', is_connected: 'bool', allow_insecure: 'bool', allow_multiple_connections: 'bool', has_custom_certificate: 'bool', message_filters: 'Optional[DeviceMessageFilters]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

allow_insecure: bool

Defines whether to allow the device to connect to the Hub without TLS mutual authentication.

allow_multiple_connections: bool

Defines whether to allow multiple physical devices to connect to the Hub with this device’s credentials.

created_at: Optional[datetime]

Date at which the device was added.

description: str

Device description.

has_custom_certificate: bool

Assigning a custom certificate allows a device to authenticate using that specific certificate without checking the Hub’s CA certificate.

hub_id: str

Hub ID.

id: str

Device ID, also used as MQTT Client ID or username.

is_connected: bool

Defines whether the device is connected to the Hub.

last_activity_at: Optional[datetime]

Last connection/activity date of a device.

message_filters: Optional[DeviceMessageFilters]

Filter-sets to restrict the topics the device can publish/subscribe to.

name: str

Device name.

status: DeviceStatus

Device status.

updated_at: Optional[datetime]

Date at which the device was last modified.

class scaleway_async.iot.v1.types.DeviceMessageFilters(publish: 'Optional[DeviceMessageFiltersRule]', subscribe: 'Optional[DeviceMessageFiltersRule]')

Bases: object

publish: Optional[DeviceMessageFiltersRule]

Filtering rule to restrict topics the device can publish to.

subscribe: Optional[DeviceMessageFiltersRule]

Filtering rule to restrict topics the device can subscribe to.

class scaleway_async.iot.v1.types.DeviceMessageFiltersRule(policy: 'DeviceMessageFiltersRulePolicy', topics: 'Optional[List[str]]')

Bases: object

policy: DeviceMessageFiltersRulePolicy

If set to accept, all topics in the topics list will be allowed, with all other topics being denied.

If set to reject, all topics in the topics list will be denied, with all other topics being allowed.

topics: Optional[List[str]]

List of topics to accept or reject. It must be valid MQTT topics and up to 65535 characters.

class scaleway_async.iot.v1.types.DeviceMessageFiltersRulePolicy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

ACCEPT = 'accept'
REJECT = 'reject'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.DeviceStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DISABLED = 'disabled'
ENABLED = 'enabled'
ERROR = 'error'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.DisableDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.DisableHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.EnableDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.EnableHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.GetDeviceCertificateRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.GetDeviceCertificateResponse(certificate_pem: 'str', device: 'Optional[Device]')

Bases: object

certificate_pem: str

Device certificate.

device: Optional[Device]

Information related to the created device.

class scaleway_async.iot.v1.types.GetDeviceMetricsRequest(device_id: 'str', region: 'Optional[ScwRegion]', start_date: 'Optional[datetime]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

start_date: Optional[datetime]

Start date used to compute the best scale for the returned metrics.

class scaleway_async.iot.v1.types.GetDeviceMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a device over the requested period.

class scaleway_async.iot.v1.types.GetDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.GetHubCARequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str
region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.GetHubCAResponse(ca_cert_pem: 'str')

Bases: object

ca_cert_pem: str
class scaleway_async.iot.v1.types.GetHubMetricsRequest(hub_id: 'str', region: 'Optional[ScwRegion]', start_date: 'Optional[datetime]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

start_date: Optional[datetime]

Start date used to compute the best scale for returned metrics.

class scaleway_async.iot.v1.types.GetHubMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a Hub over the requested period.

class scaleway_async.iot.v1.types.GetHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.GetNetworkRequest(network_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

network_id: str

Network ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.GetRouteRequest(route_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

route_id: str

Route ID.

class scaleway_async.iot.v1.types.GetTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]')

Bases: object

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.types.Hub(id: 'str', name: 'str', status: 'HubStatus', product_plan: 'HubProductPlan', enabled: 'bool', device_count: 'int', connected_device_count: 'int', endpoint: 'str', disable_events: 'bool', events_topic_prefix: 'str', region: 'ScwRegion', project_id: 'str', organization_id: 'str', enable_device_auto_provisioning: 'bool', has_custom_ca: 'bool', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', twins_graphite_config: 'Optional[HubTwinsGraphiteConfig]')

Bases: object

connected_device_count: int

Number of currently connected devices.

created_at: Optional[datetime]

Hub creation date.

device_count: int

Number of registered devices.

disable_events: bool

Defines whether to disable Hub events.

enable_device_auto_provisioning: bool

When an unknown device connects to your hub using a valid certificate chain, it will be automatically provisioned inside your Hub. The Hub uses the common name of the device certifcate to find out if a device with the same name already exists. This setting can only be enabled on a hub with a custom certificate authority.

enabled: bool

Defines whether the hub has been enabled.

endpoint: str

Devices should be connected to this host. Port may be 1883 (MQTT), 8883 (MQTT over TLS), 80 (MQTT over Websocket) or 443 (MQTT over Websocket over TLS).

events_topic_prefix: str

Hub events topic prefix.

has_custom_ca: bool

Flag is automatically set to false after Hub creation, as Hub certificates are managed by Scaleway. Once a custom certificate authority is set, the flag will be set to true.

id: str

Hub ID.

name: str

Hub name.

organization_id: str

Organization owning the resource.

product_plan: HubProductPlan

Hub feature set.

project_id: str

Project owning the resource.

region: str

Region of the Hub.

status: HubStatus

Current status of the Hub.

twins_graphite_config: Optional[HubTwinsGraphiteConfig]
updated_at: Optional[datetime]

Hub last modification date.

class scaleway_async.iot.v1.types.HubProductPlan(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

PLAN_DEDICATED = 'plan_dedicated'
PLAN_HA = 'plan_ha'
PLAN_SHARED = 'plan_shared'
PLAN_UNKNOWN = 'plan_unknown'
class scaleway_async.iot.v1.types.HubStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DISABLED = 'disabled'
DISABLING = 'disabling'
ENABLING = 'enabling'
ERROR = 'error'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.HubTwinsGraphiteConfig(push_uri: 'str')

Bases: object

push_uri: str
class scaleway_async.iot.v1.types.ListDevicesRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListDevicesRequestOrderBy]', name: 'Optional[str]', hub_id: 'Optional[str]', allow_insecure: 'Optional[bool]', status: 'Optional[DeviceStatus]')

Bases: object

allow_insecure: Optional[bool]

Defines wheter to filter the allow_insecure flag.

hub_id: Optional[str]

Hub ID to filter for, only devices attached to this Hub will be returned.

name: Optional[str]

Name to filter for, only devices with this name will be returned.

order_by: Optional[ListDevicesRequestOrderBy]

Ordering of requested devices.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of devices to return within a page. Maximum value is 100.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

status: Optional[DeviceStatus]

Device status (enabled, disabled, etc.).

class scaleway_async.iot.v1.types.ListDevicesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

ALLOW_INSECURE_ASC = 'allow_insecure_asc'
ALLOW_INSECURE_DESC = 'allow_insecure_desc'
CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
HUB_ID_ASC = 'hub_id_asc'
HUB_ID_DESC = 'hub_id_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
STATUS_ASC = 'status_asc'
STATUS_DESC = 'status_desc'
UPDATED_AT_ASC = 'updated_at_asc'
UPDATED_AT_DESC = 'updated_at_desc'
class scaleway_async.iot.v1.types.ListDevicesResponse(total_count: 'int', devices: 'List[Device]')

Bases: object

devices: List[Device]

Page of devices.

total_count: int

Total number of devices.

class scaleway_async.iot.v1.types.ListHubsRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListHubsRequestOrderBy]', project_id: 'Optional[str]', organization_id: 'Optional[str]', name: 'Optional[str]')

Bases: object

name: Optional[str]

Hub name.

order_by: Optional[ListHubsRequestOrderBy]

Sort order of Hubs in the response.

organization_id: Optional[str]

Only list Hubs of this Organization ID.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of Hubs to return within a page. Maximum value is 100.

project_id: Optional[str]

Only list Hubs of this Project ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.ListHubsRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
PRODUCT_PLAN_ASC = 'product_plan_asc'
PRODUCT_PLAN_DESC = 'product_plan_desc'
STATUS_ASC = 'status_asc'
STATUS_DESC = 'status_desc'
UPDATED_AT_ASC = 'updated_at_asc'
UPDATED_AT_DESC = 'updated_at_desc'
class scaleway_async.iot.v1.types.ListHubsResponse(total_count: 'int', hubs: 'List[Hub]')

Bases: object

hubs: List[Hub]

A page of hubs.

total_count: int

Total number of Hubs.

class scaleway_async.iot.v1.types.ListNetworksRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListNetworksRequestOrderBy]', name: 'Optional[str]', hub_id: 'Optional[str]', topic_prefix: 'Optional[str]')

Bases: object

hub_id: Optional[str]

Hub ID to filter for.

name: Optional[str]

Network name to filter for.

order_by: Optional[ListNetworksRequestOrderBy]

Ordering of requested routes.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of networks to return. The maximum value is 100.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

topic_prefix: Optional[str]

Topic prefix to filter for.

class scaleway_async.iot.v1.types.ListNetworksRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
TYPE_ASC = 'type_asc'
TYPE_DESC = 'type_desc'
class scaleway_async.iot.v1.types.ListNetworksResponse(total_count: 'int', networks: 'List[Network]')

Bases: object

networks: List[Network]

Page of networks.

total_count: int

Total number of Networks.

class scaleway_async.iot.v1.types.ListRoutesRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListRoutesRequestOrderBy]', hub_id: 'Optional[str]', name: 'Optional[str]')

Bases: object

hub_id: Optional[str]

Hub ID to filter for.

name: Optional[str]

Route name to filter for.

order_by: Optional[ListRoutesRequestOrderBy]

Ordering of requested routes.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of routes to return within a page. Maximum value is 100.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.ListRoutesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
HUB_ID_ASC = 'hub_id_asc'
HUB_ID_DESC = 'hub_id_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
TYPE_ASC = 'type_asc'
TYPE_DESC = 'type_desc'
class scaleway_async.iot.v1.types.ListRoutesResponse(total_count: 'int', routes: 'List[RouteSummary]')

Bases: object

routes: List[RouteSummary]

Page of routes.

total_count: int

Total number of routes.

class scaleway_async.iot.v1.types.ListTwinDocumentsRequest(twin_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.types.ListTwinDocumentsResponse(documents: 'List[ListTwinDocumentsResponseDocumentSummary]')

Bases: object

documents: List[ListTwinDocumentsResponseDocumentSummary]

List of the twin document.

class scaleway_async.iot.v1.types.ListTwinDocumentsResponseDocumentSummary(document_name: 'str')

Bases: object

document_name: str

Name of the document.

class scaleway_async.iot.v1.types.Network(id: 'str', name: 'str', type_: 'NetworkNetworkType', endpoint: 'str', hub_id: 'str', topic_prefix: 'str', created_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date at which the network was created.

endpoint: str

Endpoint to use for interacting with the network.

hub_id: str

Hub ID to connect the Network to.

id: str

Network ID.

name: str

Network name.

topic_prefix: str

This prefix will be prepended to all topics for this Network.

type_: NetworkNetworkType

Type of network to connect with.

class scaleway_async.iot.v1.types.NetworkNetworkType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

REST = 'rest'
SIGFOX = 'sigfox'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.PatchTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]', version: 'Optional[int]', data: 'Optional[Dict[str, Any]]')

Bases: object

data: Optional[Dict[str, Any]]

A json data that will be applied on the document’s current data.

Patching rules: * The patch goes recursively through the patch objects. * If the patch object property is null, it is removed from the final object. * If the patch object property is a value (number, strings, bool, arrays), it is replaced. * If the patch object property is an object, the previous rules will be applied recursively on it.

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

version: Optional[int]

If set, ensures that the current version of the document matches before persisting the update.

class scaleway_async.iot.v1.types.PutTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]', version: 'Optional[int]', data: 'Optional[Dict[str, Any]]')

Bases: object

data: Optional[Dict[str, Any]]

New data that will replace the contents of the document.

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

version: Optional[int]

If set, ensures that the current version of the document matches before persisting the update.

class scaleway_async.iot.v1.types.RenewDeviceCertificateRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.RenewDeviceCertificateResponse(device: 'Optional[Device]', certificate: 'Optional[Certificate]')

Bases: object

certificate: Optional[Certificate]

Device certificate.

device: Optional[Device]

Information related to the created device.

class scaleway_async.iot.v1.types.Route(id: 'str', name: 'str', hub_id: 'str', topic: 'str', type_: 'RouteRouteType', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', s3_config: 'Optional[RouteS3Config]', db_config: 'Optional[RouteDatabaseConfig]', rest_config: 'Optional[RouteRestConfig]')

Bases: object

created_at: Optional[datetime]

Date at which the route was created.

db_config: Optional[RouteDatabaseConfig]
hub_id: str

Hub ID of the route.

id: str

Route ID.

name: str

Route name.

rest_config: Optional[RouteRestConfig]
s3_config: Optional[RouteS3Config]
topic: str

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

type_: RouteRouteType

Route type.

updated_at: Optional[datetime]

Date at which the route was last updated.

class scaleway_async.iot.v1.types.RouteDatabaseConfig(engine: 'RouteDatabaseConfigEngine', host: 'str', port: 'int', dbname: 'str', username: 'str', password: 'str', query: 'str')

Bases: object

dbname: str

Database name.

engine: RouteDatabaseConfigEngine

Database engine the route will connect to. If not specified, the default database will be ‘PostgreSQL’.

host: str

Database host.

password: str

Database password.

port: int

Database port.

query: str

SQL query to be executed ($TOPIC and $PAYLOAD variables are available, see documentation).

username: str

Database username. Make sure this account can execute the provided query.

class scaleway_async.iot.v1.types.RouteDatabaseConfigEngine(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

MYSQL = 'mysql'
POSTGRESQL = 'postgresql'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.RouteRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'str', headers: 'Dict[str, str]')

Bases: object

headers: Dict[str, str]

HTTP call extra headers.

uri: str

URI of the REST endpoint.

verb: RouteRestConfigHttpVerb

HTTP verb used to call REST URI.

class scaleway_async.iot.v1.types.RouteRestConfigHttpVerb(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETE = 'delete'
GET = 'get'
PATCH = 'patch'
POST = 'post'
PUT = 'put'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.RouteRouteType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DATABASE = 'database'
REST = 'rest'
S3 = 's3'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.RouteS3Config(bucket_region: 'str', bucket_name: 'str', object_prefix: 'str', strategy: 'RouteS3ConfigS3Strategy')

Bases: object

bucket_name: str

Destination bucket name of the Amazon S3 route.

bucket_region: str

Region of the Amazon S3 route’s destination bucket (e.g., ‘fr-par’).

object_prefix: str

Optional string to prefix object names with.

strategy: RouteS3ConfigS3Strategy

How the Amazon S3 route’s objects will be created: one per topic or one per message.

class scaleway_async.iot.v1.types.RouteS3ConfigS3Strategy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

PER_MESSAGE = 'per_message'
PER_TOPIC = 'per_topic'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.types.RouteSummary(id: 'str', name: 'str', hub_id: 'str', topic: 'str', type_: 'RouteRouteType', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date at which the route was created.

hub_id: str

Hub ID of the route.

id: str

Route ID.

name: str

Route name.

topic: str

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

type_: RouteRouteType

Route type.

updated_at: Optional[datetime]

Date at which the route was last updated.

class scaleway_async.iot.v1.types.SetDeviceCertificateRequest(device_id: 'str', certificate_pem: 'str', region: 'Optional[ScwRegion]')

Bases: object

certificate_pem: str

PEM-encoded custom certificate.

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.SetDeviceCertificateResponse(certificate_pem: 'str', device: 'Optional[Device]')

Bases: object

certificate_pem: str
device: Optional[Device]
class scaleway_async.iot.v1.types.SetHubCARequest(hub_id: 'str', ca_cert_pem: 'str', challenge_cert_pem: 'str', region: 'Optional[ScwRegion]')

Bases: object

ca_cert_pem: str

CA’s PEM-encoded certificate.

challenge_cert_pem: str

Challenge is a PEM-encoded certificate that acts as proof of possession of the CA. It must be signed by the CA, and have a Common Name equal to the Hub ID.

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.TwinDocument(twin_id: 'str', document_name: 'str', version: 'int', data: 'Optional[Dict[str, Any]]')

Bases: object

data: Optional[Dict[str, Any]]

New data related to the document.

document_name: str

Name of the document.

twin_id: str

Parent twin ID of the document.

version: int

New version of the document.

class scaleway_async.iot.v1.types.UpdateDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]', description: 'Optional[str]', allow_insecure: 'Optional[bool]', allow_multiple_connections: 'Optional[bool]', message_filters: 'Optional[DeviceMessageFilters]', hub_id: 'Optional[str]')

Bases: object

allow_insecure: Optional[bool]

Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones.

allow_multiple_connections: Optional[bool]

Defines whether to allow multiple physical devices to connect with this device’s credentials.

description: Optional[str]

Description for the device.

device_id: str

Device ID.

hub_id: Optional[str]

Change Hub for this device, additional fees may apply, see IoT Hub pricing.

message_filters: Optional[DeviceMessageFilters]

Filter-sets to restrict the topics the device can publish/subscribe to.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.types.UpdateHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]', product_plan: 'Optional[HubProductPlan]', disable_events: 'Optional[bool]', events_topic_prefix: 'Optional[str]', enable_device_auto_provisioning: 'Optional[bool]', twins_graphite_config: 'Optional[HubTwinsGraphiteConfig]')

Bases: object

disable_events: Optional[bool]

Disable Hub events.

enable_device_auto_provisioning: Optional[bool]

Enable device auto provisioning.

events_topic_prefix: Optional[str]

Topic prefix of Hub events.

hub_id: str

ID of the Hub you want to update.

name: Optional[str]

Hub name (up to 255 characters).

product_plan: Optional[HubProductPlan]

Hub product plan.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twins_graphite_config: Optional[HubTwinsGraphiteConfig]
class scaleway_async.iot.v1.types.UpdateRouteRequest(route_id: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]', topic: 'Optional[str]', s3_config: 'Optional[UpdateRouteRequestS3Config]', db_config: 'Optional[UpdateRouteRequestDatabaseConfig]', rest_config: 'Optional[UpdateRouteRequestRestConfig]')

Bases: object

db_config: Optional[UpdateRouteRequestDatabaseConfig]
name: Optional[str]

Route name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

rest_config: Optional[UpdateRouteRequestRestConfig]
route_id: str

Route id.

s3_config: Optional[UpdateRouteRequestS3Config]
topic: Optional[str]

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

class scaleway_async.iot.v1.types.UpdateRouteRequestDatabaseConfig(engine: 'RouteDatabaseConfigEngine', host: 'Optional[str]', port: 'Optional[int]', dbname: 'Optional[str]', username: 'Optional[str]', password: 'Optional[str]', query: 'Optional[str]')

Bases: object

dbname: Optional[str]
engine: RouteDatabaseConfigEngine
host: Optional[str]
password: Optional[str]
port: Optional[int]
query: Optional[str]
username: Optional[str]
class scaleway_async.iot.v1.types.UpdateRouteRequestRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'Optional[str]', headers: 'Optional[Dict[str, str]]')

Bases: object

headers: Optional[Dict[str, str]]
uri: Optional[str]
verb: RouteRestConfigHttpVerb
class scaleway_async.iot.v1.types.UpdateRouteRequestS3Config(strategy: 'RouteS3ConfigS3Strategy', bucket_region: 'Optional[str]', bucket_name: 'Optional[str]', object_prefix: 'Optional[str]')

Bases: object

bucket_name: Optional[str]
bucket_region: Optional[str]
object_prefix: Optional[str]
strategy: RouteS3ConfigS3Strategy

Module contents

class scaleway_async.iot.v1.Certificate(crt: 'str', key: 'str')

Bases: object

crt: str
key: str
class scaleway_async.iot.v1.CreateDeviceRequest(hub_id: 'str', allow_insecure: 'bool', allow_multiple_connections: 'bool', region: 'Optional[ScwRegion]', name: 'Optional[str]', message_filters: 'Optional[DeviceMessageFilters]', description: 'Optional[str]')

Bases: object

allow_insecure: bool

Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones.

allow_multiple_connections: bool

Defines whether to allow multiple physical devices to connect with this device’s credentials.

description: Optional[str]

Device description.

hub_id: str

Hub ID of the device.

message_filters: Optional[DeviceMessageFilters]

Filter-sets to authorize or deny the device to publish/subscribe to specific topics.

name: Optional[str]

Device name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.CreateDeviceResponse(device: 'Optional[Device]', certificate: 'Optional[Certificate]')

Bases: object

certificate: Optional[Certificate]

Device certificate.

device: Optional[Device]

Information related to the created device.

class scaleway_async.iot.v1.CreateHubRequest(product_plan: 'HubProductPlan', region: 'Optional[ScwRegion]', name: 'Optional[str]', project_id: 'Optional[str]', disable_events: 'Optional[bool]', events_topic_prefix: 'Optional[str]', twins_graphite_config: 'Optional[HubTwinsGraphiteConfig]')

Bases: object

disable_events: Optional[bool]

Disable Hub events.

events_topic_prefix: Optional[str]

Topic prefix (default ‘$SCW/events’) of Hub events.

name: Optional[str]

Hub name (up to 255 characters).

product_plan: HubProductPlan

Hub product plan.

project_id: Optional[str]

Project/Organization ID to filter for, only Hubs from this Project/Organization will be returned.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twins_graphite_config: Optional[HubTwinsGraphiteConfig]
class scaleway_async.iot.v1.CreateNetworkRequest(type_: 'NetworkNetworkType', hub_id: 'str', topic_prefix: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]')

Bases: object

hub_id: str

Hub ID to connect the Network to.

name: Optional[str]

Network name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

topic_prefix: str

Topic prefix for the Network.

type_: NetworkNetworkType

Type of network to connect with.

class scaleway_async.iot.v1.CreateNetworkResponse(secret: 'str', network: 'Optional[Network]')

Bases: object

network: Optional[Network]

Information related to the created network.

secret: str

Endpoint Key to keep secret. This cannot be retrieved later.

class scaleway_async.iot.v1.CreateRouteRequest(hub_id: 'str', topic: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]', s3_config: 'Optional[CreateRouteRequestS3Config]', db_config: 'Optional[CreateRouteRequestDatabaseConfig]', rest_config: 'Optional[CreateRouteRequestRestConfig]')

Bases: object

db_config: Optional[CreateRouteRequestDatabaseConfig]
hub_id: str

Hub ID of the route.

name: Optional[str]

Route name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

rest_config: Optional[CreateRouteRequestRestConfig]
s3_config: Optional[CreateRouteRequestS3Config]
topic: str

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

class scaleway_async.iot.v1.CreateRouteRequestDatabaseConfig(host: 'str', port: 'int', dbname: 'str', username: 'str', password: 'str', query: 'str', engine: 'RouteDatabaseConfigEngine')

Bases: object

dbname: str
engine: RouteDatabaseConfigEngine
host: str
password: str
port: int
query: str
username: str
class scaleway_async.iot.v1.CreateRouteRequestRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'str', headers: 'Dict[str, str]')

Bases: object

headers: Dict[str, str]
uri: str
verb: RouteRestConfigHttpVerb
class scaleway_async.iot.v1.CreateRouteRequestS3Config(bucket_region: 'str', bucket_name: 'str', object_prefix: 'str', strategy: 'RouteS3ConfigS3Strategy')

Bases: object

bucket_name: str
bucket_region: str
object_prefix: str
strategy: RouteS3ConfigS3Strategy
class scaleway_async.iot.v1.DeleteDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.DeleteHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]', delete_devices: 'Optional[bool]')

Bases: object

delete_devices: Optional[bool]

Defines whether to force the deletion of devices added to this Hub or reject the operation.

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.DeleteNetworkRequest(network_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

network_id: str

Network ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.DeleteRouteRequest(route_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

route_id: str

Route ID.

class scaleway_async.iot.v1.DeleteTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]')

Bases: object

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.DeleteTwinDocumentsRequest(twin_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.Device(id: 'str', name: 'str', description: 'str', status: 'DeviceStatus', hub_id: 'str', last_activity_at: 'Optional[datetime]', is_connected: 'bool', allow_insecure: 'bool', allow_multiple_connections: 'bool', has_custom_certificate: 'bool', message_filters: 'Optional[DeviceMessageFilters]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

allow_insecure: bool

Defines whether to allow the device to connect to the Hub without TLS mutual authentication.

allow_multiple_connections: bool

Defines whether to allow multiple physical devices to connect to the Hub with this device’s credentials.

created_at: Optional[datetime]

Date at which the device was added.

description: str

Device description.

has_custom_certificate: bool

Assigning a custom certificate allows a device to authenticate using that specific certificate without checking the Hub’s CA certificate.

hub_id: str

Hub ID.

id: str

Device ID, also used as MQTT Client ID or username.

is_connected: bool

Defines whether the device is connected to the Hub.

last_activity_at: Optional[datetime]

Last connection/activity date of a device.

message_filters: Optional[DeviceMessageFilters]

Filter-sets to restrict the topics the device can publish/subscribe to.

name: str

Device name.

status: DeviceStatus

Device status.

updated_at: Optional[datetime]

Date at which the device was last modified.

class scaleway_async.iot.v1.DeviceMessageFilters(publish: 'Optional[DeviceMessageFiltersRule]', subscribe: 'Optional[DeviceMessageFiltersRule]')

Bases: object

publish: Optional[DeviceMessageFiltersRule]

Filtering rule to restrict topics the device can publish to.

subscribe: Optional[DeviceMessageFiltersRule]

Filtering rule to restrict topics the device can subscribe to.

class scaleway_async.iot.v1.DeviceMessageFiltersRule(policy: 'DeviceMessageFiltersRulePolicy', topics: 'Optional[List[str]]')

Bases: object

policy: DeviceMessageFiltersRulePolicy

If set to accept, all topics in the topics list will be allowed, with all other topics being denied.

If set to reject, all topics in the topics list will be denied, with all other topics being allowed.

topics: Optional[List[str]]

List of topics to accept or reject. It must be valid MQTT topics and up to 65535 characters.

class scaleway_async.iot.v1.DeviceMessageFiltersRulePolicy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

ACCEPT = 'accept'
REJECT = 'reject'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.DeviceStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DISABLED = 'disabled'
ENABLED = 'enabled'
ERROR = 'error'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.DisableDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.DisableHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.EnableDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.EnableHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.GetDeviceCertificateRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.GetDeviceCertificateResponse(certificate_pem: 'str', device: 'Optional[Device]')

Bases: object

certificate_pem: str

Device certificate.

device: Optional[Device]

Information related to the created device.

class scaleway_async.iot.v1.GetDeviceMetricsRequest(device_id: 'str', region: 'Optional[ScwRegion]', start_date: 'Optional[datetime]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

start_date: Optional[datetime]

Start date used to compute the best scale for the returned metrics.

class scaleway_async.iot.v1.GetDeviceMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a device over the requested period.

class scaleway_async.iot.v1.GetDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.GetHubCARequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str
region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.GetHubCAResponse(ca_cert_pem: 'str')

Bases: object

ca_cert_pem: str
class scaleway_async.iot.v1.GetHubMetricsRequest(hub_id: 'str', region: 'Optional[ScwRegion]', start_date: 'Optional[datetime]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

start_date: Optional[datetime]

Start date used to compute the best scale for returned metrics.

class scaleway_async.iot.v1.GetHubMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a Hub over the requested period.

class scaleway_async.iot.v1.GetHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.GetNetworkRequest(network_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

network_id: str

Network ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.GetRouteRequest(route_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

route_id: str

Route ID.

class scaleway_async.iot.v1.GetTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]')

Bases: object

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.Hub(id: 'str', name: 'str', status: 'HubStatus', product_plan: 'HubProductPlan', enabled: 'bool', device_count: 'int', connected_device_count: 'int', endpoint: 'str', disable_events: 'bool', events_topic_prefix: 'str', region: 'ScwRegion', project_id: 'str', organization_id: 'str', enable_device_auto_provisioning: 'bool', has_custom_ca: 'bool', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', twins_graphite_config: 'Optional[HubTwinsGraphiteConfig]')

Bases: object

connected_device_count: int

Number of currently connected devices.

created_at: Optional[datetime]

Hub creation date.

device_count: int

Number of registered devices.

disable_events: bool

Defines whether to disable Hub events.

enable_device_auto_provisioning: bool

When an unknown device connects to your hub using a valid certificate chain, it will be automatically provisioned inside your Hub. The Hub uses the common name of the device certifcate to find out if a device with the same name already exists. This setting can only be enabled on a hub with a custom certificate authority.

enabled: bool

Defines whether the hub has been enabled.

endpoint: str

Devices should be connected to this host. Port may be 1883 (MQTT), 8883 (MQTT over TLS), 80 (MQTT over Websocket) or 443 (MQTT over Websocket over TLS).

events_topic_prefix: str

Hub events topic prefix.

has_custom_ca: bool

Flag is automatically set to false after Hub creation, as Hub certificates are managed by Scaleway. Once a custom certificate authority is set, the flag will be set to true.

id: str

Hub ID.

name: str

Hub name.

organization_id: str

Organization owning the resource.

product_plan: HubProductPlan

Hub feature set.

project_id: str

Project owning the resource.

region: str

Region of the Hub.

status: HubStatus

Current status of the Hub.

twins_graphite_config: Optional[HubTwinsGraphiteConfig]
updated_at: Optional[datetime]

Hub last modification date.

class scaleway_async.iot.v1.HubProductPlan(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

PLAN_DEDICATED = 'plan_dedicated'
PLAN_HA = 'plan_ha'
PLAN_SHARED = 'plan_shared'
PLAN_UNKNOWN = 'plan_unknown'
class scaleway_async.iot.v1.HubStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DISABLED = 'disabled'
DISABLING = 'disabling'
ENABLING = 'enabling'
ERROR = 'error'
READY = 'ready'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.HubTwinsGraphiteConfig(push_uri: 'str')

Bases: object

push_uri: str
class scaleway_async.iot.v1.IotV1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your IoT hubs and devices.

async create_device(*, hub_id: str, allow_insecure: bool, allow_multiple_connections: bool, region: Optional[str] = None, name: Optional[str] = None, message_filters: Optional[DeviceMessageFilters] = None, description: Optional[str] = None) CreateDeviceResponse

Add a device. Attach a device to a given Hub. :param hub_id: Hub ID of the device. :param allow_insecure: Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones. :param allow_multiple_connections: Defines whether to allow multiple physical devices to connect with this device’s credentials. :param region: Region to target. If none is passed will use default region from the config. :param name: Device name. :param message_filters: Filter-sets to authorize or deny the device to publish/subscribe to specific topics. :param description: Device description. :return: CreateDeviceResponse

Usage:

result = await api.create_device(
    hub_id="example",
    allow_insecure=False,
    allow_multiple_connections=False,
)
async create_hub(*, product_plan: HubProductPlan, region: Optional[str] = None, name: Optional[str] = None, project_id: Optional[str] = None, disable_events: Optional[bool] = None, events_topic_prefix: Optional[str] = None, twins_graphite_config: Optional[HubTwinsGraphiteConfig] = None) Hub

Create a hub. Create a new Hub in the targeted region, specifying its configuration including name and product plan. :param product_plan: Hub product plan. :param region: Region to target. If none is passed will use default region from the config. :param name: Hub name (up to 255 characters). :param project_id: Project/Organization ID to filter for, only Hubs from this Project/Organization will be returned. :param disable_events: Disable Hub events. :param events_topic_prefix: Topic prefix (default ‘$SCW/events’) of Hub events. :param twins_graphite_config: BETA - not implemented yet. One-Of (‘twins_db_config’): at most one of ‘twins_graphite_config’ could be set. :return: Hub

Usage:

result = await api.create_hub(
    product_plan=plan_shared,
)
async create_network(*, type_: NetworkNetworkType, hub_id: str, topic_prefix: str, region: Optional[str] = None, name: Optional[str] = None) CreateNetworkResponse

Create a new network. Create a new network for an existing hub. Beside the default network, you can add networks for different data providers. Possible network types are Sigfox and REST. :param type_: Type of network to connect with. :param hub_id: Hub ID to connect the Network to. :param topic_prefix: Topic prefix for the Network. :param region: Region to target. If none is passed will use default region from the config. :param name: Network name. :return: CreateNetworkResponse

Usage:

result = await api.create_network(
    type=NetworkNetworkType.unknown,
    hub_id="example",
    topic_prefix="example",
)
async create_route(*, hub_id: str, topic: str, region: Optional[str] = None, name: Optional[str] = None, s3_config: Optional[CreateRouteRequestS3Config] = None, db_config: Optional[CreateRouteRequestDatabaseConfig] = None, rest_config: Optional[CreateRouteRequestRestConfig] = None) Route

Create a route. Multiple kinds of routes can be created, such as: - Database Route

Create a route that will record subscribed MQTT messages into your database. <b>You need to manage the database by yourself</b>.

  • REST Route. Create a route that will call a REST API on received subscribed MQTT messages.

  • Amazon S3 Routes. Create a route that will put subscribed MQTT messages into an Object Storage bucket. You need to create the bucket yourself and grant write access. Granting can be done with s3cmd (s3cmd setacl s3://<my-bucket> –acl-grant=write:555c69c3-87d0-4bf8-80f1-99a2f757d031:555c69c3-87d0-4bf8-80f1-99a2f757d031).

Parameters:
  • hub_id – Hub ID of the route.

  • topic – Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

  • region – Region to target. If none is passed will use default region from the config.

  • name – Route name.

  • s3_config – If creating Amazon S3 Routes, Amazon S3-specific configuration fields.

One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param db_config: If creating Database Route, DB-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param rest_config: If creating Rest Route, Rest-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :return: Route

Usage:

result = await api.create_route(
    hub_id="example",
    topic="example",
)
async delete_device(*, device_id: str, region: Optional[str] = None) None

Remove a device. Remove a specific device from the specific Hub it is attached to. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_device(
    device_id="example",
)
async delete_hub(*, hub_id: str, region: Optional[str] = None, delete_devices: Optional[bool] = None) None

Delete a hub. Delete an existing IoT Hub, specified by its Hub ID. Deleting a Hub is permanent, and cannot be undone. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :param delete_devices: Defines whether to force the deletion of devices added to this Hub or reject the operation.

Usage:

result = await api.delete_hub(
    hub_id="example",
)
async delete_network(*, network_id: str, region: Optional[str] = None) None

Delete a Network. Delete an existing network, specified by its network ID. Deleting a network is permanent, and cannot be undone. :param network_id: Network ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_network(
    network_id="example",
)
async delete_route(*, route_id: str, region: Optional[str] = None) None

Delete a route. Delete an existing route, specified by its route ID. Deleting a route is permanent, and cannot be undone. :param route_id: Route ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_route(
    route_id="example",
)
async delete_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None) None

BETA - Delete a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_twin_document(
    twin_id="example",
    document_name="example",
)
async delete_twin_documents(*, twin_id: str, region: Optional[str] = None) None

BETA - Delete all the documents of a Cloud Twin. :param twin_id: Twin ID. :param region: Region to target. If none is passed will use default region from the config.

Usage:

result = await api.delete_twin_documents(
    twin_id="example",
)
async disable_device(*, device_id: str, region: Optional[str] = None) Device

Disable a device. Disable an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: Device

Usage:

result = await api.disable_device(
    device_id="example",
)
async disable_hub(*, hub_id: str, region: Optional[str] = None) Hub

Disable a hub. Disable an existing IoT Hub, specified by its Hub ID. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.disable_hub(
    hub_id="example",
)
async enable_device(*, device_id: str, region: Optional[str] = None) Device

Enable a device. Enable a specific device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: Device

Usage:

result = await api.enable_device(
    device_id="example",
)
async enable_hub(*, hub_id: str, region: Optional[str] = None) Hub

Enable a hub. Enable an existing IoT Hub, specified by its Hub ID. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.enable_hub(
    hub_id="example",
)
async get_device(*, device_id: str, region: Optional[str] = None) Device

Get a device. Retrieve information about an existing device, specified by its device ID. Its full details, including name, status and ID, are returned in the response object. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: Device

Usage:

result = await api.get_device(
    device_id="example",
)
async get_device_certificate(*, device_id: str, region: Optional[str] = None) GetDeviceCertificateResponse

Get a device’s certificate. Get information for a particular PEM-encoded certificate, specified by the device ID. The response returns full details of the device, including its type of certificate. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: GetDeviceCertificateResponse

Usage:

result = await api.get_device_certificate(
    device_id="example",
)
async get_device_metrics(*, device_id: str, region: Optional[str] = None, start_date: Optional[datetime] = None) GetDeviceMetricsResponse

Get a device’s metrics. Get the metrics of an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :param start_date: Start date used to compute the best scale for the returned metrics. :return: GetDeviceMetricsResponse :deprecated

Usage:

result = await api.get_device_metrics(
    device_id="example",
)
async get_hub(*, hub_id: str, region: Optional[str] = None) Hub

Get a hub. Retrieve information about an existing IoT Hub, specified by its Hub ID. Its full details, including name, status and endpoint, are returned in the response object. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.get_hub(
    hub_id="example",
)
async get_hub_ca(*, hub_id: str, region: Optional[str] = None) GetHubCAResponse

Get the certificate authority of a hub. Get information for a particular PEM-encoded certificate, specified by the Hub ID. :param hub_id: :param region: Region to target. If none is passed will use default region from the config. :return: GetHubCAResponse

Usage:

result = await api.get_hub_ca(
    hub_id="example",
)
async get_hub_metrics(*, hub_id: str, region: Optional[str] = None, start_date: Optional[datetime] = None) GetHubMetricsResponse

Get a hub’s metrics. Get the metrics of an existing IoT Hub, specified by its Hub ID. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :param start_date: Start date used to compute the best scale for returned metrics. :return: GetHubMetricsResponse :deprecated

Usage:

result = await api.get_hub_metrics(
    hub_id="example",
)
async get_network(*, network_id: str, region: Optional[str] = None) Network

Retrieve a specific network. Retrieve an existing network, specified by its network ID. The response returns full details of the network, including its type, the topic prefix and its endpoint. :param network_id: Network ID. :param region: Region to target. If none is passed will use default region from the config. :return: Network

Usage:

result = await api.get_network(
    network_id="example",
)
async get_route(*, route_id: str, region: Optional[str] = None) Route

Get a route. Get information for a particular route, specified by the route ID. The response returns full details of the route, including its type, the topic it subscribes to and its configuration. :param route_id: Route ID. :param region: Region to target. If none is passed will use default region from the config. :return: Route

Usage:

result = await api.get_route(
    route_id="example",
)
async get_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None) TwinDocument

BETA - Get a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config. :return: TwinDocument

Usage:

result = await api.get_twin_document(
    twin_id="example",
    document_name="example",
)
async list_devices(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListDevicesRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, allow_insecure: Optional[bool] = None, status: Optional[DeviceStatus] = None) ListDevicesResponse

List devices. List all devices in the specified region. By default, returned devices are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of devices to return within a page. Maximum value is 100. :param order_by: Ordering of requested devices. :param name: Name to filter for, only devices with this name will be returned. :param hub_id: Hub ID to filter for, only devices attached to this Hub will be returned. :param allow_insecure: Defines wheter to filter the allow_insecure flag. :param status: Device status (enabled, disabled, etc.). :return: ListDevicesResponse

Usage:

result = await api.list_devices()
async list_devices_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListDevicesRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, allow_insecure: Optional[bool] = None, status: Optional[DeviceStatus] = None) List[Device]

List devices. List all devices in the specified region. By default, returned devices are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of devices to return within a page. Maximum value is 100. :param order_by: Ordering of requested devices. :param name: Name to filter for, only devices with this name will be returned. :param hub_id: Hub ID to filter for, only devices attached to this Hub will be returned. :param allow_insecure: Defines wheter to filter the allow_insecure flag. :param status: Device status (enabled, disabled, etc.). :return: List[Device]

Usage:

result = await api.list_devices_all()
async list_hubs(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListHubsRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, name: Optional[str] = None) ListHubsResponse

List hubs. List all Hubs in the specified zone. By default, returned Hubs are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of Hubs to return within a page. Maximum value is 100. :param order_by: Sort order of Hubs in the response. :param project_id: Only list Hubs of this Project ID. :param organization_id: Only list Hubs of this Organization ID. :param name: Hub name. :return: ListHubsResponse

Usage:

result = await api.list_hubs()
async list_hubs_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListHubsRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, name: Optional[str] = None) List[Hub]

List hubs. List all Hubs in the specified zone. By default, returned Hubs are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of Hubs to return within a page. Maximum value is 100. :param order_by: Sort order of Hubs in the response. :param project_id: Only list Hubs of this Project ID. :param organization_id: Only list Hubs of this Organization ID. :param name: Hub name. :return: List[Hub]

Usage:

result = await api.list_hubs_all()
async list_networks(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNetworksRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, topic_prefix: Optional[str] = None) ListNetworksResponse

List the networks. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of networks to return. The maximum value is 100. :param order_by: Ordering of requested routes. :param name: Network name to filter for. :param hub_id: Hub ID to filter for. :param topic_prefix: Topic prefix to filter for. :return: ListNetworksResponse

Usage:

result = await api.list_networks()
async list_networks_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListNetworksRequestOrderBy] = None, name: Optional[str] = None, hub_id: Optional[str] = None, topic_prefix: Optional[str] = None) List[Network]

List the networks. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of networks to return. The maximum value is 100. :param order_by: Ordering of requested routes. :param name: Network name to filter for. :param hub_id: Hub ID to filter for. :param topic_prefix: Topic prefix to filter for. :return: List[Network]

Usage:

result = await api.list_networks_all()
async list_routes(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListRoutesRequestOrderBy] = None, hub_id: Optional[str] = None, name: Optional[str] = None) ListRoutesResponse

List routes. List all routes in the specified region. By default, returned routes are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of routes to return within a page. Maximum value is 100. :param order_by: Ordering of requested routes. :param hub_id: Hub ID to filter for. :param name: Route name to filter for. :return: ListRoutesResponse

Usage:

result = await api.list_routes()
async list_routes_all(*, region: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, order_by: Optional[ListRoutesRequestOrderBy] = None, hub_id: Optional[str] = None, name: Optional[str] = None) List[RouteSummary]

List routes. List all routes in the specified region. By default, returned routes are ordered by creation date in ascending order, though this can be modified via the order_by field. :param region: Region to target. If none is passed will use default region from the config. :param page: Page number to return, from the paginated results. :param page_size: Number of routes to return within a page. Maximum value is 100. :param order_by: Ordering of requested routes. :param hub_id: Hub ID to filter for. :param name: Route name to filter for. :return: List[RouteSummary]

Usage:

result = await api.list_routes_all()
async list_twin_documents(*, twin_id: str, region: Optional[str] = None) ListTwinDocumentsResponse

BETA - List the documents of a Cloud Twin. :param twin_id: Twin ID. :param region: Region to target. If none is passed will use default region from the config. :return: ListTwinDocumentsResponse

Usage:

result = await api.list_twin_documents(
    twin_id="example",
)
async patch_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None, version: Optional[int] = None, data: Optional[Dict[str, Any]] = None) TwinDocument

BETA - Patch a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config. :param version: If set, ensures that the current version of the document matches before persisting the update. :param data: A json data that will be applied on the document’s current data. Patching rules: * The patch goes recursively through the patch objects. * If the patch object property is null, it is removed from the final object. * If the patch object property is a value (number, strings, bool, arrays), it is replaced. * If the patch object property is an object, the previous rules will be applied recursively on it. :return: TwinDocument

Usage:

result = await api.patch_twin_document(
    twin_id="example",
    document_name="example",
)
async put_twin_document(*, twin_id: str, document_name: str, region: Optional[str] = None, version: Optional[int] = None, data: Optional[Dict[str, Any]] = None) TwinDocument

BETA - Update a Cloud Twin Document. :param twin_id: Twin ID. :param document_name: Name of the document. :param region: Region to target. If none is passed will use default region from the config. :param version: If set, ensures that the current version of the document matches before persisting the update. :param data: New data that will replace the contents of the document. :return: TwinDocument

Usage:

result = await api.put_twin_document(
    twin_id="example",
    document_name="example",
)
async renew_device_certificate(*, device_id: str, region: Optional[str] = None) RenewDeviceCertificateResponse

Renew a device certificate. Renew the certificate of an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :return: RenewDeviceCertificateResponse

Usage:

result = await api.renew_device_certificate(
    device_id="example",
)
async set_device_certificate(*, device_id: str, certificate_pem: str, region: Optional[str] = None) SetDeviceCertificateResponse

Set a custom certificate on a device. Switch the existing certificate of a given device with an EM-encoded custom certificate. :param device_id: Device ID. :param certificate_pem: PEM-encoded custom certificate. :param region: Region to target. If none is passed will use default region from the config. :return: SetDeviceCertificateResponse

Usage:

result = await api.set_device_certificate(
    device_id="example",
    certificate_pem="example",
)
async set_hub_ca(*, hub_id: str, ca_cert_pem: str, challenge_cert_pem: str, region: Optional[str] = None) Hub

Set the certificate authority of a hub. Set a particular PEM-encoded certificate, specified by the Hub ID. :param hub_id: Hub ID. :param ca_cert_pem: CA’s PEM-encoded certificate. :param challenge_cert_pem: Challenge is a PEM-encoded certificate that acts as proof of possession of the CA. It must be signed by the CA, and have a Common Name equal to the Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.set_hub_ca(
    hub_id="example",
    ca_cert_pem="example",
    challenge_cert_pem="example",
)
async update_device(*, device_id: str, region: Optional[str] = None, description: Optional[str] = None, allow_insecure: Optional[bool] = None, allow_multiple_connections: Optional[bool] = None, message_filters: Optional[DeviceMessageFilters] = None, hub_id: Optional[str] = None) Device

Update a device. Update the parameters of an existing device, specified by its device ID. :param device_id: Device ID. :param region: Region to target. If none is passed will use default region from the config. :param description: Description for the device. :param allow_insecure: Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones. :param allow_multiple_connections: Defines whether to allow multiple physical devices to connect with this device’s credentials. :param message_filters: Filter-sets to restrict the topics the device can publish/subscribe to. :param hub_id: Change Hub for this device, additional fees may apply, see IoT Hub pricing. :return: Device

Usage:

result = await api.update_device(
    device_id="example",
)
async update_hub(*, hub_id: str, region: Optional[str] = None, name: Optional[str] = None, product_plan: Optional[HubProductPlan] = None, disable_events: Optional[bool] = None, events_topic_prefix: Optional[str] = None, enable_device_auto_provisioning: Optional[bool] = None, twins_graphite_config: Optional[HubTwinsGraphiteConfig] = None) Hub

Update a hub. Update the parameters of an existing IoT Hub, specified by its Hub ID. :param hub_id: ID of the Hub you want to update. :param region: Region to target. If none is passed will use default region from the config. :param name: Hub name (up to 255 characters). :param product_plan: Hub product plan. :param disable_events: Disable Hub events. :param events_topic_prefix: Topic prefix of Hub events. :param enable_device_auto_provisioning: Enable device auto provisioning. :param twins_graphite_config: BETA - not implemented yet. One-Of (‘twins_db_config’): at most one of ‘twins_graphite_config’ could be set. :return: Hub

Usage:

result = await api.update_hub(
    hub_id="example",
)
async update_route(*, route_id: str, region: Optional[str] = None, name: Optional[str] = None, topic: Optional[str] = None, s3_config: Optional[UpdateRouteRequestS3Config] = None, db_config: Optional[UpdateRouteRequestDatabaseConfig] = None, rest_config: Optional[UpdateRouteRequestRestConfig] = None) Route

Update a route. Update the parameters of an existing route, specified by its route ID. :param route_id: Route id. :param region: Region to target. If none is passed will use default region from the config. :param name: Route name. :param topic: Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters. :param s3_config: When updating Amazon S3 Route, Amazon S3-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param db_config: When updating Database Route, DB-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :param rest_config: When updating Rest Route, Rest-specific configuration fields. One-Of (‘config’): at most one of ‘s3_config’, ‘db_config’, ‘rest_config’ could be set. :return: Route

Usage:

result = await api.update_route(
    route_id="example",
)
async wait_for_hub(*, hub_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Hub, Union[bool, Awaitable[bool]]]] = None) Hub

Get a hub. Retrieve information about an existing IoT Hub, specified by its Hub ID. Its full details, including name, status and endpoint, are returned in the response object. :param hub_id: Hub ID. :param region: Region to target. If none is passed will use default region from the config. :return: Hub

Usage:

result = await api.get_hub(
    hub_id="example",
)
class scaleway_async.iot.v1.ListDevicesRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListDevicesRequestOrderBy]', name: 'Optional[str]', hub_id: 'Optional[str]', allow_insecure: 'Optional[bool]', status: 'Optional[DeviceStatus]')

Bases: object

allow_insecure: Optional[bool]

Defines wheter to filter the allow_insecure flag.

hub_id: Optional[str]

Hub ID to filter for, only devices attached to this Hub will be returned.

name: Optional[str]

Name to filter for, only devices with this name will be returned.

order_by: Optional[ListDevicesRequestOrderBy]

Ordering of requested devices.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of devices to return within a page. Maximum value is 100.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

status: Optional[DeviceStatus]

Device status (enabled, disabled, etc.).

class scaleway_async.iot.v1.ListDevicesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

ALLOW_INSECURE_ASC = 'allow_insecure_asc'
ALLOW_INSECURE_DESC = 'allow_insecure_desc'
CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
HUB_ID_ASC = 'hub_id_asc'
HUB_ID_DESC = 'hub_id_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
STATUS_ASC = 'status_asc'
STATUS_DESC = 'status_desc'
UPDATED_AT_ASC = 'updated_at_asc'
UPDATED_AT_DESC = 'updated_at_desc'
class scaleway_async.iot.v1.ListDevicesResponse(total_count: 'int', devices: 'List[Device]')

Bases: object

devices: List[Device]

Page of devices.

total_count: int

Total number of devices.

class scaleway_async.iot.v1.ListHubsRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListHubsRequestOrderBy]', project_id: 'Optional[str]', organization_id: 'Optional[str]', name: 'Optional[str]')

Bases: object

name: Optional[str]

Hub name.

order_by: Optional[ListHubsRequestOrderBy]

Sort order of Hubs in the response.

organization_id: Optional[str]

Only list Hubs of this Organization ID.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of Hubs to return within a page. Maximum value is 100.

project_id: Optional[str]

Only list Hubs of this Project ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.ListHubsRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
PRODUCT_PLAN_ASC = 'product_plan_asc'
PRODUCT_PLAN_DESC = 'product_plan_desc'
STATUS_ASC = 'status_asc'
STATUS_DESC = 'status_desc'
UPDATED_AT_ASC = 'updated_at_asc'
UPDATED_AT_DESC = 'updated_at_desc'
class scaleway_async.iot.v1.ListHubsResponse(total_count: 'int', hubs: 'List[Hub]')

Bases: object

hubs: List[Hub]

A page of hubs.

total_count: int

Total number of Hubs.

class scaleway_async.iot.v1.ListNetworksRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListNetworksRequestOrderBy]', name: 'Optional[str]', hub_id: 'Optional[str]', topic_prefix: 'Optional[str]')

Bases: object

hub_id: Optional[str]

Hub ID to filter for.

name: Optional[str]

Network name to filter for.

order_by: Optional[ListNetworksRequestOrderBy]

Ordering of requested routes.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of networks to return. The maximum value is 100.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

topic_prefix: Optional[str]

Topic prefix to filter for.

class scaleway_async.iot.v1.ListNetworksRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
TYPE_ASC = 'type_asc'
TYPE_DESC = 'type_desc'
class scaleway_async.iot.v1.ListNetworksResponse(total_count: 'int', networks: 'List[Network]')

Bases: object

networks: List[Network]

Page of networks.

total_count: int

Total number of Networks.

class scaleway_async.iot.v1.ListRoutesRequest(region: 'Optional[ScwRegion]', page: 'Optional[int]', page_size: 'Optional[int]', order_by: 'Optional[ListRoutesRequestOrderBy]', hub_id: 'Optional[str]', name: 'Optional[str]')

Bases: object

hub_id: Optional[str]

Hub ID to filter for.

name: Optional[str]

Route name to filter for.

order_by: Optional[ListRoutesRequestOrderBy]

Ordering of requested routes.

page: Optional[int]

Page number to return, from the paginated results.

page_size: Optional[int]

Number of routes to return within a page. Maximum value is 100.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.ListRoutesRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
HUB_ID_ASC = 'hub_id_asc'
HUB_ID_DESC = 'hub_id_desc'
NAME_ASC = 'name_asc'
NAME_DESC = 'name_desc'
TYPE_ASC = 'type_asc'
TYPE_DESC = 'type_desc'
class scaleway_async.iot.v1.ListRoutesResponse(total_count: 'int', routes: 'List[RouteSummary]')

Bases: object

routes: List[RouteSummary]

Page of routes.

total_count: int

Total number of routes.

class scaleway_async.iot.v1.ListTwinDocumentsRequest(twin_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

class scaleway_async.iot.v1.ListTwinDocumentsResponse(documents: 'List[ListTwinDocumentsResponseDocumentSummary]')

Bases: object

documents: List[ListTwinDocumentsResponseDocumentSummary]

List of the twin document.

class scaleway_async.iot.v1.ListTwinDocumentsResponseDocumentSummary(document_name: 'str')

Bases: object

document_name: str

Name of the document.

class scaleway_async.iot.v1.Network(id: 'str', name: 'str', type_: 'NetworkNetworkType', endpoint: 'str', hub_id: 'str', topic_prefix: 'str', created_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date at which the network was created.

endpoint: str

Endpoint to use for interacting with the network.

hub_id: str

Hub ID to connect the Network to.

id: str

Network ID.

name: str

Network name.

topic_prefix: str

This prefix will be prepended to all topics for this Network.

type_: NetworkNetworkType

Type of network to connect with.

class scaleway_async.iot.v1.NetworkNetworkType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

REST = 'rest'
SIGFOX = 'sigfox'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.PatchTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]', version: 'Optional[int]', data: 'Optional[Dict[str, Any]]')

Bases: object

data: Optional[Dict[str, Any]]

A json data that will be applied on the document’s current data.

Patching rules: * The patch goes recursively through the patch objects. * If the patch object property is null, it is removed from the final object. * If the patch object property is a value (number, strings, bool, arrays), it is replaced. * If the patch object property is an object, the previous rules will be applied recursively on it.

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

version: Optional[int]

If set, ensures that the current version of the document matches before persisting the update.

class scaleway_async.iot.v1.PutTwinDocumentRequest(twin_id: 'str', document_name: 'str', region: 'Optional[ScwRegion]', version: 'Optional[int]', data: 'Optional[Dict[str, Any]]')

Bases: object

data: Optional[Dict[str, Any]]

New data that will replace the contents of the document.

document_name: str

Name of the document.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twin_id: str

Twin ID.

version: Optional[int]

If set, ensures that the current version of the document matches before persisting the update.

class scaleway_async.iot.v1.RenewDeviceCertificateRequest(device_id: 'str', region: 'Optional[ScwRegion]')

Bases: object

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.RenewDeviceCertificateResponse(device: 'Optional[Device]', certificate: 'Optional[Certificate]')

Bases: object

certificate: Optional[Certificate]

Device certificate.

device: Optional[Device]

Information related to the created device.

class scaleway_async.iot.v1.Route(id: 'str', name: 'str', hub_id: 'str', topic: 'str', type_: 'RouteRouteType', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', s3_config: 'Optional[RouteS3Config]', db_config: 'Optional[RouteDatabaseConfig]', rest_config: 'Optional[RouteRestConfig]')

Bases: object

created_at: Optional[datetime]

Date at which the route was created.

db_config: Optional[RouteDatabaseConfig]
hub_id: str

Hub ID of the route.

id: str

Route ID.

name: str

Route name.

rest_config: Optional[RouteRestConfig]
s3_config: Optional[RouteS3Config]
topic: str

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

type_: RouteRouteType

Route type.

updated_at: Optional[datetime]

Date at which the route was last updated.

class scaleway_async.iot.v1.RouteDatabaseConfig(engine: 'RouteDatabaseConfigEngine', host: 'str', port: 'int', dbname: 'str', username: 'str', password: 'str', query: 'str')

Bases: object

dbname: str

Database name.

engine: RouteDatabaseConfigEngine

Database engine the route will connect to. If not specified, the default database will be ‘PostgreSQL’.

host: str

Database host.

password: str

Database password.

port: int

Database port.

query: str

SQL query to be executed ($TOPIC and $PAYLOAD variables are available, see documentation).

username: str

Database username. Make sure this account can execute the provided query.

class scaleway_async.iot.v1.RouteDatabaseConfigEngine(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

MYSQL = 'mysql'
POSTGRESQL = 'postgresql'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.RouteRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'str', headers: 'Dict[str, str]')

Bases: object

headers: Dict[str, str]

HTTP call extra headers.

uri: str

URI of the REST endpoint.

verb: RouteRestConfigHttpVerb

HTTP verb used to call REST URI.

class scaleway_async.iot.v1.RouteRestConfigHttpVerb(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DELETE = 'delete'
GET = 'get'
PATCH = 'patch'
POST = 'post'
PUT = 'put'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.RouteRouteType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

DATABASE = 'database'
REST = 'rest'
S3 = 's3'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.RouteS3Config(bucket_region: 'str', bucket_name: 'str', object_prefix: 'str', strategy: 'RouteS3ConfigS3Strategy')

Bases: object

bucket_name: str

Destination bucket name of the Amazon S3 route.

bucket_region: str

Region of the Amazon S3 route’s destination bucket (e.g., ‘fr-par’).

object_prefix: str

Optional string to prefix object names with.

strategy: RouteS3ConfigS3Strategy

How the Amazon S3 route’s objects will be created: one per topic or one per message.

class scaleway_async.iot.v1.RouteS3ConfigS3Strategy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

PER_MESSAGE = 'per_message'
PER_TOPIC = 'per_topic'
UNKNOWN = 'unknown'
class scaleway_async.iot.v1.RouteSummary(id: 'str', name: 'str', hub_id: 'str', topic: 'str', type_: 'RouteRouteType', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date at which the route was created.

hub_id: str

Hub ID of the route.

id: str

Route ID.

name: str

Route name.

topic: str

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

type_: RouteRouteType

Route type.

updated_at: Optional[datetime]

Date at which the route was last updated.

class scaleway_async.iot.v1.SetDeviceCertificateRequest(device_id: 'str', certificate_pem: 'str', region: 'Optional[ScwRegion]')

Bases: object

certificate_pem: str

PEM-encoded custom certificate.

device_id: str

Device ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.SetDeviceCertificateResponse(certificate_pem: 'str', device: 'Optional[Device]')

Bases: object

certificate_pem: str
device: Optional[Device]
class scaleway_async.iot.v1.SetHubCARequest(hub_id: 'str', ca_cert_pem: 'str', challenge_cert_pem: 'str', region: 'Optional[ScwRegion]')

Bases: object

ca_cert_pem: str

CA’s PEM-encoded certificate.

challenge_cert_pem: str

Challenge is a PEM-encoded certificate that acts as proof of possession of the CA. It must be signed by the CA, and have a Common Name equal to the Hub ID.

hub_id: str

Hub ID.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.TwinDocument(twin_id: 'str', document_name: 'str', version: 'int', data: 'Optional[Dict[str, Any]]')

Bases: object

data: Optional[Dict[str, Any]]

New data related to the document.

document_name: str

Name of the document.

twin_id: str

Parent twin ID of the document.

version: int

New version of the document.

class scaleway_async.iot.v1.UpdateDeviceRequest(device_id: 'str', region: 'Optional[ScwRegion]', description: 'Optional[str]', allow_insecure: 'Optional[bool]', allow_multiple_connections: 'Optional[bool]', message_filters: 'Optional[DeviceMessageFilters]', hub_id: 'Optional[str]')

Bases: object

allow_insecure: Optional[bool]

Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones.

allow_multiple_connections: Optional[bool]

Defines whether to allow multiple physical devices to connect with this device’s credentials.

description: Optional[str]

Description for the device.

device_id: str

Device ID.

hub_id: Optional[str]

Change Hub for this device, additional fees may apply, see IoT Hub pricing.

message_filters: Optional[DeviceMessageFilters]

Filter-sets to restrict the topics the device can publish/subscribe to.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

class scaleway_async.iot.v1.UpdateHubRequest(hub_id: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]', product_plan: 'Optional[HubProductPlan]', disable_events: 'Optional[bool]', events_topic_prefix: 'Optional[str]', enable_device_auto_provisioning: 'Optional[bool]', twins_graphite_config: 'Optional[HubTwinsGraphiteConfig]')

Bases: object

disable_events: Optional[bool]

Disable Hub events.

enable_device_auto_provisioning: Optional[bool]

Enable device auto provisioning.

events_topic_prefix: Optional[str]

Topic prefix of Hub events.

hub_id: str

ID of the Hub you want to update.

name: Optional[str]

Hub name (up to 255 characters).

product_plan: Optional[HubProductPlan]

Hub product plan.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

twins_graphite_config: Optional[HubTwinsGraphiteConfig]
class scaleway_async.iot.v1.UpdateRouteRequest(route_id: 'str', region: 'Optional[ScwRegion]', name: 'Optional[str]', topic: 'Optional[str]', s3_config: 'Optional[UpdateRouteRequestS3Config]', db_config: 'Optional[UpdateRouteRequestDatabaseConfig]', rest_config: 'Optional[UpdateRouteRequestRestConfig]')

Bases: object

db_config: Optional[UpdateRouteRequestDatabaseConfig]
name: Optional[str]

Route name.

region: Optional[str]

Region to target. If none is passed will use default region from the config.

rest_config: Optional[UpdateRouteRequestRestConfig]
route_id: str

Route id.

s3_config: Optional[UpdateRouteRequestS3Config]
topic: Optional[str]

Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters.

class scaleway_async.iot.v1.UpdateRouteRequestDatabaseConfig(engine: 'RouteDatabaseConfigEngine', host: 'Optional[str]', port: 'Optional[int]', dbname: 'Optional[str]', username: 'Optional[str]', password: 'Optional[str]', query: 'Optional[str]')

Bases: object

dbname: Optional[str]
engine: RouteDatabaseConfigEngine
host: Optional[str]
password: Optional[str]
port: Optional[int]
query: Optional[str]
username: Optional[str]
class scaleway_async.iot.v1.UpdateRouteRequestRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'Optional[str]', headers: 'Optional[Dict[str, str]]')

Bases: object

headers: Optional[Dict[str, str]]
uri: Optional[str]
verb: RouteRestConfigHttpVerb
class scaleway_async.iot.v1.UpdateRouteRequestS3Config(strategy: 'RouteS3ConfigS3Strategy', bucket_region: 'Optional[str]', bucket_name: 'Optional[str]', object_prefix: 'Optional[str]')

Bases: object

bucket_name: Optional[str]
bucket_region: Optional[str]
object_prefix: Optional[str]
strategy: RouteS3ConfigS3Strategy