scaleway.iot.v1 package

Submodules

scaleway.iot.v1.api module

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

Bases: API

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

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 = api.create_device(
    hub_id="example",
    allow_insecure=False,
    allow_multiple_connections=False,
)
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 = api.create_hub(
    product_plan=plan_shared,
)
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 = api.create_network(
    type=NetworkNetworkType.unknown,
    hub_id="example",
    topic_prefix="example",
)
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 = api.create_route(
    hub_id="example",
    topic="example",
)
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 = api.delete_device(
    device_id="example",
)
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 = api.delete_hub(
    hub_id="example",
)
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 = api.delete_network(
    network_id="example",
)
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 = api.delete_route(
    route_id="example",
)
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 = api.delete_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.delete_twin_documents(
    twin_id="example",
)
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 = api.disable_device(
    device_id="example",
)
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 = api.disable_hub(
    hub_id="example",
)
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 = api.enable_device(
    device_id="example",
)
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 = api.enable_hub(
    hub_id="example",
)
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 = api.get_device(
    device_id="example",
)
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 = api.get_device_certificate(
    device_id="example",
)
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 = api.get_device_metrics(
    device_id="example",
)
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 = api.get_hub(
    hub_id="example",
)
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 = api.get_hub_ca(
    hub_id="example",
)
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 = api.get_hub_metrics(
    hub_id="example",
)
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 = api.get_network(
    network_id="example",
)
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 = api.get_route(
    route_id="example",
)
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 = api.get_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.list_devices()
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 = api.list_devices_all()
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 = api.list_hubs()
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 = api.list_hubs_all()
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 = api.list_networks()
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 = api.list_networks_all()
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 = api.list_routes()
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 = api.list_routes_all()
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 = api.list_twin_documents(
    twin_id="example",
)
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 = api.patch_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.put_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.renew_device_certificate(
    device_id="example",
)
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 = api.set_device_certificate(
    device_id="example",
    certificate_pem="example",
)
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 = api.set_hub_ca(
    hub_id="example",
    ca_cert_pem="example",
    challenge_cert_pem="example",
)
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 = api.update_device(
    device_id="example",
)
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 = api.update_hub(
    hub_id="example",
)
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 = api.update_route(
    route_id="example",
)
wait_for_hub(*, hub_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Hub, 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 = api.get_hub(
    hub_id="example",
)

scaleway.iot.v1.content module

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

Lists transient statutes of the enum HubStatus.

scaleway.iot.v1.marshalling module

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

scaleway.iot.v1.types module

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

Bases: object

crt: str
key: str
class scaleway.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.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.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.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.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.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.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.iot.v1.types.CreateRouteRequestRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'str', headers: 'Dict[str, str]')

Bases: object

headers: Dict[str, str]
uri: str
verb: RouteRestConfigHttpVerb
class scaleway.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.iot.v1.types.GetDeviceMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a device over the requested period.

class scaleway.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.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.iot.v1.types.GetHubCAResponse(ca_cert_pem: 'str')

Bases: object

ca_cert_pem: str
class scaleway.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.iot.v1.types.GetHubMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a Hub over the requested period.

class scaleway.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.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.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.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.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.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.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.iot.v1.types.HubTwinsGraphiteConfig(push_uri: 'str')

Bases: object

push_uri: str
class scaleway.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.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.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.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.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.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.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.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.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.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.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.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.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.iot.v1.types.ListTwinDocumentsResponse(documents: 'List[ListTwinDocumentsResponseDocumentSummary]')

Bases: object

documents: List[ListTwinDocumentsResponseDocumentSummary]

List of the twin document.

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

Bases: object

document_name: str

Name of the document.

class scaleway.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.iot.v1.types.SetDeviceCertificateResponse(certificate_pem: 'str', device: 'Optional[Device]')

Bases: object

certificate_pem: str
device: Optional[Device]
class scaleway.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.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.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.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.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.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.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.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.iot.v1.Certificate(crt: 'str', key: 'str')

Bases: object

crt: str
key: str
class scaleway.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.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.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.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.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.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.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.iot.v1.CreateRouteRequestRestConfig(verb: 'RouteRestConfigHttpVerb', uri: 'str', headers: 'Dict[str, str]')

Bases: object

headers: Dict[str, str]
uri: str
verb: RouteRestConfigHttpVerb
class scaleway.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.iot.v1.GetDeviceMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a device over the requested period.

class scaleway.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.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.iot.v1.GetHubCAResponse(ca_cert_pem: 'str')

Bases: object

ca_cert_pem: str
class scaleway.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.iot.v1.GetHubMetricsResponse(metrics: 'List[TimeSeries]')

Bases: object

metrics: List[TimeSeries]

Metrics for a Hub over the requested period.

class scaleway.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.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.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.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.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.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.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.iot.v1.HubTwinsGraphiteConfig(push_uri: 'str')

Bases: object

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

Bases: API

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

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 = api.create_device(
    hub_id="example",
    allow_insecure=False,
    allow_multiple_connections=False,
)
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 = api.create_hub(
    product_plan=plan_shared,
)
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 = api.create_network(
    type=NetworkNetworkType.unknown,
    hub_id="example",
    topic_prefix="example",
)
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 = api.create_route(
    hub_id="example",
    topic="example",
)
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 = api.delete_device(
    device_id="example",
)
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 = api.delete_hub(
    hub_id="example",
)
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 = api.delete_network(
    network_id="example",
)
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 = api.delete_route(
    route_id="example",
)
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 = api.delete_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.delete_twin_documents(
    twin_id="example",
)
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 = api.disable_device(
    device_id="example",
)
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 = api.disable_hub(
    hub_id="example",
)
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 = api.enable_device(
    device_id="example",
)
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 = api.enable_hub(
    hub_id="example",
)
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 = api.get_device(
    device_id="example",
)
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 = api.get_device_certificate(
    device_id="example",
)
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 = api.get_device_metrics(
    device_id="example",
)
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 = api.get_hub(
    hub_id="example",
)
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 = api.get_hub_ca(
    hub_id="example",
)
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 = api.get_hub_metrics(
    hub_id="example",
)
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 = api.get_network(
    network_id="example",
)
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 = api.get_route(
    route_id="example",
)
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 = api.get_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.list_devices()
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 = api.list_devices_all()
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 = api.list_hubs()
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 = api.list_hubs_all()
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 = api.list_networks()
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 = api.list_networks_all()
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 = api.list_routes()
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 = api.list_routes_all()
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 = api.list_twin_documents(
    twin_id="example",
)
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 = api.patch_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.put_twin_document(
    twin_id="example",
    document_name="example",
)
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 = api.renew_device_certificate(
    device_id="example",
)
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 = api.set_device_certificate(
    device_id="example",
    certificate_pem="example",
)
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 = api.set_hub_ca(
    hub_id="example",
    ca_cert_pem="example",
    challenge_cert_pem="example",
)
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 = api.update_device(
    device_id="example",
)
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 = api.update_hub(
    hub_id="example",
)
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 = api.update_route(
    route_id="example",
)
wait_for_hub(*, hub_id: str, region: Optional[str] = None, options: Optional[WaitForOptions[Hub, 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 = api.get_hub(
    hub_id="example",
)
class scaleway.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.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.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.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.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.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.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.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.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.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.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.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.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.iot.v1.ListTwinDocumentsResponse(documents: 'List[ListTwinDocumentsResponseDocumentSummary]')

Bases: object

documents: List[ListTwinDocumentsResponseDocumentSummary]

List of the twin document.

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

Bases: object

document_name: str

Name of the document.

class scaleway.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.iot.v1.SetDeviceCertificateResponse(certificate_pem: 'str', device: 'Optional[Device]')

Bases: object

certificate_pem: str
device: Optional[Device]
class scaleway.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.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.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.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.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.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.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.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