1. Packages
  2. Scaleway
  3. API Docs
  4. IotDevice
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

scaleway.IotDevice

Explore with Pulumi AI

scaleway logo
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = new scaleway.IotHub("main", {
        name: "test-iot",
        productPlan: "plan_shared",
    });
    const mainIotDevice = new scaleway.IotDevice("main", {
        hubId: main.id,
        name: "test-iot",
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.IotHub("main",
        name="test-iot",
        product_plan="plan_shared")
    main_iot_device = scaleway.IotDevice("main",
        hub_id=main.id,
        name="test-iot")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := scaleway.NewIotHub(ctx, "main", &scaleway.IotHubArgs{
    			Name:        pulumi.String("test-iot"),
    			ProductPlan: pulumi.String("plan_shared"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewIotDevice(ctx, "main", &scaleway.IotDeviceArgs{
    			HubId: main.ID(),
    			Name:  pulumi.String("test-iot"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Scaleway.IotHub("main", new()
        {
            Name = "test-iot",
            ProductPlan = "plan_shared",
        });
    
        var mainIotDevice = new Scaleway.IotDevice("main", new()
        {
            HubId = main.Id,
            Name = "test-iot",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.IotHub;
    import com.pulumi.scaleway.IotHubArgs;
    import com.pulumi.scaleway.IotDevice;
    import com.pulumi.scaleway.IotDeviceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var main = new IotHub("main", IotHubArgs.builder()
                .name("test-iot")
                .productPlan("plan_shared")
                .build());
    
            var mainIotDevice = new IotDevice("mainIotDevice", IotDeviceArgs.builder()
                .hubId(main.id())
                .name("test-iot")
                .build());
    
        }
    }
    
    resources:
      main:
        type: scaleway:IotHub
        properties:
          name: test-iot
          productPlan: plan_shared
      mainIotDevice:
        type: scaleway:IotDevice
        name: main
        properties:
          hubId: ${main.id}
          name: test-iot
    

    With custom certificate

    import * as pulumi from "@pulumi/pulumi";
    import * as local from "@pulumi/local";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = new scaleway.IotHub("main", {
        name: "test-iot",
        productPlan: "plan_shared",
    });
    const deviceCert = local.getFile({
        filename: "device-certificate.pem",
    });
    const mainIotDevice = new scaleway.IotDevice("main", {
        hubId: main.id,
        name: "test-iot",
        certificate: {
            crt: deviceCert.then(deviceCert => deviceCert.content),
        },
    });
    
    import pulumi
    import pulumi_local as local
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.IotHub("main",
        name="test-iot",
        product_plan="plan_shared")
    device_cert = local.get_file(filename="device-certificate.pem")
    main_iot_device = scaleway.IotDevice("main",
        hub_id=main.id,
        name="test-iot",
        certificate={
            "crt": device_cert.content,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-local/sdk/go/local"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := scaleway.NewIotHub(ctx, "main", &scaleway.IotHubArgs{
    			Name:        pulumi.String("test-iot"),
    			ProductPlan: pulumi.String("plan_shared"),
    		})
    		if err != nil {
    			return err
    		}
    		deviceCert, err := local.LookupFile(ctx, &local.LookupFileArgs{
    			Filename: "device-certificate.pem",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewIotDevice(ctx, "main", &scaleway.IotDeviceArgs{
    			HubId: main.ID(),
    			Name:  pulumi.String("test-iot"),
    			Certificate: &scaleway.IotDeviceCertificateArgs{
    				Crt: pulumi.String(deviceCert.Content),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Local = Pulumi.Local;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Scaleway.IotHub("main", new()
        {
            Name = "test-iot",
            ProductPlan = "plan_shared",
        });
    
        var deviceCert = Local.GetFile.Invoke(new()
        {
            Filename = "device-certificate.pem",
        });
    
        var mainIotDevice = new Scaleway.IotDevice("main", new()
        {
            HubId = main.Id,
            Name = "test-iot",
            Certificate = new Scaleway.Inputs.IotDeviceCertificateArgs
            {
                Crt = deviceCert.Apply(getFileResult => getFileResult.Content),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.IotHub;
    import com.pulumi.scaleway.IotHubArgs;
    import com.pulumi.local.LocalFunctions;
    import com.pulumi.local.inputs.GetFileArgs;
    import com.pulumi.scaleway.IotDevice;
    import com.pulumi.scaleway.IotDeviceArgs;
    import com.pulumi.scaleway.inputs.IotDeviceCertificateArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var main = new IotHub("main", IotHubArgs.builder()
                .name("test-iot")
                .productPlan("plan_shared")
                .build());
    
            final var deviceCert = LocalFunctions.getFile(GetFileArgs.builder()
                .filename("device-certificate.pem")
                .build());
    
            var mainIotDevice = new IotDevice("mainIotDevice", IotDeviceArgs.builder()
                .hubId(main.id())
                .name("test-iot")
                .certificate(IotDeviceCertificateArgs.builder()
                    .crt(deviceCert.applyValue(getFileResult -> getFileResult.content()))
                    .build())
                .build());
    
        }
    }
    
    resources:
      main:
        type: scaleway:IotHub
        properties:
          name: test-iot
          productPlan: plan_shared
      mainIotDevice:
        type: scaleway:IotDevice
        name: main
        properties:
          hubId: ${main.id}
          name: test-iot
          certificate:
            crt: ${deviceCert.content}
    variables:
      deviceCert:
        fn::invoke:
          Function: local:getFile
          Arguments:
            filename: device-certificate.pem
    

    Create IotDevice Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new IotDevice(name: string, args: IotDeviceArgs, opts?: CustomResourceOptions);
    @overload
    def IotDevice(resource_name: str,
                  args: IotDeviceArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def IotDevice(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  hub_id: Optional[str] = None,
                  allow_insecure: Optional[bool] = None,
                  allow_multiple_connections: Optional[bool] = None,
                  certificate: Optional[IotDeviceCertificateArgs] = None,
                  description: Optional[str] = None,
                  message_filters: Optional[IotDeviceMessageFiltersArgs] = None,
                  name: Optional[str] = None,
                  region: Optional[str] = None)
    func NewIotDevice(ctx *Context, name string, args IotDeviceArgs, opts ...ResourceOption) (*IotDevice, error)
    public IotDevice(string name, IotDeviceArgs args, CustomResourceOptions? opts = null)
    public IotDevice(String name, IotDeviceArgs args)
    public IotDevice(String name, IotDeviceArgs args, CustomResourceOptions options)
    
    type: scaleway:IotDevice
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IotDeviceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args IotDeviceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args IotDeviceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IotDeviceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IotDeviceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var iotDeviceResource = new Scaleway.IotDevice("iotDeviceResource", new()
    {
        HubId = "string",
        AllowInsecure = false,
        AllowMultipleConnections = false,
        Certificate = new Scaleway.Inputs.IotDeviceCertificateArgs
        {
            Crt = "string",
            Key = "string",
        },
        Description = "string",
        MessageFilters = new Scaleway.Inputs.IotDeviceMessageFiltersArgs
        {
            Publish = new Scaleway.Inputs.IotDeviceMessageFiltersPublishArgs
            {
                Policy = "string",
                Topics = new[]
                {
                    "string",
                },
            },
            Subscribe = new Scaleway.Inputs.IotDeviceMessageFiltersSubscribeArgs
            {
                Policy = "string",
                Topics = new[]
                {
                    "string",
                },
            },
        },
        Name = "string",
        Region = "string",
    });
    
    example, err := scaleway.NewIotDevice(ctx, "iotDeviceResource", &scaleway.IotDeviceArgs{
    	HubId:                    pulumi.String("string"),
    	AllowInsecure:            pulumi.Bool(false),
    	AllowMultipleConnections: pulumi.Bool(false),
    	Certificate: &scaleway.IotDeviceCertificateArgs{
    		Crt: pulumi.String("string"),
    		Key: pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	MessageFilters: &scaleway.IotDeviceMessageFiltersArgs{
    		Publish: &scaleway.IotDeviceMessageFiltersPublishArgs{
    			Policy: pulumi.String("string"),
    			Topics: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Subscribe: &scaleway.IotDeviceMessageFiltersSubscribeArgs{
    			Policy: pulumi.String("string"),
    			Topics: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Name:   pulumi.String("string"),
    	Region: pulumi.String("string"),
    })
    
    var iotDeviceResource = new IotDevice("iotDeviceResource", IotDeviceArgs.builder()
        .hubId("string")
        .allowInsecure(false)
        .allowMultipleConnections(false)
        .certificate(IotDeviceCertificateArgs.builder()
            .crt("string")
            .key("string")
            .build())
        .description("string")
        .messageFilters(IotDeviceMessageFiltersArgs.builder()
            .publish(IotDeviceMessageFiltersPublishArgs.builder()
                .policy("string")
                .topics("string")
                .build())
            .subscribe(IotDeviceMessageFiltersSubscribeArgs.builder()
                .policy("string")
                .topics("string")
                .build())
            .build())
        .name("string")
        .region("string")
        .build());
    
    iot_device_resource = scaleway.IotDevice("iotDeviceResource",
        hub_id="string",
        allow_insecure=False,
        allow_multiple_connections=False,
        certificate={
            "crt": "string",
            "key": "string",
        },
        description="string",
        message_filters={
            "publish": {
                "policy": "string",
                "topics": ["string"],
            },
            "subscribe": {
                "policy": "string",
                "topics": ["string"],
            },
        },
        name="string",
        region="string")
    
    const iotDeviceResource = new scaleway.IotDevice("iotDeviceResource", {
        hubId: "string",
        allowInsecure: false,
        allowMultipleConnections: false,
        certificate: {
            crt: "string",
            key: "string",
        },
        description: "string",
        messageFilters: {
            publish: {
                policy: "string",
                topics: ["string"],
            },
            subscribe: {
                policy: "string",
                topics: ["string"],
            },
        },
        name: "string",
        region: "string",
    });
    
    type: scaleway:IotDevice
    properties:
        allowInsecure: false
        allowMultipleConnections: false
        certificate:
            crt: string
            key: string
        description: string
        hubId: string
        messageFilters:
            publish:
                policy: string
                topics:
                    - string
            subscribe:
                policy: string
                topics:
                    - string
        name: string
        region: string
    

    IotDevice Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The IotDevice resource accepts the following input properties:

    HubId string
    The ID of the hub on which this device will be created.
    AllowInsecure bool

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    AllowMultipleConnections bool

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    Certificate Pulumiverse.Scaleway.Inputs.IotDeviceCertificate
    The certificate bundle of the device.
    Description string
    The description of the IoT device (e.g. living room).
    MessageFilters Pulumiverse.Scaleway.Inputs.IotDeviceMessageFilters
    Rules that define which messages are authorized or denied based on their topic.
    Name string

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    Region string
    The region you want to attach the resource to
    HubId string
    The ID of the hub on which this device will be created.
    AllowInsecure bool

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    AllowMultipleConnections bool

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    Certificate IotDeviceCertificateArgs
    The certificate bundle of the device.
    Description string
    The description of the IoT device (e.g. living room).
    MessageFilters IotDeviceMessageFiltersArgs
    Rules that define which messages are authorized or denied based on their topic.
    Name string

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    Region string
    The region you want to attach the resource to
    hubId String
    The ID of the hub on which this device will be created.
    allowInsecure Boolean

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allowMultipleConnections Boolean

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate IotDeviceCertificate
    The certificate bundle of the device.
    description String
    The description of the IoT device (e.g. living room).
    messageFilters IotDeviceMessageFilters
    Rules that define which messages are authorized or denied based on their topic.
    name String

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region String
    The region you want to attach the resource to
    hubId string
    The ID of the hub on which this device will be created.
    allowInsecure boolean

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allowMultipleConnections boolean

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate IotDeviceCertificate
    The certificate bundle of the device.
    description string
    The description of the IoT device (e.g. living room).
    messageFilters IotDeviceMessageFilters
    Rules that define which messages are authorized or denied based on their topic.
    name string

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region string
    The region you want to attach the resource to
    hub_id str
    The ID of the hub on which this device will be created.
    allow_insecure bool

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allow_multiple_connections bool

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate IotDeviceCertificateArgs
    The certificate bundle of the device.
    description str
    The description of the IoT device (e.g. living room).
    message_filters IotDeviceMessageFiltersArgs
    Rules that define which messages are authorized or denied based on their topic.
    name str

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region str
    The region you want to attach the resource to
    hubId String
    The ID of the hub on which this device will be created.
    allowInsecure Boolean

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allowMultipleConnections Boolean

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate Property Map
    The certificate bundle of the device.
    description String
    The description of the IoT device (e.g. living room).
    messageFilters Property Map
    Rules that define which messages are authorized or denied based on their topic.
    name String

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region String
    The region you want to attach the resource to

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IotDevice resource produces the following output properties:

    CreatedAt string
    The date and time the device was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    IsConnected bool
    The current connection status of the device.
    LastActivityAt string
    The last MQTT activity of the device.
    Status string
    The current status of the device.
    UpdatedAt string
    The date and time the device resource was updated.
    CreatedAt string
    The date and time the device was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    IsConnected bool
    The current connection status of the device.
    LastActivityAt string
    The last MQTT activity of the device.
    Status string
    The current status of the device.
    UpdatedAt string
    The date and time the device resource was updated.
    createdAt String
    The date and time the device was created.
    id String
    The provider-assigned unique ID for this managed resource.
    isConnected Boolean
    The current connection status of the device.
    lastActivityAt String
    The last MQTT activity of the device.
    status String
    The current status of the device.
    updatedAt String
    The date and time the device resource was updated.
    createdAt string
    The date and time the device was created.
    id string
    The provider-assigned unique ID for this managed resource.
    isConnected boolean
    The current connection status of the device.
    lastActivityAt string
    The last MQTT activity of the device.
    status string
    The current status of the device.
    updatedAt string
    The date and time the device resource was updated.
    created_at str
    The date and time the device was created.
    id str
    The provider-assigned unique ID for this managed resource.
    is_connected bool
    The current connection status of the device.
    last_activity_at str
    The last MQTT activity of the device.
    status str
    The current status of the device.
    updated_at str
    The date and time the device resource was updated.
    createdAt String
    The date and time the device was created.
    id String
    The provider-assigned unique ID for this managed resource.
    isConnected Boolean
    The current connection status of the device.
    lastActivityAt String
    The last MQTT activity of the device.
    status String
    The current status of the device.
    updatedAt String
    The date and time the device resource was updated.

    Look up Existing IotDevice Resource

    Get an existing IotDevice resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: IotDeviceState, opts?: CustomResourceOptions): IotDevice
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allow_insecure: Optional[bool] = None,
            allow_multiple_connections: Optional[bool] = None,
            certificate: Optional[IotDeviceCertificateArgs] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            hub_id: Optional[str] = None,
            is_connected: Optional[bool] = None,
            last_activity_at: Optional[str] = None,
            message_filters: Optional[IotDeviceMessageFiltersArgs] = None,
            name: Optional[str] = None,
            region: Optional[str] = None,
            status: Optional[str] = None,
            updated_at: Optional[str] = None) -> IotDevice
    func GetIotDevice(ctx *Context, name string, id IDInput, state *IotDeviceState, opts ...ResourceOption) (*IotDevice, error)
    public static IotDevice Get(string name, Input<string> id, IotDeviceState? state, CustomResourceOptions? opts = null)
    public static IotDevice get(String name, Output<String> id, IotDeviceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AllowInsecure bool

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    AllowMultipleConnections bool

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    Certificate Pulumiverse.Scaleway.Inputs.IotDeviceCertificate
    The certificate bundle of the device.
    CreatedAt string
    The date and time the device was created.
    Description string
    The description of the IoT device (e.g. living room).
    HubId string
    The ID of the hub on which this device will be created.
    IsConnected bool
    The current connection status of the device.
    LastActivityAt string
    The last MQTT activity of the device.
    MessageFilters Pulumiverse.Scaleway.Inputs.IotDeviceMessageFilters
    Rules that define which messages are authorized or denied based on their topic.
    Name string

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    Region string
    The region you want to attach the resource to
    Status string
    The current status of the device.
    UpdatedAt string
    The date and time the device resource was updated.
    AllowInsecure bool

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    AllowMultipleConnections bool

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    Certificate IotDeviceCertificateArgs
    The certificate bundle of the device.
    CreatedAt string
    The date and time the device was created.
    Description string
    The description of the IoT device (e.g. living room).
    HubId string
    The ID of the hub on which this device will be created.
    IsConnected bool
    The current connection status of the device.
    LastActivityAt string
    The last MQTT activity of the device.
    MessageFilters IotDeviceMessageFiltersArgs
    Rules that define which messages are authorized or denied based on their topic.
    Name string

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    Region string
    The region you want to attach the resource to
    Status string
    The current status of the device.
    UpdatedAt string
    The date and time the device resource was updated.
    allowInsecure Boolean

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allowMultipleConnections Boolean

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate IotDeviceCertificate
    The certificate bundle of the device.
    createdAt String
    The date and time the device was created.
    description String
    The description of the IoT device (e.g. living room).
    hubId String
    The ID of the hub on which this device will be created.
    isConnected Boolean
    The current connection status of the device.
    lastActivityAt String
    The last MQTT activity of the device.
    messageFilters IotDeviceMessageFilters
    Rules that define which messages are authorized or denied based on their topic.
    name String

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region String
    The region you want to attach the resource to
    status String
    The current status of the device.
    updatedAt String
    The date and time the device resource was updated.
    allowInsecure boolean

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allowMultipleConnections boolean

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate IotDeviceCertificate
    The certificate bundle of the device.
    createdAt string
    The date and time the device was created.
    description string
    The description of the IoT device (e.g. living room).
    hubId string
    The ID of the hub on which this device will be created.
    isConnected boolean
    The current connection status of the device.
    lastActivityAt string
    The last MQTT activity of the device.
    messageFilters IotDeviceMessageFilters
    Rules that define which messages are authorized or denied based on their topic.
    name string

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region string
    The region you want to attach the resource to
    status string
    The current status of the device.
    updatedAt string
    The date and time the device resource was updated.
    allow_insecure bool

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allow_multiple_connections bool

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate IotDeviceCertificateArgs
    The certificate bundle of the device.
    created_at str
    The date and time the device was created.
    description str
    The description of the IoT device (e.g. living room).
    hub_id str
    The ID of the hub on which this device will be created.
    is_connected bool
    The current connection status of the device.
    last_activity_at str
    The last MQTT activity of the device.
    message_filters IotDeviceMessageFiltersArgs
    Rules that define which messages are authorized or denied based on their topic.
    name str

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region str
    The region you want to attach the resource to
    status str
    The current status of the device.
    updated_at str
    The date and time the device resource was updated.
    allowInsecure Boolean

    Allow plain and server-authenticated TLS connections in addition to mutually-authenticated ones.

    Important: Updates to allow_insecure can disconnect eventually connected devices.

    allowMultipleConnections Boolean

    Allow more than one simultaneous connection using the same device credentials.

    Important: Updates to allow_multiple_connections can disconnect eventually connected devices.

    certificate Property Map
    The certificate bundle of the device.
    createdAt String
    The date and time the device was created.
    description String
    The description of the IoT device (e.g. living room).
    hubId String
    The ID of the hub on which this device will be created.
    isConnected Boolean
    The current connection status of the device.
    lastActivityAt String
    The last MQTT activity of the device.
    messageFilters Property Map
    Rules that define which messages are authorized or denied based on their topic.
    name String

    The name of the IoT device you want to create (e.g. my-device).

    Important: Updates to name will destroy and recreate a new resource.

    region String
    The region you want to attach the resource to
    status String
    The current status of the device.
    updatedAt String
    The date and time the device resource was updated.

    Supporting Types

    IotDeviceCertificate, IotDeviceCertificateArgs

    Crt string
    X509 PEM encoded certificate of the device
    Key string
    The private key of the device, in case it is generated by Scaleway.
    Crt string
    X509 PEM encoded certificate of the device
    Key string
    The private key of the device, in case it is generated by Scaleway.
    crt String
    X509 PEM encoded certificate of the device
    key String
    The private key of the device, in case it is generated by Scaleway.
    crt string
    X509 PEM encoded certificate of the device
    key string
    The private key of the device, in case it is generated by Scaleway.
    crt str
    X509 PEM encoded certificate of the device
    key str
    The private key of the device, in case it is generated by Scaleway.
    crt String
    X509 PEM encoded certificate of the device
    key String
    The private key of the device, in case it is generated by Scaleway.

    IotDeviceMessageFilters, IotDeviceMessageFiltersArgs

    Publish Pulumiverse.Scaleway.Inputs.IotDeviceMessageFiltersPublish
    Rules used to restrict topics the device can publish to.
    Subscribe Pulumiverse.Scaleway.Inputs.IotDeviceMessageFiltersSubscribe
    Rules used to restrict topics the device can subscribe to.
    Publish IotDeviceMessageFiltersPublish
    Rules used to restrict topics the device can publish to.
    Subscribe IotDeviceMessageFiltersSubscribe
    Rules used to restrict topics the device can subscribe to.
    publish IotDeviceMessageFiltersPublish
    Rules used to restrict topics the device can publish to.
    subscribe IotDeviceMessageFiltersSubscribe
    Rules used to restrict topics the device can subscribe to.
    publish IotDeviceMessageFiltersPublish
    Rules used to restrict topics the device can publish to.
    subscribe IotDeviceMessageFiltersSubscribe
    Rules used to restrict topics the device can subscribe to.
    publish IotDeviceMessageFiltersPublish
    Rules used to restrict topics the device can publish to.
    subscribe IotDeviceMessageFiltersSubscribe
    Rules used to restrict topics the device can subscribe to.
    publish Property Map
    Rules used to restrict topics the device can publish to.
    subscribe Property Map
    Rules used to restrict topics the device can subscribe to.

    IotDeviceMessageFiltersPublish, IotDeviceMessageFiltersPublishArgs

    Policy string
    Filtering policy (eg accept or reject)
    Topics List<string>
    List of topics to match (eg foo/bar/+/baz/#)
    Policy string
    Filtering policy (eg accept or reject)
    Topics []string
    List of topics to match (eg foo/bar/+/baz/#)
    policy String
    Filtering policy (eg accept or reject)
    topics List<String>
    List of topics to match (eg foo/bar/+/baz/#)
    policy string
    Filtering policy (eg accept or reject)
    topics string[]
    List of topics to match (eg foo/bar/+/baz/#)
    policy str
    Filtering policy (eg accept or reject)
    topics Sequence[str]
    List of topics to match (eg foo/bar/+/baz/#)
    policy String
    Filtering policy (eg accept or reject)
    topics List<String>
    List of topics to match (eg foo/bar/+/baz/#)

    IotDeviceMessageFiltersSubscribe, IotDeviceMessageFiltersSubscribeArgs

    Policy string
    Same as publish rules.
    Topics List<string>

    Same as publish rules.

    • certificate.crt - (Optional) The certificate of the device, either generated by Scaleway or provided.

    Important: Updates to certificate.crt will disconnect connected devices and the previous certificate will be deleted and won't be recoverable.

    Policy string
    Same as publish rules.
    Topics []string

    Same as publish rules.

    • certificate.crt - (Optional) The certificate of the device, either generated by Scaleway or provided.

    Important: Updates to certificate.crt will disconnect connected devices and the previous certificate will be deleted and won't be recoverable.

    policy String
    Same as publish rules.
    topics List<String>

    Same as publish rules.

    • certificate.crt - (Optional) The certificate of the device, either generated by Scaleway or provided.

    Important: Updates to certificate.crt will disconnect connected devices and the previous certificate will be deleted and won't be recoverable.

    policy string
    Same as publish rules.
    topics string[]

    Same as publish rules.

    • certificate.crt - (Optional) The certificate of the device, either generated by Scaleway or provided.

    Important: Updates to certificate.crt will disconnect connected devices and the previous certificate will be deleted and won't be recoverable.

    policy str
    Same as publish rules.
    topics Sequence[str]

    Same as publish rules.

    • certificate.crt - (Optional) The certificate of the device, either generated by Scaleway or provided.

    Important: Updates to certificate.crt will disconnect connected devices and the previous certificate will be deleted and won't be recoverable.

    policy String
    Same as publish rules.
    topics List<String>

    Same as publish rules.

    • certificate.crt - (Optional) The certificate of the device, either generated by Scaleway or provided.

    Important: Updates to certificate.crt will disconnect connected devices and the previous certificate will be deleted and won't be recoverable.

    Import

    IoT devices can be imported using the {region}/{id}, e.g.

    bash

    $ pulumi import scaleway:index/iotDevice:IotDevice device01 fr-par/11111111-1111-1111-1111-111111111111
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse