iot

package
v6.55.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Device

type Device struct {
	pulumi.CustomResourceState

	// If a device is blocked, connections or requests from this device will fail.
	Blocked pulumi.BoolPtrOutput `pulumi:"blocked"`
	// The most recent device configuration, which is eventually sent from Cloud IoT Core to the device.
	// Structure is documented below.
	Configs DeviceConfigArrayOutput `pulumi:"configs"`
	// The credentials used to authenticate this device.
	// Structure is documented below.
	Credentials DeviceCredentialArrayOutput `pulumi:"credentials"`
	// Gateway-related configuration and state.
	// Structure is documented below.
	GatewayConfig DeviceGatewayConfigPtrOutput `pulumi:"gatewayConfig"`
	// The last time a cloud-to-device config version acknowledgment was received from the device.
	LastConfigAckTime pulumi.StringOutput `pulumi:"lastConfigAckTime"`
	// The last time a cloud-to-device config version was sent to the device.
	LastConfigSendTime pulumi.StringOutput `pulumi:"lastConfigSendTime"`
	// The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub.
	// Structure is documented below.
	LastErrorStatuses DeviceLastErrorStatusArrayOutput `pulumi:"lastErrorStatuses"`
	// The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub.
	LastErrorTime pulumi.StringOutput `pulumi:"lastErrorTime"`
	// The last time a telemetry event was received.
	LastEventTime pulumi.StringOutput `pulumi:"lastEventTime"`
	// The last time an MQTT PINGREQ was received.
	LastHeartbeatTime pulumi.StringOutput `pulumi:"lastHeartbeatTime"`
	// The last time a state event was received.
	LastStateTime pulumi.StringOutput `pulumi:"lastStateTime"`
	// The logging verbosity for device activity.
	// Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.
	LogLevel pulumi.StringPtrOutput `pulumi:"logLevel"`
	// The metadata key-value pairs assigned to the device.
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// A unique name for the resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// A server-defined unique numeric ID for the device.
	// This is a more compact way to identify devices, and it is globally unique.
	NumId pulumi.StringOutput `pulumi:"numId"`
	// The name of the device registry where this device should be created.
	Registry pulumi.StringOutput `pulumi:"registry"`
	// The state most recently received from the device.
	// Structure is documented below.
	States DeviceStateTypeArrayOutput `pulumi:"states"`
}

A Google Cloud IoT Core device.

To get more information about Device, see:

* [API documentation](https://cloud.google.com/iot/docs/reference/cloudiot/rest/) * How-to Guides

## Example Usage ### Cloudiot Device Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		registry, err := iot.NewRegistry(ctx, "registry", nil)
		if err != nil {
			return err
		}
		_, err = iot.NewDevice(ctx, "test-device", &iot.DeviceArgs{
			Registry: registry.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudiot Device Full

```go package main

import (

"os"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		registry, err := iot.NewRegistry(ctx, "registry", nil)
		if err != nil {
			return err
		}
		_, err = iot.NewDevice(ctx, "test-device", &iot.DeviceArgs{
			Registry: registry.ID(),
			Credentials: iot.DeviceCredentialArray{
				&iot.DeviceCredentialArgs{
					PublicKey: &iot.DeviceCredentialPublicKeyArgs{
						Format: pulumi.String("RSA_PEM"),
						Key:    readFileOrPanic("test-fixtures/rsa_public.pem"),
					},
				},
			},
			Blocked:  pulumi.Bool(false),
			LogLevel: pulumi.String("INFO"),
			Metadata: pulumi.StringMap{
				"test_key_1": pulumi.String("test_value_1"),
			},
			GatewayConfig: &iot.DeviceGatewayConfigArgs{
				GatewayType: pulumi.String("NON_GATEWAY"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Device can be imported using any of these accepted formats

```sh

$ pulumi import gcp:iot/device:Device default {{registry}}/devices/{{name}}

```

func GetDevice

func GetDevice(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeviceState, opts ...pulumi.ResourceOption) (*Device, error)

GetDevice gets an existing Device resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDevice

func NewDevice(ctx *pulumi.Context,
	name string, args *DeviceArgs, opts ...pulumi.ResourceOption) (*Device, error)

NewDevice registers a new resource with the given unique name, arguments, and options.

func (*Device) ElementType

func (*Device) ElementType() reflect.Type

func (*Device) ToDeviceOutput

func (i *Device) ToDeviceOutput() DeviceOutput

func (*Device) ToDeviceOutputWithContext

func (i *Device) ToDeviceOutputWithContext(ctx context.Context) DeviceOutput

type DeviceArgs

type DeviceArgs struct {
	// If a device is blocked, connections or requests from this device will fail.
	Blocked pulumi.BoolPtrInput
	// The credentials used to authenticate this device.
	// Structure is documented below.
	Credentials DeviceCredentialArrayInput
	// Gateway-related configuration and state.
	// Structure is documented below.
	GatewayConfig DeviceGatewayConfigPtrInput
	// The logging verbosity for device activity.
	// Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.
	LogLevel pulumi.StringPtrInput
	// The metadata key-value pairs assigned to the device.
	Metadata pulumi.StringMapInput
	// A unique name for the resource.
	Name pulumi.StringPtrInput
	// The name of the device registry where this device should be created.
	Registry pulumi.StringInput
}

The set of arguments for constructing a Device resource.

func (DeviceArgs) ElementType

func (DeviceArgs) ElementType() reflect.Type

type DeviceArray

type DeviceArray []DeviceInput

func (DeviceArray) ElementType

func (DeviceArray) ElementType() reflect.Type

func (DeviceArray) ToDeviceArrayOutput

func (i DeviceArray) ToDeviceArrayOutput() DeviceArrayOutput

func (DeviceArray) ToDeviceArrayOutputWithContext

func (i DeviceArray) ToDeviceArrayOutputWithContext(ctx context.Context) DeviceArrayOutput

type DeviceArrayInput

type DeviceArrayInput interface {
	pulumi.Input

	ToDeviceArrayOutput() DeviceArrayOutput
	ToDeviceArrayOutputWithContext(context.Context) DeviceArrayOutput
}

DeviceArrayInput is an input type that accepts DeviceArray and DeviceArrayOutput values. You can construct a concrete instance of `DeviceArrayInput` via:

DeviceArray{ DeviceArgs{...} }

type DeviceArrayOutput

type DeviceArrayOutput struct{ *pulumi.OutputState }

func (DeviceArrayOutput) ElementType

func (DeviceArrayOutput) ElementType() reflect.Type

func (DeviceArrayOutput) Index

func (DeviceArrayOutput) ToDeviceArrayOutput

func (o DeviceArrayOutput) ToDeviceArrayOutput() DeviceArrayOutput

func (DeviceArrayOutput) ToDeviceArrayOutputWithContext

func (o DeviceArrayOutput) ToDeviceArrayOutputWithContext(ctx context.Context) DeviceArrayOutput

type DeviceConfig

type DeviceConfig struct {
	// The device state data.
	BinaryData *string `pulumi:"binaryData"`
	// (Output)
	// The time at which this configuration version was updated in Cloud IoT Core.
	CloudUpdateTime *string `pulumi:"cloudUpdateTime"`
	// (Output)
	// The time at which Cloud IoT Core received the acknowledgment from the device,
	// indicating that the device has received this configuration version.
	DeviceAckTime *string `pulumi:"deviceAckTime"`
	// (Output)
	// The version of this update.
	Version *string `pulumi:"version"`
}

type DeviceConfigArgs

type DeviceConfigArgs struct {
	// The device state data.
	BinaryData pulumi.StringPtrInput `pulumi:"binaryData"`
	// (Output)
	// The time at which this configuration version was updated in Cloud IoT Core.
	CloudUpdateTime pulumi.StringPtrInput `pulumi:"cloudUpdateTime"`
	// (Output)
	// The time at which Cloud IoT Core received the acknowledgment from the device,
	// indicating that the device has received this configuration version.
	DeviceAckTime pulumi.StringPtrInput `pulumi:"deviceAckTime"`
	// (Output)
	// The version of this update.
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (DeviceConfigArgs) ElementType

func (DeviceConfigArgs) ElementType() reflect.Type

func (DeviceConfigArgs) ToDeviceConfigOutput

func (i DeviceConfigArgs) ToDeviceConfigOutput() DeviceConfigOutput

func (DeviceConfigArgs) ToDeviceConfigOutputWithContext

func (i DeviceConfigArgs) ToDeviceConfigOutputWithContext(ctx context.Context) DeviceConfigOutput

type DeviceConfigArray

type DeviceConfigArray []DeviceConfigInput

func (DeviceConfigArray) ElementType

func (DeviceConfigArray) ElementType() reflect.Type

func (DeviceConfigArray) ToDeviceConfigArrayOutput

func (i DeviceConfigArray) ToDeviceConfigArrayOutput() DeviceConfigArrayOutput

func (DeviceConfigArray) ToDeviceConfigArrayOutputWithContext

func (i DeviceConfigArray) ToDeviceConfigArrayOutputWithContext(ctx context.Context) DeviceConfigArrayOutput

type DeviceConfigArrayInput

type DeviceConfigArrayInput interface {
	pulumi.Input

	ToDeviceConfigArrayOutput() DeviceConfigArrayOutput
	ToDeviceConfigArrayOutputWithContext(context.Context) DeviceConfigArrayOutput
}

DeviceConfigArrayInput is an input type that accepts DeviceConfigArray and DeviceConfigArrayOutput values. You can construct a concrete instance of `DeviceConfigArrayInput` via:

DeviceConfigArray{ DeviceConfigArgs{...} }

type DeviceConfigArrayOutput

type DeviceConfigArrayOutput struct{ *pulumi.OutputState }

func (DeviceConfigArrayOutput) ElementType

func (DeviceConfigArrayOutput) ElementType() reflect.Type

func (DeviceConfigArrayOutput) Index

func (DeviceConfigArrayOutput) ToDeviceConfigArrayOutput

func (o DeviceConfigArrayOutput) ToDeviceConfigArrayOutput() DeviceConfigArrayOutput

func (DeviceConfigArrayOutput) ToDeviceConfigArrayOutputWithContext

func (o DeviceConfigArrayOutput) ToDeviceConfigArrayOutputWithContext(ctx context.Context) DeviceConfigArrayOutput

type DeviceConfigInput

type DeviceConfigInput interface {
	pulumi.Input

	ToDeviceConfigOutput() DeviceConfigOutput
	ToDeviceConfigOutputWithContext(context.Context) DeviceConfigOutput
}

DeviceConfigInput is an input type that accepts DeviceConfigArgs and DeviceConfigOutput values. You can construct a concrete instance of `DeviceConfigInput` via:

DeviceConfigArgs{...}

type DeviceConfigOutput

type DeviceConfigOutput struct{ *pulumi.OutputState }

func (DeviceConfigOutput) BinaryData

func (o DeviceConfigOutput) BinaryData() pulumi.StringPtrOutput

The device state data.

func (DeviceConfigOutput) CloudUpdateTime

func (o DeviceConfigOutput) CloudUpdateTime() pulumi.StringPtrOutput

(Output) The time at which this configuration version was updated in Cloud IoT Core.

func (DeviceConfigOutput) DeviceAckTime

func (o DeviceConfigOutput) DeviceAckTime() pulumi.StringPtrOutput

(Output) The time at which Cloud IoT Core received the acknowledgment from the device, indicating that the device has received this configuration version.

func (DeviceConfigOutput) ElementType

func (DeviceConfigOutput) ElementType() reflect.Type

func (DeviceConfigOutput) ToDeviceConfigOutput

func (o DeviceConfigOutput) ToDeviceConfigOutput() DeviceConfigOutput

func (DeviceConfigOutput) ToDeviceConfigOutputWithContext

func (o DeviceConfigOutput) ToDeviceConfigOutputWithContext(ctx context.Context) DeviceConfigOutput

func (DeviceConfigOutput) Version

(Output) The version of this update.

type DeviceCredential

type DeviceCredential struct {
	// The time at which this credential becomes invalid.
	ExpirationTime *string `pulumi:"expirationTime"`
	// A public key used to verify the signature of JSON Web Tokens (JWTs).
	// Structure is documented below.
	PublicKey DeviceCredentialPublicKey `pulumi:"publicKey"`
}

type DeviceCredentialArgs

type DeviceCredentialArgs struct {
	// The time at which this credential becomes invalid.
	ExpirationTime pulumi.StringPtrInput `pulumi:"expirationTime"`
	// A public key used to verify the signature of JSON Web Tokens (JWTs).
	// Structure is documented below.
	PublicKey DeviceCredentialPublicKeyInput `pulumi:"publicKey"`
}

func (DeviceCredentialArgs) ElementType

func (DeviceCredentialArgs) ElementType() reflect.Type

func (DeviceCredentialArgs) ToDeviceCredentialOutput

func (i DeviceCredentialArgs) ToDeviceCredentialOutput() DeviceCredentialOutput

func (DeviceCredentialArgs) ToDeviceCredentialOutputWithContext

func (i DeviceCredentialArgs) ToDeviceCredentialOutputWithContext(ctx context.Context) DeviceCredentialOutput

type DeviceCredentialArray

type DeviceCredentialArray []DeviceCredentialInput

func (DeviceCredentialArray) ElementType

func (DeviceCredentialArray) ElementType() reflect.Type

func (DeviceCredentialArray) ToDeviceCredentialArrayOutput

func (i DeviceCredentialArray) ToDeviceCredentialArrayOutput() DeviceCredentialArrayOutput

func (DeviceCredentialArray) ToDeviceCredentialArrayOutputWithContext

func (i DeviceCredentialArray) ToDeviceCredentialArrayOutputWithContext(ctx context.Context) DeviceCredentialArrayOutput

type DeviceCredentialArrayInput

type DeviceCredentialArrayInput interface {
	pulumi.Input

	ToDeviceCredentialArrayOutput() DeviceCredentialArrayOutput
	ToDeviceCredentialArrayOutputWithContext(context.Context) DeviceCredentialArrayOutput
}

DeviceCredentialArrayInput is an input type that accepts DeviceCredentialArray and DeviceCredentialArrayOutput values. You can construct a concrete instance of `DeviceCredentialArrayInput` via:

DeviceCredentialArray{ DeviceCredentialArgs{...} }

type DeviceCredentialArrayOutput

type DeviceCredentialArrayOutput struct{ *pulumi.OutputState }

func (DeviceCredentialArrayOutput) ElementType

func (DeviceCredentialArrayOutput) Index

func (DeviceCredentialArrayOutput) ToDeviceCredentialArrayOutput

func (o DeviceCredentialArrayOutput) ToDeviceCredentialArrayOutput() DeviceCredentialArrayOutput

func (DeviceCredentialArrayOutput) ToDeviceCredentialArrayOutputWithContext

func (o DeviceCredentialArrayOutput) ToDeviceCredentialArrayOutputWithContext(ctx context.Context) DeviceCredentialArrayOutput

type DeviceCredentialInput

type DeviceCredentialInput interface {
	pulumi.Input

	ToDeviceCredentialOutput() DeviceCredentialOutput
	ToDeviceCredentialOutputWithContext(context.Context) DeviceCredentialOutput
}

DeviceCredentialInput is an input type that accepts DeviceCredentialArgs and DeviceCredentialOutput values. You can construct a concrete instance of `DeviceCredentialInput` via:

DeviceCredentialArgs{...}

type DeviceCredentialOutput

type DeviceCredentialOutput struct{ *pulumi.OutputState }

func (DeviceCredentialOutput) ElementType

func (DeviceCredentialOutput) ElementType() reflect.Type

func (DeviceCredentialOutput) ExpirationTime

func (o DeviceCredentialOutput) ExpirationTime() pulumi.StringPtrOutput

The time at which this credential becomes invalid.

func (DeviceCredentialOutput) PublicKey

A public key used to verify the signature of JSON Web Tokens (JWTs). Structure is documented below.

func (DeviceCredentialOutput) ToDeviceCredentialOutput

func (o DeviceCredentialOutput) ToDeviceCredentialOutput() DeviceCredentialOutput

func (DeviceCredentialOutput) ToDeviceCredentialOutputWithContext

func (o DeviceCredentialOutput) ToDeviceCredentialOutputWithContext(ctx context.Context) DeviceCredentialOutput

type DeviceCredentialPublicKey

type DeviceCredentialPublicKey struct {
	// The format of the key.
	// Possible values are: `RSA_PEM`, `RSA_X509_PEM`, `ES256_PEM`, `ES256_X509_PEM`.
	Format string `pulumi:"format"`
	// The key data.
	Key string `pulumi:"key"`
}

type DeviceCredentialPublicKeyArgs

type DeviceCredentialPublicKeyArgs struct {
	// The format of the key.
	// Possible values are: `RSA_PEM`, `RSA_X509_PEM`, `ES256_PEM`, `ES256_X509_PEM`.
	Format pulumi.StringInput `pulumi:"format"`
	// The key data.
	Key pulumi.StringInput `pulumi:"key"`
}

func (DeviceCredentialPublicKeyArgs) ElementType

func (DeviceCredentialPublicKeyArgs) ToDeviceCredentialPublicKeyOutput

func (i DeviceCredentialPublicKeyArgs) ToDeviceCredentialPublicKeyOutput() DeviceCredentialPublicKeyOutput

func (DeviceCredentialPublicKeyArgs) ToDeviceCredentialPublicKeyOutputWithContext

func (i DeviceCredentialPublicKeyArgs) ToDeviceCredentialPublicKeyOutputWithContext(ctx context.Context) DeviceCredentialPublicKeyOutput

type DeviceCredentialPublicKeyInput

type DeviceCredentialPublicKeyInput interface {
	pulumi.Input

	ToDeviceCredentialPublicKeyOutput() DeviceCredentialPublicKeyOutput
	ToDeviceCredentialPublicKeyOutputWithContext(context.Context) DeviceCredentialPublicKeyOutput
}

DeviceCredentialPublicKeyInput is an input type that accepts DeviceCredentialPublicKeyArgs and DeviceCredentialPublicKeyOutput values. You can construct a concrete instance of `DeviceCredentialPublicKeyInput` via:

DeviceCredentialPublicKeyArgs{...}

type DeviceCredentialPublicKeyOutput

type DeviceCredentialPublicKeyOutput struct{ *pulumi.OutputState }

func (DeviceCredentialPublicKeyOutput) ElementType

func (DeviceCredentialPublicKeyOutput) Format

The format of the key. Possible values are: `RSA_PEM`, `RSA_X509_PEM`, `ES256_PEM`, `ES256_X509_PEM`.

func (DeviceCredentialPublicKeyOutput) Key

The key data.

func (DeviceCredentialPublicKeyOutput) ToDeviceCredentialPublicKeyOutput

func (o DeviceCredentialPublicKeyOutput) ToDeviceCredentialPublicKeyOutput() DeviceCredentialPublicKeyOutput

func (DeviceCredentialPublicKeyOutput) ToDeviceCredentialPublicKeyOutputWithContext

func (o DeviceCredentialPublicKeyOutput) ToDeviceCredentialPublicKeyOutputWithContext(ctx context.Context) DeviceCredentialPublicKeyOutput

type DeviceGatewayConfig

type DeviceGatewayConfig struct {
	// Indicates whether the device is a gateway.
	// Possible values are: `ASSOCIATION_ONLY`, `DEVICE_AUTH_TOKEN_ONLY`, `ASSOCIATION_AND_DEVICE_AUTH_TOKEN`.
	GatewayAuthMethod *string `pulumi:"gatewayAuthMethod"`
	// Indicates whether the device is a gateway.
	// Default value is `NON_GATEWAY`.
	// Possible values are: `GATEWAY`, `NON_GATEWAY`.
	GatewayType *string `pulumi:"gatewayType"`
	// (Output)
	// The ID of the gateway the device accessed most recently.
	LastAccessedGatewayId *string `pulumi:"lastAccessedGatewayId"`
	// (Output)
	// The most recent time at which the device accessed the gateway specified in last_accessed_gateway.
	LastAccessedGatewayTime *string `pulumi:"lastAccessedGatewayTime"`
}

type DeviceGatewayConfigArgs

type DeviceGatewayConfigArgs struct {
	// Indicates whether the device is a gateway.
	// Possible values are: `ASSOCIATION_ONLY`, `DEVICE_AUTH_TOKEN_ONLY`, `ASSOCIATION_AND_DEVICE_AUTH_TOKEN`.
	GatewayAuthMethod pulumi.StringPtrInput `pulumi:"gatewayAuthMethod"`
	// Indicates whether the device is a gateway.
	// Default value is `NON_GATEWAY`.
	// Possible values are: `GATEWAY`, `NON_GATEWAY`.
	GatewayType pulumi.StringPtrInput `pulumi:"gatewayType"`
	// (Output)
	// The ID of the gateway the device accessed most recently.
	LastAccessedGatewayId pulumi.StringPtrInput `pulumi:"lastAccessedGatewayId"`
	// (Output)
	// The most recent time at which the device accessed the gateway specified in last_accessed_gateway.
	LastAccessedGatewayTime pulumi.StringPtrInput `pulumi:"lastAccessedGatewayTime"`
}

func (DeviceGatewayConfigArgs) ElementType

func (DeviceGatewayConfigArgs) ElementType() reflect.Type

func (DeviceGatewayConfigArgs) ToDeviceGatewayConfigOutput

func (i DeviceGatewayConfigArgs) ToDeviceGatewayConfigOutput() DeviceGatewayConfigOutput

func (DeviceGatewayConfigArgs) ToDeviceGatewayConfigOutputWithContext

func (i DeviceGatewayConfigArgs) ToDeviceGatewayConfigOutputWithContext(ctx context.Context) DeviceGatewayConfigOutput

func (DeviceGatewayConfigArgs) ToDeviceGatewayConfigPtrOutput

func (i DeviceGatewayConfigArgs) ToDeviceGatewayConfigPtrOutput() DeviceGatewayConfigPtrOutput

func (DeviceGatewayConfigArgs) ToDeviceGatewayConfigPtrOutputWithContext

func (i DeviceGatewayConfigArgs) ToDeviceGatewayConfigPtrOutputWithContext(ctx context.Context) DeviceGatewayConfigPtrOutput

type DeviceGatewayConfigInput

type DeviceGatewayConfigInput interface {
	pulumi.Input

	ToDeviceGatewayConfigOutput() DeviceGatewayConfigOutput
	ToDeviceGatewayConfigOutputWithContext(context.Context) DeviceGatewayConfigOutput
}

DeviceGatewayConfigInput is an input type that accepts DeviceGatewayConfigArgs and DeviceGatewayConfigOutput values. You can construct a concrete instance of `DeviceGatewayConfigInput` via:

DeviceGatewayConfigArgs{...}

type DeviceGatewayConfigOutput

type DeviceGatewayConfigOutput struct{ *pulumi.OutputState }

func (DeviceGatewayConfigOutput) ElementType

func (DeviceGatewayConfigOutput) ElementType() reflect.Type

func (DeviceGatewayConfigOutput) GatewayAuthMethod

func (o DeviceGatewayConfigOutput) GatewayAuthMethod() pulumi.StringPtrOutput

Indicates whether the device is a gateway. Possible values are: `ASSOCIATION_ONLY`, `DEVICE_AUTH_TOKEN_ONLY`, `ASSOCIATION_AND_DEVICE_AUTH_TOKEN`.

func (DeviceGatewayConfigOutput) GatewayType

Indicates whether the device is a gateway. Default value is `NON_GATEWAY`. Possible values are: `GATEWAY`, `NON_GATEWAY`.

func (DeviceGatewayConfigOutput) LastAccessedGatewayId

func (o DeviceGatewayConfigOutput) LastAccessedGatewayId() pulumi.StringPtrOutput

(Output) The ID of the gateway the device accessed most recently.

func (DeviceGatewayConfigOutput) LastAccessedGatewayTime

func (o DeviceGatewayConfigOutput) LastAccessedGatewayTime() pulumi.StringPtrOutput

(Output) The most recent time at which the device accessed the gateway specified in last_accessed_gateway.

func (DeviceGatewayConfigOutput) ToDeviceGatewayConfigOutput

func (o DeviceGatewayConfigOutput) ToDeviceGatewayConfigOutput() DeviceGatewayConfigOutput

func (DeviceGatewayConfigOutput) ToDeviceGatewayConfigOutputWithContext

func (o DeviceGatewayConfigOutput) ToDeviceGatewayConfigOutputWithContext(ctx context.Context) DeviceGatewayConfigOutput

func (DeviceGatewayConfigOutput) ToDeviceGatewayConfigPtrOutput

func (o DeviceGatewayConfigOutput) ToDeviceGatewayConfigPtrOutput() DeviceGatewayConfigPtrOutput

func (DeviceGatewayConfigOutput) ToDeviceGatewayConfigPtrOutputWithContext

func (o DeviceGatewayConfigOutput) ToDeviceGatewayConfigPtrOutputWithContext(ctx context.Context) DeviceGatewayConfigPtrOutput

type DeviceGatewayConfigPtrInput

type DeviceGatewayConfigPtrInput interface {
	pulumi.Input

	ToDeviceGatewayConfigPtrOutput() DeviceGatewayConfigPtrOutput
	ToDeviceGatewayConfigPtrOutputWithContext(context.Context) DeviceGatewayConfigPtrOutput
}

DeviceGatewayConfigPtrInput is an input type that accepts DeviceGatewayConfigArgs, DeviceGatewayConfigPtr and DeviceGatewayConfigPtrOutput values. You can construct a concrete instance of `DeviceGatewayConfigPtrInput` via:

        DeviceGatewayConfigArgs{...}

or:

        nil

type DeviceGatewayConfigPtrOutput

type DeviceGatewayConfigPtrOutput struct{ *pulumi.OutputState }

func (DeviceGatewayConfigPtrOutput) Elem

func (DeviceGatewayConfigPtrOutput) ElementType

func (DeviceGatewayConfigPtrOutput) GatewayAuthMethod

func (o DeviceGatewayConfigPtrOutput) GatewayAuthMethod() pulumi.StringPtrOutput

Indicates whether the device is a gateway. Possible values are: `ASSOCIATION_ONLY`, `DEVICE_AUTH_TOKEN_ONLY`, `ASSOCIATION_AND_DEVICE_AUTH_TOKEN`.

func (DeviceGatewayConfigPtrOutput) GatewayType

Indicates whether the device is a gateway. Default value is `NON_GATEWAY`. Possible values are: `GATEWAY`, `NON_GATEWAY`.

func (DeviceGatewayConfigPtrOutput) LastAccessedGatewayId

func (o DeviceGatewayConfigPtrOutput) LastAccessedGatewayId() pulumi.StringPtrOutput

(Output) The ID of the gateway the device accessed most recently.

func (DeviceGatewayConfigPtrOutput) LastAccessedGatewayTime

func (o DeviceGatewayConfigPtrOutput) LastAccessedGatewayTime() pulumi.StringPtrOutput

(Output) The most recent time at which the device accessed the gateway specified in last_accessed_gateway.

func (DeviceGatewayConfigPtrOutput) ToDeviceGatewayConfigPtrOutput

func (o DeviceGatewayConfigPtrOutput) ToDeviceGatewayConfigPtrOutput() DeviceGatewayConfigPtrOutput

func (DeviceGatewayConfigPtrOutput) ToDeviceGatewayConfigPtrOutputWithContext

func (o DeviceGatewayConfigPtrOutput) ToDeviceGatewayConfigPtrOutputWithContext(ctx context.Context) DeviceGatewayConfigPtrOutput

type DeviceInput

type DeviceInput interface {
	pulumi.Input

	ToDeviceOutput() DeviceOutput
	ToDeviceOutputWithContext(ctx context.Context) DeviceOutput
}

type DeviceLastErrorStatus

type DeviceLastErrorStatus struct {
	// A list of messages that carry the error details.
	Details []map[string]interface{} `pulumi:"details"`
	// A developer-facing error message, which should be in English.
	Message *string `pulumi:"message"`
	// The status code, which should be an enum value of google.rpc.Code.
	Number *int `pulumi:"number"`
}

type DeviceLastErrorStatusArgs

type DeviceLastErrorStatusArgs struct {
	// A list of messages that carry the error details.
	Details pulumi.MapArrayInput `pulumi:"details"`
	// A developer-facing error message, which should be in English.
	Message pulumi.StringPtrInput `pulumi:"message"`
	// The status code, which should be an enum value of google.rpc.Code.
	Number pulumi.IntPtrInput `pulumi:"number"`
}

func (DeviceLastErrorStatusArgs) ElementType

func (DeviceLastErrorStatusArgs) ElementType() reflect.Type

func (DeviceLastErrorStatusArgs) ToDeviceLastErrorStatusOutput

func (i DeviceLastErrorStatusArgs) ToDeviceLastErrorStatusOutput() DeviceLastErrorStatusOutput

func (DeviceLastErrorStatusArgs) ToDeviceLastErrorStatusOutputWithContext

func (i DeviceLastErrorStatusArgs) ToDeviceLastErrorStatusOutputWithContext(ctx context.Context) DeviceLastErrorStatusOutput

type DeviceLastErrorStatusArray

type DeviceLastErrorStatusArray []DeviceLastErrorStatusInput

func (DeviceLastErrorStatusArray) ElementType

func (DeviceLastErrorStatusArray) ElementType() reflect.Type

func (DeviceLastErrorStatusArray) ToDeviceLastErrorStatusArrayOutput

func (i DeviceLastErrorStatusArray) ToDeviceLastErrorStatusArrayOutput() DeviceLastErrorStatusArrayOutput

func (DeviceLastErrorStatusArray) ToDeviceLastErrorStatusArrayOutputWithContext

func (i DeviceLastErrorStatusArray) ToDeviceLastErrorStatusArrayOutputWithContext(ctx context.Context) DeviceLastErrorStatusArrayOutput

type DeviceLastErrorStatusArrayInput

type DeviceLastErrorStatusArrayInput interface {
	pulumi.Input

	ToDeviceLastErrorStatusArrayOutput() DeviceLastErrorStatusArrayOutput
	ToDeviceLastErrorStatusArrayOutputWithContext(context.Context) DeviceLastErrorStatusArrayOutput
}

DeviceLastErrorStatusArrayInput is an input type that accepts DeviceLastErrorStatusArray and DeviceLastErrorStatusArrayOutput values. You can construct a concrete instance of `DeviceLastErrorStatusArrayInput` via:

DeviceLastErrorStatusArray{ DeviceLastErrorStatusArgs{...} }

type DeviceLastErrorStatusArrayOutput

type DeviceLastErrorStatusArrayOutput struct{ *pulumi.OutputState }

func (DeviceLastErrorStatusArrayOutput) ElementType

func (DeviceLastErrorStatusArrayOutput) Index

func (DeviceLastErrorStatusArrayOutput) ToDeviceLastErrorStatusArrayOutput

func (o DeviceLastErrorStatusArrayOutput) ToDeviceLastErrorStatusArrayOutput() DeviceLastErrorStatusArrayOutput

func (DeviceLastErrorStatusArrayOutput) ToDeviceLastErrorStatusArrayOutputWithContext

func (o DeviceLastErrorStatusArrayOutput) ToDeviceLastErrorStatusArrayOutputWithContext(ctx context.Context) DeviceLastErrorStatusArrayOutput

type DeviceLastErrorStatusInput

type DeviceLastErrorStatusInput interface {
	pulumi.Input

	ToDeviceLastErrorStatusOutput() DeviceLastErrorStatusOutput
	ToDeviceLastErrorStatusOutputWithContext(context.Context) DeviceLastErrorStatusOutput
}

DeviceLastErrorStatusInput is an input type that accepts DeviceLastErrorStatusArgs and DeviceLastErrorStatusOutput values. You can construct a concrete instance of `DeviceLastErrorStatusInput` via:

DeviceLastErrorStatusArgs{...}

type DeviceLastErrorStatusOutput

type DeviceLastErrorStatusOutput struct{ *pulumi.OutputState }

func (DeviceLastErrorStatusOutput) Details

A list of messages that carry the error details.

func (DeviceLastErrorStatusOutput) ElementType

func (DeviceLastErrorStatusOutput) Message

A developer-facing error message, which should be in English.

func (DeviceLastErrorStatusOutput) Number

The status code, which should be an enum value of google.rpc.Code.

func (DeviceLastErrorStatusOutput) ToDeviceLastErrorStatusOutput

func (o DeviceLastErrorStatusOutput) ToDeviceLastErrorStatusOutput() DeviceLastErrorStatusOutput

func (DeviceLastErrorStatusOutput) ToDeviceLastErrorStatusOutputWithContext

func (o DeviceLastErrorStatusOutput) ToDeviceLastErrorStatusOutputWithContext(ctx context.Context) DeviceLastErrorStatusOutput

type DeviceMap

type DeviceMap map[string]DeviceInput

func (DeviceMap) ElementType

func (DeviceMap) ElementType() reflect.Type

func (DeviceMap) ToDeviceMapOutput

func (i DeviceMap) ToDeviceMapOutput() DeviceMapOutput

func (DeviceMap) ToDeviceMapOutputWithContext

func (i DeviceMap) ToDeviceMapOutputWithContext(ctx context.Context) DeviceMapOutput

type DeviceMapInput

type DeviceMapInput interface {
	pulumi.Input

	ToDeviceMapOutput() DeviceMapOutput
	ToDeviceMapOutputWithContext(context.Context) DeviceMapOutput
}

DeviceMapInput is an input type that accepts DeviceMap and DeviceMapOutput values. You can construct a concrete instance of `DeviceMapInput` via:

DeviceMap{ "key": DeviceArgs{...} }

type DeviceMapOutput

type DeviceMapOutput struct{ *pulumi.OutputState }

func (DeviceMapOutput) ElementType

func (DeviceMapOutput) ElementType() reflect.Type

func (DeviceMapOutput) MapIndex

func (DeviceMapOutput) ToDeviceMapOutput

func (o DeviceMapOutput) ToDeviceMapOutput() DeviceMapOutput

func (DeviceMapOutput) ToDeviceMapOutputWithContext

func (o DeviceMapOutput) ToDeviceMapOutputWithContext(ctx context.Context) DeviceMapOutput

type DeviceOutput

type DeviceOutput struct{ *pulumi.OutputState }

func (DeviceOutput) Blocked added in v6.23.0

func (o DeviceOutput) Blocked() pulumi.BoolPtrOutput

If a device is blocked, connections or requests from this device will fail.

func (DeviceOutput) Configs added in v6.23.0

The most recent device configuration, which is eventually sent from Cloud IoT Core to the device. Structure is documented below.

func (DeviceOutput) Credentials added in v6.23.0

func (o DeviceOutput) Credentials() DeviceCredentialArrayOutput

The credentials used to authenticate this device. Structure is documented below.

func (DeviceOutput) ElementType

func (DeviceOutput) ElementType() reflect.Type

func (DeviceOutput) GatewayConfig added in v6.23.0

func (o DeviceOutput) GatewayConfig() DeviceGatewayConfigPtrOutput

Gateway-related configuration and state. Structure is documented below.

func (DeviceOutput) LastConfigAckTime added in v6.23.0

func (o DeviceOutput) LastConfigAckTime() pulumi.StringOutput

The last time a cloud-to-device config version acknowledgment was received from the device.

func (DeviceOutput) LastConfigSendTime added in v6.23.0

func (o DeviceOutput) LastConfigSendTime() pulumi.StringOutput

The last time a cloud-to-device config version was sent to the device.

func (DeviceOutput) LastErrorStatuses added in v6.23.0

func (o DeviceOutput) LastErrorStatuses() DeviceLastErrorStatusArrayOutput

The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub. Structure is documented below.

func (DeviceOutput) LastErrorTime added in v6.23.0

func (o DeviceOutput) LastErrorTime() pulumi.StringOutput

The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub.

func (DeviceOutput) LastEventTime added in v6.23.0

func (o DeviceOutput) LastEventTime() pulumi.StringOutput

The last time a telemetry event was received.

func (DeviceOutput) LastHeartbeatTime added in v6.23.0

func (o DeviceOutput) LastHeartbeatTime() pulumi.StringOutput

The last time an MQTT PINGREQ was received.

func (DeviceOutput) LastStateTime added in v6.23.0

func (o DeviceOutput) LastStateTime() pulumi.StringOutput

The last time a state event was received.

func (DeviceOutput) LogLevel added in v6.23.0

func (o DeviceOutput) LogLevel() pulumi.StringPtrOutput

The logging verbosity for device activity. Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.

func (DeviceOutput) Metadata added in v6.23.0

func (o DeviceOutput) Metadata() pulumi.StringMapOutput

The metadata key-value pairs assigned to the device.

func (DeviceOutput) Name added in v6.23.0

func (o DeviceOutput) Name() pulumi.StringOutput

A unique name for the resource.

func (DeviceOutput) NumId added in v6.23.0

func (o DeviceOutput) NumId() pulumi.StringOutput

A server-defined unique numeric ID for the device. This is a more compact way to identify devices, and it is globally unique.

func (DeviceOutput) Registry added in v6.23.0

func (o DeviceOutput) Registry() pulumi.StringOutput

The name of the device registry where this device should be created.

func (DeviceOutput) States added in v6.23.0

The state most recently received from the device. Structure is documented below.

func (DeviceOutput) ToDeviceOutput

func (o DeviceOutput) ToDeviceOutput() DeviceOutput

func (DeviceOutput) ToDeviceOutputWithContext

func (o DeviceOutput) ToDeviceOutputWithContext(ctx context.Context) DeviceOutput

type DeviceState

type DeviceState struct {
	// If a device is blocked, connections or requests from this device will fail.
	Blocked pulumi.BoolPtrInput
	// The most recent device configuration, which is eventually sent from Cloud IoT Core to the device.
	// Structure is documented below.
	Configs DeviceConfigArrayInput
	// The credentials used to authenticate this device.
	// Structure is documented below.
	Credentials DeviceCredentialArrayInput
	// Gateway-related configuration and state.
	// Structure is documented below.
	GatewayConfig DeviceGatewayConfigPtrInput
	// The last time a cloud-to-device config version acknowledgment was received from the device.
	LastConfigAckTime pulumi.StringPtrInput
	// The last time a cloud-to-device config version was sent to the device.
	LastConfigSendTime pulumi.StringPtrInput
	// The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub.
	// Structure is documented below.
	LastErrorStatuses DeviceLastErrorStatusArrayInput
	// The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub.
	LastErrorTime pulumi.StringPtrInput
	// The last time a telemetry event was received.
	LastEventTime pulumi.StringPtrInput
	// The last time an MQTT PINGREQ was received.
	LastHeartbeatTime pulumi.StringPtrInput
	// The last time a state event was received.
	LastStateTime pulumi.StringPtrInput
	// The logging verbosity for device activity.
	// Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.
	LogLevel pulumi.StringPtrInput
	// The metadata key-value pairs assigned to the device.
	Metadata pulumi.StringMapInput
	// A unique name for the resource.
	Name pulumi.StringPtrInput
	// A server-defined unique numeric ID for the device.
	// This is a more compact way to identify devices, and it is globally unique.
	NumId pulumi.StringPtrInput
	// The name of the device registry where this device should be created.
	Registry pulumi.StringPtrInput
	// The state most recently received from the device.
	// Structure is documented below.
	States DeviceStateTypeArrayInput
}

func (DeviceState) ElementType

func (DeviceState) ElementType() reflect.Type

type DeviceStateType

type DeviceStateType struct {
	// The device state data.
	BinaryData *string `pulumi:"binaryData"`
	// The time at which this state version was updated in Cloud IoT Core.
	UpdateTime *string `pulumi:"updateTime"`
}

type DeviceStateTypeArgs

type DeviceStateTypeArgs struct {
	// The device state data.
	BinaryData pulumi.StringPtrInput `pulumi:"binaryData"`
	// The time at which this state version was updated in Cloud IoT Core.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (DeviceStateTypeArgs) ElementType

func (DeviceStateTypeArgs) ElementType() reflect.Type

func (DeviceStateTypeArgs) ToDeviceStateTypeOutput

func (i DeviceStateTypeArgs) ToDeviceStateTypeOutput() DeviceStateTypeOutput

func (DeviceStateTypeArgs) ToDeviceStateTypeOutputWithContext

func (i DeviceStateTypeArgs) ToDeviceStateTypeOutputWithContext(ctx context.Context) DeviceStateTypeOutput

type DeviceStateTypeArray

type DeviceStateTypeArray []DeviceStateTypeInput

func (DeviceStateTypeArray) ElementType

func (DeviceStateTypeArray) ElementType() reflect.Type

func (DeviceStateTypeArray) ToDeviceStateTypeArrayOutput

func (i DeviceStateTypeArray) ToDeviceStateTypeArrayOutput() DeviceStateTypeArrayOutput

func (DeviceStateTypeArray) ToDeviceStateTypeArrayOutputWithContext

func (i DeviceStateTypeArray) ToDeviceStateTypeArrayOutputWithContext(ctx context.Context) DeviceStateTypeArrayOutput

type DeviceStateTypeArrayInput

type DeviceStateTypeArrayInput interface {
	pulumi.Input

	ToDeviceStateTypeArrayOutput() DeviceStateTypeArrayOutput
	ToDeviceStateTypeArrayOutputWithContext(context.Context) DeviceStateTypeArrayOutput
}

DeviceStateTypeArrayInput is an input type that accepts DeviceStateTypeArray and DeviceStateTypeArrayOutput values. You can construct a concrete instance of `DeviceStateTypeArrayInput` via:

DeviceStateTypeArray{ DeviceStateTypeArgs{...} }

type DeviceStateTypeArrayOutput

type DeviceStateTypeArrayOutput struct{ *pulumi.OutputState }

func (DeviceStateTypeArrayOutput) ElementType

func (DeviceStateTypeArrayOutput) ElementType() reflect.Type

func (DeviceStateTypeArrayOutput) Index

func (DeviceStateTypeArrayOutput) ToDeviceStateTypeArrayOutput

func (o DeviceStateTypeArrayOutput) ToDeviceStateTypeArrayOutput() DeviceStateTypeArrayOutput

func (DeviceStateTypeArrayOutput) ToDeviceStateTypeArrayOutputWithContext

func (o DeviceStateTypeArrayOutput) ToDeviceStateTypeArrayOutputWithContext(ctx context.Context) DeviceStateTypeArrayOutput

type DeviceStateTypeInput

type DeviceStateTypeInput interface {
	pulumi.Input

	ToDeviceStateTypeOutput() DeviceStateTypeOutput
	ToDeviceStateTypeOutputWithContext(context.Context) DeviceStateTypeOutput
}

DeviceStateTypeInput is an input type that accepts DeviceStateTypeArgs and DeviceStateTypeOutput values. You can construct a concrete instance of `DeviceStateTypeInput` via:

DeviceStateTypeArgs{...}

type DeviceStateTypeOutput

type DeviceStateTypeOutput struct{ *pulumi.OutputState }

func (DeviceStateTypeOutput) BinaryData

The device state data.

func (DeviceStateTypeOutput) ElementType

func (DeviceStateTypeOutput) ElementType() reflect.Type

func (DeviceStateTypeOutput) ToDeviceStateTypeOutput

func (o DeviceStateTypeOutput) ToDeviceStateTypeOutput() DeviceStateTypeOutput

func (DeviceStateTypeOutput) ToDeviceStateTypeOutputWithContext

func (o DeviceStateTypeOutput) ToDeviceStateTypeOutputWithContext(ctx context.Context) DeviceStateTypeOutput

func (DeviceStateTypeOutput) UpdateTime

The time at which this state version was updated in Cloud IoT Core.

type Registry

type Registry struct {
	pulumi.CustomResourceState

	// List of public key certificates to authenticate devices.
	// The structure is documented below.
	Credentials RegistryCredentialArrayOutput `pulumi:"credentials"`
	// List of configurations for event notifications, such as PubSub topics
	// to publish device events to.
	// Structure is documented below.
	EventNotificationConfigs RegistryEventNotificationConfigItemArrayOutput `pulumi:"eventNotificationConfigs"`
	// Activate or deactivate HTTP.
	// The structure is documented below.
	HttpConfig pulumi.MapOutput `pulumi:"httpConfig"`
	// The default logging verbosity for activity from devices in this
	// registry. Specifies which events should be written to logs. For
	// example, if the LogLevel is ERROR, only events that terminate in
	// errors will be logged. LogLevel is inclusive; enabling INFO logging
	// will also enable ERROR logging.
	// Default value is `NONE`.
	// Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.
	LogLevel pulumi.StringPtrOutput `pulumi:"logLevel"`
	// Activate or deactivate MQTT.
	// The structure is documented below.
	MqttConfig pulumi.MapOutput `pulumi:"mqttConfig"`
	// A unique name for the resource, required by device registry.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	Region pulumi.StringOutput `pulumi:"region"`
	// A PubSub topic to publish device state updates.
	// The structure is documented below.
	StateNotificationConfig pulumi.MapOutput `pulumi:"stateNotificationConfig"`
}

A Google Cloud IoT Core device registry.

To get more information about DeviceRegistry, see:

* [API documentation](https://cloud.google.com/iot/docs/reference/cloudiot/rest/) * How-to Guides

## Example Usage ### Cloudiot Device Registry Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistry(ctx, "test-registry", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudiot Device Registry Single Event Notification Configs

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := pubsub.NewTopic(ctx, "default-telemetry", nil)
		if err != nil {
			return err
		}
		_, err = iot.NewRegistry(ctx, "test-registry", &iot.RegistryArgs{
			EventNotificationConfigs: iot.RegistryEventNotificationConfigItemArray{
				&iot.RegistryEventNotificationConfigItemArgs{
					PubsubTopicName:  default_telemetry.ID(),
					SubfolderMatches: pulumi.String(""),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloudiot Device Registry Full

```go package main

import (

"os"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := pubsub.NewTopic(ctx, "default-devicestatus", nil)
		if err != nil {
			return err
		}
		_, err = pubsub.NewTopic(ctx, "default-telemetry", nil)
		if err != nil {
			return err
		}
		_, err = pubsub.NewTopic(ctx, "additional-telemetry", nil)
		if err != nil {
			return err
		}
		_, err = iot.NewRegistry(ctx, "test-registry", &iot.RegistryArgs{
			EventNotificationConfigs: iot.RegistryEventNotificationConfigItemArray{
				&iot.RegistryEventNotificationConfigItemArgs{
					PubsubTopicName:  additional_telemetry.ID(),
					SubfolderMatches: pulumi.String("test/path"),
				},
				&iot.RegistryEventNotificationConfigItemArgs{
					PubsubTopicName:  default_telemetry.ID(),
					SubfolderMatches: pulumi.String(""),
				},
			},
			StateNotificationConfig: pulumi.AnyMap{
				"pubsub_topic_name": default_devicestatus.ID(),
			},
			MqttConfig: pulumi.AnyMap{
				"mqtt_enabled_state": pulumi.Any("MQTT_ENABLED"),
			},
			HttpConfig: pulumi.AnyMap{
				"http_enabled_state": pulumi.Any("HTTP_ENABLED"),
			},
			LogLevel: pulumi.String("INFO"),
			Credentials: iot.RegistryCredentialArray{
				&iot.RegistryCredentialArgs{
					PublicKeyCertificate: pulumi.AnyMap{
						"format":      pulumi.Any("X509_CERTIFICATE_PEM"),
						"certificate": readFileOrPanic("test-fixtures/rsa_cert.pem"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DeviceRegistry can be imported using any of these accepted formats

```sh

$ pulumi import gcp:iot/registry:Registry default {{project}}/locations/{{region}}/registries/{{name}}

```

```sh

$ pulumi import gcp:iot/registry:Registry default {{project}}/{{region}}/{{name}}

```

```sh

$ pulumi import gcp:iot/registry:Registry default {{region}}/{{name}}

```

```sh

$ pulumi import gcp:iot/registry:Registry default {{name}}

```

func GetRegistry

func GetRegistry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RegistryState, opts ...pulumi.ResourceOption) (*Registry, error)

GetRegistry gets an existing Registry resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegistry

func NewRegistry(ctx *pulumi.Context,
	name string, args *RegistryArgs, opts ...pulumi.ResourceOption) (*Registry, error)

NewRegistry registers a new resource with the given unique name, arguments, and options.

func (*Registry) ElementType

func (*Registry) ElementType() reflect.Type

func (*Registry) ToRegistryOutput

func (i *Registry) ToRegistryOutput() RegistryOutput

func (*Registry) ToRegistryOutputWithContext

func (i *Registry) ToRegistryOutputWithContext(ctx context.Context) RegistryOutput

type RegistryArgs

type RegistryArgs struct {
	// List of public key certificates to authenticate devices.
	// The structure is documented below.
	Credentials RegistryCredentialArrayInput
	// List of configurations for event notifications, such as PubSub topics
	// to publish device events to.
	// Structure is documented below.
	EventNotificationConfigs RegistryEventNotificationConfigItemArrayInput
	// Activate or deactivate HTTP.
	// The structure is documented below.
	HttpConfig pulumi.MapInput
	// The default logging verbosity for activity from devices in this
	// registry. Specifies which events should be written to logs. For
	// example, if the LogLevel is ERROR, only events that terminate in
	// errors will be logged. LogLevel is inclusive; enabling INFO logging
	// will also enable ERROR logging.
	// Default value is `NONE`.
	// Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.
	LogLevel pulumi.StringPtrInput
	// Activate or deactivate MQTT.
	// The structure is documented below.
	MqttConfig pulumi.MapInput
	// A unique name for the resource, required by device registry.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	Region pulumi.StringPtrInput
	// A PubSub topic to publish device state updates.
	// The structure is documented below.
	StateNotificationConfig pulumi.MapInput
}

The set of arguments for constructing a Registry resource.

func (RegistryArgs) ElementType

func (RegistryArgs) ElementType() reflect.Type

type RegistryArray

type RegistryArray []RegistryInput

func (RegistryArray) ElementType

func (RegistryArray) ElementType() reflect.Type

func (RegistryArray) ToRegistryArrayOutput

func (i RegistryArray) ToRegistryArrayOutput() RegistryArrayOutput

func (RegistryArray) ToRegistryArrayOutputWithContext

func (i RegistryArray) ToRegistryArrayOutputWithContext(ctx context.Context) RegistryArrayOutput

type RegistryArrayInput

type RegistryArrayInput interface {
	pulumi.Input

	ToRegistryArrayOutput() RegistryArrayOutput
	ToRegistryArrayOutputWithContext(context.Context) RegistryArrayOutput
}

RegistryArrayInput is an input type that accepts RegistryArray and RegistryArrayOutput values. You can construct a concrete instance of `RegistryArrayInput` via:

RegistryArray{ RegistryArgs{...} }

type RegistryArrayOutput

type RegistryArrayOutput struct{ *pulumi.OutputState }

func (RegistryArrayOutput) ElementType

func (RegistryArrayOutput) ElementType() reflect.Type

func (RegistryArrayOutput) Index

func (RegistryArrayOutput) ToRegistryArrayOutput

func (o RegistryArrayOutput) ToRegistryArrayOutput() RegistryArrayOutput

func (RegistryArrayOutput) ToRegistryArrayOutputWithContext

func (o RegistryArrayOutput) ToRegistryArrayOutputWithContext(ctx context.Context) RegistryArrayOutput

type RegistryCredential

type RegistryCredential struct {
	// A public key certificate format and data.
	PublicKeyCertificate map[string]interface{} `pulumi:"publicKeyCertificate"`
}

type RegistryCredentialArgs

type RegistryCredentialArgs struct {
	// A public key certificate format and data.
	PublicKeyCertificate pulumi.MapInput `pulumi:"publicKeyCertificate"`
}

func (RegistryCredentialArgs) ElementType

func (RegistryCredentialArgs) ElementType() reflect.Type

func (RegistryCredentialArgs) ToRegistryCredentialOutput

func (i RegistryCredentialArgs) ToRegistryCredentialOutput() RegistryCredentialOutput

func (RegistryCredentialArgs) ToRegistryCredentialOutputWithContext

func (i RegistryCredentialArgs) ToRegistryCredentialOutputWithContext(ctx context.Context) RegistryCredentialOutput

type RegistryCredentialArray

type RegistryCredentialArray []RegistryCredentialInput

func (RegistryCredentialArray) ElementType

func (RegistryCredentialArray) ElementType() reflect.Type

func (RegistryCredentialArray) ToRegistryCredentialArrayOutput

func (i RegistryCredentialArray) ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput

func (RegistryCredentialArray) ToRegistryCredentialArrayOutputWithContext

func (i RegistryCredentialArray) ToRegistryCredentialArrayOutputWithContext(ctx context.Context) RegistryCredentialArrayOutput

type RegistryCredentialArrayInput

type RegistryCredentialArrayInput interface {
	pulumi.Input

	ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput
	ToRegistryCredentialArrayOutputWithContext(context.Context) RegistryCredentialArrayOutput
}

RegistryCredentialArrayInput is an input type that accepts RegistryCredentialArray and RegistryCredentialArrayOutput values. You can construct a concrete instance of `RegistryCredentialArrayInput` via:

RegistryCredentialArray{ RegistryCredentialArgs{...} }

type RegistryCredentialArrayOutput

type RegistryCredentialArrayOutput struct{ *pulumi.OutputState }

func (RegistryCredentialArrayOutput) ElementType

func (RegistryCredentialArrayOutput) Index

func (RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutput

func (o RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutput() RegistryCredentialArrayOutput

func (RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutputWithContext

func (o RegistryCredentialArrayOutput) ToRegistryCredentialArrayOutputWithContext(ctx context.Context) RegistryCredentialArrayOutput

type RegistryCredentialInput

type RegistryCredentialInput interface {
	pulumi.Input

	ToRegistryCredentialOutput() RegistryCredentialOutput
	ToRegistryCredentialOutputWithContext(context.Context) RegistryCredentialOutput
}

RegistryCredentialInput is an input type that accepts RegistryCredentialArgs and RegistryCredentialOutput values. You can construct a concrete instance of `RegistryCredentialInput` via:

RegistryCredentialArgs{...}

type RegistryCredentialOutput

type RegistryCredentialOutput struct{ *pulumi.OutputState }

func (RegistryCredentialOutput) ElementType

func (RegistryCredentialOutput) ElementType() reflect.Type

func (RegistryCredentialOutput) PublicKeyCertificate

func (o RegistryCredentialOutput) PublicKeyCertificate() pulumi.MapOutput

A public key certificate format and data.

func (RegistryCredentialOutput) ToRegistryCredentialOutput

func (o RegistryCredentialOutput) ToRegistryCredentialOutput() RegistryCredentialOutput

func (RegistryCredentialOutput) ToRegistryCredentialOutputWithContext

func (o RegistryCredentialOutput) ToRegistryCredentialOutputWithContext(ctx context.Context) RegistryCredentialOutput

type RegistryEventNotificationConfigItem

type RegistryEventNotificationConfigItem struct {
	// PubSub topic name to publish device events.
	PubsubTopicName string `pulumi:"pubsubTopicName"`
	// If the subfolder name matches this string exactly, this
	// configuration will be used. The string must not include the
	// leading '/' character. If empty, all strings are matched. Empty
	// value can only be used for the last `eventNotificationConfigs`
	// item.
	SubfolderMatches *string `pulumi:"subfolderMatches"`
}

type RegistryEventNotificationConfigItemArgs

type RegistryEventNotificationConfigItemArgs struct {
	// PubSub topic name to publish device events.
	PubsubTopicName pulumi.StringInput `pulumi:"pubsubTopicName"`
	// If the subfolder name matches this string exactly, this
	// configuration will be used. The string must not include the
	// leading '/' character. If empty, all strings are matched. Empty
	// value can only be used for the last `eventNotificationConfigs`
	// item.
	SubfolderMatches pulumi.StringPtrInput `pulumi:"subfolderMatches"`
}

func (RegistryEventNotificationConfigItemArgs) ElementType

func (RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutput

func (i RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput

func (RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutputWithContext

func (i RegistryEventNotificationConfigItemArgs) ToRegistryEventNotificationConfigItemOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemOutput

type RegistryEventNotificationConfigItemArray

type RegistryEventNotificationConfigItemArray []RegistryEventNotificationConfigItemInput

func (RegistryEventNotificationConfigItemArray) ElementType

func (RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutput

func (i RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput

func (RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutputWithContext

func (i RegistryEventNotificationConfigItemArray) ToRegistryEventNotificationConfigItemArrayOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemArrayOutput

type RegistryEventNotificationConfigItemArrayInput

type RegistryEventNotificationConfigItemArrayInput interface {
	pulumi.Input

	ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput
	ToRegistryEventNotificationConfigItemArrayOutputWithContext(context.Context) RegistryEventNotificationConfigItemArrayOutput
}

RegistryEventNotificationConfigItemArrayInput is an input type that accepts RegistryEventNotificationConfigItemArray and RegistryEventNotificationConfigItemArrayOutput values. You can construct a concrete instance of `RegistryEventNotificationConfigItemArrayInput` via:

RegistryEventNotificationConfigItemArray{ RegistryEventNotificationConfigItemArgs{...} }

type RegistryEventNotificationConfigItemArrayOutput

type RegistryEventNotificationConfigItemArrayOutput struct{ *pulumi.OutputState }

func (RegistryEventNotificationConfigItemArrayOutput) ElementType

func (RegistryEventNotificationConfigItemArrayOutput) Index

func (RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutput

func (o RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutput() RegistryEventNotificationConfigItemArrayOutput

func (RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutputWithContext

func (o RegistryEventNotificationConfigItemArrayOutput) ToRegistryEventNotificationConfigItemArrayOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemArrayOutput

type RegistryEventNotificationConfigItemInput

type RegistryEventNotificationConfigItemInput interface {
	pulumi.Input

	ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput
	ToRegistryEventNotificationConfigItemOutputWithContext(context.Context) RegistryEventNotificationConfigItemOutput
}

RegistryEventNotificationConfigItemInput is an input type that accepts RegistryEventNotificationConfigItemArgs and RegistryEventNotificationConfigItemOutput values. You can construct a concrete instance of `RegistryEventNotificationConfigItemInput` via:

RegistryEventNotificationConfigItemArgs{...}

type RegistryEventNotificationConfigItemOutput

type RegistryEventNotificationConfigItemOutput struct{ *pulumi.OutputState }

func (RegistryEventNotificationConfigItemOutput) ElementType

func (RegistryEventNotificationConfigItemOutput) PubsubTopicName

PubSub topic name to publish device events.

func (RegistryEventNotificationConfigItemOutput) SubfolderMatches

If the subfolder name matches this string exactly, this configuration will be used. The string must not include the leading '/' character. If empty, all strings are matched. Empty value can only be used for the last `eventNotificationConfigs` item.

func (RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutput

func (o RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutput() RegistryEventNotificationConfigItemOutput

func (RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutputWithContext

func (o RegistryEventNotificationConfigItemOutput) ToRegistryEventNotificationConfigItemOutputWithContext(ctx context.Context) RegistryEventNotificationConfigItemOutput

type RegistryIamBinding added in v6.32.0

type RegistryIamBinding struct {
	pulumi.CustomResourceState

	Condition RegistryIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringOutput `pulumi:"region"`
	// The role that should be applied. Only one
	// `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud IoT Core DeviceRegistry. Each of these resources serves a different use case:

* `iot.RegistryIamPolicy`: Authoritative. Sets the IAM policy for the deviceregistry and replaces any existing policy already attached. * `iot.RegistryIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the deviceregistry are preserved. * `iot.RegistryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the deviceregistry are preserved.

> **Note:** `iot.RegistryIamPolicy` **cannot** be used in conjunction with `iot.RegistryIamBinding` and `iot.RegistryIamMember` or they will fight over what your policy should be.

> **Note:** `iot.RegistryIamBinding` resources **can be** used in conjunction with `iot.RegistryIamMember` resources **only if** they do not grant privilege to the same role.

## google\_cloudiot\_registry\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = iot.NewRegistryIamPolicy(ctx, "policy", &iot.RegistryIamPolicyArgs{
			Project:    pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:     pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudiot\_registry\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistryIamBinding(ctx, "binding", &iot.RegistryIamBindingArgs{
			Project: pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:  pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			Role:    pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudiot\_registry\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistryIamMember(ctx, "member", &iot.RegistryIamMemberArgs{
			Project: pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:  pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			Role:    pulumi.String("roles/viewer"),
			Member:  pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/registries/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud IoT Core deviceregistry IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:iot/registryIamBinding:RegistryIamBinding editor "projects/{{project}}/locations/{{location}}/registries/{{device_registry}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:iot/registryIamBinding:RegistryIamBinding editor "projects/{{project}}/locations/{{location}}/registries/{{device_registry}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:iot/registryIamBinding:RegistryIamBinding editor projects/{{project}}/locations/{{location}}/registries/{{device_registry}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetRegistryIamBinding added in v6.32.0

func GetRegistryIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RegistryIamBindingState, opts ...pulumi.ResourceOption) (*RegistryIamBinding, error)

GetRegistryIamBinding gets an existing RegistryIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegistryIamBinding added in v6.32.0

func NewRegistryIamBinding(ctx *pulumi.Context,
	name string, args *RegistryIamBindingArgs, opts ...pulumi.ResourceOption) (*RegistryIamBinding, error)

NewRegistryIamBinding registers a new resource with the given unique name, arguments, and options.

func (*RegistryIamBinding) ElementType added in v6.32.0

func (*RegistryIamBinding) ElementType() reflect.Type

func (*RegistryIamBinding) ToRegistryIamBindingOutput added in v6.32.0

func (i *RegistryIamBinding) ToRegistryIamBindingOutput() RegistryIamBindingOutput

func (*RegistryIamBinding) ToRegistryIamBindingOutputWithContext added in v6.32.0

func (i *RegistryIamBinding) ToRegistryIamBindingOutputWithContext(ctx context.Context) RegistryIamBindingOutput

type RegistryIamBindingArgs added in v6.32.0

type RegistryIamBindingArgs struct {
	Condition RegistryIamBindingConditionPtrInput
	Members   pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a RegistryIamBinding resource.

func (RegistryIamBindingArgs) ElementType added in v6.32.0

func (RegistryIamBindingArgs) ElementType() reflect.Type

type RegistryIamBindingArray added in v6.32.0

type RegistryIamBindingArray []RegistryIamBindingInput

func (RegistryIamBindingArray) ElementType added in v6.32.0

func (RegistryIamBindingArray) ElementType() reflect.Type

func (RegistryIamBindingArray) ToRegistryIamBindingArrayOutput added in v6.32.0

func (i RegistryIamBindingArray) ToRegistryIamBindingArrayOutput() RegistryIamBindingArrayOutput

func (RegistryIamBindingArray) ToRegistryIamBindingArrayOutputWithContext added in v6.32.0

func (i RegistryIamBindingArray) ToRegistryIamBindingArrayOutputWithContext(ctx context.Context) RegistryIamBindingArrayOutput

type RegistryIamBindingArrayInput added in v6.32.0

type RegistryIamBindingArrayInput interface {
	pulumi.Input

	ToRegistryIamBindingArrayOutput() RegistryIamBindingArrayOutput
	ToRegistryIamBindingArrayOutputWithContext(context.Context) RegistryIamBindingArrayOutput
}

RegistryIamBindingArrayInput is an input type that accepts RegistryIamBindingArray and RegistryIamBindingArrayOutput values. You can construct a concrete instance of `RegistryIamBindingArrayInput` via:

RegistryIamBindingArray{ RegistryIamBindingArgs{...} }

type RegistryIamBindingArrayOutput added in v6.32.0

type RegistryIamBindingArrayOutput struct{ *pulumi.OutputState }

func (RegistryIamBindingArrayOutput) ElementType added in v6.32.0

func (RegistryIamBindingArrayOutput) Index added in v6.32.0

func (RegistryIamBindingArrayOutput) ToRegistryIamBindingArrayOutput added in v6.32.0

func (o RegistryIamBindingArrayOutput) ToRegistryIamBindingArrayOutput() RegistryIamBindingArrayOutput

func (RegistryIamBindingArrayOutput) ToRegistryIamBindingArrayOutputWithContext added in v6.32.0

func (o RegistryIamBindingArrayOutput) ToRegistryIamBindingArrayOutputWithContext(ctx context.Context) RegistryIamBindingArrayOutput

type RegistryIamBindingCondition added in v6.32.0

type RegistryIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type RegistryIamBindingConditionArgs added in v6.32.0

type RegistryIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (RegistryIamBindingConditionArgs) ElementType added in v6.32.0

func (RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionOutput added in v6.32.0

func (i RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionOutput() RegistryIamBindingConditionOutput

func (RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionOutputWithContext added in v6.32.0

func (i RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionOutputWithContext(ctx context.Context) RegistryIamBindingConditionOutput

func (RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionPtrOutput added in v6.32.0

func (i RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionPtrOutput() RegistryIamBindingConditionPtrOutput

func (RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionPtrOutputWithContext added in v6.32.0

func (i RegistryIamBindingConditionArgs) ToRegistryIamBindingConditionPtrOutputWithContext(ctx context.Context) RegistryIamBindingConditionPtrOutput

type RegistryIamBindingConditionInput added in v6.32.0

type RegistryIamBindingConditionInput interface {
	pulumi.Input

	ToRegistryIamBindingConditionOutput() RegistryIamBindingConditionOutput
	ToRegistryIamBindingConditionOutputWithContext(context.Context) RegistryIamBindingConditionOutput
}

RegistryIamBindingConditionInput is an input type that accepts RegistryIamBindingConditionArgs and RegistryIamBindingConditionOutput values. You can construct a concrete instance of `RegistryIamBindingConditionInput` via:

RegistryIamBindingConditionArgs{...}

type RegistryIamBindingConditionOutput added in v6.32.0

type RegistryIamBindingConditionOutput struct{ *pulumi.OutputState }

func (RegistryIamBindingConditionOutput) Description added in v6.32.0

func (RegistryIamBindingConditionOutput) ElementType added in v6.32.0

func (RegistryIamBindingConditionOutput) Expression added in v6.32.0

func (RegistryIamBindingConditionOutput) Title added in v6.32.0

func (RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionOutput added in v6.32.0

func (o RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionOutput() RegistryIamBindingConditionOutput

func (RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionOutputWithContext added in v6.32.0

func (o RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionOutputWithContext(ctx context.Context) RegistryIamBindingConditionOutput

func (RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionPtrOutput added in v6.32.0

func (o RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionPtrOutput() RegistryIamBindingConditionPtrOutput

func (RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionPtrOutputWithContext added in v6.32.0

func (o RegistryIamBindingConditionOutput) ToRegistryIamBindingConditionPtrOutputWithContext(ctx context.Context) RegistryIamBindingConditionPtrOutput

type RegistryIamBindingConditionPtrInput added in v6.32.0

type RegistryIamBindingConditionPtrInput interface {
	pulumi.Input

	ToRegistryIamBindingConditionPtrOutput() RegistryIamBindingConditionPtrOutput
	ToRegistryIamBindingConditionPtrOutputWithContext(context.Context) RegistryIamBindingConditionPtrOutput
}

RegistryIamBindingConditionPtrInput is an input type that accepts RegistryIamBindingConditionArgs, RegistryIamBindingConditionPtr and RegistryIamBindingConditionPtrOutput values. You can construct a concrete instance of `RegistryIamBindingConditionPtrInput` via:

        RegistryIamBindingConditionArgs{...}

or:

        nil

func RegistryIamBindingConditionPtr added in v6.32.0

type RegistryIamBindingConditionPtrOutput added in v6.32.0

type RegistryIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (RegistryIamBindingConditionPtrOutput) Description added in v6.32.0

func (RegistryIamBindingConditionPtrOutput) Elem added in v6.32.0

func (RegistryIamBindingConditionPtrOutput) ElementType added in v6.32.0

func (RegistryIamBindingConditionPtrOutput) Expression added in v6.32.0

func (RegistryIamBindingConditionPtrOutput) Title added in v6.32.0

func (RegistryIamBindingConditionPtrOutput) ToRegistryIamBindingConditionPtrOutput added in v6.32.0

func (o RegistryIamBindingConditionPtrOutput) ToRegistryIamBindingConditionPtrOutput() RegistryIamBindingConditionPtrOutput

func (RegistryIamBindingConditionPtrOutput) ToRegistryIamBindingConditionPtrOutputWithContext added in v6.32.0

func (o RegistryIamBindingConditionPtrOutput) ToRegistryIamBindingConditionPtrOutputWithContext(ctx context.Context) RegistryIamBindingConditionPtrOutput

type RegistryIamBindingInput added in v6.32.0

type RegistryIamBindingInput interface {
	pulumi.Input

	ToRegistryIamBindingOutput() RegistryIamBindingOutput
	ToRegistryIamBindingOutputWithContext(ctx context.Context) RegistryIamBindingOutput
}

type RegistryIamBindingMap added in v6.32.0

type RegistryIamBindingMap map[string]RegistryIamBindingInput

func (RegistryIamBindingMap) ElementType added in v6.32.0

func (RegistryIamBindingMap) ElementType() reflect.Type

func (RegistryIamBindingMap) ToRegistryIamBindingMapOutput added in v6.32.0

func (i RegistryIamBindingMap) ToRegistryIamBindingMapOutput() RegistryIamBindingMapOutput

func (RegistryIamBindingMap) ToRegistryIamBindingMapOutputWithContext added in v6.32.0

func (i RegistryIamBindingMap) ToRegistryIamBindingMapOutputWithContext(ctx context.Context) RegistryIamBindingMapOutput

type RegistryIamBindingMapInput added in v6.32.0

type RegistryIamBindingMapInput interface {
	pulumi.Input

	ToRegistryIamBindingMapOutput() RegistryIamBindingMapOutput
	ToRegistryIamBindingMapOutputWithContext(context.Context) RegistryIamBindingMapOutput
}

RegistryIamBindingMapInput is an input type that accepts RegistryIamBindingMap and RegistryIamBindingMapOutput values. You can construct a concrete instance of `RegistryIamBindingMapInput` via:

RegistryIamBindingMap{ "key": RegistryIamBindingArgs{...} }

type RegistryIamBindingMapOutput added in v6.32.0

type RegistryIamBindingMapOutput struct{ *pulumi.OutputState }

func (RegistryIamBindingMapOutput) ElementType added in v6.32.0

func (RegistryIamBindingMapOutput) MapIndex added in v6.32.0

func (RegistryIamBindingMapOutput) ToRegistryIamBindingMapOutput added in v6.32.0

func (o RegistryIamBindingMapOutput) ToRegistryIamBindingMapOutput() RegistryIamBindingMapOutput

func (RegistryIamBindingMapOutput) ToRegistryIamBindingMapOutputWithContext added in v6.32.0

func (o RegistryIamBindingMapOutput) ToRegistryIamBindingMapOutputWithContext(ctx context.Context) RegistryIamBindingMapOutput

type RegistryIamBindingOutput added in v6.32.0

type RegistryIamBindingOutput struct{ *pulumi.OutputState }

func (RegistryIamBindingOutput) Condition added in v6.32.0

func (RegistryIamBindingOutput) ElementType added in v6.32.0

func (RegistryIamBindingOutput) ElementType() reflect.Type

func (RegistryIamBindingOutput) Etag added in v6.32.0

(Computed) The etag of the IAM policy.

func (RegistryIamBindingOutput) Members added in v6.32.0

func (RegistryIamBindingOutput) Name added in v6.32.0

Used to find the parent resource to bind the IAM policy to

func (RegistryIamBindingOutput) Project added in v6.32.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (RegistryIamBindingOutput) Region added in v6.32.0

The region in which the created registry should reside. If it is not provided, the provider region is used. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no region is specified, it is taken from the provider configuration.

func (RegistryIamBindingOutput) Role added in v6.32.0

The role that should be applied. Only one `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (RegistryIamBindingOutput) ToRegistryIamBindingOutput added in v6.32.0

func (o RegistryIamBindingOutput) ToRegistryIamBindingOutput() RegistryIamBindingOutput

func (RegistryIamBindingOutput) ToRegistryIamBindingOutputWithContext added in v6.32.0

func (o RegistryIamBindingOutput) ToRegistryIamBindingOutputWithContext(ctx context.Context) RegistryIamBindingOutput

type RegistryIamBindingState added in v6.32.0

type RegistryIamBindingState struct {
	Condition RegistryIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (RegistryIamBindingState) ElementType added in v6.32.0

func (RegistryIamBindingState) ElementType() reflect.Type

type RegistryIamMember added in v6.32.0

type RegistryIamMember struct {
	pulumi.CustomResourceState

	Condition RegistryIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringOutput `pulumi:"region"`
	// The role that should be applied. Only one
	// `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud IoT Core DeviceRegistry. Each of these resources serves a different use case:

* `iot.RegistryIamPolicy`: Authoritative. Sets the IAM policy for the deviceregistry and replaces any existing policy already attached. * `iot.RegistryIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the deviceregistry are preserved. * `iot.RegistryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the deviceregistry are preserved.

> **Note:** `iot.RegistryIamPolicy` **cannot** be used in conjunction with `iot.RegistryIamBinding` and `iot.RegistryIamMember` or they will fight over what your policy should be.

> **Note:** `iot.RegistryIamBinding` resources **can be** used in conjunction with `iot.RegistryIamMember` resources **only if** they do not grant privilege to the same role.

## google\_cloudiot\_registry\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = iot.NewRegistryIamPolicy(ctx, "policy", &iot.RegistryIamPolicyArgs{
			Project:    pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:     pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudiot\_registry\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistryIamBinding(ctx, "binding", &iot.RegistryIamBindingArgs{
			Project: pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:  pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			Role:    pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudiot\_registry\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistryIamMember(ctx, "member", &iot.RegistryIamMemberArgs{
			Project: pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:  pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			Role:    pulumi.String("roles/viewer"),
			Member:  pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/registries/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud IoT Core deviceregistry IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:iot/registryIamMember:RegistryIamMember editor "projects/{{project}}/locations/{{location}}/registries/{{device_registry}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:iot/registryIamMember:RegistryIamMember editor "projects/{{project}}/locations/{{location}}/registries/{{device_registry}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:iot/registryIamMember:RegistryIamMember editor projects/{{project}}/locations/{{location}}/registries/{{device_registry}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetRegistryIamMember added in v6.32.0

func GetRegistryIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RegistryIamMemberState, opts ...pulumi.ResourceOption) (*RegistryIamMember, error)

GetRegistryIamMember gets an existing RegistryIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegistryIamMember added in v6.32.0

func NewRegistryIamMember(ctx *pulumi.Context,
	name string, args *RegistryIamMemberArgs, opts ...pulumi.ResourceOption) (*RegistryIamMember, error)

NewRegistryIamMember registers a new resource with the given unique name, arguments, and options.

func (*RegistryIamMember) ElementType added in v6.32.0

func (*RegistryIamMember) ElementType() reflect.Type

func (*RegistryIamMember) ToRegistryIamMemberOutput added in v6.32.0

func (i *RegistryIamMember) ToRegistryIamMemberOutput() RegistryIamMemberOutput

func (*RegistryIamMember) ToRegistryIamMemberOutputWithContext added in v6.32.0

func (i *RegistryIamMember) ToRegistryIamMemberOutputWithContext(ctx context.Context) RegistryIamMemberOutput

type RegistryIamMemberArgs added in v6.32.0

type RegistryIamMemberArgs struct {
	Condition RegistryIamMemberConditionPtrInput
	Member    pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a RegistryIamMember resource.

func (RegistryIamMemberArgs) ElementType added in v6.32.0

func (RegistryIamMemberArgs) ElementType() reflect.Type

type RegistryIamMemberArray added in v6.32.0

type RegistryIamMemberArray []RegistryIamMemberInput

func (RegistryIamMemberArray) ElementType added in v6.32.0

func (RegistryIamMemberArray) ElementType() reflect.Type

func (RegistryIamMemberArray) ToRegistryIamMemberArrayOutput added in v6.32.0

func (i RegistryIamMemberArray) ToRegistryIamMemberArrayOutput() RegistryIamMemberArrayOutput

func (RegistryIamMemberArray) ToRegistryIamMemberArrayOutputWithContext added in v6.32.0

func (i RegistryIamMemberArray) ToRegistryIamMemberArrayOutputWithContext(ctx context.Context) RegistryIamMemberArrayOutput

type RegistryIamMemberArrayInput added in v6.32.0

type RegistryIamMemberArrayInput interface {
	pulumi.Input

	ToRegistryIamMemberArrayOutput() RegistryIamMemberArrayOutput
	ToRegistryIamMemberArrayOutputWithContext(context.Context) RegistryIamMemberArrayOutput
}

RegistryIamMemberArrayInput is an input type that accepts RegistryIamMemberArray and RegistryIamMemberArrayOutput values. You can construct a concrete instance of `RegistryIamMemberArrayInput` via:

RegistryIamMemberArray{ RegistryIamMemberArgs{...} }

type RegistryIamMemberArrayOutput added in v6.32.0

type RegistryIamMemberArrayOutput struct{ *pulumi.OutputState }

func (RegistryIamMemberArrayOutput) ElementType added in v6.32.0

func (RegistryIamMemberArrayOutput) Index added in v6.32.0

func (RegistryIamMemberArrayOutput) ToRegistryIamMemberArrayOutput added in v6.32.0

func (o RegistryIamMemberArrayOutput) ToRegistryIamMemberArrayOutput() RegistryIamMemberArrayOutput

func (RegistryIamMemberArrayOutput) ToRegistryIamMemberArrayOutputWithContext added in v6.32.0

func (o RegistryIamMemberArrayOutput) ToRegistryIamMemberArrayOutputWithContext(ctx context.Context) RegistryIamMemberArrayOutput

type RegistryIamMemberCondition added in v6.32.0

type RegistryIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type RegistryIamMemberConditionArgs added in v6.32.0

type RegistryIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (RegistryIamMemberConditionArgs) ElementType added in v6.32.0

func (RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionOutput added in v6.32.0

func (i RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionOutput() RegistryIamMemberConditionOutput

func (RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionOutputWithContext added in v6.32.0

func (i RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionOutputWithContext(ctx context.Context) RegistryIamMemberConditionOutput

func (RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionPtrOutput added in v6.32.0

func (i RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionPtrOutput() RegistryIamMemberConditionPtrOutput

func (RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionPtrOutputWithContext added in v6.32.0

func (i RegistryIamMemberConditionArgs) ToRegistryIamMemberConditionPtrOutputWithContext(ctx context.Context) RegistryIamMemberConditionPtrOutput

type RegistryIamMemberConditionInput added in v6.32.0

type RegistryIamMemberConditionInput interface {
	pulumi.Input

	ToRegistryIamMemberConditionOutput() RegistryIamMemberConditionOutput
	ToRegistryIamMemberConditionOutputWithContext(context.Context) RegistryIamMemberConditionOutput
}

RegistryIamMemberConditionInput is an input type that accepts RegistryIamMemberConditionArgs and RegistryIamMemberConditionOutput values. You can construct a concrete instance of `RegistryIamMemberConditionInput` via:

RegistryIamMemberConditionArgs{...}

type RegistryIamMemberConditionOutput added in v6.32.0

type RegistryIamMemberConditionOutput struct{ *pulumi.OutputState }

func (RegistryIamMemberConditionOutput) Description added in v6.32.0

func (RegistryIamMemberConditionOutput) ElementType added in v6.32.0

func (RegistryIamMemberConditionOutput) Expression added in v6.32.0

func (RegistryIamMemberConditionOutput) Title added in v6.32.0

func (RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionOutput added in v6.32.0

func (o RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionOutput() RegistryIamMemberConditionOutput

func (RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionOutputWithContext added in v6.32.0

func (o RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionOutputWithContext(ctx context.Context) RegistryIamMemberConditionOutput

func (RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionPtrOutput added in v6.32.0

func (o RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionPtrOutput() RegistryIamMemberConditionPtrOutput

func (RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionPtrOutputWithContext added in v6.32.0

func (o RegistryIamMemberConditionOutput) ToRegistryIamMemberConditionPtrOutputWithContext(ctx context.Context) RegistryIamMemberConditionPtrOutput

type RegistryIamMemberConditionPtrInput added in v6.32.0

type RegistryIamMemberConditionPtrInput interface {
	pulumi.Input

	ToRegistryIamMemberConditionPtrOutput() RegistryIamMemberConditionPtrOutput
	ToRegistryIamMemberConditionPtrOutputWithContext(context.Context) RegistryIamMemberConditionPtrOutput
}

RegistryIamMemberConditionPtrInput is an input type that accepts RegistryIamMemberConditionArgs, RegistryIamMemberConditionPtr and RegistryIamMemberConditionPtrOutput values. You can construct a concrete instance of `RegistryIamMemberConditionPtrInput` via:

        RegistryIamMemberConditionArgs{...}

or:

        nil

func RegistryIamMemberConditionPtr added in v6.32.0

type RegistryIamMemberConditionPtrOutput added in v6.32.0

type RegistryIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (RegistryIamMemberConditionPtrOutput) Description added in v6.32.0

func (RegistryIamMemberConditionPtrOutput) Elem added in v6.32.0

func (RegistryIamMemberConditionPtrOutput) ElementType added in v6.32.0

func (RegistryIamMemberConditionPtrOutput) Expression added in v6.32.0

func (RegistryIamMemberConditionPtrOutput) Title added in v6.32.0

func (RegistryIamMemberConditionPtrOutput) ToRegistryIamMemberConditionPtrOutput added in v6.32.0

func (o RegistryIamMemberConditionPtrOutput) ToRegistryIamMemberConditionPtrOutput() RegistryIamMemberConditionPtrOutput

func (RegistryIamMemberConditionPtrOutput) ToRegistryIamMemberConditionPtrOutputWithContext added in v6.32.0

func (o RegistryIamMemberConditionPtrOutput) ToRegistryIamMemberConditionPtrOutputWithContext(ctx context.Context) RegistryIamMemberConditionPtrOutput

type RegistryIamMemberInput added in v6.32.0

type RegistryIamMemberInput interface {
	pulumi.Input

	ToRegistryIamMemberOutput() RegistryIamMemberOutput
	ToRegistryIamMemberOutputWithContext(ctx context.Context) RegistryIamMemberOutput
}

type RegistryIamMemberMap added in v6.32.0

type RegistryIamMemberMap map[string]RegistryIamMemberInput

func (RegistryIamMemberMap) ElementType added in v6.32.0

func (RegistryIamMemberMap) ElementType() reflect.Type

func (RegistryIamMemberMap) ToRegistryIamMemberMapOutput added in v6.32.0

func (i RegistryIamMemberMap) ToRegistryIamMemberMapOutput() RegistryIamMemberMapOutput

func (RegistryIamMemberMap) ToRegistryIamMemberMapOutputWithContext added in v6.32.0

func (i RegistryIamMemberMap) ToRegistryIamMemberMapOutputWithContext(ctx context.Context) RegistryIamMemberMapOutput

type RegistryIamMemberMapInput added in v6.32.0

type RegistryIamMemberMapInput interface {
	pulumi.Input

	ToRegistryIamMemberMapOutput() RegistryIamMemberMapOutput
	ToRegistryIamMemberMapOutputWithContext(context.Context) RegistryIamMemberMapOutput
}

RegistryIamMemberMapInput is an input type that accepts RegistryIamMemberMap and RegistryIamMemberMapOutput values. You can construct a concrete instance of `RegistryIamMemberMapInput` via:

RegistryIamMemberMap{ "key": RegistryIamMemberArgs{...} }

type RegistryIamMemberMapOutput added in v6.32.0

type RegistryIamMemberMapOutput struct{ *pulumi.OutputState }

func (RegistryIamMemberMapOutput) ElementType added in v6.32.0

func (RegistryIamMemberMapOutput) ElementType() reflect.Type

func (RegistryIamMemberMapOutput) MapIndex added in v6.32.0

func (RegistryIamMemberMapOutput) ToRegistryIamMemberMapOutput added in v6.32.0

func (o RegistryIamMemberMapOutput) ToRegistryIamMemberMapOutput() RegistryIamMemberMapOutput

func (RegistryIamMemberMapOutput) ToRegistryIamMemberMapOutputWithContext added in v6.32.0

func (o RegistryIamMemberMapOutput) ToRegistryIamMemberMapOutputWithContext(ctx context.Context) RegistryIamMemberMapOutput

type RegistryIamMemberOutput added in v6.32.0

type RegistryIamMemberOutput struct{ *pulumi.OutputState }

func (RegistryIamMemberOutput) Condition added in v6.32.0

func (RegistryIamMemberOutput) ElementType added in v6.32.0

func (RegistryIamMemberOutput) ElementType() reflect.Type

func (RegistryIamMemberOutput) Etag added in v6.32.0

(Computed) The etag of the IAM policy.

func (RegistryIamMemberOutput) Member added in v6.32.0

func (RegistryIamMemberOutput) Name added in v6.32.0

Used to find the parent resource to bind the IAM policy to

func (RegistryIamMemberOutput) Project added in v6.32.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (RegistryIamMemberOutput) Region added in v6.32.0

The region in which the created registry should reside. If it is not provided, the provider region is used. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no region is specified, it is taken from the provider configuration.

func (RegistryIamMemberOutput) Role added in v6.32.0

The role that should be applied. Only one `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (RegistryIamMemberOutput) ToRegistryIamMemberOutput added in v6.32.0

func (o RegistryIamMemberOutput) ToRegistryIamMemberOutput() RegistryIamMemberOutput

func (RegistryIamMemberOutput) ToRegistryIamMemberOutputWithContext added in v6.32.0

func (o RegistryIamMemberOutput) ToRegistryIamMemberOutputWithContext(ctx context.Context) RegistryIamMemberOutput

type RegistryIamMemberState added in v6.32.0

type RegistryIamMemberState struct {
	Condition RegistryIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `iot.RegistryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (RegistryIamMemberState) ElementType added in v6.32.0

func (RegistryIamMemberState) ElementType() reflect.Type

type RegistryIamPolicy added in v6.32.0

type RegistryIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringOutput `pulumi:"name"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringOutput `pulumi:"region"`
}

Three different resources help you manage your IAM policy for Cloud IoT Core DeviceRegistry. Each of these resources serves a different use case:

* `iot.RegistryIamPolicy`: Authoritative. Sets the IAM policy for the deviceregistry and replaces any existing policy already attached. * `iot.RegistryIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the deviceregistry are preserved. * `iot.RegistryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the deviceregistry are preserved.

> **Note:** `iot.RegistryIamPolicy` **cannot** be used in conjunction with `iot.RegistryIamBinding` and `iot.RegistryIamMember` or they will fight over what your policy should be.

> **Note:** `iot.RegistryIamBinding` resources **can be** used in conjunction with `iot.RegistryIamMember` resources **only if** they do not grant privilege to the same role.

## google\_cloudiot\_registry\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = iot.NewRegistryIamPolicy(ctx, "policy", &iot.RegistryIamPolicyArgs{
			Project:    pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:     pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudiot\_registry\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistryIamBinding(ctx, "binding", &iot.RegistryIamBindingArgs{
			Project: pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:  pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			Role:    pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_cloudiot\_registry\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/iot"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := iot.NewRegistryIamMember(ctx, "member", &iot.RegistryIamMemberArgs{
			Project: pulumi.Any(google_cloudiot_registry.TestRegistry.Project),
			Region:  pulumi.Any(google_cloudiot_registry.TestRegistry.Region),
			Role:    pulumi.String("roles/viewer"),
			Member:  pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/registries/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud IoT Core deviceregistry IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:iot/registryIamPolicy:RegistryIamPolicy editor "projects/{{project}}/locations/{{location}}/registries/{{device_registry}} roles/viewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:iot/registryIamPolicy:RegistryIamPolicy editor "projects/{{project}}/locations/{{location}}/registries/{{device_registry}} roles/viewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:iot/registryIamPolicy:RegistryIamPolicy editor projects/{{project}}/locations/{{location}}/registries/{{device_registry}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetRegistryIamPolicy added in v6.32.0

func GetRegistryIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RegistryIamPolicyState, opts ...pulumi.ResourceOption) (*RegistryIamPolicy, error)

GetRegistryIamPolicy gets an existing RegistryIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRegistryIamPolicy added in v6.32.0

func NewRegistryIamPolicy(ctx *pulumi.Context,
	name string, args *RegistryIamPolicyArgs, opts ...pulumi.ResourceOption) (*RegistryIamPolicy, error)

NewRegistryIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*RegistryIamPolicy) ElementType added in v6.32.0

func (*RegistryIamPolicy) ElementType() reflect.Type

func (*RegistryIamPolicy) ToRegistryIamPolicyOutput added in v6.32.0

func (i *RegistryIamPolicy) ToRegistryIamPolicyOutput() RegistryIamPolicyOutput

func (*RegistryIamPolicy) ToRegistryIamPolicyOutputWithContext added in v6.32.0

func (i *RegistryIamPolicy) ToRegistryIamPolicyOutputWithContext(ctx context.Context) RegistryIamPolicyOutput

type RegistryIamPolicyArgs added in v6.32.0

type RegistryIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a RegistryIamPolicy resource.

func (RegistryIamPolicyArgs) ElementType added in v6.32.0

func (RegistryIamPolicyArgs) ElementType() reflect.Type

type RegistryIamPolicyArray added in v6.32.0

type RegistryIamPolicyArray []RegistryIamPolicyInput

func (RegistryIamPolicyArray) ElementType added in v6.32.0

func (RegistryIamPolicyArray) ElementType() reflect.Type

func (RegistryIamPolicyArray) ToRegistryIamPolicyArrayOutput added in v6.32.0

func (i RegistryIamPolicyArray) ToRegistryIamPolicyArrayOutput() RegistryIamPolicyArrayOutput

func (RegistryIamPolicyArray) ToRegistryIamPolicyArrayOutputWithContext added in v6.32.0

func (i RegistryIamPolicyArray) ToRegistryIamPolicyArrayOutputWithContext(ctx context.Context) RegistryIamPolicyArrayOutput

type RegistryIamPolicyArrayInput added in v6.32.0

type RegistryIamPolicyArrayInput interface {
	pulumi.Input

	ToRegistryIamPolicyArrayOutput() RegistryIamPolicyArrayOutput
	ToRegistryIamPolicyArrayOutputWithContext(context.Context) RegistryIamPolicyArrayOutput
}

RegistryIamPolicyArrayInput is an input type that accepts RegistryIamPolicyArray and RegistryIamPolicyArrayOutput values. You can construct a concrete instance of `RegistryIamPolicyArrayInput` via:

RegistryIamPolicyArray{ RegistryIamPolicyArgs{...} }

type RegistryIamPolicyArrayOutput added in v6.32.0

type RegistryIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (RegistryIamPolicyArrayOutput) ElementType added in v6.32.0

func (RegistryIamPolicyArrayOutput) Index added in v6.32.0

func (RegistryIamPolicyArrayOutput) ToRegistryIamPolicyArrayOutput added in v6.32.0

func (o RegistryIamPolicyArrayOutput) ToRegistryIamPolicyArrayOutput() RegistryIamPolicyArrayOutput

func (RegistryIamPolicyArrayOutput) ToRegistryIamPolicyArrayOutputWithContext added in v6.32.0

func (o RegistryIamPolicyArrayOutput) ToRegistryIamPolicyArrayOutputWithContext(ctx context.Context) RegistryIamPolicyArrayOutput

type RegistryIamPolicyInput added in v6.32.0

type RegistryIamPolicyInput interface {
	pulumi.Input

	ToRegistryIamPolicyOutput() RegistryIamPolicyOutput
	ToRegistryIamPolicyOutputWithContext(ctx context.Context) RegistryIamPolicyOutput
}

type RegistryIamPolicyMap added in v6.32.0

type RegistryIamPolicyMap map[string]RegistryIamPolicyInput

func (RegistryIamPolicyMap) ElementType added in v6.32.0

func (RegistryIamPolicyMap) ElementType() reflect.Type

func (RegistryIamPolicyMap) ToRegistryIamPolicyMapOutput added in v6.32.0

func (i RegistryIamPolicyMap) ToRegistryIamPolicyMapOutput() RegistryIamPolicyMapOutput

func (RegistryIamPolicyMap) ToRegistryIamPolicyMapOutputWithContext added in v6.32.0

func (i RegistryIamPolicyMap) ToRegistryIamPolicyMapOutputWithContext(ctx context.Context) RegistryIamPolicyMapOutput

type RegistryIamPolicyMapInput added in v6.32.0

type RegistryIamPolicyMapInput interface {
	pulumi.Input

	ToRegistryIamPolicyMapOutput() RegistryIamPolicyMapOutput
	ToRegistryIamPolicyMapOutputWithContext(context.Context) RegistryIamPolicyMapOutput
}

RegistryIamPolicyMapInput is an input type that accepts RegistryIamPolicyMap and RegistryIamPolicyMapOutput values. You can construct a concrete instance of `RegistryIamPolicyMapInput` via:

RegistryIamPolicyMap{ "key": RegistryIamPolicyArgs{...} }

type RegistryIamPolicyMapOutput added in v6.32.0

type RegistryIamPolicyMapOutput struct{ *pulumi.OutputState }

func (RegistryIamPolicyMapOutput) ElementType added in v6.32.0

func (RegistryIamPolicyMapOutput) ElementType() reflect.Type

func (RegistryIamPolicyMapOutput) MapIndex added in v6.32.0

func (RegistryIamPolicyMapOutput) ToRegistryIamPolicyMapOutput added in v6.32.0

func (o RegistryIamPolicyMapOutput) ToRegistryIamPolicyMapOutput() RegistryIamPolicyMapOutput

func (RegistryIamPolicyMapOutput) ToRegistryIamPolicyMapOutputWithContext added in v6.32.0

func (o RegistryIamPolicyMapOutput) ToRegistryIamPolicyMapOutputWithContext(ctx context.Context) RegistryIamPolicyMapOutput

type RegistryIamPolicyOutput added in v6.32.0

type RegistryIamPolicyOutput struct{ *pulumi.OutputState }

func (RegistryIamPolicyOutput) ElementType added in v6.32.0

func (RegistryIamPolicyOutput) ElementType() reflect.Type

func (RegistryIamPolicyOutput) Etag added in v6.32.0

(Computed) The etag of the IAM policy.

func (RegistryIamPolicyOutput) Name added in v6.32.0

Used to find the parent resource to bind the IAM policy to

func (RegistryIamPolicyOutput) PolicyData added in v6.32.0

The policy data generated by a `organizations.getIAMPolicy` data source.

func (RegistryIamPolicyOutput) Project added in v6.32.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (RegistryIamPolicyOutput) Region added in v6.32.0

The region in which the created registry should reside. If it is not provided, the provider region is used. Used to find the parent resource to bind the IAM policy to. If not specified, the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no region is specified, it is taken from the provider configuration.

func (RegistryIamPolicyOutput) ToRegistryIamPolicyOutput added in v6.32.0

func (o RegistryIamPolicyOutput) ToRegistryIamPolicyOutput() RegistryIamPolicyOutput

func (RegistryIamPolicyOutput) ToRegistryIamPolicyOutputWithContext added in v6.32.0

func (o RegistryIamPolicyOutput) ToRegistryIamPolicyOutputWithContext(ctx context.Context) RegistryIamPolicyOutput

type RegistryIamPolicyState added in v6.32.0

type RegistryIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	// Used to find the parent resource to bind the IAM policy to. If not specified,
	// the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
	// region is specified, it is taken from the provider configuration.
	Region pulumi.StringPtrInput
}

func (RegistryIamPolicyState) ElementType added in v6.32.0

func (RegistryIamPolicyState) ElementType() reflect.Type

type RegistryInput

type RegistryInput interface {
	pulumi.Input

	ToRegistryOutput() RegistryOutput
	ToRegistryOutputWithContext(ctx context.Context) RegistryOutput
}

type RegistryMap

type RegistryMap map[string]RegistryInput

func (RegistryMap) ElementType

func (RegistryMap) ElementType() reflect.Type

func (RegistryMap) ToRegistryMapOutput

func (i RegistryMap) ToRegistryMapOutput() RegistryMapOutput

func (RegistryMap) ToRegistryMapOutputWithContext

func (i RegistryMap) ToRegistryMapOutputWithContext(ctx context.Context) RegistryMapOutput

type RegistryMapInput

type RegistryMapInput interface {
	pulumi.Input

	ToRegistryMapOutput() RegistryMapOutput
	ToRegistryMapOutputWithContext(context.Context) RegistryMapOutput
}

RegistryMapInput is an input type that accepts RegistryMap and RegistryMapOutput values. You can construct a concrete instance of `RegistryMapInput` via:

RegistryMap{ "key": RegistryArgs{...} }

type RegistryMapOutput

type RegistryMapOutput struct{ *pulumi.OutputState }

func (RegistryMapOutput) ElementType

func (RegistryMapOutput) ElementType() reflect.Type

func (RegistryMapOutput) MapIndex

func (RegistryMapOutput) ToRegistryMapOutput

func (o RegistryMapOutput) ToRegistryMapOutput() RegistryMapOutput

func (RegistryMapOutput) ToRegistryMapOutputWithContext

func (o RegistryMapOutput) ToRegistryMapOutputWithContext(ctx context.Context) RegistryMapOutput

type RegistryOutput

type RegistryOutput struct{ *pulumi.OutputState }

func (RegistryOutput) Credentials added in v6.23.0

List of public key certificates to authenticate devices. The structure is documented below.

func (RegistryOutput) ElementType

func (RegistryOutput) ElementType() reflect.Type

func (RegistryOutput) EventNotificationConfigs added in v6.23.0

List of configurations for event notifications, such as PubSub topics to publish device events to. Structure is documented below.

func (RegistryOutput) HttpConfig added in v6.23.0

func (o RegistryOutput) HttpConfig() pulumi.MapOutput

Activate or deactivate HTTP. The structure is documented below.

func (RegistryOutput) LogLevel added in v6.23.0

func (o RegistryOutput) LogLevel() pulumi.StringPtrOutput

The default logging verbosity for activity from devices in this registry. Specifies which events should be written to logs. For example, if the LogLevel is ERROR, only events that terminate in errors will be logged. LogLevel is inclusive; enabling INFO logging will also enable ERROR logging. Default value is `NONE`. Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.

func (RegistryOutput) MqttConfig added in v6.23.0

func (o RegistryOutput) MqttConfig() pulumi.MapOutput

Activate or deactivate MQTT. The structure is documented below.

func (RegistryOutput) Name added in v6.23.0

A unique name for the resource, required by device registry.

func (RegistryOutput) Project added in v6.23.0

func (o RegistryOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (RegistryOutput) Region added in v6.23.0

func (o RegistryOutput) Region() pulumi.StringOutput

The region in which the created registry should reside. If it is not provided, the provider region is used.

func (RegistryOutput) StateNotificationConfig added in v6.23.0

func (o RegistryOutput) StateNotificationConfig() pulumi.MapOutput

A PubSub topic to publish device state updates. The structure is documented below.

func (RegistryOutput) ToRegistryOutput

func (o RegistryOutput) ToRegistryOutput() RegistryOutput

func (RegistryOutput) ToRegistryOutputWithContext

func (o RegistryOutput) ToRegistryOutputWithContext(ctx context.Context) RegistryOutput

type RegistryState

type RegistryState struct {
	// List of public key certificates to authenticate devices.
	// The structure is documented below.
	Credentials RegistryCredentialArrayInput
	// List of configurations for event notifications, such as PubSub topics
	// to publish device events to.
	// Structure is documented below.
	EventNotificationConfigs RegistryEventNotificationConfigItemArrayInput
	// Activate or deactivate HTTP.
	// The structure is documented below.
	HttpConfig pulumi.MapInput
	// The default logging verbosity for activity from devices in this
	// registry. Specifies which events should be written to logs. For
	// example, if the LogLevel is ERROR, only events that terminate in
	// errors will be logged. LogLevel is inclusive; enabling INFO logging
	// will also enable ERROR logging.
	// Default value is `NONE`.
	// Possible values are: `NONE`, `ERROR`, `INFO`, `DEBUG`.
	LogLevel pulumi.StringPtrInput
	// Activate or deactivate MQTT.
	// The structure is documented below.
	MqttConfig pulumi.MapInput
	// A unique name for the resource, required by device registry.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The region in which the created registry should reside.
	// If it is not provided, the provider region is used.
	Region pulumi.StringPtrInput
	// A PubSub topic to publish device state updates.
	// The structure is documented below.
	StateNotificationConfig pulumi.MapInput
}

func (RegistryState) ElementType

func (RegistryState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL