cloudamqp

package
v3.17.5 Latest Latest
Warning

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

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

Documentation

Overview

A Pulumi package for creating and managing CloudAMQP resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountAction added in v3.17.0

type AccountAction struct {
	pulumi.CustomResourceState

	// The action to be invoked. Allowed actions `rotate-password`, `rotate-apikey`.
	Action pulumi.StringOutput `pulumi:"action"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
}

## Import

Not possible to import this resource.

func GetAccountAction added in v3.17.0

func GetAccountAction(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountActionState, opts ...pulumi.ResourceOption) (*AccountAction, error)

GetAccountAction gets an existing AccountAction 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 NewAccountAction added in v3.17.0

func NewAccountAction(ctx *pulumi.Context,
	name string, args *AccountActionArgs, opts ...pulumi.ResourceOption) (*AccountAction, error)

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

func (*AccountAction) ElementType added in v3.17.0

func (*AccountAction) ElementType() reflect.Type

func (*AccountAction) ToAccountActionOutput added in v3.17.0

func (i *AccountAction) ToAccountActionOutput() AccountActionOutput

func (*AccountAction) ToAccountActionOutputWithContext added in v3.17.0

func (i *AccountAction) ToAccountActionOutputWithContext(ctx context.Context) AccountActionOutput

type AccountActionArgs added in v3.17.0

type AccountActionArgs struct {
	// The action to be invoked. Allowed actions `rotate-password`, `rotate-apikey`.
	Action pulumi.StringInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
}

The set of arguments for constructing a AccountAction resource.

func (AccountActionArgs) ElementType added in v3.17.0

func (AccountActionArgs) ElementType() reflect.Type

type AccountActionArray added in v3.17.0

type AccountActionArray []AccountActionInput

func (AccountActionArray) ElementType added in v3.17.0

func (AccountActionArray) ElementType() reflect.Type

func (AccountActionArray) ToAccountActionArrayOutput added in v3.17.0

func (i AccountActionArray) ToAccountActionArrayOutput() AccountActionArrayOutput

func (AccountActionArray) ToAccountActionArrayOutputWithContext added in v3.17.0

func (i AccountActionArray) ToAccountActionArrayOutputWithContext(ctx context.Context) AccountActionArrayOutput

type AccountActionArrayInput added in v3.17.0

type AccountActionArrayInput interface {
	pulumi.Input

	ToAccountActionArrayOutput() AccountActionArrayOutput
	ToAccountActionArrayOutputWithContext(context.Context) AccountActionArrayOutput
}

AccountActionArrayInput is an input type that accepts AccountActionArray and AccountActionArrayOutput values. You can construct a concrete instance of `AccountActionArrayInput` via:

AccountActionArray{ AccountActionArgs{...} }

type AccountActionArrayOutput added in v3.17.0

type AccountActionArrayOutput struct{ *pulumi.OutputState }

func (AccountActionArrayOutput) ElementType added in v3.17.0

func (AccountActionArrayOutput) ElementType() reflect.Type

func (AccountActionArrayOutput) Index added in v3.17.0

func (AccountActionArrayOutput) ToAccountActionArrayOutput added in v3.17.0

func (o AccountActionArrayOutput) ToAccountActionArrayOutput() AccountActionArrayOutput

func (AccountActionArrayOutput) ToAccountActionArrayOutputWithContext added in v3.17.0

func (o AccountActionArrayOutput) ToAccountActionArrayOutputWithContext(ctx context.Context) AccountActionArrayOutput

type AccountActionInput added in v3.17.0

type AccountActionInput interface {
	pulumi.Input

	ToAccountActionOutput() AccountActionOutput
	ToAccountActionOutputWithContext(ctx context.Context) AccountActionOutput
}

type AccountActionMap added in v3.17.0

type AccountActionMap map[string]AccountActionInput

func (AccountActionMap) ElementType added in v3.17.0

func (AccountActionMap) ElementType() reflect.Type

func (AccountActionMap) ToAccountActionMapOutput added in v3.17.0

func (i AccountActionMap) ToAccountActionMapOutput() AccountActionMapOutput

func (AccountActionMap) ToAccountActionMapOutputWithContext added in v3.17.0

func (i AccountActionMap) ToAccountActionMapOutputWithContext(ctx context.Context) AccountActionMapOutput

type AccountActionMapInput added in v3.17.0

type AccountActionMapInput interface {
	pulumi.Input

	ToAccountActionMapOutput() AccountActionMapOutput
	ToAccountActionMapOutputWithContext(context.Context) AccountActionMapOutput
}

AccountActionMapInput is an input type that accepts AccountActionMap and AccountActionMapOutput values. You can construct a concrete instance of `AccountActionMapInput` via:

AccountActionMap{ "key": AccountActionArgs{...} }

type AccountActionMapOutput added in v3.17.0

type AccountActionMapOutput struct{ *pulumi.OutputState }

func (AccountActionMapOutput) ElementType added in v3.17.0

func (AccountActionMapOutput) ElementType() reflect.Type

func (AccountActionMapOutput) MapIndex added in v3.17.0

func (AccountActionMapOutput) ToAccountActionMapOutput added in v3.17.0

func (o AccountActionMapOutput) ToAccountActionMapOutput() AccountActionMapOutput

func (AccountActionMapOutput) ToAccountActionMapOutputWithContext added in v3.17.0

func (o AccountActionMapOutput) ToAccountActionMapOutputWithContext(ctx context.Context) AccountActionMapOutput

type AccountActionOutput added in v3.17.0

type AccountActionOutput struct{ *pulumi.OutputState }

func (AccountActionOutput) Action added in v3.17.0

The action to be invoked. Allowed actions `rotate-password`, `rotate-apikey`.

func (AccountActionOutput) ElementType added in v3.17.0

func (AccountActionOutput) ElementType() reflect.Type

func (AccountActionOutput) InstanceId added in v3.17.0

func (o AccountActionOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (AccountActionOutput) ToAccountActionOutput added in v3.17.0

func (o AccountActionOutput) ToAccountActionOutput() AccountActionOutput

func (AccountActionOutput) ToAccountActionOutputWithContext added in v3.17.0

func (o AccountActionOutput) ToAccountActionOutputWithContext(ctx context.Context) AccountActionOutput

type AccountActionState added in v3.17.0

type AccountActionState struct {
	// The action to be invoked. Allowed actions `rotate-password`, `rotate-apikey`.
	Action pulumi.StringPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
}

func (AccountActionState) ElementType added in v3.17.0

func (AccountActionState) ElementType() reflect.Type

type Alarm

type Alarm struct {
	pulumi.CustomResourceState

	// Enable or disable the alarm to trigger.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// Message type `(total, unacked, ready)` used by queue alarm type.
	//
	// Specific argument for `disk` alarm
	MessageType pulumi.StringPtrOutput `pulumi:"messageType"`
	// Regex for which queue to check.
	QueueRegex pulumi.StringPtrOutput `pulumi:"queueRegex"`
	// Identifier for recipient to be notified. Leave empty to notify all recipients.
	Recipients pulumi.IntArrayOutput `pulumi:"recipients"`
	// The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.
	ReminderInterval pulumi.IntPtrOutput `pulumi:"reminderInterval"`
	// The time interval (in seconds) the `valueThreshold` should be active before triggering an alarm.
	TimeThreshold pulumi.IntPtrOutput `pulumi:"timeThreshold"`
	// The alarm type, see valid options below.
	Type pulumi.StringOutput `pulumi:"type"`
	// Disk value threshold calculation, `fixed, percentage` of disk space remaining.
	//
	// Based on alarm type, different arguments are flagged as required or optional.
	ValueCalculation pulumi.StringPtrOutput `pulumi:"valueCalculation"`
	// The value to trigger the alarm for.
	ValueThreshold pulumi.IntPtrOutput `pulumi:"valueThreshold"`
	// Regex for which vhost to check
	VhostRegex pulumi.StringPtrOutput `pulumi:"vhostRegex"`
}

This resource allows you to create and manage alarms to trigger based on a set of conditions. Once triggerd a notification will be sent to the assigned recipients. When creating a new instance, there will also be a set of default alarms (cpu, memory and disk) created. All default alarms uses the default recipient for notifications.

By setting `noDefaultAlarms` to *true* in `Instance`. This will create the instance without default alarms and avoid the need to import them to get full control.

Available for all subscription plans, but `lemur`and `tiger`are limited to fewer alarm types. The limited types supported can be seen in the table below in Alarm Type Reference.

## Example Usage

<details>

<summary>
  <b>
    <i>Basic example of CPU and memory alarm</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// New recipient
		recipient01, err := cloudamqp.NewNotification(ctx, "recipient01", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("email"),
			Value:      pulumi.String("alarm@example.com"),
		})
		if err != nil {
			return err
		}
		// New cpu alarm
		_, err = cloudamqp.NewAlarm(ctx, "cpuAlarm", &cloudamqp.AlarmArgs{
			InstanceId:       pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:             pulumi.String("cpu"),
			Enabled:          pulumi.Bool(true),
			ReminderInterval: pulumi.Int(600),
			ValueThreshold:   pulumi.Int(95),
			TimeThreshold:    pulumi.Int(600),
			Recipients: pulumi.IntArray{
				recipient01.ID(),
			},
		})
		if err != nil {
			return err
		}
		// New memory alarm
		_, err = cloudamqp.NewAlarm(ctx, "memoryAlarm", &cloudamqp.AlarmArgs{
			InstanceId:       pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:             pulumi.String("memory"),
			Enabled:          pulumi.Bool(true),
			ReminderInterval: pulumi.Int(600),
			ValueThreshold:   pulumi.Int(95),
			TimeThreshold:    pulumi.Int(600),
			Recipients: pulumi.IntArray{
				recipient01.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Manage notice alarm, available from v1.29.5</i>
  </b>
</summary>

Only one notice alarm can exists and cannot be created, instead the alarm resource will be updated.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// New recipient
		recipient01, err := cloudamqp.NewNotification(ctx, "recipient01", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("email"),
			Value:      pulumi.String("alarm@example.com"),
		})
		if err != nil {
			return err
		}
		// Update existing notice alarm
		_, err = cloudamqp.NewAlarm(ctx, "notice", &cloudamqp.AlarmArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("notice"),
			Enabled:    pulumi.Bool(true),
			Recipients: pulumi.IntArray{
				recipient01.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Alarm Type reference

Supported alarm types: `cpu, memory, disk, queue, connection, flow, consumer, netsplit, server_unreachable, notice`

Required arguments for all alarms: `instance_id, type, enabled`<br> Optional argument for all alarms: `tags, queue_regex, vhostRegex`

| Name | Type | Shared | Dedicated | Required arguments | | ---- | ---- | ---- | ---- | ---- | | CPU | cpu | - | &#10004; | time_threshold, valueThreshold | | Memory | memory | - | &#10004; | time_threshold, valueThreshold | | Disk space | disk | - | &#10004; | time_threshold, valueThreshold | | Queue | queue | &#10004; | &#10004; | time_threshold, value_threshold, queue_regex, vhost_regex, messageType | | Connection | connection | &#10004; | &#10004; | time_threshold, valueThreshold | | Connection flow | flow | &#10004; | &#10004; | time_threshold, valueThreshold | | Consumer | consumer | &#10004; | &#10004; | time_threshold, value_threshold, queue, vhost | | Netsplit | netsplit | - | &#10004; | timeThreshold | | Server unreachable | serverUnreachable | - | &#10004; | timeThreshold | | Notice | notice | &#10004; | &#10004; | |

> Notice alarm is manadatory! Only one can exists and cannot be deleted. Setting `noDefaultAlarm` to true, will still create this alarm. See updated changes to notice alarm below.

## Dependency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Notice alarm

There is a limitation for notice alarm in the API backend. This alarm is mandatory, multiple alarms cannot exists or be deleted.

From provider version v1.29.5 it's possible to manage the notice alarm and no longer needs to be imported. Just create the alarm resource as usually and it will be updated with given recipients. If the alarm is deleted it will only be removed from the state file, but will still be enabled in the backend.

## Import

`cloudamqp_alarm` can be imported using CloudAMQP internal identifier of the alarm together (CSV separated) with the instance identifier. To retrieve the alarm identifier, use [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html#list-alarms)

```sh $ pulumi import cloudamqp:index/alarm:Alarm alarm <id>,<instance_id>` ```

func GetAlarm

func GetAlarm(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AlarmState, opts ...pulumi.ResourceOption) (*Alarm, error)

GetAlarm gets an existing Alarm 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 NewAlarm

func NewAlarm(ctx *pulumi.Context,
	name string, args *AlarmArgs, opts ...pulumi.ResourceOption) (*Alarm, error)

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

func (*Alarm) ElementType

func (*Alarm) ElementType() reflect.Type

func (*Alarm) ToAlarmOutput

func (i *Alarm) ToAlarmOutput() AlarmOutput

func (*Alarm) ToAlarmOutputWithContext

func (i *Alarm) ToAlarmOutputWithContext(ctx context.Context) AlarmOutput

type AlarmArgs

type AlarmArgs struct {
	// Enable or disable the alarm to trigger.
	Enabled pulumi.BoolInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
	// Message type `(total, unacked, ready)` used by queue alarm type.
	//
	// Specific argument for `disk` alarm
	MessageType pulumi.StringPtrInput
	// Regex for which queue to check.
	QueueRegex pulumi.StringPtrInput
	// Identifier for recipient to be notified. Leave empty to notify all recipients.
	Recipients pulumi.IntArrayInput
	// The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.
	ReminderInterval pulumi.IntPtrInput
	// The time interval (in seconds) the `valueThreshold` should be active before triggering an alarm.
	TimeThreshold pulumi.IntPtrInput
	// The alarm type, see valid options below.
	Type pulumi.StringInput
	// Disk value threshold calculation, `fixed, percentage` of disk space remaining.
	//
	// Based on alarm type, different arguments are flagged as required or optional.
	ValueCalculation pulumi.StringPtrInput
	// The value to trigger the alarm for.
	ValueThreshold pulumi.IntPtrInput
	// Regex for which vhost to check
	VhostRegex pulumi.StringPtrInput
}

The set of arguments for constructing a Alarm resource.

func (AlarmArgs) ElementType

func (AlarmArgs) ElementType() reflect.Type

type AlarmArray

type AlarmArray []AlarmInput

func (AlarmArray) ElementType

func (AlarmArray) ElementType() reflect.Type

func (AlarmArray) ToAlarmArrayOutput

func (i AlarmArray) ToAlarmArrayOutput() AlarmArrayOutput

func (AlarmArray) ToAlarmArrayOutputWithContext

func (i AlarmArray) ToAlarmArrayOutputWithContext(ctx context.Context) AlarmArrayOutput

type AlarmArrayInput

type AlarmArrayInput interface {
	pulumi.Input

	ToAlarmArrayOutput() AlarmArrayOutput
	ToAlarmArrayOutputWithContext(context.Context) AlarmArrayOutput
}

AlarmArrayInput is an input type that accepts AlarmArray and AlarmArrayOutput values. You can construct a concrete instance of `AlarmArrayInput` via:

AlarmArray{ AlarmArgs{...} }

type AlarmArrayOutput

type AlarmArrayOutput struct{ *pulumi.OutputState }

func (AlarmArrayOutput) ElementType

func (AlarmArrayOutput) ElementType() reflect.Type

func (AlarmArrayOutput) Index

func (AlarmArrayOutput) ToAlarmArrayOutput

func (o AlarmArrayOutput) ToAlarmArrayOutput() AlarmArrayOutput

func (AlarmArrayOutput) ToAlarmArrayOutputWithContext

func (o AlarmArrayOutput) ToAlarmArrayOutputWithContext(ctx context.Context) AlarmArrayOutput

type AlarmInput

type AlarmInput interface {
	pulumi.Input

	ToAlarmOutput() AlarmOutput
	ToAlarmOutputWithContext(ctx context.Context) AlarmOutput
}

type AlarmMap

type AlarmMap map[string]AlarmInput

func (AlarmMap) ElementType

func (AlarmMap) ElementType() reflect.Type

func (AlarmMap) ToAlarmMapOutput

func (i AlarmMap) ToAlarmMapOutput() AlarmMapOutput

func (AlarmMap) ToAlarmMapOutputWithContext

func (i AlarmMap) ToAlarmMapOutputWithContext(ctx context.Context) AlarmMapOutput

type AlarmMapInput

type AlarmMapInput interface {
	pulumi.Input

	ToAlarmMapOutput() AlarmMapOutput
	ToAlarmMapOutputWithContext(context.Context) AlarmMapOutput
}

AlarmMapInput is an input type that accepts AlarmMap and AlarmMapOutput values. You can construct a concrete instance of `AlarmMapInput` via:

AlarmMap{ "key": AlarmArgs{...} }

type AlarmMapOutput

type AlarmMapOutput struct{ *pulumi.OutputState }

func (AlarmMapOutput) ElementType

func (AlarmMapOutput) ElementType() reflect.Type

func (AlarmMapOutput) MapIndex

func (AlarmMapOutput) ToAlarmMapOutput

func (o AlarmMapOutput) ToAlarmMapOutput() AlarmMapOutput

func (AlarmMapOutput) ToAlarmMapOutputWithContext

func (o AlarmMapOutput) ToAlarmMapOutputWithContext(ctx context.Context) AlarmMapOutput

type AlarmOutput

type AlarmOutput struct{ *pulumi.OutputState }

func (AlarmOutput) ElementType

func (AlarmOutput) ElementType() reflect.Type

func (AlarmOutput) Enabled added in v3.9.1

func (o AlarmOutput) Enabled() pulumi.BoolOutput

Enable or disable the alarm to trigger.

func (AlarmOutput) InstanceId added in v3.9.1

func (o AlarmOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (AlarmOutput) MessageType added in v3.9.1

func (o AlarmOutput) MessageType() pulumi.StringPtrOutput

Message type `(total, unacked, ready)` used by queue alarm type.

Specific argument for `disk` alarm

func (AlarmOutput) QueueRegex added in v3.9.1

func (o AlarmOutput) QueueRegex() pulumi.StringPtrOutput

Regex for which queue to check.

func (AlarmOutput) Recipients added in v3.9.1

func (o AlarmOutput) Recipients() pulumi.IntArrayOutput

Identifier for recipient to be notified. Leave empty to notify all recipients.

func (AlarmOutput) ReminderInterval added in v3.9.1

func (o AlarmOutput) ReminderInterval() pulumi.IntPtrOutput

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

func (AlarmOutput) TimeThreshold added in v3.9.1

func (o AlarmOutput) TimeThreshold() pulumi.IntPtrOutput

The time interval (in seconds) the `valueThreshold` should be active before triggering an alarm.

func (AlarmOutput) ToAlarmOutput

func (o AlarmOutput) ToAlarmOutput() AlarmOutput

func (AlarmOutput) ToAlarmOutputWithContext

func (o AlarmOutput) ToAlarmOutputWithContext(ctx context.Context) AlarmOutput

func (AlarmOutput) Type added in v3.9.1

func (o AlarmOutput) Type() pulumi.StringOutput

The alarm type, see valid options below.

func (AlarmOutput) ValueCalculation added in v3.9.1

func (o AlarmOutput) ValueCalculation() pulumi.StringPtrOutput

Disk value threshold calculation, `fixed, percentage` of disk space remaining.

Based on alarm type, different arguments are flagged as required or optional.

func (AlarmOutput) ValueThreshold added in v3.9.1

func (o AlarmOutput) ValueThreshold() pulumi.IntPtrOutput

The value to trigger the alarm for.

func (AlarmOutput) VhostRegex added in v3.9.1

func (o AlarmOutput) VhostRegex() pulumi.StringPtrOutput

Regex for which vhost to check

type AlarmState

type AlarmState struct {
	// Enable or disable the alarm to trigger.
	Enabled pulumi.BoolPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
	// Message type `(total, unacked, ready)` used by queue alarm type.
	//
	// Specific argument for `disk` alarm
	MessageType pulumi.StringPtrInput
	// Regex for which queue to check.
	QueueRegex pulumi.StringPtrInput
	// Identifier for recipient to be notified. Leave empty to notify all recipients.
	Recipients pulumi.IntArrayInput
	// The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.
	ReminderInterval pulumi.IntPtrInput
	// The time interval (in seconds) the `valueThreshold` should be active before triggering an alarm.
	TimeThreshold pulumi.IntPtrInput
	// The alarm type, see valid options below.
	Type pulumi.StringPtrInput
	// Disk value threshold calculation, `fixed, percentage` of disk space remaining.
	//
	// Based on alarm type, different arguments are flagged as required or optional.
	ValueCalculation pulumi.StringPtrInput
	// The value to trigger the alarm for.
	ValueThreshold pulumi.IntPtrInput
	// Regex for which vhost to check
	VhostRegex pulumi.StringPtrInput
}

func (AlarmState) ElementType

func (AlarmState) ElementType() reflect.Type

type CustomDomain added in v3.3.0

type CustomDomain struct {
	pulumi.CustomResourceState

	// Your custom domain name.
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
}

This resource allows you to configure and manage your custom domain for the CloudAMQP instance.

Adding a custom domain to your instance will generate a TLS certificate from Let's Encrypt, for the given hostname, and install it on all servers in your cluster. The certificate will be automatically renewed going forward.

> **WARNING:** Please note that when creating, changing or deleting the custom domain, the listeners on your servers will be restarted in order to apply the changes. This will close your current connections.

Your custom domain name needs to point to your CloudAMQP hostname, preferably using a CNAME DNS record.

Only available for dedicated subscription plans.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewCustomDomain(ctx, "settings", &cloudamqp.CustomDomainArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Hostname:   pulumi.String("myname.mydomain"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Depedency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Import

`cloudamqp_custom_domain` can be imported using CloudAMQP instance identifier.

```sh $ pulumi import cloudamqp:index/customDomain:CustomDomain settings <instance_id>` ```

func GetCustomDomain added in v3.3.0

func GetCustomDomain(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CustomDomainState, opts ...pulumi.ResourceOption) (*CustomDomain, error)

GetCustomDomain gets an existing CustomDomain 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 NewCustomDomain added in v3.3.0

func NewCustomDomain(ctx *pulumi.Context,
	name string, args *CustomDomainArgs, opts ...pulumi.ResourceOption) (*CustomDomain, error)

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

func (*CustomDomain) ElementType added in v3.3.0

func (*CustomDomain) ElementType() reflect.Type

func (*CustomDomain) ToCustomDomainOutput added in v3.3.0

func (i *CustomDomain) ToCustomDomainOutput() CustomDomainOutput

func (*CustomDomain) ToCustomDomainOutputWithContext added in v3.3.0

func (i *CustomDomain) ToCustomDomainOutputWithContext(ctx context.Context) CustomDomainOutput

type CustomDomainArgs added in v3.3.0

type CustomDomainArgs struct {
	// Your custom domain name.
	Hostname pulumi.StringInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
}

The set of arguments for constructing a CustomDomain resource.

func (CustomDomainArgs) ElementType added in v3.3.0

func (CustomDomainArgs) ElementType() reflect.Type

type CustomDomainArray added in v3.3.0

type CustomDomainArray []CustomDomainInput

func (CustomDomainArray) ElementType added in v3.3.0

func (CustomDomainArray) ElementType() reflect.Type

func (CustomDomainArray) ToCustomDomainArrayOutput added in v3.3.0

func (i CustomDomainArray) ToCustomDomainArrayOutput() CustomDomainArrayOutput

func (CustomDomainArray) ToCustomDomainArrayOutputWithContext added in v3.3.0

func (i CustomDomainArray) ToCustomDomainArrayOutputWithContext(ctx context.Context) CustomDomainArrayOutput

type CustomDomainArrayInput added in v3.3.0

type CustomDomainArrayInput interface {
	pulumi.Input

	ToCustomDomainArrayOutput() CustomDomainArrayOutput
	ToCustomDomainArrayOutputWithContext(context.Context) CustomDomainArrayOutput
}

CustomDomainArrayInput is an input type that accepts CustomDomainArray and CustomDomainArrayOutput values. You can construct a concrete instance of `CustomDomainArrayInput` via:

CustomDomainArray{ CustomDomainArgs{...} }

type CustomDomainArrayOutput added in v3.3.0

type CustomDomainArrayOutput struct{ *pulumi.OutputState }

func (CustomDomainArrayOutput) ElementType added in v3.3.0

func (CustomDomainArrayOutput) ElementType() reflect.Type

func (CustomDomainArrayOutput) Index added in v3.3.0

func (CustomDomainArrayOutput) ToCustomDomainArrayOutput added in v3.3.0

func (o CustomDomainArrayOutput) ToCustomDomainArrayOutput() CustomDomainArrayOutput

func (CustomDomainArrayOutput) ToCustomDomainArrayOutputWithContext added in v3.3.0

func (o CustomDomainArrayOutput) ToCustomDomainArrayOutputWithContext(ctx context.Context) CustomDomainArrayOutput

type CustomDomainInput added in v3.3.0

type CustomDomainInput interface {
	pulumi.Input

	ToCustomDomainOutput() CustomDomainOutput
	ToCustomDomainOutputWithContext(ctx context.Context) CustomDomainOutput
}

type CustomDomainMap added in v3.3.0

type CustomDomainMap map[string]CustomDomainInput

func (CustomDomainMap) ElementType added in v3.3.0

func (CustomDomainMap) ElementType() reflect.Type

func (CustomDomainMap) ToCustomDomainMapOutput added in v3.3.0

func (i CustomDomainMap) ToCustomDomainMapOutput() CustomDomainMapOutput

func (CustomDomainMap) ToCustomDomainMapOutputWithContext added in v3.3.0

func (i CustomDomainMap) ToCustomDomainMapOutputWithContext(ctx context.Context) CustomDomainMapOutput

type CustomDomainMapInput added in v3.3.0

type CustomDomainMapInput interface {
	pulumi.Input

	ToCustomDomainMapOutput() CustomDomainMapOutput
	ToCustomDomainMapOutputWithContext(context.Context) CustomDomainMapOutput
}

CustomDomainMapInput is an input type that accepts CustomDomainMap and CustomDomainMapOutput values. You can construct a concrete instance of `CustomDomainMapInput` via:

CustomDomainMap{ "key": CustomDomainArgs{...} }

type CustomDomainMapOutput added in v3.3.0

type CustomDomainMapOutput struct{ *pulumi.OutputState }

func (CustomDomainMapOutput) ElementType added in v3.3.0

func (CustomDomainMapOutput) ElementType() reflect.Type

func (CustomDomainMapOutput) MapIndex added in v3.3.0

func (CustomDomainMapOutput) ToCustomDomainMapOutput added in v3.3.0

func (o CustomDomainMapOutput) ToCustomDomainMapOutput() CustomDomainMapOutput

func (CustomDomainMapOutput) ToCustomDomainMapOutputWithContext added in v3.3.0

func (o CustomDomainMapOutput) ToCustomDomainMapOutputWithContext(ctx context.Context) CustomDomainMapOutput

type CustomDomainOutput added in v3.3.0

type CustomDomainOutput struct{ *pulumi.OutputState }

func (CustomDomainOutput) ElementType added in v3.3.0

func (CustomDomainOutput) ElementType() reflect.Type

func (CustomDomainOutput) Hostname added in v3.9.1

func (o CustomDomainOutput) Hostname() pulumi.StringOutput

Your custom domain name.

func (CustomDomainOutput) InstanceId added in v3.9.1

func (o CustomDomainOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (CustomDomainOutput) ToCustomDomainOutput added in v3.3.0

func (o CustomDomainOutput) ToCustomDomainOutput() CustomDomainOutput

func (CustomDomainOutput) ToCustomDomainOutputWithContext added in v3.3.0

func (o CustomDomainOutput) ToCustomDomainOutputWithContext(ctx context.Context) CustomDomainOutput

type CustomDomainState added in v3.3.0

type CustomDomainState struct {
	// Your custom domain name.
	Hostname pulumi.StringPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
}

func (CustomDomainState) ElementType added in v3.3.0

func (CustomDomainState) ElementType() reflect.Type

type ExtraDiskSize added in v3.9.0

type ExtraDiskSize struct {
	pulumi.CustomResourceState

	// When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
	AllowDowntime pulumi.BoolPtrOutput `pulumi:"allowDowntime"`
	// Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
	ExtraDiskSize pulumi.IntOutput `pulumi:"extraDiskSize"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput             `pulumi:"instanceId"`
	Nodes      ExtraDiskSizeNodeArrayOutput `pulumi:"nodes"`
	// Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
	//
	// ***Note:*** `allowDowntime`, `sleep`, `timeout` only available from v1.25.0.
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
}

This resource allows you to resize the disk with additional storage capacity.

***Pre v1.25.0***: Only available for Amazon Web Services (AWS) and it done without downtime

***Post v1.25.0***: Now also available for Google Compute Engine (GCE) and Azure.

Introducing a new optional argument called `allowDowntime`. Leaving it out or set it to false will proceed to try and resize the disk without downtime, available for *AWS* and *GCE*. While *Azure* only support swapping the disk, and this argument needs to be set to *true*.

`allowDowntime` also makes it possible to circumvent the time rate limit or shrinking the disk.

| Cloud Platform | allow_downtime=false | allow_downtime=true | |-----------------------|----------------------|-------------------------------| | amazon-web-services | Expand current disk* | Try to expand, otherwise swap | | google-compute-engine | Expand current disk* | Try to expand, otherwise swap | | azure-arm | Not supported | Swap disk to new size |

*Preferable method to use.

> **WARNING:** Due to restrictions from cloud providers, it's only possible to resize the disk every 8 hours. Unless the `allow_downtime=true` is set, then the disk will be swapped for a new.

Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/) and only available for dedicated subscription plans.

## Example Usage

<details>

<summary>
  <b>
    <i>AWS extra disk size (pre v1.25.0)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Instance
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-2"),
		})
		if err != nil {
			return err
		}
		// Resize disk with 25 extra GB
		_, err = cloudamqp.NewExtraDiskSize(ctx, "resizeDisk", &cloudamqp.ExtraDiskSizeArgs{
			InstanceId:    instance.ID(),
			ExtraDiskSize: pulumi.Int(25),
		})
		if err != nil {
			return err
		}
		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
			return cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
				InstanceId: id,
			}, nil), nil
		}).(cloudamqp.GetNodesResultOutput)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>AWS extra disk size without downtime</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Instance
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-2"),
		})
		if err != nil {
			return err
		}
		// Resize disk with 25 extra GB, without downtime
		_, err = cloudamqp.NewExtraDiskSize(ctx, "resizeDisk", &cloudamqp.ExtraDiskSizeArgs{
			InstanceId:    instance.ID(),
			ExtraDiskSize: pulumi.Int(25),
		})
		if err != nil {
			return err
		}
		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
			return cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
				InstanceId: id,
			}, nil), nil
		}).(cloudamqp.GetNodesResultOutput)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>GCE extra disk size without downtime</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Instance
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("google-compute-engine::us-central1"),
		})
		if err != nil {
			return err
		}
		// Resize disk with 25 extra GB, without downtime
		_, err = cloudamqp.NewExtraDiskSize(ctx, "resizeDisk", &cloudamqp.ExtraDiskSizeArgs{
			InstanceId:    instance.ID(),
			ExtraDiskSize: pulumi.Int(25),
		})
		if err != nil {
			return err
		}
		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
			return cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
				InstanceId: id,
			}, nil), nil
		}).(cloudamqp.GetNodesResultOutput)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Azure extra disk size with downtime</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Instance
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("azure-arm::centralus"),
		})
		if err != nil {
			return err
		}
		// Resize disk with 25 extra GB, with downtime
		_, err = cloudamqp.NewExtraDiskSize(ctx, "resizeDisk", &cloudamqp.ExtraDiskSizeArgs{
			InstanceId:    instance.ID(),
			ExtraDiskSize: pulumi.Int(25),
			AllowDowntime: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
			return cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
				InstanceId: id,
			}, nil), nil
		}).(cloudamqp.GetNodesResultOutput)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this resource. * `nodes` - An array of node information. Each `nodes` block consists of the fields documented below.

***

The `nodes` block consist of

* `name` - Name of the node. * `diskSize` - Subscription plan disk size * `additionalDiskSize` - Additional added disk size

***Note:*** *Total disk size = diskSize + additional_disk_size*

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Import

Not possible to import this resource.

func GetExtraDiskSize added in v3.9.0

func GetExtraDiskSize(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ExtraDiskSizeState, opts ...pulumi.ResourceOption) (*ExtraDiskSize, error)

GetExtraDiskSize gets an existing ExtraDiskSize 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 NewExtraDiskSize added in v3.9.0

func NewExtraDiskSize(ctx *pulumi.Context,
	name string, args *ExtraDiskSizeArgs, opts ...pulumi.ResourceOption) (*ExtraDiskSize, error)

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

func (*ExtraDiskSize) ElementType added in v3.9.0

func (*ExtraDiskSize) ElementType() reflect.Type

func (*ExtraDiskSize) ToExtraDiskSizeOutput added in v3.9.0

func (i *ExtraDiskSize) ToExtraDiskSizeOutput() ExtraDiskSizeOutput

func (*ExtraDiskSize) ToExtraDiskSizeOutputWithContext added in v3.9.0

func (i *ExtraDiskSize) ToExtraDiskSizeOutputWithContext(ctx context.Context) ExtraDiskSizeOutput

type ExtraDiskSizeArgs added in v3.9.0

type ExtraDiskSizeArgs struct {
	// When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
	AllowDowntime pulumi.BoolPtrInput
	// Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
	ExtraDiskSize pulumi.IntInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
	// Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
	//
	// ***Note:*** `allowDowntime`, `sleep`, `timeout` only available from v1.25.0.
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a ExtraDiskSize resource.

func (ExtraDiskSizeArgs) ElementType added in v3.9.0

func (ExtraDiskSizeArgs) ElementType() reflect.Type

type ExtraDiskSizeArray added in v3.9.0

type ExtraDiskSizeArray []ExtraDiskSizeInput

func (ExtraDiskSizeArray) ElementType added in v3.9.0

func (ExtraDiskSizeArray) ElementType() reflect.Type

func (ExtraDiskSizeArray) ToExtraDiskSizeArrayOutput added in v3.9.0

func (i ExtraDiskSizeArray) ToExtraDiskSizeArrayOutput() ExtraDiskSizeArrayOutput

func (ExtraDiskSizeArray) ToExtraDiskSizeArrayOutputWithContext added in v3.9.0

func (i ExtraDiskSizeArray) ToExtraDiskSizeArrayOutputWithContext(ctx context.Context) ExtraDiskSizeArrayOutput

type ExtraDiskSizeArrayInput added in v3.9.0

type ExtraDiskSizeArrayInput interface {
	pulumi.Input

	ToExtraDiskSizeArrayOutput() ExtraDiskSizeArrayOutput
	ToExtraDiskSizeArrayOutputWithContext(context.Context) ExtraDiskSizeArrayOutput
}

ExtraDiskSizeArrayInput is an input type that accepts ExtraDiskSizeArray and ExtraDiskSizeArrayOutput values. You can construct a concrete instance of `ExtraDiskSizeArrayInput` via:

ExtraDiskSizeArray{ ExtraDiskSizeArgs{...} }

type ExtraDiskSizeArrayOutput added in v3.9.0

type ExtraDiskSizeArrayOutput struct{ *pulumi.OutputState }

func (ExtraDiskSizeArrayOutput) ElementType added in v3.9.0

func (ExtraDiskSizeArrayOutput) ElementType() reflect.Type

func (ExtraDiskSizeArrayOutput) Index added in v3.9.0

func (ExtraDiskSizeArrayOutput) ToExtraDiskSizeArrayOutput added in v3.9.0

func (o ExtraDiskSizeArrayOutput) ToExtraDiskSizeArrayOutput() ExtraDiskSizeArrayOutput

func (ExtraDiskSizeArrayOutput) ToExtraDiskSizeArrayOutputWithContext added in v3.9.0

func (o ExtraDiskSizeArrayOutput) ToExtraDiskSizeArrayOutputWithContext(ctx context.Context) ExtraDiskSizeArrayOutput

type ExtraDiskSizeInput added in v3.9.0

type ExtraDiskSizeInput interface {
	pulumi.Input

	ToExtraDiskSizeOutput() ExtraDiskSizeOutput
	ToExtraDiskSizeOutputWithContext(ctx context.Context) ExtraDiskSizeOutput
}

type ExtraDiskSizeMap added in v3.9.0

type ExtraDiskSizeMap map[string]ExtraDiskSizeInput

func (ExtraDiskSizeMap) ElementType added in v3.9.0

func (ExtraDiskSizeMap) ElementType() reflect.Type

func (ExtraDiskSizeMap) ToExtraDiskSizeMapOutput added in v3.9.0

func (i ExtraDiskSizeMap) ToExtraDiskSizeMapOutput() ExtraDiskSizeMapOutput

func (ExtraDiskSizeMap) ToExtraDiskSizeMapOutputWithContext added in v3.9.0

func (i ExtraDiskSizeMap) ToExtraDiskSizeMapOutputWithContext(ctx context.Context) ExtraDiskSizeMapOutput

type ExtraDiskSizeMapInput added in v3.9.0

type ExtraDiskSizeMapInput interface {
	pulumi.Input

	ToExtraDiskSizeMapOutput() ExtraDiskSizeMapOutput
	ToExtraDiskSizeMapOutputWithContext(context.Context) ExtraDiskSizeMapOutput
}

ExtraDiskSizeMapInput is an input type that accepts ExtraDiskSizeMap and ExtraDiskSizeMapOutput values. You can construct a concrete instance of `ExtraDiskSizeMapInput` via:

ExtraDiskSizeMap{ "key": ExtraDiskSizeArgs{...} }

type ExtraDiskSizeMapOutput added in v3.9.0

type ExtraDiskSizeMapOutput struct{ *pulumi.OutputState }

func (ExtraDiskSizeMapOutput) ElementType added in v3.9.0

func (ExtraDiskSizeMapOutput) ElementType() reflect.Type

func (ExtraDiskSizeMapOutput) MapIndex added in v3.9.0

func (ExtraDiskSizeMapOutput) ToExtraDiskSizeMapOutput added in v3.9.0

func (o ExtraDiskSizeMapOutput) ToExtraDiskSizeMapOutput() ExtraDiskSizeMapOutput

func (ExtraDiskSizeMapOutput) ToExtraDiskSizeMapOutputWithContext added in v3.9.0

func (o ExtraDiskSizeMapOutput) ToExtraDiskSizeMapOutputWithContext(ctx context.Context) ExtraDiskSizeMapOutput

type ExtraDiskSizeNode added in v3.13.0

type ExtraDiskSizeNode struct {
	// Additional added disk size
	AdditionalDiskSize *int `pulumi:"additionalDiskSize"`
	// Subscription plan disk size
	DiskSize *int    `pulumi:"diskSize"`
	Name     *string `pulumi:"name"`
}

type ExtraDiskSizeNodeArgs added in v3.13.0

type ExtraDiskSizeNodeArgs struct {
	// Additional added disk size
	AdditionalDiskSize pulumi.IntPtrInput `pulumi:"additionalDiskSize"`
	// Subscription plan disk size
	DiskSize pulumi.IntPtrInput    `pulumi:"diskSize"`
	Name     pulumi.StringPtrInput `pulumi:"name"`
}

func (ExtraDiskSizeNodeArgs) ElementType added in v3.13.0

func (ExtraDiskSizeNodeArgs) ElementType() reflect.Type

func (ExtraDiskSizeNodeArgs) ToExtraDiskSizeNodeOutput added in v3.13.0

func (i ExtraDiskSizeNodeArgs) ToExtraDiskSizeNodeOutput() ExtraDiskSizeNodeOutput

func (ExtraDiskSizeNodeArgs) ToExtraDiskSizeNodeOutputWithContext added in v3.13.0

func (i ExtraDiskSizeNodeArgs) ToExtraDiskSizeNodeOutputWithContext(ctx context.Context) ExtraDiskSizeNodeOutput

type ExtraDiskSizeNodeArray added in v3.13.0

type ExtraDiskSizeNodeArray []ExtraDiskSizeNodeInput

func (ExtraDiskSizeNodeArray) ElementType added in v3.13.0

func (ExtraDiskSizeNodeArray) ElementType() reflect.Type

func (ExtraDiskSizeNodeArray) ToExtraDiskSizeNodeArrayOutput added in v3.13.0

func (i ExtraDiskSizeNodeArray) ToExtraDiskSizeNodeArrayOutput() ExtraDiskSizeNodeArrayOutput

func (ExtraDiskSizeNodeArray) ToExtraDiskSizeNodeArrayOutputWithContext added in v3.13.0

func (i ExtraDiskSizeNodeArray) ToExtraDiskSizeNodeArrayOutputWithContext(ctx context.Context) ExtraDiskSizeNodeArrayOutput

type ExtraDiskSizeNodeArrayInput added in v3.13.0

type ExtraDiskSizeNodeArrayInput interface {
	pulumi.Input

	ToExtraDiskSizeNodeArrayOutput() ExtraDiskSizeNodeArrayOutput
	ToExtraDiskSizeNodeArrayOutputWithContext(context.Context) ExtraDiskSizeNodeArrayOutput
}

ExtraDiskSizeNodeArrayInput is an input type that accepts ExtraDiskSizeNodeArray and ExtraDiskSizeNodeArrayOutput values. You can construct a concrete instance of `ExtraDiskSizeNodeArrayInput` via:

ExtraDiskSizeNodeArray{ ExtraDiskSizeNodeArgs{...} }

type ExtraDiskSizeNodeArrayOutput added in v3.13.0

type ExtraDiskSizeNodeArrayOutput struct{ *pulumi.OutputState }

func (ExtraDiskSizeNodeArrayOutput) ElementType added in v3.13.0

func (ExtraDiskSizeNodeArrayOutput) Index added in v3.13.0

func (ExtraDiskSizeNodeArrayOutput) ToExtraDiskSizeNodeArrayOutput added in v3.13.0

func (o ExtraDiskSizeNodeArrayOutput) ToExtraDiskSizeNodeArrayOutput() ExtraDiskSizeNodeArrayOutput

func (ExtraDiskSizeNodeArrayOutput) ToExtraDiskSizeNodeArrayOutputWithContext added in v3.13.0

func (o ExtraDiskSizeNodeArrayOutput) ToExtraDiskSizeNodeArrayOutputWithContext(ctx context.Context) ExtraDiskSizeNodeArrayOutput

type ExtraDiskSizeNodeInput added in v3.13.0

type ExtraDiskSizeNodeInput interface {
	pulumi.Input

	ToExtraDiskSizeNodeOutput() ExtraDiskSizeNodeOutput
	ToExtraDiskSizeNodeOutputWithContext(context.Context) ExtraDiskSizeNodeOutput
}

ExtraDiskSizeNodeInput is an input type that accepts ExtraDiskSizeNodeArgs and ExtraDiskSizeNodeOutput values. You can construct a concrete instance of `ExtraDiskSizeNodeInput` via:

ExtraDiskSizeNodeArgs{...}

type ExtraDiskSizeNodeOutput added in v3.13.0

type ExtraDiskSizeNodeOutput struct{ *pulumi.OutputState }

func (ExtraDiskSizeNodeOutput) AdditionalDiskSize added in v3.13.0

func (o ExtraDiskSizeNodeOutput) AdditionalDiskSize() pulumi.IntPtrOutput

Additional added disk size

func (ExtraDiskSizeNodeOutput) DiskSize added in v3.13.0

Subscription plan disk size

func (ExtraDiskSizeNodeOutput) ElementType added in v3.13.0

func (ExtraDiskSizeNodeOutput) ElementType() reflect.Type

func (ExtraDiskSizeNodeOutput) Name added in v3.13.0

func (ExtraDiskSizeNodeOutput) ToExtraDiskSizeNodeOutput added in v3.13.0

func (o ExtraDiskSizeNodeOutput) ToExtraDiskSizeNodeOutput() ExtraDiskSizeNodeOutput

func (ExtraDiskSizeNodeOutput) ToExtraDiskSizeNodeOutputWithContext added in v3.13.0

func (o ExtraDiskSizeNodeOutput) ToExtraDiskSizeNodeOutputWithContext(ctx context.Context) ExtraDiskSizeNodeOutput

type ExtraDiskSizeOutput added in v3.9.0

type ExtraDiskSizeOutput struct{ *pulumi.OutputState }

func (ExtraDiskSizeOutput) AllowDowntime added in v3.13.0

func (o ExtraDiskSizeOutput) AllowDowntime() pulumi.BoolPtrOutput

When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.

func (ExtraDiskSizeOutput) ElementType added in v3.9.0

func (ExtraDiskSizeOutput) ElementType() reflect.Type

func (ExtraDiskSizeOutput) ExtraDiskSize added in v3.9.1

func (o ExtraDiskSizeOutput) ExtraDiskSize() pulumi.IntOutput

Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000

func (ExtraDiskSizeOutput) InstanceId added in v3.9.1

func (o ExtraDiskSizeOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (ExtraDiskSizeOutput) Nodes added in v3.13.0

func (ExtraDiskSizeOutput) Sleep added in v3.13.0

Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.

func (ExtraDiskSizeOutput) Timeout added in v3.13.0

Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

***Note:*** `allowDowntime`, `sleep`, `timeout` only available from v1.25.0.

func (ExtraDiskSizeOutput) ToExtraDiskSizeOutput added in v3.9.0

func (o ExtraDiskSizeOutput) ToExtraDiskSizeOutput() ExtraDiskSizeOutput

func (ExtraDiskSizeOutput) ToExtraDiskSizeOutputWithContext added in v3.9.0

func (o ExtraDiskSizeOutput) ToExtraDiskSizeOutputWithContext(ctx context.Context) ExtraDiskSizeOutput

type ExtraDiskSizeState added in v3.9.0

type ExtraDiskSizeState struct {
	// When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in *Azure*.
	AllowDowntime pulumi.BoolPtrInput
	// Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
	ExtraDiskSize pulumi.IntPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
	Nodes      ExtraDiskSizeNodeArrayInput
	// Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.
	//
	// ***Note:*** `allowDowntime`, `sleep`, `timeout` only available from v1.25.0.
	Timeout pulumi.IntPtrInput
}

func (ExtraDiskSizeState) ElementType added in v3.9.0

func (ExtraDiskSizeState) ElementType() reflect.Type

type GetAccountInstance added in v3.3.0

type GetAccountInstance struct {
	// The instance identifier
	Id int `pulumi:"id"`
	// The name of the instance
	Name string `pulumi:"name"`
	// The subscription plan used for the instance
	Plan string `pulumi:"plan"`
	// The region were the instanece is located in
	Region string `pulumi:"region"`
	// Tag for the instance
	Tags []string `pulumi:"tags"`
}

type GetAccountInstanceArgs added in v3.3.0

type GetAccountInstanceArgs struct {
	// The instance identifier
	Id pulumi.IntInput `pulumi:"id"`
	// The name of the instance
	Name pulumi.StringInput `pulumi:"name"`
	// The subscription plan used for the instance
	Plan pulumi.StringInput `pulumi:"plan"`
	// The region were the instanece is located in
	Region pulumi.StringInput `pulumi:"region"`
	// Tag for the instance
	Tags pulumi.StringArrayInput `pulumi:"tags"`
}

func (GetAccountInstanceArgs) ElementType added in v3.3.0

func (GetAccountInstanceArgs) ElementType() reflect.Type

func (GetAccountInstanceArgs) ToGetAccountInstanceOutput added in v3.3.0

func (i GetAccountInstanceArgs) ToGetAccountInstanceOutput() GetAccountInstanceOutput

func (GetAccountInstanceArgs) ToGetAccountInstanceOutputWithContext added in v3.3.0

func (i GetAccountInstanceArgs) ToGetAccountInstanceOutputWithContext(ctx context.Context) GetAccountInstanceOutput

type GetAccountInstanceArray added in v3.3.0

type GetAccountInstanceArray []GetAccountInstanceInput

func (GetAccountInstanceArray) ElementType added in v3.3.0

func (GetAccountInstanceArray) ElementType() reflect.Type

func (GetAccountInstanceArray) ToGetAccountInstanceArrayOutput added in v3.3.0

func (i GetAccountInstanceArray) ToGetAccountInstanceArrayOutput() GetAccountInstanceArrayOutput

func (GetAccountInstanceArray) ToGetAccountInstanceArrayOutputWithContext added in v3.3.0

func (i GetAccountInstanceArray) ToGetAccountInstanceArrayOutputWithContext(ctx context.Context) GetAccountInstanceArrayOutput

type GetAccountInstanceArrayInput added in v3.3.0

type GetAccountInstanceArrayInput interface {
	pulumi.Input

	ToGetAccountInstanceArrayOutput() GetAccountInstanceArrayOutput
	ToGetAccountInstanceArrayOutputWithContext(context.Context) GetAccountInstanceArrayOutput
}

GetAccountInstanceArrayInput is an input type that accepts GetAccountInstanceArray and GetAccountInstanceArrayOutput values. You can construct a concrete instance of `GetAccountInstanceArrayInput` via:

GetAccountInstanceArray{ GetAccountInstanceArgs{...} }

type GetAccountInstanceArrayOutput added in v3.3.0

type GetAccountInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetAccountInstanceArrayOutput) ElementType added in v3.3.0

func (GetAccountInstanceArrayOutput) Index added in v3.3.0

func (GetAccountInstanceArrayOutput) ToGetAccountInstanceArrayOutput added in v3.3.0

func (o GetAccountInstanceArrayOutput) ToGetAccountInstanceArrayOutput() GetAccountInstanceArrayOutput

func (GetAccountInstanceArrayOutput) ToGetAccountInstanceArrayOutputWithContext added in v3.3.0

func (o GetAccountInstanceArrayOutput) ToGetAccountInstanceArrayOutputWithContext(ctx context.Context) GetAccountInstanceArrayOutput

type GetAccountInstanceInput added in v3.3.0

type GetAccountInstanceInput interface {
	pulumi.Input

	ToGetAccountInstanceOutput() GetAccountInstanceOutput
	ToGetAccountInstanceOutputWithContext(context.Context) GetAccountInstanceOutput
}

GetAccountInstanceInput is an input type that accepts GetAccountInstanceArgs and GetAccountInstanceOutput values. You can construct a concrete instance of `GetAccountInstanceInput` via:

GetAccountInstanceArgs{...}

type GetAccountInstanceOutput added in v3.3.0

type GetAccountInstanceOutput struct{ *pulumi.OutputState }

func (GetAccountInstanceOutput) ElementType added in v3.3.0

func (GetAccountInstanceOutput) ElementType() reflect.Type

func (GetAccountInstanceOutput) Id added in v3.3.0

The instance identifier

func (GetAccountInstanceOutput) Name added in v3.3.0

The name of the instance

func (GetAccountInstanceOutput) Plan added in v3.3.0

The subscription plan used for the instance

func (GetAccountInstanceOutput) Region added in v3.3.0

The region were the instanece is located in

func (GetAccountInstanceOutput) Tags added in v3.3.0

Tag for the instance

func (GetAccountInstanceOutput) ToGetAccountInstanceOutput added in v3.3.0

func (o GetAccountInstanceOutput) ToGetAccountInstanceOutput() GetAccountInstanceOutput

func (GetAccountInstanceOutput) ToGetAccountInstanceOutputWithContext added in v3.3.0

func (o GetAccountInstanceOutput) ToGetAccountInstanceOutputWithContext(ctx context.Context) GetAccountInstanceOutput

type GetAccountResult added in v3.3.0

type GetAccountResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id        string               `pulumi:"id"`
	Instances []GetAccountInstance `pulumi:"instances"`
}

A collection of values returned by getAccount.

func GetAccount added in v3.3.0

func GetAccount(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetAccountResult, error)

Use this data source to retrieve basic information about all instances available for an account. Uses the included apikey in provider configuration, to determine which account to read from.

## Example Usage

Can be used in other resources/data sources when instance identifier is unknown, while other attributes are known. E.g. find correct instance from `instance name`. Then iterate over instances to find the matching one and extract the instance identifier.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _ := "<instance_name>"; _, err := cloudamqp.GetAccount(ctx, nil, nil); if err != nil { return err } ctx.Export("instanceId", <nil>) return nil }) } ``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this data source. Set to `na` since there is no unique identifier. * `instances` - An array of instances. Each `instances` block consists of the fields documented below.

***

The `instances` block consist of

* `id` - The instance identifier. * `name` - The name of the instance. * `plan` - The subscription plan used for the instance. * `region` - The region were the instanece is located in. * `tags` - Optional tags set for the instance.

## Dependency

This data source depends on apikey set in the provider configuration.

type GetAccountResultOutput added in v3.17.0

type GetAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccount.

func GetAccountOutput added in v3.17.0

func GetAccountOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetAccountResultOutput

func (GetAccountResultOutput) ElementType added in v3.17.0

func (GetAccountResultOutput) ElementType() reflect.Type

func (GetAccountResultOutput) Id added in v3.17.0

The provider-assigned unique ID for this managed resource.

func (GetAccountResultOutput) Instances added in v3.17.0

func (GetAccountResultOutput) ToGetAccountResultOutput added in v3.17.0

func (o GetAccountResultOutput) ToGetAccountResultOutput() GetAccountResultOutput

func (GetAccountResultOutput) ToGetAccountResultOutputWithContext added in v3.17.0

func (o GetAccountResultOutput) ToGetAccountResultOutputWithContext(ctx context.Context) GetAccountResultOutput

type GetAccountVpcsResult added in v3.7.0

type GetAccountVpcsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id   string              `pulumi:"id"`
	Vpcs []GetAccountVpcsVpc `pulumi:"vpcs"`
}

A collection of values returned by getAccountVpcs.

func GetAccountVpcs added in v3.7.0

func GetAccountVpcs(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetAccountVpcsResult, error)

Use this data source to retrieve basic information about all standalone VPCs available for an account. Uses the included apikey in provider configuration to determine which account to read from.

## Example Usage

Can be used in other resources/data sources when the VPC identifier is unknown, while other attributes are known. E.g. find correct VPC using the `name` you gave your VPC. Then iterate over VPCs to find the matching one and extract the VPC identifier.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myVpcName := "<your VPC name>"
		vpcList, err := cloudamqp.GetAccountVpcs(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcId", "TODO: For expression"[0].Id)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this data source. Set to `na` since there is no unique identifier. * `vpcs` - An array of VPCs. Each `vpcs` block consists of the fields documented below.

***

The `vpcs` block consist of

* `id` - The VPC identifier. * `name` - The VPC instance name. * `region` - The region the VPC is hosted in. * `subnet` - The VPC subnet. * `tags` - Optional tags set for the VPC. * `vpcName` - VPC name given when hosted at the cloud provider.

## Dependency

This data source depends on apikey set in the provider configuration.

type GetAccountVpcsResultOutput added in v3.17.0

type GetAccountVpcsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccountVpcs.

func GetAccountVpcsOutput added in v3.17.0

func GetAccountVpcsOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetAccountVpcsResultOutput

func (GetAccountVpcsResultOutput) ElementType added in v3.17.0

func (GetAccountVpcsResultOutput) ElementType() reflect.Type

func (GetAccountVpcsResultOutput) Id added in v3.17.0

The provider-assigned unique ID for this managed resource.

func (GetAccountVpcsResultOutput) ToGetAccountVpcsResultOutput added in v3.17.0

func (o GetAccountVpcsResultOutput) ToGetAccountVpcsResultOutput() GetAccountVpcsResultOutput

func (GetAccountVpcsResultOutput) ToGetAccountVpcsResultOutputWithContext added in v3.17.0

func (o GetAccountVpcsResultOutput) ToGetAccountVpcsResultOutputWithContext(ctx context.Context) GetAccountVpcsResultOutput

func (GetAccountVpcsResultOutput) Vpcs added in v3.17.0

type GetAccountVpcsVpc added in v3.7.0

type GetAccountVpcsVpc struct {
	// The instance identifier
	Id int `pulumi:"id"`
	// The name of the instance
	Name string `pulumi:"name"`
	// The region were the instanece is located in
	Region string `pulumi:"region"`
	// The VPC subnet
	Subnet string `pulumi:"subnet"`
	// Tag the VPC instance with optional tags
	Tags []string `pulumi:"tags"`
	// VPC name given when hosted at the cloud provider
	VpcName string `pulumi:"vpcName"`
}

type GetAccountVpcsVpcArgs added in v3.7.0

type GetAccountVpcsVpcArgs struct {
	// The instance identifier
	Id pulumi.IntInput `pulumi:"id"`
	// The name of the instance
	Name pulumi.StringInput `pulumi:"name"`
	// The region were the instanece is located in
	Region pulumi.StringInput `pulumi:"region"`
	// The VPC subnet
	Subnet pulumi.StringInput `pulumi:"subnet"`
	// Tag the VPC instance with optional tags
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// VPC name given when hosted at the cloud provider
	VpcName pulumi.StringInput `pulumi:"vpcName"`
}

func (GetAccountVpcsVpcArgs) ElementType added in v3.7.0

func (GetAccountVpcsVpcArgs) ElementType() reflect.Type

func (GetAccountVpcsVpcArgs) ToGetAccountVpcsVpcOutput added in v3.7.0

func (i GetAccountVpcsVpcArgs) ToGetAccountVpcsVpcOutput() GetAccountVpcsVpcOutput

func (GetAccountVpcsVpcArgs) ToGetAccountVpcsVpcOutputWithContext added in v3.7.0

func (i GetAccountVpcsVpcArgs) ToGetAccountVpcsVpcOutputWithContext(ctx context.Context) GetAccountVpcsVpcOutput

type GetAccountVpcsVpcArray added in v3.7.0

type GetAccountVpcsVpcArray []GetAccountVpcsVpcInput

func (GetAccountVpcsVpcArray) ElementType added in v3.7.0

func (GetAccountVpcsVpcArray) ElementType() reflect.Type

func (GetAccountVpcsVpcArray) ToGetAccountVpcsVpcArrayOutput added in v3.7.0

func (i GetAccountVpcsVpcArray) ToGetAccountVpcsVpcArrayOutput() GetAccountVpcsVpcArrayOutput

func (GetAccountVpcsVpcArray) ToGetAccountVpcsVpcArrayOutputWithContext added in v3.7.0

func (i GetAccountVpcsVpcArray) ToGetAccountVpcsVpcArrayOutputWithContext(ctx context.Context) GetAccountVpcsVpcArrayOutput

type GetAccountVpcsVpcArrayInput added in v3.7.0

type GetAccountVpcsVpcArrayInput interface {
	pulumi.Input

	ToGetAccountVpcsVpcArrayOutput() GetAccountVpcsVpcArrayOutput
	ToGetAccountVpcsVpcArrayOutputWithContext(context.Context) GetAccountVpcsVpcArrayOutput
}

GetAccountVpcsVpcArrayInput is an input type that accepts GetAccountVpcsVpcArray and GetAccountVpcsVpcArrayOutput values. You can construct a concrete instance of `GetAccountVpcsVpcArrayInput` via:

GetAccountVpcsVpcArray{ GetAccountVpcsVpcArgs{...} }

type GetAccountVpcsVpcArrayOutput added in v3.7.0

type GetAccountVpcsVpcArrayOutput struct{ *pulumi.OutputState }

func (GetAccountVpcsVpcArrayOutput) ElementType added in v3.7.0

func (GetAccountVpcsVpcArrayOutput) Index added in v3.7.0

func (GetAccountVpcsVpcArrayOutput) ToGetAccountVpcsVpcArrayOutput added in v3.7.0

func (o GetAccountVpcsVpcArrayOutput) ToGetAccountVpcsVpcArrayOutput() GetAccountVpcsVpcArrayOutput

func (GetAccountVpcsVpcArrayOutput) ToGetAccountVpcsVpcArrayOutputWithContext added in v3.7.0

func (o GetAccountVpcsVpcArrayOutput) ToGetAccountVpcsVpcArrayOutputWithContext(ctx context.Context) GetAccountVpcsVpcArrayOutput

type GetAccountVpcsVpcInput added in v3.7.0

type GetAccountVpcsVpcInput interface {
	pulumi.Input

	ToGetAccountVpcsVpcOutput() GetAccountVpcsVpcOutput
	ToGetAccountVpcsVpcOutputWithContext(context.Context) GetAccountVpcsVpcOutput
}

GetAccountVpcsVpcInput is an input type that accepts GetAccountVpcsVpcArgs and GetAccountVpcsVpcOutput values. You can construct a concrete instance of `GetAccountVpcsVpcInput` via:

GetAccountVpcsVpcArgs{...}

type GetAccountVpcsVpcOutput added in v3.7.0

type GetAccountVpcsVpcOutput struct{ *pulumi.OutputState }

func (GetAccountVpcsVpcOutput) ElementType added in v3.7.0

func (GetAccountVpcsVpcOutput) ElementType() reflect.Type

func (GetAccountVpcsVpcOutput) Id added in v3.7.0

The instance identifier

func (GetAccountVpcsVpcOutput) Name added in v3.7.0

The name of the instance

func (GetAccountVpcsVpcOutput) Region added in v3.7.0

The region were the instanece is located in

func (GetAccountVpcsVpcOutput) Subnet added in v3.7.0

The VPC subnet

func (GetAccountVpcsVpcOutput) Tags added in v3.7.0

Tag the VPC instance with optional tags

func (GetAccountVpcsVpcOutput) ToGetAccountVpcsVpcOutput added in v3.7.0

func (o GetAccountVpcsVpcOutput) ToGetAccountVpcsVpcOutput() GetAccountVpcsVpcOutput

func (GetAccountVpcsVpcOutput) ToGetAccountVpcsVpcOutputWithContext added in v3.7.0

func (o GetAccountVpcsVpcOutput) ToGetAccountVpcsVpcOutputWithContext(ctx context.Context) GetAccountVpcsVpcOutput

func (GetAccountVpcsVpcOutput) VpcName added in v3.7.0

VPC name given when hosted at the cloud provider

type GetCredentialsArgs

type GetCredentialsArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
}

A collection of arguments for invoking getCredentials.

type GetCredentialsOutputArgs added in v3.4.0

type GetCredentialsOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
}

A collection of arguments for invoking getCredentials.

func (GetCredentialsOutputArgs) ElementType added in v3.4.0

func (GetCredentialsOutputArgs) ElementType() reflect.Type

type GetCredentialsResult

type GetCredentialsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	InstanceId int    `pulumi:"instanceId"`
	Password   string `pulumi:"password"`
	Username   string `pulumi:"username"`
}

A collection of values returned by getCredentials.

func GetCredentials

func GetCredentials(ctx *pulumi.Context, args *GetCredentialsArgs, opts ...pulumi.InvokeOption) (*GetCredentialsResult, error)

Use this data source to retrieve information about the credentials of the configured user in Rabbit MQ. Information is extracted from `cloudamqp_instance.instance.url`.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetCredentials(ctx, &cloudamqp.GetCredentialsArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed.

* `id` - The identifier for this data source. * `username` - (Sensitive) The username for the configured user in Rabbit MQ. * `password` - (Sensitive) The password used by the `username`.

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

type GetCredentialsResultOutput added in v3.4.0

type GetCredentialsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCredentials.

func GetCredentialsOutput added in v3.4.0

func GetCredentialsOutput(ctx *pulumi.Context, args GetCredentialsOutputArgs, opts ...pulumi.InvokeOption) GetCredentialsResultOutput

func (GetCredentialsResultOutput) ElementType added in v3.4.0

func (GetCredentialsResultOutput) ElementType() reflect.Type

func (GetCredentialsResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (GetCredentialsResultOutput) InstanceId added in v3.4.0

func (GetCredentialsResultOutput) Password added in v3.4.0

func (GetCredentialsResultOutput) ToGetCredentialsResultOutput added in v3.4.0

func (o GetCredentialsResultOutput) ToGetCredentialsResultOutput() GetCredentialsResultOutput

func (GetCredentialsResultOutput) ToGetCredentialsResultOutputWithContext added in v3.4.0

func (o GetCredentialsResultOutput) ToGetCredentialsResultOutputWithContext(ctx context.Context) GetCredentialsResultOutput

func (GetCredentialsResultOutput) Username added in v3.4.0

type GetNodesArgs

type GetNodesArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
}

A collection of arguments for invoking getNodes.

type GetNodesNode

type GetNodesNode struct {
	AdditionalDiskSize int    `pulumi:"additionalDiskSize"`
	Configured         bool   `pulumi:"configured"`
	DiskSize           int    `pulumi:"diskSize"`
	ErlangVersion      string `pulumi:"erlangVersion"`
	Hipe               bool   `pulumi:"hipe"`
	Hostname           string `pulumi:"hostname"`
	Name               string `pulumi:"name"`
	RabbitmqVersion    string `pulumi:"rabbitmqVersion"`
	Running            bool   `pulumi:"running"`
}

type GetNodesNodeArgs

type GetNodesNodeArgs struct {
	AdditionalDiskSize pulumi.IntInput    `pulumi:"additionalDiskSize"`
	Configured         pulumi.BoolInput   `pulumi:"configured"`
	DiskSize           pulumi.IntInput    `pulumi:"diskSize"`
	ErlangVersion      pulumi.StringInput `pulumi:"erlangVersion"`
	Hipe               pulumi.BoolInput   `pulumi:"hipe"`
	Hostname           pulumi.StringInput `pulumi:"hostname"`
	Name               pulumi.StringInput `pulumi:"name"`
	RabbitmqVersion    pulumi.StringInput `pulumi:"rabbitmqVersion"`
	Running            pulumi.BoolInput   `pulumi:"running"`
}

func (GetNodesNodeArgs) ElementType

func (GetNodesNodeArgs) ElementType() reflect.Type

func (GetNodesNodeArgs) ToGetNodesNodeOutput

func (i GetNodesNodeArgs) ToGetNodesNodeOutput() GetNodesNodeOutput

func (GetNodesNodeArgs) ToGetNodesNodeOutputWithContext

func (i GetNodesNodeArgs) ToGetNodesNodeOutputWithContext(ctx context.Context) GetNodesNodeOutput

type GetNodesNodeArray

type GetNodesNodeArray []GetNodesNodeInput

func (GetNodesNodeArray) ElementType

func (GetNodesNodeArray) ElementType() reflect.Type

func (GetNodesNodeArray) ToGetNodesNodeArrayOutput

func (i GetNodesNodeArray) ToGetNodesNodeArrayOutput() GetNodesNodeArrayOutput

func (GetNodesNodeArray) ToGetNodesNodeArrayOutputWithContext

func (i GetNodesNodeArray) ToGetNodesNodeArrayOutputWithContext(ctx context.Context) GetNodesNodeArrayOutput

type GetNodesNodeArrayInput

type GetNodesNodeArrayInput interface {
	pulumi.Input

	ToGetNodesNodeArrayOutput() GetNodesNodeArrayOutput
	ToGetNodesNodeArrayOutputWithContext(context.Context) GetNodesNodeArrayOutput
}

GetNodesNodeArrayInput is an input type that accepts GetNodesNodeArray and GetNodesNodeArrayOutput values. You can construct a concrete instance of `GetNodesNodeArrayInput` via:

GetNodesNodeArray{ GetNodesNodeArgs{...} }

type GetNodesNodeArrayOutput

type GetNodesNodeArrayOutput struct{ *pulumi.OutputState }

func (GetNodesNodeArrayOutput) ElementType

func (GetNodesNodeArrayOutput) ElementType() reflect.Type

func (GetNodesNodeArrayOutput) Index

func (GetNodesNodeArrayOutput) ToGetNodesNodeArrayOutput

func (o GetNodesNodeArrayOutput) ToGetNodesNodeArrayOutput() GetNodesNodeArrayOutput

func (GetNodesNodeArrayOutput) ToGetNodesNodeArrayOutputWithContext

func (o GetNodesNodeArrayOutput) ToGetNodesNodeArrayOutputWithContext(ctx context.Context) GetNodesNodeArrayOutput

type GetNodesNodeInput

type GetNodesNodeInput interface {
	pulumi.Input

	ToGetNodesNodeOutput() GetNodesNodeOutput
	ToGetNodesNodeOutputWithContext(context.Context) GetNodesNodeOutput
}

GetNodesNodeInput is an input type that accepts GetNodesNodeArgs and GetNodesNodeOutput values. You can construct a concrete instance of `GetNodesNodeInput` via:

GetNodesNodeArgs{...}

type GetNodesNodeOutput

type GetNodesNodeOutput struct{ *pulumi.OutputState }

func (GetNodesNodeOutput) AdditionalDiskSize added in v3.9.0

func (o GetNodesNodeOutput) AdditionalDiskSize() pulumi.IntOutput

func (GetNodesNodeOutput) Configured added in v3.2.0

func (o GetNodesNodeOutput) Configured() pulumi.BoolOutput

func (GetNodesNodeOutput) DiskSize added in v3.9.0

func (o GetNodesNodeOutput) DiskSize() pulumi.IntOutput

func (GetNodesNodeOutput) ElementType

func (GetNodesNodeOutput) ElementType() reflect.Type

func (GetNodesNodeOutput) ErlangVersion

func (o GetNodesNodeOutput) ErlangVersion() pulumi.StringOutput

func (GetNodesNodeOutput) Hipe

func (GetNodesNodeOutput) Hostname

func (o GetNodesNodeOutput) Hostname() pulumi.StringOutput

func (GetNodesNodeOutput) Name

func (GetNodesNodeOutput) RabbitmqVersion

func (o GetNodesNodeOutput) RabbitmqVersion() pulumi.StringOutput

func (GetNodesNodeOutput) Running

func (o GetNodesNodeOutput) Running() pulumi.BoolOutput

func (GetNodesNodeOutput) ToGetNodesNodeOutput

func (o GetNodesNodeOutput) ToGetNodesNodeOutput() GetNodesNodeOutput

func (GetNodesNodeOutput) ToGetNodesNodeOutputWithContext

func (o GetNodesNodeOutput) ToGetNodesNodeOutputWithContext(ctx context.Context) GetNodesNodeOutput

type GetNodesOutputArgs added in v3.4.0

type GetNodesOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
}

A collection of arguments for invoking getNodes.

func (GetNodesOutputArgs) ElementType added in v3.4.0

func (GetNodesOutputArgs) ElementType() reflect.Type

type GetNodesResult

type GetNodesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string         `pulumi:"id"`
	InstanceId int            `pulumi:"instanceId"`
	Nodes      []GetNodesNode `pulumi:"nodes"`
}

A collection of values returned by getNodes.

func GetNodes

func GetNodes(ctx *pulumi.Context, args *GetNodesArgs, opts ...pulumi.InvokeOption) (*GetNodesResult, error)

Use this data source to retrieve information about the node(s) created by CloudAMQP instance.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetNodes(ctx, &cloudamqp.GetNodesArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this resource. * `nodes` - An array of node information. Each `nodes` block consists of the fields documented below.

***

The `nodes` block consist of

* `hostname` - External hostname assigned to the node. * `name` - Name of the node. * `running` - Is the node running? * `rabbitmqVersion` - Currently configured Rabbit MQ version on the node. * `erlangVersion` - Currently used Erlang version on the node. * `hipe` - Enable or disable High-performance Erlang. * `configured` - Is the node configured? * `diskSize` - Subscription plan disk size * `additionalDiskSize` - Additional added disk size

***Note:*** *Total disk size = diskSize + additional_disk_size*

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

type GetNodesResultOutput added in v3.4.0

type GetNodesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNodes.

func GetNodesOutput added in v3.4.0

func GetNodesOutput(ctx *pulumi.Context, args GetNodesOutputArgs, opts ...pulumi.InvokeOption) GetNodesResultOutput

func (GetNodesResultOutput) ElementType added in v3.4.0

func (GetNodesResultOutput) ElementType() reflect.Type

func (GetNodesResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (GetNodesResultOutput) InstanceId added in v3.4.0

func (o GetNodesResultOutput) InstanceId() pulumi.IntOutput

func (GetNodesResultOutput) Nodes added in v3.4.0

func (GetNodesResultOutput) ToGetNodesResultOutput added in v3.4.0

func (o GetNodesResultOutput) ToGetNodesResultOutput() GetNodesResultOutput

func (GetNodesResultOutput) ToGetNodesResultOutputWithContext added in v3.4.0

func (o GetNodesResultOutput) ToGetNodesResultOutputWithContext(ctx context.Context) GetNodesResultOutput

type GetPluginsArgs

type GetPluginsArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
}

A collection of arguments for invoking getPlugins.

type GetPluginsCommunityArgs

type GetPluginsCommunityArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
}

A collection of arguments for invoking getPluginsCommunity.

type GetPluginsCommunityOutputArgs added in v3.4.0

type GetPluginsCommunityOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
}

A collection of arguments for invoking getPluginsCommunity.

func (GetPluginsCommunityOutputArgs) ElementType added in v3.4.0

type GetPluginsCommunityPlugin

type GetPluginsCommunityPlugin struct {
	Description string `pulumi:"description"`
	Name        string `pulumi:"name"`
	Require     string `pulumi:"require"`
	// Configurable sleep time in seconds between retries for plugins
	Sleep *int `pulumi:"sleep"`
	// Configurable timeout time in seconds for plugins
	Timeout *int `pulumi:"timeout"`
}

type GetPluginsCommunityPluginArgs

type GetPluginsCommunityPluginArgs struct {
	Description pulumi.StringInput `pulumi:"description"`
	Name        pulumi.StringInput `pulumi:"name"`
	Require     pulumi.StringInput `pulumi:"require"`
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrInput `pulumi:"sleep"`
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrInput `pulumi:"timeout"`
}

func (GetPluginsCommunityPluginArgs) ElementType

func (GetPluginsCommunityPluginArgs) ToGetPluginsCommunityPluginOutput

func (i GetPluginsCommunityPluginArgs) ToGetPluginsCommunityPluginOutput() GetPluginsCommunityPluginOutput

func (GetPluginsCommunityPluginArgs) ToGetPluginsCommunityPluginOutputWithContext

func (i GetPluginsCommunityPluginArgs) ToGetPluginsCommunityPluginOutputWithContext(ctx context.Context) GetPluginsCommunityPluginOutput

type GetPluginsCommunityPluginArray

type GetPluginsCommunityPluginArray []GetPluginsCommunityPluginInput

func (GetPluginsCommunityPluginArray) ElementType

func (GetPluginsCommunityPluginArray) ToGetPluginsCommunityPluginArrayOutput

func (i GetPluginsCommunityPluginArray) ToGetPluginsCommunityPluginArrayOutput() GetPluginsCommunityPluginArrayOutput

func (GetPluginsCommunityPluginArray) ToGetPluginsCommunityPluginArrayOutputWithContext

func (i GetPluginsCommunityPluginArray) ToGetPluginsCommunityPluginArrayOutputWithContext(ctx context.Context) GetPluginsCommunityPluginArrayOutput

type GetPluginsCommunityPluginArrayInput

type GetPluginsCommunityPluginArrayInput interface {
	pulumi.Input

	ToGetPluginsCommunityPluginArrayOutput() GetPluginsCommunityPluginArrayOutput
	ToGetPluginsCommunityPluginArrayOutputWithContext(context.Context) GetPluginsCommunityPluginArrayOutput
}

GetPluginsCommunityPluginArrayInput is an input type that accepts GetPluginsCommunityPluginArray and GetPluginsCommunityPluginArrayOutput values. You can construct a concrete instance of `GetPluginsCommunityPluginArrayInput` via:

GetPluginsCommunityPluginArray{ GetPluginsCommunityPluginArgs{...} }

type GetPluginsCommunityPluginArrayOutput

type GetPluginsCommunityPluginArrayOutput struct{ *pulumi.OutputState }

func (GetPluginsCommunityPluginArrayOutput) ElementType

func (GetPluginsCommunityPluginArrayOutput) Index

func (GetPluginsCommunityPluginArrayOutput) ToGetPluginsCommunityPluginArrayOutput

func (o GetPluginsCommunityPluginArrayOutput) ToGetPluginsCommunityPluginArrayOutput() GetPluginsCommunityPluginArrayOutput

func (GetPluginsCommunityPluginArrayOutput) ToGetPluginsCommunityPluginArrayOutputWithContext

func (o GetPluginsCommunityPluginArrayOutput) ToGetPluginsCommunityPluginArrayOutputWithContext(ctx context.Context) GetPluginsCommunityPluginArrayOutput

type GetPluginsCommunityPluginInput

type GetPluginsCommunityPluginInput interface {
	pulumi.Input

	ToGetPluginsCommunityPluginOutput() GetPluginsCommunityPluginOutput
	ToGetPluginsCommunityPluginOutputWithContext(context.Context) GetPluginsCommunityPluginOutput
}

GetPluginsCommunityPluginInput is an input type that accepts GetPluginsCommunityPluginArgs and GetPluginsCommunityPluginOutput values. You can construct a concrete instance of `GetPluginsCommunityPluginInput` via:

GetPluginsCommunityPluginArgs{...}

type GetPluginsCommunityPluginOutput

type GetPluginsCommunityPluginOutput struct{ *pulumi.OutputState }

func (GetPluginsCommunityPluginOutput) Description

func (GetPluginsCommunityPluginOutput) ElementType

func (GetPluginsCommunityPluginOutput) Name

func (GetPluginsCommunityPluginOutput) Require

func (GetPluginsCommunityPluginOutput) Sleep added in v3.17.0

Configurable sleep time in seconds between retries for plugins

func (GetPluginsCommunityPluginOutput) Timeout added in v3.17.0

Configurable timeout time in seconds for plugins

func (GetPluginsCommunityPluginOutput) ToGetPluginsCommunityPluginOutput

func (o GetPluginsCommunityPluginOutput) ToGetPluginsCommunityPluginOutput() GetPluginsCommunityPluginOutput

func (GetPluginsCommunityPluginOutput) ToGetPluginsCommunityPluginOutputWithContext

func (o GetPluginsCommunityPluginOutput) ToGetPluginsCommunityPluginOutputWithContext(ctx context.Context) GetPluginsCommunityPluginOutput

type GetPluginsCommunityResult

type GetPluginsCommunityResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string                      `pulumi:"id"`
	InstanceId int                         `pulumi:"instanceId"`
	Plugins    []GetPluginsCommunityPlugin `pulumi:"plugins"`
}

A collection of values returned by getPluginsCommunity.

func GetPluginsCommunity

func GetPluginsCommunity(ctx *pulumi.Context, args *GetPluginsCommunityArgs, opts ...pulumi.InvokeOption) (*GetPluginsCommunityResult, error)

Use this data source to retrieve information about available community plugins for the CloudAMQP instance.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetPluginsCommunity(ctx, &cloudamqp.GetPluginsCommunityArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

  • `id` - The identifier for this resource.
  • `plugins` - An array of community plugins. Each `plugins` block consists of the fields documented below.
  • `sleep` - (Optional) Configurable sleep time (seconds) for retries when requesting information about community plugins. Default set to 10 seconds. *Available from v1.29.0*
  • `timeout` - (Optional) - Configurable timeout time (seconds) for retries when requesting information about community plugins. Default set to 1800 seconds. *Available from v1.29.0*

***

The `plugins` block consists of

* `name` - The type of the recipient. * `require` - Min. required Rabbit MQ version to be used. * `description` - Description of what the plugin does.

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

type GetPluginsCommunityResultOutput added in v3.4.0

type GetPluginsCommunityResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPluginsCommunity.

func GetPluginsCommunityOutput added in v3.4.0

func (GetPluginsCommunityResultOutput) ElementType added in v3.4.0

func (GetPluginsCommunityResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (GetPluginsCommunityResultOutput) InstanceId added in v3.4.0

func (GetPluginsCommunityResultOutput) Plugins added in v3.4.0

func (GetPluginsCommunityResultOutput) ToGetPluginsCommunityResultOutput added in v3.4.0

func (o GetPluginsCommunityResultOutput) ToGetPluginsCommunityResultOutput() GetPluginsCommunityResultOutput

func (GetPluginsCommunityResultOutput) ToGetPluginsCommunityResultOutputWithContext added in v3.4.0

func (o GetPluginsCommunityResultOutput) ToGetPluginsCommunityResultOutputWithContext(ctx context.Context) GetPluginsCommunityResultOutput

type GetPluginsOutputArgs added in v3.4.0

type GetPluginsOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
}

A collection of arguments for invoking getPlugins.

func (GetPluginsOutputArgs) ElementType added in v3.4.0

func (GetPluginsOutputArgs) ElementType() reflect.Type

type GetPluginsPlugin

type GetPluginsPlugin struct {
	Description string `pulumi:"description"`
	Enabled     bool   `pulumi:"enabled"`
	Name        string `pulumi:"name"`
	// Configurable sleep time in seconds between retries for plugins
	Sleep *int `pulumi:"sleep"`
	// Configurable timeout time in seconds for plugins
	Timeout *int   `pulumi:"timeout"`
	Version string `pulumi:"version"`
}

type GetPluginsPluginArgs

type GetPluginsPluginArgs struct {
	Description pulumi.StringInput `pulumi:"description"`
	Enabled     pulumi.BoolInput   `pulumi:"enabled"`
	Name        pulumi.StringInput `pulumi:"name"`
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrInput `pulumi:"sleep"`
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrInput `pulumi:"timeout"`
	Version pulumi.StringInput `pulumi:"version"`
}

func (GetPluginsPluginArgs) ElementType

func (GetPluginsPluginArgs) ElementType() reflect.Type

func (GetPluginsPluginArgs) ToGetPluginsPluginOutput

func (i GetPluginsPluginArgs) ToGetPluginsPluginOutput() GetPluginsPluginOutput

func (GetPluginsPluginArgs) ToGetPluginsPluginOutputWithContext

func (i GetPluginsPluginArgs) ToGetPluginsPluginOutputWithContext(ctx context.Context) GetPluginsPluginOutput

type GetPluginsPluginArray

type GetPluginsPluginArray []GetPluginsPluginInput

func (GetPluginsPluginArray) ElementType

func (GetPluginsPluginArray) ElementType() reflect.Type

func (GetPluginsPluginArray) ToGetPluginsPluginArrayOutput

func (i GetPluginsPluginArray) ToGetPluginsPluginArrayOutput() GetPluginsPluginArrayOutput

func (GetPluginsPluginArray) ToGetPluginsPluginArrayOutputWithContext

func (i GetPluginsPluginArray) ToGetPluginsPluginArrayOutputWithContext(ctx context.Context) GetPluginsPluginArrayOutput

type GetPluginsPluginArrayInput

type GetPluginsPluginArrayInput interface {
	pulumi.Input

	ToGetPluginsPluginArrayOutput() GetPluginsPluginArrayOutput
	ToGetPluginsPluginArrayOutputWithContext(context.Context) GetPluginsPluginArrayOutput
}

GetPluginsPluginArrayInput is an input type that accepts GetPluginsPluginArray and GetPluginsPluginArrayOutput values. You can construct a concrete instance of `GetPluginsPluginArrayInput` via:

GetPluginsPluginArray{ GetPluginsPluginArgs{...} }

type GetPluginsPluginArrayOutput

type GetPluginsPluginArrayOutput struct{ *pulumi.OutputState }

func (GetPluginsPluginArrayOutput) ElementType

func (GetPluginsPluginArrayOutput) Index

func (GetPluginsPluginArrayOutput) ToGetPluginsPluginArrayOutput

func (o GetPluginsPluginArrayOutput) ToGetPluginsPluginArrayOutput() GetPluginsPluginArrayOutput

func (GetPluginsPluginArrayOutput) ToGetPluginsPluginArrayOutputWithContext

func (o GetPluginsPluginArrayOutput) ToGetPluginsPluginArrayOutputWithContext(ctx context.Context) GetPluginsPluginArrayOutput

type GetPluginsPluginInput

type GetPluginsPluginInput interface {
	pulumi.Input

	ToGetPluginsPluginOutput() GetPluginsPluginOutput
	ToGetPluginsPluginOutputWithContext(context.Context) GetPluginsPluginOutput
}

GetPluginsPluginInput is an input type that accepts GetPluginsPluginArgs and GetPluginsPluginOutput values. You can construct a concrete instance of `GetPluginsPluginInput` via:

GetPluginsPluginArgs{...}

type GetPluginsPluginOutput

type GetPluginsPluginOutput struct{ *pulumi.OutputState }

func (GetPluginsPluginOutput) Description

func (o GetPluginsPluginOutput) Description() pulumi.StringOutput

func (GetPluginsPluginOutput) ElementType

func (GetPluginsPluginOutput) ElementType() reflect.Type

func (GetPluginsPluginOutput) Enabled

func (GetPluginsPluginOutput) Name

func (GetPluginsPluginOutput) Sleep added in v3.17.0

Configurable sleep time in seconds between retries for plugins

func (GetPluginsPluginOutput) Timeout added in v3.17.0

Configurable timeout time in seconds for plugins

func (GetPluginsPluginOutput) ToGetPluginsPluginOutput

func (o GetPluginsPluginOutput) ToGetPluginsPluginOutput() GetPluginsPluginOutput

func (GetPluginsPluginOutput) ToGetPluginsPluginOutputWithContext

func (o GetPluginsPluginOutput) ToGetPluginsPluginOutputWithContext(ctx context.Context) GetPluginsPluginOutput

func (GetPluginsPluginOutput) Version

type GetPluginsResult

type GetPluginsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string             `pulumi:"id"`
	InstanceId int                `pulumi:"instanceId"`
	Plugins    []GetPluginsPlugin `pulumi:"plugins"`
}

A collection of values returned by getPlugins.

func GetPlugins

func GetPlugins(ctx *pulumi.Context, args *GetPluginsArgs, opts ...pulumi.InvokeOption) (*GetPluginsResult, error)

Use this data source to retrieve information about installed and available plugins for the CloudAMQP instance.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetPlugins(ctx, &cloudamqp.GetPluginsArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

  • `id` - The identifier for this resource.
  • `plugins` - An array of plugins. Each `plugins` block consists of the fields documented below.
  • `sleep` - (Optional) Configurable sleep time (seconds) for retries when requesting information about plugins. Default set to 10 seconds. *Available from v1.29.0*
  • `timeout` - (Optional) - Configurable timeout time (seconds) for retries when requesting information about plugins. Default set to 1800 seconds. *Available from v1.29.0*

***

The `plugins` block consist of

* `name` - The type of the recipient. * `version` - Rabbit MQ version that the plugins are shipped with. * `description` - Description of what the plugin does. * `enabled` - Enable or disable information for the plugin.

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

type GetPluginsResultOutput added in v3.4.0

type GetPluginsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPlugins.

func GetPluginsOutput added in v3.4.0

func GetPluginsOutput(ctx *pulumi.Context, args GetPluginsOutputArgs, opts ...pulumi.InvokeOption) GetPluginsResultOutput

func (GetPluginsResultOutput) ElementType added in v3.4.0

func (GetPluginsResultOutput) ElementType() reflect.Type

func (GetPluginsResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (GetPluginsResultOutput) InstanceId added in v3.4.0

func (o GetPluginsResultOutput) InstanceId() pulumi.IntOutput

func (GetPluginsResultOutput) Plugins added in v3.4.0

func (GetPluginsResultOutput) ToGetPluginsResultOutput added in v3.4.0

func (o GetPluginsResultOutput) ToGetPluginsResultOutput() GetPluginsResultOutput

func (GetPluginsResultOutput) ToGetPluginsResultOutputWithContext added in v3.4.0

func (o GetPluginsResultOutput) ToGetPluginsResultOutputWithContext(ctx context.Context) GetPluginsResultOutput

type GetUpgradableVersionsArgs added in v3.7.0

type GetUpgradableVersionsArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
}

A collection of arguments for invoking getUpgradableVersions.

type GetUpgradableVersionsOutputArgs added in v3.7.0

type GetUpgradableVersionsOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
}

A collection of arguments for invoking getUpgradableVersions.

func (GetUpgradableVersionsOutputArgs) ElementType added in v3.7.0

type GetUpgradableVersionsResult added in v3.7.0

type GetUpgradableVersionsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                 string `pulumi:"id"`
	InstanceId         int    `pulumi:"instanceId"`
	NewErlangVersion   string `pulumi:"newErlangVersion"`
	NewRabbitmqVersion string `pulumi:"newRabbitmqVersion"`
}

A collection of values returned by getUpgradableVersions.

func GetUpgradableVersions added in v3.7.0

func GetUpgradableVersions(ctx *pulumi.Context, args *GetUpgradableVersionsArgs, opts ...pulumi.InvokeOption) (*GetUpgradableVersionsResult, error)

Use this data source to retrieve information about possible upgradable versions for RabbitMQ and Erlang.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

* `newRabbitmqVersion` - Possible upgradable version for RabbitMQ. * `newErlangVersion` - Possible upgradable version for Erlang.

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

type GetUpgradableVersionsResultOutput added in v3.7.0

type GetUpgradableVersionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUpgradableVersions.

func GetUpgradableVersionsOutput added in v3.7.0

func (GetUpgradableVersionsResultOutput) ElementType added in v3.7.0

func (GetUpgradableVersionsResultOutput) Id added in v3.7.0

The provider-assigned unique ID for this managed resource.

func (GetUpgradableVersionsResultOutput) InstanceId added in v3.7.0

func (GetUpgradableVersionsResultOutput) NewErlangVersion added in v3.7.0

func (GetUpgradableVersionsResultOutput) NewRabbitmqVersion added in v3.7.0

func (o GetUpgradableVersionsResultOutput) NewRabbitmqVersion() pulumi.StringOutput

func (GetUpgradableVersionsResultOutput) ToGetUpgradableVersionsResultOutput added in v3.7.0

func (o GetUpgradableVersionsResultOutput) ToGetUpgradableVersionsResultOutput() GetUpgradableVersionsResultOutput

func (GetUpgradableVersionsResultOutput) ToGetUpgradableVersionsResultOutputWithContext added in v3.7.0

func (o GetUpgradableVersionsResultOutput) ToGetUpgradableVersionsResultOutputWithContext(ctx context.Context) GetUpgradableVersionsResultOutput

type GetVpcGcpInfoArgs added in v3.6.1

type GetVpcGcpInfoArgs struct {
	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0 will be removed in next major version (v2.0)***
	InstanceId *int `pulumi:"instanceId"`
	// Configurable sleep time (seconds) between retries when reading peering. Default set to 10 seconds.
	Sleep *int `pulumi:"sleep"`
	// Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds.
	Timeout *int `pulumi:"timeout"`
	// The managed VPC identifier.
	//
	// ***Note: Added as optional in version v1.16.0 and will be required in next major version (v2.0)***
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getVpcGcpInfo.

type GetVpcGcpInfoOutputArgs added in v3.6.1

type GetVpcGcpInfoOutputArgs struct {
	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0 will be removed in next major version (v2.0)***
	InstanceId pulumi.IntPtrInput `pulumi:"instanceId"`
	// Configurable sleep time (seconds) between retries when reading peering. Default set to 10 seconds.
	Sleep pulumi.IntPtrInput `pulumi:"sleep"`
	// Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds.
	Timeout pulumi.IntPtrInput `pulumi:"timeout"`
	// The managed VPC identifier.
	//
	// ***Note: Added as optional in version v1.16.0 and will be required in next major version (v2.0)***
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getVpcGcpInfo.

func (GetVpcGcpInfoOutputArgs) ElementType added in v3.6.1

func (GetVpcGcpInfoOutputArgs) ElementType() reflect.Type

type GetVpcGcpInfoResult added in v3.6.1

type GetVpcGcpInfoResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string  `pulumi:"id"`
	InstanceId *int    `pulumi:"instanceId"`
	Name       string  `pulumi:"name"`
	Network    string  `pulumi:"network"`
	Sleep      *int    `pulumi:"sleep"`
	Timeout    *int    `pulumi:"timeout"`
	VpcId      *string `pulumi:"vpcId"`
	VpcSubnet  string  `pulumi:"vpcSubnet"`
}

A collection of values returned by getVpcGcpInfo.

func GetVpcGcpInfo added in v3.6.1

func GetVpcGcpInfo(ctx *pulumi.Context, args *GetVpcGcpInfoArgs, opts ...pulumi.InvokeOption) (*GetVpcGcpInfoResult, error)

Use this data source to retrieve information about VPC for a CloudAMQP instance hosted in GCP.

## Example Usage

<details>

<summary>
  <b>
    <i>AWS VPC peering pre v1.16.0</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetVpcGcpInfo(ctx, &cloudamqp.GetVpcGcpInfoArgs{
			InstanceId: pulumi.IntRef(cloudamqp_instance.Instance.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>AWS VPC peering post v1.16.0 (Managed VPC)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetVpcGcpInfo(ctx, &cloudamqp.GetVpcGcpInfoArgs{
			VpcId: pulumi.StringRef(cloudamqp_vpc.Vpc.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this resource. * `name` - The name of the VPC. * `vpcSubnet` - Dedicated VPC subnet. * `network` - VPC network uri.

## Dependency

*Pre v1.16.0* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

*Post v1.16.0* This resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance identifier, `cloudamqp_instance.instance.id`.

type GetVpcGcpInfoResultOutput added in v3.6.1

type GetVpcGcpInfoResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVpcGcpInfo.

func GetVpcGcpInfoOutput added in v3.6.1

func GetVpcGcpInfoOutput(ctx *pulumi.Context, args GetVpcGcpInfoOutputArgs, opts ...pulumi.InvokeOption) GetVpcGcpInfoResultOutput

func (GetVpcGcpInfoResultOutput) ElementType added in v3.6.1

func (GetVpcGcpInfoResultOutput) ElementType() reflect.Type

func (GetVpcGcpInfoResultOutput) Id added in v3.6.1

The provider-assigned unique ID for this managed resource.

func (GetVpcGcpInfoResultOutput) InstanceId added in v3.6.1

func (GetVpcGcpInfoResultOutput) Name added in v3.6.1

func (GetVpcGcpInfoResultOutput) Network added in v3.6.1

func (GetVpcGcpInfoResultOutput) Sleep added in v3.17.0

func (GetVpcGcpInfoResultOutput) Timeout added in v3.17.0

func (GetVpcGcpInfoResultOutput) ToGetVpcGcpInfoResultOutput added in v3.6.1

func (o GetVpcGcpInfoResultOutput) ToGetVpcGcpInfoResultOutput() GetVpcGcpInfoResultOutput

func (GetVpcGcpInfoResultOutput) ToGetVpcGcpInfoResultOutputWithContext added in v3.6.1

func (o GetVpcGcpInfoResultOutput) ToGetVpcGcpInfoResultOutputWithContext(ctx context.Context) GetVpcGcpInfoResultOutput

func (GetVpcGcpInfoResultOutput) VpcId added in v3.7.0

func (GetVpcGcpInfoResultOutput) VpcSubnet added in v3.6.1

type GetVpcInfoArgs

type GetVpcInfoArgs struct {
	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0 will be removed in next major version (v2.0)***
	InstanceId *int `pulumi:"instanceId"`
	// The managed VPC identifier.
	//
	// ***Note: Added as optional in version v1.16.0 and will be required in next major version (v2.0)***
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getVpcInfo.

type GetVpcInfoOutputArgs added in v3.4.0

type GetVpcInfoOutputArgs struct {
	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0 will be removed in next major version (v2.0)***
	InstanceId pulumi.IntPtrInput `pulumi:"instanceId"`
	// The managed VPC identifier.
	//
	// ***Note: Added as optional in version v1.16.0 and will be required in next major version (v2.0)***
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getVpcInfo.

func (GetVpcInfoOutputArgs) ElementType added in v3.4.0

func (GetVpcInfoOutputArgs) ElementType() reflect.Type

type GetVpcInfoResult

type GetVpcInfoResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id              string  `pulumi:"id"`
	InstanceId      *int    `pulumi:"instanceId"`
	Name            string  `pulumi:"name"`
	OwnerId         string  `pulumi:"ownerId"`
	SecurityGroupId string  `pulumi:"securityGroupId"`
	VpcId           *string `pulumi:"vpcId"`
	VpcSubnet       string  `pulumi:"vpcSubnet"`
}

A collection of values returned by getVpcInfo.

func GetVpcInfo

func GetVpcInfo(ctx *pulumi.Context, args *GetVpcInfoArgs, opts ...pulumi.InvokeOption) (*GetVpcInfoResult, error)

Use this data source to retrieve information about VPC for a CloudAMQP instance.

Only available for CloudAMQP instances hosted in AWS.

## Example Usage

<details>

<summary>
  <b>
    <i>AWS VPC peering pre v1.16.0</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetVpcInfo(ctx, &cloudamqp.GetVpcInfoArgs{
			InstanceId: pulumi.IntRef(cloudamqp_instance.Instance.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>AWS VPC peering post v1.16.0 (Managed VPC)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetVpcInfo(ctx, &cloudamqp.GetVpcInfoArgs{
			VpcId: pulumi.StringRef(cloudamqp_vpc.Vpc.Id),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this resource. * `name` - The name of the CloudAMQP instance. * `vpcSubnet` - Dedicated VPC subnet. * `ownerId` - AWS account identifier. * `securityGroupId` - AWS security group identifier.

## Dependency

*Pre v1.16.0* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

*Post v1.16.0* This resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance identifier, `cloudamqp_instance.instance.id`.

type GetVpcInfoResultOutput added in v3.4.0

type GetVpcInfoResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVpcInfo.

func GetVpcInfoOutput added in v3.4.0

func GetVpcInfoOutput(ctx *pulumi.Context, args GetVpcInfoOutputArgs, opts ...pulumi.InvokeOption) GetVpcInfoResultOutput

func (GetVpcInfoResultOutput) ElementType added in v3.4.0

func (GetVpcInfoResultOutput) ElementType() reflect.Type

func (GetVpcInfoResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (GetVpcInfoResultOutput) InstanceId added in v3.4.0

func (GetVpcInfoResultOutput) Name added in v3.4.0

func (GetVpcInfoResultOutput) OwnerId added in v3.4.0

func (GetVpcInfoResultOutput) SecurityGroupId added in v3.4.0

func (o GetVpcInfoResultOutput) SecurityGroupId() pulumi.StringOutput

func (GetVpcInfoResultOutput) ToGetVpcInfoResultOutput added in v3.4.0

func (o GetVpcInfoResultOutput) ToGetVpcInfoResultOutput() GetVpcInfoResultOutput

func (GetVpcInfoResultOutput) ToGetVpcInfoResultOutputWithContext added in v3.4.0

func (o GetVpcInfoResultOutput) ToGetVpcInfoResultOutputWithContext(ctx context.Context) GetVpcInfoResultOutput

func (GetVpcInfoResultOutput) VpcId added in v3.7.0

func (GetVpcInfoResultOutput) VpcSubnet added in v3.4.0

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html).
	Apikey pulumi.StringOutput `pulumi:"apikey"`
	// Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
	Backend pulumi.StringOutput `pulumi:"backend"`
	// Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
	//
	// ***
	//
	// The `copySettings` block consists of:
	CopySettings InstanceCopySettingArrayOutput `pulumi:"copySettings"`
	// Information if the CloudAMQP instance is shared or dedicated.
	Dedicated pulumi.BoolOutput `pulumi:"dedicated"`
	// The external hostname for the CloudAMQP instance.
	Host pulumi.StringOutput `pulumi:"host"`
	// The internal hostname for the CloudAMQP instance.
	HostInternal pulumi.StringOutput `pulumi:"hostInternal"`
	// Keep associated VPC when deleting instance, default set to false.
	KeepAssociatedVpc pulumi.BoolPtrOutput `pulumi:"keepAssociatedVpc"`
	// Name of the CloudAMQP instance.
	Name pulumi.StringOutput `pulumi:"name"`
	// Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
	NoDefaultAlarms pulumi.BoolOutput `pulumi:"noDefaultAlarms"`
	// Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.
	//
	// ***Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the `plan` needs to be updated.***
	Nodes pulumi.IntOutput `pulumi:"nodes"`
	// The subscription plan. See available plans
	Plan pulumi.StringOutput `pulumi:"plan"`
	// Flag describing if the resource is ready
	Ready pulumi.BoolOutput `pulumi:"ready"`
	// The region to host the instance in. See instance regions
	//
	// ***Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.***
	Region pulumi.StringOutput `pulumi:"region"`
	// The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.
	//
	// ***Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.***
	RmqVersion pulumi.StringOutput `pulumi:"rmqVersion"`
	// One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: `amqps://{username}:{password}@{hostname}/{vhost}`
	Url pulumi.StringOutput `pulumi:"url"`
	// The virtual host used by Rabbit MQ.
	Vhost pulumi.StringOutput `pulumi:"vhost"`
	// The VPC ID. Use this to create your instance in an existing VPC. See available example.
	VpcId pulumi.IntOutput `pulumi:"vpcId"`
	// Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.
	//
	// ***Deprecated: Will be removed in next major version (v2.0)***
	//
	// ***Note: extra fee will be charged when using VPC, see [CloudAMQP](https://cloudamqp.com) for more information.***
	VpcSubnet pulumi.StringOutput `pulumi:"vpcSubnet"`
}

This resource allows you to create and manage a CloudAMQP instance running either [**RabbitMQ**](https://www.rabbitmq.com/) or [**LavinMQ**](https://lavinmq.com/) and can be deployed to multiple cloud platforms provider and regions, see instance regions for more information.

Once the instance is created it will be assigned a unique identifier. All other resources and data sources created for this instance needs to reference this unique instance identifier.

Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/plans.html).

## Example Usage

<details>

<summary>
  <b>
    <i>Basic example of shared and dedicated instances</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Minimum free lemur instance running RabbitMQ
		_, err := cloudamqp.NewInstance(ctx, "lemurInstance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("lemur"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("rabbitmq"),
			},
		})
		if err != nil {
			return err
		}
		// Minimum free lemming instance running LavinMQ
		_, err = cloudamqp.NewInstance(ctx, "lemmingInstance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("lemming"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("lavinmq"),
			},
		})
		if err != nil {
			return err
		}
		// New dedicated bunny instance running RabbitMQ
		_, err = cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>Dedicated instance using attribute vpcSubnet to create VPC, pre v1.16.0</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			VpcSubnet: pulumi.String("10.56.72.0/24"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>Dedicated instance using attribute vpcSubnet to create VPC and then import managed VPC, post v1.16.0 (Managed VPC)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Dedicated instance that also creates VPC
		_, err := cloudamqp.NewInstance(ctx, "instance01", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			VpcSubnet: pulumi.String("10.56.72.0/24"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

Once the instance and the VPC are created, the VPC can be imported as managed VPC and added to the configuration file. Set attribute `vpcId` to the managed VPC identifier. To keep the managed VPC when deleting the instance, set attribute `keepAssociatedVpc` to true. For more information see guide Managed VPC.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Imported managed VPC
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-east-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		// Add vpc_id and keep_associated_vpc attributes
		_, err = cloudamqp.NewInstance(ctx, "instance01", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>Dedicated instances and managed VPC, post v1.16.0 (Managed VPC)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Managed VPC
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-east-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		// First instance added to managed VPC
		_, err = cloudamqp.NewInstance(ctx, "instance01", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		// Second instance added to managed VPC
		_, err = cloudamqp.NewInstance(ctx, "instance02", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

Set attribute `keepAssociatedVpc` to true, will keep managed VPC when deleting the instances. </details>

## Upgrade and downgrade

It's possible to upgrade or downgrade your subscription plan, this will either increase or decrease the underlying resource used for by the CloudAMQP instance. To do this, change the argument `plan` in the configuration and apply the changes. See available plans.

<details>

<summary>
  <b>
    <i>Upgrade the subscription plan</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Upgraded CloudAMQP instance configuration
		_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>Downgrade number of nodes from 3 to 1</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Downgraded CloudAMQP instance configuration
		_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

## Copy settings to a new dedicated instance

With copy settings it's possible to create a new dedicated instance with settings such as alarms, config, etc. from another dedicated instance. This can be done by adding the `copySettings` block to this resource and populate `subscriptionId` with a CloudAMQP instance identifier from another already existing instance.

Then add the settings to be copied over to the new dedicated instance. Settings that can be copied [alarms, config, definitions, firewall, logs, metrics, plugins]

> `rmqVersion` argument is required when doing this action. Must match the RabbitMQ version of the dedicated instance to be copied from.

<details>

<summary>
  <b>
    <i>Copy settings from a dedicated instance to a new dedicated instance</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewInstance(ctx, "instance02", &cloudamqp.InstanceArgs{
			Plan:       pulumi.String("squirrel-1"),
			Region:     pulumi.String("amazon-web-services::us-west-1"),
			RmqVersion: pulumi.String("3.12.2"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			CopySettings: cloudamqp.InstanceCopySettingArray{
				&cloudamqp.InstanceCopySettingArgs{
					SubscriptionId: pulumi.Any(_var.Instance_id),
					Settings: pulumi.StringArray{
						pulumi.String("alarms"),
						pulumi.String("config"),
						pulumi.String("definitions"),
						pulumi.String("firewall"),
						pulumi.String("logs"),
						pulumi.String("metrics"),
						pulumi.String("plugins"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

## Import

`cloudamqp_instance`can be imported using CloudAMQP internal identifier.

```sh $ pulumi import cloudamqp:index/instance:Instance instance <id>` ```

To retrieve the identifier for an instance, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-instances) or use the data source [`cloudamqp_account`](./data-sources/account.md) to list all available instances for an account.

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
	//
	// ***
	//
	// The `copySettings` block consists of:
	CopySettings InstanceCopySettingArrayInput
	// Keep associated VPC when deleting instance, default set to false.
	KeepAssociatedVpc pulumi.BoolPtrInput
	// Name of the CloudAMQP instance.
	Name pulumi.StringPtrInput
	// Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
	NoDefaultAlarms pulumi.BoolPtrInput
	// Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.
	//
	// ***Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the `plan` needs to be updated.***
	Nodes pulumi.IntPtrInput
	// The subscription plan. See available plans
	Plan pulumi.StringInput
	// The region to host the instance in. See instance regions
	//
	// ***Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.***
	Region pulumi.StringInput
	// The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.
	//
	// ***Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.***
	RmqVersion pulumi.StringPtrInput
	// One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
	Tags pulumi.StringArrayInput
	// The VPC ID. Use this to create your instance in an existing VPC. See available example.
	VpcId pulumi.IntPtrInput
	// Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.
	//
	// ***Deprecated: Will be removed in next major version (v2.0)***
	//
	// ***Note: extra fee will be charged when using VPC, see [CloudAMQP](https://cloudamqp.com) for more information.***
	VpcSubnet pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceCopySetting added in v3.16.0

type InstanceCopySetting struct {
	// Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]
	//
	// See more below, copy settings
	Settings []string `pulumi:"settings"`
	// Instance identifier of the CloudAMQP instance to copy the settings from.
	SubscriptionId string `pulumi:"subscriptionId"`
}

type InstanceCopySettingArgs added in v3.16.0

type InstanceCopySettingArgs struct {
	// Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]
	//
	// See more below, copy settings
	Settings pulumi.StringArrayInput `pulumi:"settings"`
	// Instance identifier of the CloudAMQP instance to copy the settings from.
	SubscriptionId pulumi.StringInput `pulumi:"subscriptionId"`
}

func (InstanceCopySettingArgs) ElementType added in v3.16.0

func (InstanceCopySettingArgs) ElementType() reflect.Type

func (InstanceCopySettingArgs) ToInstanceCopySettingOutput added in v3.16.0

func (i InstanceCopySettingArgs) ToInstanceCopySettingOutput() InstanceCopySettingOutput

func (InstanceCopySettingArgs) ToInstanceCopySettingOutputWithContext added in v3.16.0

func (i InstanceCopySettingArgs) ToInstanceCopySettingOutputWithContext(ctx context.Context) InstanceCopySettingOutput

type InstanceCopySettingArray added in v3.16.0

type InstanceCopySettingArray []InstanceCopySettingInput

func (InstanceCopySettingArray) ElementType added in v3.16.0

func (InstanceCopySettingArray) ElementType() reflect.Type

func (InstanceCopySettingArray) ToInstanceCopySettingArrayOutput added in v3.16.0

func (i InstanceCopySettingArray) ToInstanceCopySettingArrayOutput() InstanceCopySettingArrayOutput

func (InstanceCopySettingArray) ToInstanceCopySettingArrayOutputWithContext added in v3.16.0

func (i InstanceCopySettingArray) ToInstanceCopySettingArrayOutputWithContext(ctx context.Context) InstanceCopySettingArrayOutput

type InstanceCopySettingArrayInput added in v3.16.0

type InstanceCopySettingArrayInput interface {
	pulumi.Input

	ToInstanceCopySettingArrayOutput() InstanceCopySettingArrayOutput
	ToInstanceCopySettingArrayOutputWithContext(context.Context) InstanceCopySettingArrayOutput
}

InstanceCopySettingArrayInput is an input type that accepts InstanceCopySettingArray and InstanceCopySettingArrayOutput values. You can construct a concrete instance of `InstanceCopySettingArrayInput` via:

InstanceCopySettingArray{ InstanceCopySettingArgs{...} }

type InstanceCopySettingArrayOutput added in v3.16.0

type InstanceCopySettingArrayOutput struct{ *pulumi.OutputState }

func (InstanceCopySettingArrayOutput) ElementType added in v3.16.0

func (InstanceCopySettingArrayOutput) Index added in v3.16.0

func (InstanceCopySettingArrayOutput) ToInstanceCopySettingArrayOutput added in v3.16.0

func (o InstanceCopySettingArrayOutput) ToInstanceCopySettingArrayOutput() InstanceCopySettingArrayOutput

func (InstanceCopySettingArrayOutput) ToInstanceCopySettingArrayOutputWithContext added in v3.16.0

func (o InstanceCopySettingArrayOutput) ToInstanceCopySettingArrayOutputWithContext(ctx context.Context) InstanceCopySettingArrayOutput

type InstanceCopySettingInput added in v3.16.0

type InstanceCopySettingInput interface {
	pulumi.Input

	ToInstanceCopySettingOutput() InstanceCopySettingOutput
	ToInstanceCopySettingOutputWithContext(context.Context) InstanceCopySettingOutput
}

InstanceCopySettingInput is an input type that accepts InstanceCopySettingArgs and InstanceCopySettingOutput values. You can construct a concrete instance of `InstanceCopySettingInput` via:

InstanceCopySettingArgs{...}

type InstanceCopySettingOutput added in v3.16.0

type InstanceCopySettingOutput struct{ *pulumi.OutputState }

func (InstanceCopySettingOutput) ElementType added in v3.16.0

func (InstanceCopySettingOutput) ElementType() reflect.Type

func (InstanceCopySettingOutput) Settings added in v3.16.0

Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

See more below, copy settings

func (InstanceCopySettingOutput) SubscriptionId added in v3.16.0

func (o InstanceCopySettingOutput) SubscriptionId() pulumi.StringOutput

Instance identifier of the CloudAMQP instance to copy the settings from.

func (InstanceCopySettingOutput) ToInstanceCopySettingOutput added in v3.16.0

func (o InstanceCopySettingOutput) ToInstanceCopySettingOutput() InstanceCopySettingOutput

func (InstanceCopySettingOutput) ToInstanceCopySettingOutputWithContext added in v3.16.0

func (o InstanceCopySettingOutput) ToInstanceCopySettingOutputWithContext(ctx context.Context) InstanceCopySettingOutput

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) Apikey added in v3.9.1

func (o InstanceOutput) Apikey() pulumi.StringOutput

API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html).

func (InstanceOutput) Backend added in v3.14.0

func (o InstanceOutput) Backend() pulumi.StringOutput

Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.

func (InstanceOutput) CopySettings added in v3.16.0

Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.

***

The `copySettings` block consists of:

func (InstanceOutput) Dedicated added in v3.9.1

func (o InstanceOutput) Dedicated() pulumi.BoolOutput

Information if the CloudAMQP instance is shared or dedicated.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) Host added in v3.9.1

The external hostname for the CloudAMQP instance.

func (InstanceOutput) HostInternal added in v3.9.1

func (o InstanceOutput) HostInternal() pulumi.StringOutput

The internal hostname for the CloudAMQP instance.

func (InstanceOutput) KeepAssociatedVpc added in v3.9.1

func (o InstanceOutput) KeepAssociatedVpc() pulumi.BoolPtrOutput

Keep associated VPC when deleting instance, default set to false.

func (InstanceOutput) Name added in v3.9.1

Name of the CloudAMQP instance.

func (InstanceOutput) NoDefaultAlarms added in v3.9.1

func (o InstanceOutput) NoDefaultAlarms() pulumi.BoolOutput

Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.

func (InstanceOutput) Nodes added in v3.9.1

func (o InstanceOutput) Nodes() pulumi.IntOutput

Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

***Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the `plan` needs to be updated.***

func (InstanceOutput) Plan added in v3.9.1

The subscription plan. See available plans

func (InstanceOutput) Ready added in v3.9.1

func (o InstanceOutput) Ready() pulumi.BoolOutput

Flag describing if the resource is ready

func (InstanceOutput) Region added in v3.9.1

func (o InstanceOutput) Region() pulumi.StringOutput

The region to host the instance in. See instance regions

***Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.***

func (InstanceOutput) RmqVersion added in v3.9.1

func (o InstanceOutput) RmqVersion() pulumi.StringOutput

The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

***Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.***

func (InstanceOutput) Tags added in v3.9.1

One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) Url added in v3.9.1

The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: `amqps://{username}:{password}@{hostname}/{vhost}`

func (InstanceOutput) Vhost added in v3.9.1

The virtual host used by Rabbit MQ.

func (InstanceOutput) VpcId added in v3.9.1

func (o InstanceOutput) VpcId() pulumi.IntOutput

The VPC ID. Use this to create your instance in an existing VPC. See available example.

func (InstanceOutput) VpcSubnet added in v3.9.1

func (o InstanceOutput) VpcSubnet() pulumi.StringOutput

Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

***Deprecated: Will be removed in next major version (v2.0)***

***Note: extra fee will be charged when using VPC, see [CloudAMQP](https://cloudamqp.com) for more information.***

type InstanceState

type InstanceState struct {
	// API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html).
	Apikey pulumi.StringPtrInput
	// Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
	Backend pulumi.StringPtrInput
	// Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
	//
	// ***
	//
	// The `copySettings` block consists of:
	CopySettings InstanceCopySettingArrayInput
	// Information if the CloudAMQP instance is shared or dedicated.
	Dedicated pulumi.BoolPtrInput
	// The external hostname for the CloudAMQP instance.
	Host pulumi.StringPtrInput
	// The internal hostname for the CloudAMQP instance.
	HostInternal pulumi.StringPtrInput
	// Keep associated VPC when deleting instance, default set to false.
	KeepAssociatedVpc pulumi.BoolPtrInput
	// Name of the CloudAMQP instance.
	Name pulumi.StringPtrInput
	// Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
	NoDefaultAlarms pulumi.BoolPtrInput
	// Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.
	//
	// ***Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the `plan` needs to be updated.***
	Nodes pulumi.IntPtrInput
	// The subscription plan. See available plans
	Plan pulumi.StringPtrInput
	// Flag describing if the resource is ready
	Ready pulumi.BoolPtrInput
	// The region to host the instance in. See instance regions
	//
	// ***Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.***
	Region pulumi.StringPtrInput
	// The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.
	//
	// ***Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.***
	RmqVersion pulumi.StringPtrInput
	// One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
	Tags pulumi.StringArrayInput
	// The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: `amqps://{username}:{password}@{hostname}/{vhost}`
	Url pulumi.StringPtrInput
	// The virtual host used by Rabbit MQ.
	Vhost pulumi.StringPtrInput
	// The VPC ID. Use this to create your instance in an existing VPC. See available example.
	VpcId pulumi.IntPtrInput
	// Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.
	//
	// ***Deprecated: Will be removed in next major version (v2.0)***
	//
	// ***Note: extra fee will be charged when using VPC, see [CloudAMQP](https://cloudamqp.com) for more information.***
	VpcSubnet pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type IntegrationAwsEventbridge added in v3.12.0

type IntegrationAwsEventbridge struct {
	pulumi.CustomResourceState

	// The 12 digit AWS Account ID where you want the events to be sent to.
	AwsAccountId pulumi.StringOutput `pulumi:"awsAccountId"`
	// The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)
	AwsRegion pulumi.StringOutput `pulumi:"awsRegion"`
	// Instance identifier
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// A (durable) queue on your RabbitMQ instance.
	Queue pulumi.StringOutput `pulumi:"queue"`
	// Always set to null, unless there is an error starting the EventBridge.
	Status pulumi.StringOutput `pulumi:"status"`
	// The VHost the queue resides in.
	Vhost pulumi.StringOutput `pulumi:"vhost"`
	// Include message headers in the event data.
	WithHeaders pulumi.BoolOutput `pulumi:"withHeaders"`
}

This resource allows you to create and manage, an [AWS EventBridge](https://aws.amazon.com/eventbridge/) for a CloudAMQP instance. Once created, continue to map the EventBridge in the [AWS Eventbridge console](https://console.aws.amazon.com/events/home).

> Our consumer needs to have exclusive usage to the configured queue and the maximum body size allowed on msgs by AWS is 256kb. The message body has to be valid JSON for AWS Eventbridge to accept it. If messages are too large or are not valid JSON, they will be rejected (tip: setup a dead-letter queue to catch them).

Not possible to update this resource. Any changes made to the argument will destroy and recreate the resource. Hence why all arguments use ForceNew.

Only available for dedicated subscription plans.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:       pulumi.String("squirrel-1"),
			Region:     pulumi.String("amazon-web-services::us-west-1"),
			RmqVersion: pulumi.String("3.11.5"),
			Tags: pulumi.StringArray{
				pulumi.String("aws"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewIntegrationAwsEventbridge(ctx, "awsEventbridge", &cloudamqp.IntegrationAwsEventbridgeArgs{
			InstanceId:   instance.ID(),
			Vhost:        instance.Vhost,
			Queue:        pulumi.String("<QUEUE-NAME>"),
			AwsAccountId: pulumi.String("<AWS-ACCOUNT-ID>"),
			AwsRegion:    pulumi.String("us-west-1"),
			WithHeaders:  pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Argument references

The following arguments are supported:

* `awsAccountId` - (ForceNew/Required) The 12 digit AWS Account ID where you want the events to be sent to. * `awsRegion`- (ForceNew/Required) The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.) * `vhost`- (ForceNew/Required) The VHost the queue resides in. * `queue` - (ForceNew/Required) A (durable) queue on your RabbitMQ instance. * `withHeaders` - (ForceNew/Required) Include message headers in the event data. `({ "headers": { }, "body": { "your": "message" } })`

## Dependency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Import

`cloudamqp_integration_aws_eventbridge` can be imported using CloudAMQP internal identifier of the AWS EventBridge together (CSV separated) with the instance identifier. To retrieve the AWS EventBridge identifier, use [CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html#list-eventbridges)

```sh $ pulumi import cloudamqp:index/integrationAwsEventbridge:IntegrationAwsEventbridge aws_eventbridge <id>,<instance_id>` ```

func GetIntegrationAwsEventbridge added in v3.12.0

func GetIntegrationAwsEventbridge(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IntegrationAwsEventbridgeState, opts ...pulumi.ResourceOption) (*IntegrationAwsEventbridge, error)

GetIntegrationAwsEventbridge gets an existing IntegrationAwsEventbridge 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 NewIntegrationAwsEventbridge added in v3.12.0

func NewIntegrationAwsEventbridge(ctx *pulumi.Context,
	name string, args *IntegrationAwsEventbridgeArgs, opts ...pulumi.ResourceOption) (*IntegrationAwsEventbridge, error)

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

func (*IntegrationAwsEventbridge) ElementType added in v3.12.0

func (*IntegrationAwsEventbridge) ElementType() reflect.Type

func (*IntegrationAwsEventbridge) ToIntegrationAwsEventbridgeOutput added in v3.12.0

func (i *IntegrationAwsEventbridge) ToIntegrationAwsEventbridgeOutput() IntegrationAwsEventbridgeOutput

func (*IntegrationAwsEventbridge) ToIntegrationAwsEventbridgeOutputWithContext added in v3.12.0

func (i *IntegrationAwsEventbridge) ToIntegrationAwsEventbridgeOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeOutput

type IntegrationAwsEventbridgeArgs added in v3.12.0

type IntegrationAwsEventbridgeArgs struct {
	// The 12 digit AWS Account ID where you want the events to be sent to.
	AwsAccountId pulumi.StringInput
	// The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)
	AwsRegion pulumi.StringInput
	// Instance identifier
	InstanceId pulumi.IntInput
	// A (durable) queue on your RabbitMQ instance.
	Queue pulumi.StringInput
	// The VHost the queue resides in.
	Vhost pulumi.StringInput
	// Include message headers in the event data.
	WithHeaders pulumi.BoolInput
}

The set of arguments for constructing a IntegrationAwsEventbridge resource.

func (IntegrationAwsEventbridgeArgs) ElementType added in v3.12.0

type IntegrationAwsEventbridgeArray added in v3.12.0

type IntegrationAwsEventbridgeArray []IntegrationAwsEventbridgeInput

func (IntegrationAwsEventbridgeArray) ElementType added in v3.12.0

func (IntegrationAwsEventbridgeArray) ToIntegrationAwsEventbridgeArrayOutput added in v3.12.0

func (i IntegrationAwsEventbridgeArray) ToIntegrationAwsEventbridgeArrayOutput() IntegrationAwsEventbridgeArrayOutput

func (IntegrationAwsEventbridgeArray) ToIntegrationAwsEventbridgeArrayOutputWithContext added in v3.12.0

func (i IntegrationAwsEventbridgeArray) ToIntegrationAwsEventbridgeArrayOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeArrayOutput

type IntegrationAwsEventbridgeArrayInput added in v3.12.0

type IntegrationAwsEventbridgeArrayInput interface {
	pulumi.Input

	ToIntegrationAwsEventbridgeArrayOutput() IntegrationAwsEventbridgeArrayOutput
	ToIntegrationAwsEventbridgeArrayOutputWithContext(context.Context) IntegrationAwsEventbridgeArrayOutput
}

IntegrationAwsEventbridgeArrayInput is an input type that accepts IntegrationAwsEventbridgeArray and IntegrationAwsEventbridgeArrayOutput values. You can construct a concrete instance of `IntegrationAwsEventbridgeArrayInput` via:

IntegrationAwsEventbridgeArray{ IntegrationAwsEventbridgeArgs{...} }

type IntegrationAwsEventbridgeArrayOutput added in v3.12.0

type IntegrationAwsEventbridgeArrayOutput struct{ *pulumi.OutputState }

func (IntegrationAwsEventbridgeArrayOutput) ElementType added in v3.12.0

func (IntegrationAwsEventbridgeArrayOutput) Index added in v3.12.0

func (IntegrationAwsEventbridgeArrayOutput) ToIntegrationAwsEventbridgeArrayOutput added in v3.12.0

func (o IntegrationAwsEventbridgeArrayOutput) ToIntegrationAwsEventbridgeArrayOutput() IntegrationAwsEventbridgeArrayOutput

func (IntegrationAwsEventbridgeArrayOutput) ToIntegrationAwsEventbridgeArrayOutputWithContext added in v3.12.0

func (o IntegrationAwsEventbridgeArrayOutput) ToIntegrationAwsEventbridgeArrayOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeArrayOutput

type IntegrationAwsEventbridgeInput added in v3.12.0

type IntegrationAwsEventbridgeInput interface {
	pulumi.Input

	ToIntegrationAwsEventbridgeOutput() IntegrationAwsEventbridgeOutput
	ToIntegrationAwsEventbridgeOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeOutput
}

type IntegrationAwsEventbridgeMap added in v3.12.0

type IntegrationAwsEventbridgeMap map[string]IntegrationAwsEventbridgeInput

func (IntegrationAwsEventbridgeMap) ElementType added in v3.12.0

func (IntegrationAwsEventbridgeMap) ToIntegrationAwsEventbridgeMapOutput added in v3.12.0

func (i IntegrationAwsEventbridgeMap) ToIntegrationAwsEventbridgeMapOutput() IntegrationAwsEventbridgeMapOutput

func (IntegrationAwsEventbridgeMap) ToIntegrationAwsEventbridgeMapOutputWithContext added in v3.12.0

func (i IntegrationAwsEventbridgeMap) ToIntegrationAwsEventbridgeMapOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeMapOutput

type IntegrationAwsEventbridgeMapInput added in v3.12.0

type IntegrationAwsEventbridgeMapInput interface {
	pulumi.Input

	ToIntegrationAwsEventbridgeMapOutput() IntegrationAwsEventbridgeMapOutput
	ToIntegrationAwsEventbridgeMapOutputWithContext(context.Context) IntegrationAwsEventbridgeMapOutput
}

IntegrationAwsEventbridgeMapInput is an input type that accepts IntegrationAwsEventbridgeMap and IntegrationAwsEventbridgeMapOutput values. You can construct a concrete instance of `IntegrationAwsEventbridgeMapInput` via:

IntegrationAwsEventbridgeMap{ "key": IntegrationAwsEventbridgeArgs{...} }

type IntegrationAwsEventbridgeMapOutput added in v3.12.0

type IntegrationAwsEventbridgeMapOutput struct{ *pulumi.OutputState }

func (IntegrationAwsEventbridgeMapOutput) ElementType added in v3.12.0

func (IntegrationAwsEventbridgeMapOutput) MapIndex added in v3.12.0

func (IntegrationAwsEventbridgeMapOutput) ToIntegrationAwsEventbridgeMapOutput added in v3.12.0

func (o IntegrationAwsEventbridgeMapOutput) ToIntegrationAwsEventbridgeMapOutput() IntegrationAwsEventbridgeMapOutput

func (IntegrationAwsEventbridgeMapOutput) ToIntegrationAwsEventbridgeMapOutputWithContext added in v3.12.0

func (o IntegrationAwsEventbridgeMapOutput) ToIntegrationAwsEventbridgeMapOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeMapOutput

type IntegrationAwsEventbridgeOutput added in v3.12.0

type IntegrationAwsEventbridgeOutput struct{ *pulumi.OutputState }

func (IntegrationAwsEventbridgeOutput) AwsAccountId added in v3.12.0

The 12 digit AWS Account ID where you want the events to be sent to.

func (IntegrationAwsEventbridgeOutput) AwsRegion added in v3.12.0

The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)

func (IntegrationAwsEventbridgeOutput) ElementType added in v3.12.0

func (IntegrationAwsEventbridgeOutput) InstanceId added in v3.12.0

Instance identifier

func (IntegrationAwsEventbridgeOutput) Queue added in v3.12.0

A (durable) queue on your RabbitMQ instance.

func (IntegrationAwsEventbridgeOutput) Status added in v3.12.0

Always set to null, unless there is an error starting the EventBridge.

func (IntegrationAwsEventbridgeOutput) ToIntegrationAwsEventbridgeOutput added in v3.12.0

func (o IntegrationAwsEventbridgeOutput) ToIntegrationAwsEventbridgeOutput() IntegrationAwsEventbridgeOutput

func (IntegrationAwsEventbridgeOutput) ToIntegrationAwsEventbridgeOutputWithContext added in v3.12.0

func (o IntegrationAwsEventbridgeOutput) ToIntegrationAwsEventbridgeOutputWithContext(ctx context.Context) IntegrationAwsEventbridgeOutput

func (IntegrationAwsEventbridgeOutput) Vhost added in v3.12.0

The VHost the queue resides in.

func (IntegrationAwsEventbridgeOutput) WithHeaders added in v3.12.0

Include message headers in the event data.

type IntegrationAwsEventbridgeState added in v3.12.0

type IntegrationAwsEventbridgeState struct {
	// The 12 digit AWS Account ID where you want the events to be sent to.
	AwsAccountId pulumi.StringPtrInput
	// The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)
	AwsRegion pulumi.StringPtrInput
	// Instance identifier
	InstanceId pulumi.IntPtrInput
	// A (durable) queue on your RabbitMQ instance.
	Queue pulumi.StringPtrInput
	// Always set to null, unless there is an error starting the EventBridge.
	Status pulumi.StringPtrInput
	// The VHost the queue resides in.
	Vhost pulumi.StringPtrInput
	// Include message headers in the event data.
	WithHeaders pulumi.BoolPtrInput
}

func (IntegrationAwsEventbridgeState) ElementType added in v3.12.0

type IntegrationLog

type IntegrationLog struct {
	pulumi.CustomResourceState

	// AWS access key identifier.
	AccessKeyId pulumi.StringPtrOutput `pulumi:"accessKeyId"`
	// The API key.
	ApiKey pulumi.StringPtrOutput `pulumi:"apiKey"`
	// The application name for Coralogix.
	Application pulumi.StringPtrOutput `pulumi:"application"`
	// The application identifier for Azure monitor.
	ApplicationId pulumi.StringPtrOutput `pulumi:"applicationId"`
	// The application secret for Azure monitor.
	ApplicationSecret pulumi.StringPtrOutput `pulumi:"applicationSecret"`
	// The client email registered for the integration service.
	ClientEmail pulumi.StringOutput `pulumi:"clientEmail"`
	// Google Service Account private key credentials.
	Credentials pulumi.StringPtrOutput `pulumi:"credentials"`
	// The data collection endpoint for Azure monitor.
	DceUri pulumi.StringPtrOutput `pulumi:"dceUri"`
	// ID of data collection rule that your DCE is linked to for Azure Monitor.
	//
	// This is the full list of all arguments. Only a subset of arguments are used based on which type of integration used. See Integration Type reference table below for more information.
	DcrId pulumi.StringPtrOutput `pulumi:"dcrId"`
	// The syslog destination to send the logs to for Coralogix.
	Endpoint pulumi.StringPtrOutput `pulumi:"endpoint"`
	// The host for Scalyr integration. (app.scalyr.com, app.eu.scalyr.com)
	Host pulumi.StringPtrOutput `pulumi:"host"`
	// Destination to send the logs.
	HostPort pulumi.StringPtrOutput `pulumi:"hostPort"`
	// Instance identifier used to make proxy calls
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// The name of the third party log integration. See
	// Integration type reference
	Name pulumi.StringOutput `pulumi:"name"`
	// The private access key.
	PrivateKey pulumi.StringOutput `pulumi:"privateKey"`
	// Private key identifier. (Stackdriver)
	PrivateKeyId pulumi.StringOutput `pulumi:"privateKeyId"`
	// The project identifier.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Region hosting the integration service.
	Region pulumi.StringPtrOutput `pulumi:"region"`
	// AWS secret access key.
	SecretAccessKey pulumi.StringPtrOutput `pulumi:"secretAccessKey"`
	// Assign source type to the data exported, eg. generic_single_line. (Splunk)
	Sourcetype pulumi.StringPtrOutput `pulumi:"sourcetype"`
	// The subsystem name for Coralogix.
	Subsystem pulumi.StringPtrOutput `pulumi:"subsystem"`
	// The table name for Azure monitor.
	Table pulumi.StringPtrOutput `pulumi:"table"`
	// Tag the integration, e.g. env=prod,region=europe.
	Tags pulumi.StringPtrOutput `pulumi:"tags"`
	// The tenant identifier for Azure monitor.
	TenantId pulumi.StringPtrOutput `pulumi:"tenantId"`
	// Token used for authentication.
	Token pulumi.StringPtrOutput `pulumi:"token"`
	// Endpoint to log integration.
	Url pulumi.StringPtrOutput `pulumi:"url"`
}

This resource allows you to create and manage third party log integrations for a CloudAMQP instance. Once configured, the logs produced will be forward to corresponding integration.

Only available for dedicated subscription plans.

## Example Usage

<details>

<summary>
  <b>
    <i>Azure monitor log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "azureMonitor", &cloudamqp.IntegrationLogArgs{
			InstanceId:        pulumi.Any(cloudamqp_instance.Instance.Id),
			TenantId:          pulumi.Any(_var.Azm_tentant_id),
			ApplicationId:     pulumi.Any(_var.Azm_application_id),
			ApplicationSecret: pulumi.Any(_var.Azm_application_secret),
			DceUri:            pulumi.Any(_var.Azm_dce_uri),
			Table:             pulumi.Any(_var.Azm_table),
			DcrId:             pulumi.Any(_var.Azm_dcr_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Cloudwatch log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "cloudwatch", &cloudamqp.IntegrationLogArgs{
			InstanceId:      pulumi.Any(cloudamqp_instance.Instance.Id),
			AccessKeyId:     pulumi.Any(_var.Aws_access_key_id),
			SecretAccessKey: pulumi.Any(_var.Aws_secret_access_key),
			Region:          pulumi.Any(_var.Aws_region),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Coralogix log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "coralogix", &cloudamqp.IntegrationLogArgs{
			InstanceId:  pulumi.Any(cloudamqp_instance.Instance.Id),
			PrivateKey:  pulumi.Any(_var.Coralogix_send_data_key),
			Endpoint:    pulumi.Any(_var.Coralogix_endpoint),
			Application: pulumi.Any(_var.Coralogix_application),
			Subsystem:   pulumi.Any(cloudamqp_instance.Instance.Host),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Datadog log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "datadog", &cloudamqp.IntegrationLogArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Region:     pulumi.Any(_var.Datadog_region),
			ApiKey:     pulumi.Any(_var.Datadog_api_key),
			Tags:       pulumi.Any(_var.Datadog_tags),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Logentries log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "logentries", &cloudamqp.IntegrationLogArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Token:      pulumi.Any(_var.Logentries_token),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Loggly log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "loggly", &cloudamqp.IntegrationLogArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Token:      pulumi.Any(_var.Loggly_token),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>Papertrail log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "papertrail", &cloudamqp.IntegrationLogArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Url:        pulumi.Any(_var.Papertrail_url),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Scalyr log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "scalyr", &cloudamqp.IntegrationLogArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Token:      pulumi.Any(_var.Scalyr_token),
			Host:       pulumi.Any(_var.Scalyr_host),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

<details>

<summary>
  <b>
    <i>Splunk log integration</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "splunk", &cloudamqp.IntegrationLogArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Token:      pulumi.Any(_var.Splunk_token),
			HostPort:   pulumi.Any(_var.Splunk_host_port),
			SourceType: pulumi.String("generic_single_line"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

</details>

<details>

<summary>
  <b>
    <i>Stackdriver log integration (v1.20.2 or older versions)</i>
  </b>
</summary>

Use variable file populated with project_id, privateKey and clientEmail

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewIntegrationLog(ctx, "stackdriver", &cloudamqp.IntegrationLogArgs{
			InstanceId:  pulumi.Any(cloudamqp_instance.Instance.Id),
			ProjectId:   pulumi.Any(_var.Stackdriver_project_id),
			PrivateKey:  pulumi.Any(_var.Stackdriver_private_key),
			ClientEmail: pulumi.Any(_var.Stackdriver_client_email),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

or by using googleServiceAccountKey resource from Google provider

## Import

`cloudamqp_integration_log`can be imported using the resource identifier together with CloudAMQP instance identifier. The name and identifier are CSV separated, see example below.

```sh $ pulumi import cloudamqp:index/integrationLog:IntegrationLog <resource_name> <id>,<instance_id>` ```

func GetIntegrationLog

func GetIntegrationLog(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IntegrationLogState, opts ...pulumi.ResourceOption) (*IntegrationLog, error)

GetIntegrationLog gets an existing IntegrationLog 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 NewIntegrationLog

func NewIntegrationLog(ctx *pulumi.Context,
	name string, args *IntegrationLogArgs, opts ...pulumi.ResourceOption) (*IntegrationLog, error)

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

func (*IntegrationLog) ElementType

func (*IntegrationLog) ElementType() reflect.Type

func (*IntegrationLog) ToIntegrationLogOutput

func (i *IntegrationLog) ToIntegrationLogOutput() IntegrationLogOutput

func (*IntegrationLog) ToIntegrationLogOutputWithContext

func (i *IntegrationLog) ToIntegrationLogOutputWithContext(ctx context.Context) IntegrationLogOutput

type IntegrationLogArgs

type IntegrationLogArgs struct {
	// AWS access key identifier.
	AccessKeyId pulumi.StringPtrInput
	// The API key.
	ApiKey pulumi.StringPtrInput
	// The application name for Coralogix.
	Application pulumi.StringPtrInput
	// The application identifier for Azure monitor.
	ApplicationId pulumi.StringPtrInput
	// The application secret for Azure monitor.
	ApplicationSecret pulumi.StringPtrInput
	// The client email registered for the integration service.
	ClientEmail pulumi.StringPtrInput
	// Google Service Account private key credentials.
	Credentials pulumi.StringPtrInput
	// The data collection endpoint for Azure monitor.
	DceUri pulumi.StringPtrInput
	// ID of data collection rule that your DCE is linked to for Azure Monitor.
	//
	// This is the full list of all arguments. Only a subset of arguments are used based on which type of integration used. See Integration Type reference table below for more information.
	DcrId pulumi.StringPtrInput
	// The syslog destination to send the logs to for Coralogix.
	Endpoint pulumi.StringPtrInput
	// The host for Scalyr integration. (app.scalyr.com, app.eu.scalyr.com)
	Host pulumi.StringPtrInput
	// Destination to send the logs.
	HostPort pulumi.StringPtrInput
	// Instance identifier used to make proxy calls
	InstanceId pulumi.IntInput
	// The name of the third party log integration. See
	// Integration type reference
	Name pulumi.StringPtrInput
	// The private access key.
	PrivateKey pulumi.StringPtrInput
	// Private key identifier. (Stackdriver)
	PrivateKeyId pulumi.StringPtrInput
	// The project identifier.
	ProjectId pulumi.StringPtrInput
	// Region hosting the integration service.
	Region pulumi.StringPtrInput
	// AWS secret access key.
	SecretAccessKey pulumi.StringPtrInput
	// Assign source type to the data exported, eg. generic_single_line. (Splunk)
	Sourcetype pulumi.StringPtrInput
	// The subsystem name for Coralogix.
	Subsystem pulumi.StringPtrInput
	// The table name for Azure monitor.
	Table pulumi.StringPtrInput
	// Tag the integration, e.g. env=prod,region=europe.
	Tags pulumi.StringPtrInput
	// The tenant identifier for Azure monitor.
	TenantId pulumi.StringPtrInput
	// Token used for authentication.
	Token pulumi.StringPtrInput
	// Endpoint to log integration.
	Url pulumi.StringPtrInput
}

The set of arguments for constructing a IntegrationLog resource.

func (IntegrationLogArgs) ElementType

func (IntegrationLogArgs) ElementType() reflect.Type

type IntegrationLogArray

type IntegrationLogArray []IntegrationLogInput

func (IntegrationLogArray) ElementType

func (IntegrationLogArray) ElementType() reflect.Type

func (IntegrationLogArray) ToIntegrationLogArrayOutput

func (i IntegrationLogArray) ToIntegrationLogArrayOutput() IntegrationLogArrayOutput

func (IntegrationLogArray) ToIntegrationLogArrayOutputWithContext

func (i IntegrationLogArray) ToIntegrationLogArrayOutputWithContext(ctx context.Context) IntegrationLogArrayOutput

type IntegrationLogArrayInput

type IntegrationLogArrayInput interface {
	pulumi.Input

	ToIntegrationLogArrayOutput() IntegrationLogArrayOutput
	ToIntegrationLogArrayOutputWithContext(context.Context) IntegrationLogArrayOutput
}

IntegrationLogArrayInput is an input type that accepts IntegrationLogArray and IntegrationLogArrayOutput values. You can construct a concrete instance of `IntegrationLogArrayInput` via:

IntegrationLogArray{ IntegrationLogArgs{...} }

type IntegrationLogArrayOutput

type IntegrationLogArrayOutput struct{ *pulumi.OutputState }

func (IntegrationLogArrayOutput) ElementType

func (IntegrationLogArrayOutput) ElementType() reflect.Type

func (IntegrationLogArrayOutput) Index

func (IntegrationLogArrayOutput) ToIntegrationLogArrayOutput

func (o IntegrationLogArrayOutput) ToIntegrationLogArrayOutput() IntegrationLogArrayOutput

func (IntegrationLogArrayOutput) ToIntegrationLogArrayOutputWithContext

func (o IntegrationLogArrayOutput) ToIntegrationLogArrayOutputWithContext(ctx context.Context) IntegrationLogArrayOutput

type IntegrationLogInput

type IntegrationLogInput interface {
	pulumi.Input

	ToIntegrationLogOutput() IntegrationLogOutput
	ToIntegrationLogOutputWithContext(ctx context.Context) IntegrationLogOutput
}

type IntegrationLogMap

type IntegrationLogMap map[string]IntegrationLogInput

func (IntegrationLogMap) ElementType

func (IntegrationLogMap) ElementType() reflect.Type

func (IntegrationLogMap) ToIntegrationLogMapOutput

func (i IntegrationLogMap) ToIntegrationLogMapOutput() IntegrationLogMapOutput

func (IntegrationLogMap) ToIntegrationLogMapOutputWithContext

func (i IntegrationLogMap) ToIntegrationLogMapOutputWithContext(ctx context.Context) IntegrationLogMapOutput

type IntegrationLogMapInput

type IntegrationLogMapInput interface {
	pulumi.Input

	ToIntegrationLogMapOutput() IntegrationLogMapOutput
	ToIntegrationLogMapOutputWithContext(context.Context) IntegrationLogMapOutput
}

IntegrationLogMapInput is an input type that accepts IntegrationLogMap and IntegrationLogMapOutput values. You can construct a concrete instance of `IntegrationLogMapInput` via:

IntegrationLogMap{ "key": IntegrationLogArgs{...} }

type IntegrationLogMapOutput

type IntegrationLogMapOutput struct{ *pulumi.OutputState }

func (IntegrationLogMapOutput) ElementType

func (IntegrationLogMapOutput) ElementType() reflect.Type

func (IntegrationLogMapOutput) MapIndex

func (IntegrationLogMapOutput) ToIntegrationLogMapOutput

func (o IntegrationLogMapOutput) ToIntegrationLogMapOutput() IntegrationLogMapOutput

func (IntegrationLogMapOutput) ToIntegrationLogMapOutputWithContext

func (o IntegrationLogMapOutput) ToIntegrationLogMapOutputWithContext(ctx context.Context) IntegrationLogMapOutput

type IntegrationLogOutput

type IntegrationLogOutput struct{ *pulumi.OutputState }

func (IntegrationLogOutput) AccessKeyId added in v3.9.1

AWS access key identifier.

func (IntegrationLogOutput) ApiKey added in v3.9.1

The API key.

func (IntegrationLogOutput) Application added in v3.17.2

The application name for Coralogix.

func (IntegrationLogOutput) ApplicationId added in v3.17.3

func (o IntegrationLogOutput) ApplicationId() pulumi.StringPtrOutput

The application identifier for Azure monitor.

func (IntegrationLogOutput) ApplicationSecret added in v3.17.3

func (o IntegrationLogOutput) ApplicationSecret() pulumi.StringPtrOutput

The application secret for Azure monitor.

func (IntegrationLogOutput) ClientEmail added in v3.9.1

func (o IntegrationLogOutput) ClientEmail() pulumi.StringOutput

The client email registered for the integration service.

func (IntegrationLogOutput) Credentials added in v3.10.0

Google Service Account private key credentials.

func (IntegrationLogOutput) DceUri added in v3.17.3

The data collection endpoint for Azure monitor.

func (IntegrationLogOutput) DcrId added in v3.17.3

ID of data collection rule that your DCE is linked to for Azure Monitor.

This is the full list of all arguments. Only a subset of arguments are used based on which type of integration used. See Integration Type reference table below for more information.

func (IntegrationLogOutput) ElementType

func (IntegrationLogOutput) ElementType() reflect.Type

func (IntegrationLogOutput) Endpoint added in v3.17.2

The syslog destination to send the logs to for Coralogix.

func (IntegrationLogOutput) Host added in v3.9.1

The host for Scalyr integration. (app.scalyr.com, app.eu.scalyr.com)

func (IntegrationLogOutput) HostPort added in v3.9.1

Destination to send the logs.

func (IntegrationLogOutput) InstanceId added in v3.9.1

func (o IntegrationLogOutput) InstanceId() pulumi.IntOutput

Instance identifier used to make proxy calls

func (IntegrationLogOutput) Name added in v3.9.1

The name of the third party log integration. See Integration type reference

func (IntegrationLogOutput) PrivateKey added in v3.9.1

func (o IntegrationLogOutput) PrivateKey() pulumi.StringOutput

The private access key.

func (IntegrationLogOutput) PrivateKeyId added in v3.10.0

func (o IntegrationLogOutput) PrivateKeyId() pulumi.StringOutput

Private key identifier. (Stackdriver)

func (IntegrationLogOutput) ProjectId added in v3.9.1

The project identifier.

func (IntegrationLogOutput) Region added in v3.9.1

Region hosting the integration service.

func (IntegrationLogOutput) SecretAccessKey added in v3.9.1

func (o IntegrationLogOutput) SecretAccessKey() pulumi.StringPtrOutput

AWS secret access key.

func (IntegrationLogOutput) Sourcetype added in v3.10.0

Assign source type to the data exported, eg. generic_single_line. (Splunk)

func (IntegrationLogOutput) Subsystem added in v3.17.2

The subsystem name for Coralogix.

func (IntegrationLogOutput) Table added in v3.17.3

The table name for Azure monitor.

func (IntegrationLogOutput) Tags added in v3.9.1

Tag the integration, e.g. env=prod,region=europe.

func (IntegrationLogOutput) TenantId added in v3.17.3

The tenant identifier for Azure monitor.

func (IntegrationLogOutput) ToIntegrationLogOutput

func (o IntegrationLogOutput) ToIntegrationLogOutput() IntegrationLogOutput

func (IntegrationLogOutput) ToIntegrationLogOutputWithContext

func (o IntegrationLogOutput) ToIntegrationLogOutputWithContext(ctx context.Context) IntegrationLogOutput

func (IntegrationLogOutput) Token added in v3.9.1

Token used for authentication.

func (IntegrationLogOutput) Url added in v3.9.1

Endpoint to log integration.

type IntegrationLogState

type IntegrationLogState struct {
	// AWS access key identifier.
	AccessKeyId pulumi.StringPtrInput
	// The API key.
	ApiKey pulumi.StringPtrInput
	// The application name for Coralogix.
	Application pulumi.StringPtrInput
	// The application identifier for Azure monitor.
	ApplicationId pulumi.StringPtrInput
	// The application secret for Azure monitor.
	ApplicationSecret pulumi.StringPtrInput
	// The client email registered for the integration service.
	ClientEmail pulumi.StringPtrInput
	// Google Service Account private key credentials.
	Credentials pulumi.StringPtrInput
	// The data collection endpoint for Azure monitor.
	DceUri pulumi.StringPtrInput
	// ID of data collection rule that your DCE is linked to for Azure Monitor.
	//
	// This is the full list of all arguments. Only a subset of arguments are used based on which type of integration used. See Integration Type reference table below for more information.
	DcrId pulumi.StringPtrInput
	// The syslog destination to send the logs to for Coralogix.
	Endpoint pulumi.StringPtrInput
	// The host for Scalyr integration. (app.scalyr.com, app.eu.scalyr.com)
	Host pulumi.StringPtrInput
	// Destination to send the logs.
	HostPort pulumi.StringPtrInput
	// Instance identifier used to make proxy calls
	InstanceId pulumi.IntPtrInput
	// The name of the third party log integration. See
	// Integration type reference
	Name pulumi.StringPtrInput
	// The private access key.
	PrivateKey pulumi.StringPtrInput
	// Private key identifier. (Stackdriver)
	PrivateKeyId pulumi.StringPtrInput
	// The project identifier.
	ProjectId pulumi.StringPtrInput
	// Region hosting the integration service.
	Region pulumi.StringPtrInput
	// AWS secret access key.
	SecretAccessKey pulumi.StringPtrInput
	// Assign source type to the data exported, eg. generic_single_line. (Splunk)
	Sourcetype pulumi.StringPtrInput
	// The subsystem name for Coralogix.
	Subsystem pulumi.StringPtrInput
	// The table name for Azure monitor.
	Table pulumi.StringPtrInput
	// Tag the integration, e.g. env=prod,region=europe.
	Tags pulumi.StringPtrInput
	// The tenant identifier for Azure monitor.
	TenantId pulumi.StringPtrInput
	// Token used for authentication.
	Token pulumi.StringPtrInput
	// Endpoint to log integration.
	Url pulumi.StringPtrInput
}

func (IntegrationLogState) ElementType

func (IntegrationLogState) ElementType() reflect.Type

type IntegrationMetric

type IntegrationMetric struct {
	pulumi.CustomResourceState

	// AWS access key identifier. (Cloudwatch)
	AccessKeyId pulumi.StringPtrOutput `pulumi:"accessKeyId"`
	// The API key for the integration service. (Librato)
	ApiKey pulumi.StringPtrOutput `pulumi:"apiKey"`
	// The client email. (Stackdriver)
	ClientEmail pulumi.StringOutput `pulumi:"clientEmail"`
	// Base64Encoded credentials. (Stackdriver)
	Credentials pulumi.StringPtrOutput `pulumi:"credentials"`
	// The email address registred for the integration service. (Librato)
	Email pulumi.StringPtrOutput `pulumi:"email"`
	// External identifier that match the role you created. (Cloudwatch)
	IamExternalId pulumi.StringPtrOutput `pulumi:"iamExternalId"`
	// The ARN of the role to be assumed when publishing metrics. (Cloudwatch)
	IamRole pulumi.StringPtrOutput `pulumi:"iamRole"`
	// Instance identifier
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// The license key registred for the integration service. (New Relic)
	LicenseKey pulumi.StringPtrOutput `pulumi:"licenseKey"`
	// The name of metrics integration
	Name pulumi.StringOutput `pulumi:"name"`
	// The private key. (Stackdriver)
	PrivateKey pulumi.StringOutput `pulumi:"privateKey"`
	// Private key identifier. (Stackdriver)
	PrivateKeyId pulumi.StringOutput `pulumi:"privateKeyId"`
	// Project ID. (Stackdriver)
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// (optional) allowlist using regular expression
	QueueAllowlist pulumi.StringPtrOutput `pulumi:"queueAllowlist"`
	// **Deprecated**
	//
	// Deprecated: use queueAllowlist instead
	QueueWhitelist pulumi.StringPtrOutput `pulumi:"queueWhitelist"`
	// AWS region for Cloudwatch and [US/EU] for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)
	Region pulumi.StringPtrOutput `pulumi:"region"`
	// AWS secret key. (Cloudwatch)
	SecretAccessKey pulumi.StringPtrOutput `pulumi:"secretAccessKey"`
	// (optional) tags. E.g. env=prod,region=europe
	Tags pulumi.StringPtrOutput `pulumi:"tags"`
	// (optional) allowlist using regular expression
	VhostAllowlist pulumi.StringPtrOutput `pulumi:"vhostAllowlist"`
	// **Deprecated**
	//
	// Deprecated: use vhostAllowlist instead
	VhostWhitelist pulumi.StringPtrOutput `pulumi:"vhostWhitelist"`
}

func GetIntegrationMetric

func GetIntegrationMetric(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IntegrationMetricState, opts ...pulumi.ResourceOption) (*IntegrationMetric, error)

GetIntegrationMetric gets an existing IntegrationMetric 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 NewIntegrationMetric

func NewIntegrationMetric(ctx *pulumi.Context,
	name string, args *IntegrationMetricArgs, opts ...pulumi.ResourceOption) (*IntegrationMetric, error)

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

func (*IntegrationMetric) ElementType

func (*IntegrationMetric) ElementType() reflect.Type

func (*IntegrationMetric) ToIntegrationMetricOutput

func (i *IntegrationMetric) ToIntegrationMetricOutput() IntegrationMetricOutput

func (*IntegrationMetric) ToIntegrationMetricOutputWithContext

func (i *IntegrationMetric) ToIntegrationMetricOutputWithContext(ctx context.Context) IntegrationMetricOutput

type IntegrationMetricArgs

type IntegrationMetricArgs struct {
	// AWS access key identifier. (Cloudwatch)
	AccessKeyId pulumi.StringPtrInput
	// The API key for the integration service. (Librato)
	ApiKey pulumi.StringPtrInput
	// The client email. (Stackdriver)
	ClientEmail pulumi.StringPtrInput
	// Base64Encoded credentials. (Stackdriver)
	Credentials pulumi.StringPtrInput
	// The email address registred for the integration service. (Librato)
	Email pulumi.StringPtrInput
	// External identifier that match the role you created. (Cloudwatch)
	IamExternalId pulumi.StringPtrInput
	// The ARN of the role to be assumed when publishing metrics. (Cloudwatch)
	IamRole pulumi.StringPtrInput
	// Instance identifier
	InstanceId pulumi.IntInput
	// The license key registred for the integration service. (New Relic)
	LicenseKey pulumi.StringPtrInput
	// The name of metrics integration
	Name pulumi.StringPtrInput
	// The private key. (Stackdriver)
	PrivateKey pulumi.StringPtrInput
	// Private key identifier. (Stackdriver)
	PrivateKeyId pulumi.StringPtrInput
	// Project ID. (Stackdriver)
	ProjectId pulumi.StringPtrInput
	// (optional) allowlist using regular expression
	QueueAllowlist pulumi.StringPtrInput
	// **Deprecated**
	//
	// Deprecated: use queueAllowlist instead
	QueueWhitelist pulumi.StringPtrInput
	// AWS region for Cloudwatch and [US/EU] for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)
	Region pulumi.StringPtrInput
	// AWS secret key. (Cloudwatch)
	SecretAccessKey pulumi.StringPtrInput
	// (optional) tags. E.g. env=prod,region=europe
	Tags pulumi.StringPtrInput
	// (optional) allowlist using regular expression
	VhostAllowlist pulumi.StringPtrInput
	// **Deprecated**
	//
	// Deprecated: use vhostAllowlist instead
	VhostWhitelist pulumi.StringPtrInput
}

The set of arguments for constructing a IntegrationMetric resource.

func (IntegrationMetricArgs) ElementType

func (IntegrationMetricArgs) ElementType() reflect.Type

type IntegrationMetricArray

type IntegrationMetricArray []IntegrationMetricInput

func (IntegrationMetricArray) ElementType

func (IntegrationMetricArray) ElementType() reflect.Type

func (IntegrationMetricArray) ToIntegrationMetricArrayOutput

func (i IntegrationMetricArray) ToIntegrationMetricArrayOutput() IntegrationMetricArrayOutput

func (IntegrationMetricArray) ToIntegrationMetricArrayOutputWithContext

func (i IntegrationMetricArray) ToIntegrationMetricArrayOutputWithContext(ctx context.Context) IntegrationMetricArrayOutput

type IntegrationMetricArrayInput

type IntegrationMetricArrayInput interface {
	pulumi.Input

	ToIntegrationMetricArrayOutput() IntegrationMetricArrayOutput
	ToIntegrationMetricArrayOutputWithContext(context.Context) IntegrationMetricArrayOutput
}

IntegrationMetricArrayInput is an input type that accepts IntegrationMetricArray and IntegrationMetricArrayOutput values. You can construct a concrete instance of `IntegrationMetricArrayInput` via:

IntegrationMetricArray{ IntegrationMetricArgs{...} }

type IntegrationMetricArrayOutput

type IntegrationMetricArrayOutput struct{ *pulumi.OutputState }

func (IntegrationMetricArrayOutput) ElementType

func (IntegrationMetricArrayOutput) Index

func (IntegrationMetricArrayOutput) ToIntegrationMetricArrayOutput

func (o IntegrationMetricArrayOutput) ToIntegrationMetricArrayOutput() IntegrationMetricArrayOutput

func (IntegrationMetricArrayOutput) ToIntegrationMetricArrayOutputWithContext

func (o IntegrationMetricArrayOutput) ToIntegrationMetricArrayOutputWithContext(ctx context.Context) IntegrationMetricArrayOutput

type IntegrationMetricInput

type IntegrationMetricInput interface {
	pulumi.Input

	ToIntegrationMetricOutput() IntegrationMetricOutput
	ToIntegrationMetricOutputWithContext(ctx context.Context) IntegrationMetricOutput
}

type IntegrationMetricMap

type IntegrationMetricMap map[string]IntegrationMetricInput

func (IntegrationMetricMap) ElementType

func (IntegrationMetricMap) ElementType() reflect.Type

func (IntegrationMetricMap) ToIntegrationMetricMapOutput

func (i IntegrationMetricMap) ToIntegrationMetricMapOutput() IntegrationMetricMapOutput

func (IntegrationMetricMap) ToIntegrationMetricMapOutputWithContext

func (i IntegrationMetricMap) ToIntegrationMetricMapOutputWithContext(ctx context.Context) IntegrationMetricMapOutput

type IntegrationMetricMapInput

type IntegrationMetricMapInput interface {
	pulumi.Input

	ToIntegrationMetricMapOutput() IntegrationMetricMapOutput
	ToIntegrationMetricMapOutputWithContext(context.Context) IntegrationMetricMapOutput
}

IntegrationMetricMapInput is an input type that accepts IntegrationMetricMap and IntegrationMetricMapOutput values. You can construct a concrete instance of `IntegrationMetricMapInput` via:

IntegrationMetricMap{ "key": IntegrationMetricArgs{...} }

type IntegrationMetricMapOutput

type IntegrationMetricMapOutput struct{ *pulumi.OutputState }

func (IntegrationMetricMapOutput) ElementType

func (IntegrationMetricMapOutput) ElementType() reflect.Type

func (IntegrationMetricMapOutput) MapIndex

func (IntegrationMetricMapOutput) ToIntegrationMetricMapOutput

func (o IntegrationMetricMapOutput) ToIntegrationMetricMapOutput() IntegrationMetricMapOutput

func (IntegrationMetricMapOutput) ToIntegrationMetricMapOutputWithContext

func (o IntegrationMetricMapOutput) ToIntegrationMetricMapOutputWithContext(ctx context.Context) IntegrationMetricMapOutput

type IntegrationMetricOutput

type IntegrationMetricOutput struct{ *pulumi.OutputState }

func (IntegrationMetricOutput) AccessKeyId added in v3.9.1

AWS access key identifier. (Cloudwatch)

func (IntegrationMetricOutput) ApiKey added in v3.9.1

The API key for the integration service. (Librato)

func (IntegrationMetricOutput) ClientEmail added in v3.9.1

The client email. (Stackdriver)

func (IntegrationMetricOutput) Credentials added in v3.10.0

Base64Encoded credentials. (Stackdriver)

func (IntegrationMetricOutput) ElementType

func (IntegrationMetricOutput) ElementType() reflect.Type

func (IntegrationMetricOutput) Email added in v3.9.1

The email address registred for the integration service. (Librato)

func (IntegrationMetricOutput) IamExternalId added in v3.15.0

External identifier that match the role you created. (Cloudwatch)

func (IntegrationMetricOutput) IamRole added in v3.15.0

The ARN of the role to be assumed when publishing metrics. (Cloudwatch)

func (IntegrationMetricOutput) InstanceId added in v3.9.1

func (o IntegrationMetricOutput) InstanceId() pulumi.IntOutput

Instance identifier

func (IntegrationMetricOutput) LicenseKey added in v3.9.1

The license key registred for the integration service. (New Relic)

func (IntegrationMetricOutput) Name added in v3.9.1

The name of metrics integration

func (IntegrationMetricOutput) PrivateKey added in v3.9.1

The private key. (Stackdriver)

func (IntegrationMetricOutput) PrivateKeyId added in v3.10.0

func (o IntegrationMetricOutput) PrivateKeyId() pulumi.StringOutput

Private key identifier. (Stackdriver)

func (IntegrationMetricOutput) ProjectId added in v3.9.1

Project ID. (Stackdriver)

func (IntegrationMetricOutput) QueueAllowlist added in v3.9.1

func (o IntegrationMetricOutput) QueueAllowlist() pulumi.StringPtrOutput

(optional) allowlist using regular expression

func (IntegrationMetricOutput) QueueWhitelist deprecated added in v3.9.1

func (o IntegrationMetricOutput) QueueWhitelist() pulumi.StringPtrOutput

**Deprecated**

Deprecated: use queueAllowlist instead

func (IntegrationMetricOutput) Region added in v3.9.1

AWS region for Cloudwatch and US/EU for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)

func (IntegrationMetricOutput) SecretAccessKey added in v3.9.1

func (o IntegrationMetricOutput) SecretAccessKey() pulumi.StringPtrOutput

AWS secret key. (Cloudwatch)

func (IntegrationMetricOutput) Tags added in v3.9.1

(optional) tags. E.g. env=prod,region=europe

func (IntegrationMetricOutput) ToIntegrationMetricOutput

func (o IntegrationMetricOutput) ToIntegrationMetricOutput() IntegrationMetricOutput

func (IntegrationMetricOutput) ToIntegrationMetricOutputWithContext

func (o IntegrationMetricOutput) ToIntegrationMetricOutputWithContext(ctx context.Context) IntegrationMetricOutput

func (IntegrationMetricOutput) VhostAllowlist added in v3.9.1

func (o IntegrationMetricOutput) VhostAllowlist() pulumi.StringPtrOutput

(optional) allowlist using regular expression

func (IntegrationMetricOutput) VhostWhitelist deprecated added in v3.9.1

func (o IntegrationMetricOutput) VhostWhitelist() pulumi.StringPtrOutput

**Deprecated**

Deprecated: use vhostAllowlist instead

type IntegrationMetricState

type IntegrationMetricState struct {
	// AWS access key identifier. (Cloudwatch)
	AccessKeyId pulumi.StringPtrInput
	// The API key for the integration service. (Librato)
	ApiKey pulumi.StringPtrInput
	// The client email. (Stackdriver)
	ClientEmail pulumi.StringPtrInput
	// Base64Encoded credentials. (Stackdriver)
	Credentials pulumi.StringPtrInput
	// The email address registred for the integration service. (Librato)
	Email pulumi.StringPtrInput
	// External identifier that match the role you created. (Cloudwatch)
	IamExternalId pulumi.StringPtrInput
	// The ARN of the role to be assumed when publishing metrics. (Cloudwatch)
	IamRole pulumi.StringPtrInput
	// Instance identifier
	InstanceId pulumi.IntPtrInput
	// The license key registred for the integration service. (New Relic)
	LicenseKey pulumi.StringPtrInput
	// The name of metrics integration
	Name pulumi.StringPtrInput
	// The private key. (Stackdriver)
	PrivateKey pulumi.StringPtrInput
	// Private key identifier. (Stackdriver)
	PrivateKeyId pulumi.StringPtrInput
	// Project ID. (Stackdriver)
	ProjectId pulumi.StringPtrInput
	// (optional) allowlist using regular expression
	QueueAllowlist pulumi.StringPtrInput
	// **Deprecated**
	//
	// Deprecated: use queueAllowlist instead
	QueueWhitelist pulumi.StringPtrInput
	// AWS region for Cloudwatch and [US/EU] for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)
	Region pulumi.StringPtrInput
	// AWS secret key. (Cloudwatch)
	SecretAccessKey pulumi.StringPtrInput
	// (optional) tags. E.g. env=prod,region=europe
	Tags pulumi.StringPtrInput
	// (optional) allowlist using regular expression
	VhostAllowlist pulumi.StringPtrInput
	// **Deprecated**
	//
	// Deprecated: use vhostAllowlist instead
	VhostWhitelist pulumi.StringPtrInput
}

func (IntegrationMetricState) ElementType

func (IntegrationMetricState) ElementType() reflect.Type

type LookupAlarmArgs

type LookupAlarmArgs struct {
	// The alarm identifier. Either use this or `type` to give `Alarm` necessary information to retrieve the alarm.
	AlarmId *int `pulumi:"alarmId"`
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
	// The alarm type. Either use this or `alarmId` to give `Alarm` necessary information when retrieve the alarm. Supported alarm types
	Type             *string `pulumi:"type"`
	ValueCalculation *string `pulumi:"valueCalculation"`
}

A collection of arguments for invoking getAlarm.

type LookupAlarmOutputArgs added in v3.4.0

type LookupAlarmOutputArgs struct {
	// The alarm identifier. Either use this or `type` to give `Alarm` necessary information to retrieve the alarm.
	AlarmId pulumi.IntPtrInput `pulumi:"alarmId"`
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
	// The alarm type. Either use this or `alarmId` to give `Alarm` necessary information when retrieve the alarm. Supported alarm types
	Type             pulumi.StringPtrInput `pulumi:"type"`
	ValueCalculation pulumi.StringPtrInput `pulumi:"valueCalculation"`
}

A collection of arguments for invoking getAlarm.

func (LookupAlarmOutputArgs) ElementType added in v3.4.0

func (LookupAlarmOutputArgs) ElementType() reflect.Type

type LookupAlarmResult

type LookupAlarmResult struct {
	AlarmId *int `pulumi:"alarmId"`
	Enabled bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id               string  `pulumi:"id"`
	InstanceId       int     `pulumi:"instanceId"`
	MessageType      string  `pulumi:"messageType"`
	QueueRegex       string  `pulumi:"queueRegex"`
	Recipients       []int   `pulumi:"recipients"`
	ReminderInterval int     `pulumi:"reminderInterval"`
	TimeThreshold    int     `pulumi:"timeThreshold"`
	Type             *string `pulumi:"type"`
	ValueCalculation *string `pulumi:"valueCalculation"`
	ValueThreshold   int     `pulumi:"valueThreshold"`
	VhostRegex       string  `pulumi:"vhostRegex"`
}

A collection of values returned by getAlarm.

func LookupAlarm

func LookupAlarm(ctx *pulumi.Context, args *LookupAlarmArgs, opts ...pulumi.InvokeOption) (*LookupAlarmResult, error)

Use this data source to retrieve information about default or created alarms. Either use `alarmId` or `type` to retrieve the alarm.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.LookupAlarm(ctx, &cloudamqp.LookupAlarmArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
			Type:       pulumi.StringRef("cpu"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this resource. * `enabled` - Enable/disable status of the alarm. * `valueThreshold` - The value threshold that triggers the alarm. * `reminderInterval` - The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. * `timeThreshold` - The time interval (in seconds) the `valueThreshold` should be active before trigger an alarm. * `queueRegex` - Regular expression for which queue to check. * `vhostRegex` - Regular expression for which vhost to check * `recipients` - Identifier for recipient to be notified. * `messageType` - Message type `(total, unacked, ready)` used by queue alarm type.

Specific attribute for `disk` alarm

* `valueCalculation` - Disk value threshold calculation, `(fixed, percentage)` of disk space remaining.

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Alarm types

`cpu, memory, disk, queue, connection, flow, consumer, netsplit, server_unreachable, notice`

type LookupAlarmResultOutput added in v3.4.0

type LookupAlarmResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAlarm.

func LookupAlarmOutput added in v3.4.0

func LookupAlarmOutput(ctx *pulumi.Context, args LookupAlarmOutputArgs, opts ...pulumi.InvokeOption) LookupAlarmResultOutput

func (LookupAlarmResultOutput) AlarmId added in v3.4.0

func (LookupAlarmResultOutput) ElementType added in v3.4.0

func (LookupAlarmResultOutput) ElementType() reflect.Type

func (LookupAlarmResultOutput) Enabled added in v3.4.0

func (LookupAlarmResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (LookupAlarmResultOutput) InstanceId added in v3.4.0

func (o LookupAlarmResultOutput) InstanceId() pulumi.IntOutput

func (LookupAlarmResultOutput) MessageType added in v3.4.0

func (LookupAlarmResultOutput) QueueRegex added in v3.4.0

func (LookupAlarmResultOutput) Recipients added in v3.4.0

func (LookupAlarmResultOutput) ReminderInterval added in v3.7.0

func (o LookupAlarmResultOutput) ReminderInterval() pulumi.IntOutput

func (LookupAlarmResultOutput) TimeThreshold added in v3.4.0

func (o LookupAlarmResultOutput) TimeThreshold() pulumi.IntOutput

func (LookupAlarmResultOutput) ToLookupAlarmResultOutput added in v3.4.0

func (o LookupAlarmResultOutput) ToLookupAlarmResultOutput() LookupAlarmResultOutput

func (LookupAlarmResultOutput) ToLookupAlarmResultOutputWithContext added in v3.4.0

func (o LookupAlarmResultOutput) ToLookupAlarmResultOutputWithContext(ctx context.Context) LookupAlarmResultOutput

func (LookupAlarmResultOutput) Type added in v3.4.0

func (LookupAlarmResultOutput) ValueCalculation added in v3.6.1

func (o LookupAlarmResultOutput) ValueCalculation() pulumi.StringPtrOutput

func (LookupAlarmResultOutput) ValueThreshold added in v3.4.0

func (o LookupAlarmResultOutput) ValueThreshold() pulumi.IntOutput

func (LookupAlarmResultOutput) VhostRegex added in v3.4.0

type LookupInstanceArgs

type LookupInstanceArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
}

A collection of arguments for invoking getInstance.

type LookupInstanceOutputArgs added in v3.4.0

type LookupInstanceOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
}

A collection of arguments for invoking getInstance.

func (LookupInstanceOutputArgs) ElementType added in v3.4.0

func (LookupInstanceOutputArgs) ElementType() reflect.Type

type LookupInstanceResult

type LookupInstanceResult struct {
	Apikey       string `pulumi:"apikey"`
	Backend      string `pulumi:"backend"`
	Dedicated    bool   `pulumi:"dedicated"`
	Host         string `pulumi:"host"`
	HostInternal string `pulumi:"hostInternal"`
	// The provider-assigned unique ID for this managed resource.
	Id              string   `pulumi:"id"`
	InstanceId      int      `pulumi:"instanceId"`
	Name            string   `pulumi:"name"`
	NoDefaultAlarms bool     `pulumi:"noDefaultAlarms"`
	Nodes           int      `pulumi:"nodes"`
	Plan            string   `pulumi:"plan"`
	Ready           bool     `pulumi:"ready"`
	Region          string   `pulumi:"region"`
	RmqVersion      string   `pulumi:"rmqVersion"`
	Tags            []string `pulumi:"tags"`
	Url             string   `pulumi:"url"`
	Vhost           string   `pulumi:"vhost"`
	VpcId           int      `pulumi:"vpcId"`
	VpcSubnet       string   `pulumi:"vpcSubnet"`
}

A collection of values returned by getInstance.

func LookupInstance

func LookupInstance(ctx *pulumi.Context, args *LookupInstanceArgs, opts ...pulumi.InvokeOption) (*LookupInstanceResult, error)

Use this data source to retrieve information about an already created CloudAMQP instance. In order to retrieve the correct information, the CoudAMQP instance identifier is needed.

type LookupInstanceResultOutput added in v3.4.0

type LookupInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstance.

func LookupInstanceOutput added in v3.4.0

func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceResultOutput

func (LookupInstanceResultOutput) Apikey added in v3.4.0

func (LookupInstanceResultOutput) Backend added in v3.14.0

func (LookupInstanceResultOutput) Dedicated added in v3.4.0

func (LookupInstanceResultOutput) ElementType added in v3.4.0

func (LookupInstanceResultOutput) ElementType() reflect.Type

func (LookupInstanceResultOutput) Host added in v3.4.0

func (LookupInstanceResultOutput) HostInternal added in v3.5.0

func (LookupInstanceResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (LookupInstanceResultOutput) InstanceId added in v3.4.0

func (LookupInstanceResultOutput) Name added in v3.4.0

func (LookupInstanceResultOutput) NoDefaultAlarms added in v3.4.0

func (o LookupInstanceResultOutput) NoDefaultAlarms() pulumi.BoolOutput

func (LookupInstanceResultOutput) Nodes added in v3.4.0

func (LookupInstanceResultOutput) Plan added in v3.4.0

func (LookupInstanceResultOutput) Ready added in v3.4.0

func (LookupInstanceResultOutput) Region added in v3.4.0

func (LookupInstanceResultOutput) RmqVersion added in v3.4.0

func (LookupInstanceResultOutput) Tags added in v3.4.0

func (LookupInstanceResultOutput) ToLookupInstanceResultOutput added in v3.4.0

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutput() LookupInstanceResultOutput

func (LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext added in v3.4.0

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext(ctx context.Context) LookupInstanceResultOutput

func (LookupInstanceResultOutput) Url added in v3.4.0

func (LookupInstanceResultOutput) Vhost added in v3.4.0

func (LookupInstanceResultOutput) VpcId added in v3.4.0

func (LookupInstanceResultOutput) VpcSubnet added in v3.4.0

type LookupNotificationArgs

type LookupNotificationArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId int `pulumi:"instanceId"`
	// The name set for the recipient.
	Name    *string           `pulumi:"name"`
	Options map[string]string `pulumi:"options"`
	// The recipient identifier.
	RecipientId *int `pulumi:"recipientId"`
}

A collection of arguments for invoking getNotification.

type LookupNotificationOutputArgs added in v3.4.0

type LookupNotificationOutputArgs struct {
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput `pulumi:"instanceId"`
	// The name set for the recipient.
	Name    pulumi.StringPtrInput `pulumi:"name"`
	Options pulumi.StringMapInput `pulumi:"options"`
	// The recipient identifier.
	RecipientId pulumi.IntPtrInput `pulumi:"recipientId"`
}

A collection of arguments for invoking getNotification.

func (LookupNotificationOutputArgs) ElementType added in v3.4.0

type LookupNotificationResult

type LookupNotificationResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id          string            `pulumi:"id"`
	InstanceId  int               `pulumi:"instanceId"`
	Name        *string           `pulumi:"name"`
	Options     map[string]string `pulumi:"options"`
	RecipientId *int              `pulumi:"recipientId"`
	Type        string            `pulumi:"type"`
	Value       string            `pulumi:"value"`
}

A collection of values returned by getNotification.

func LookupNotification

func LookupNotification(ctx *pulumi.Context, args *LookupNotificationArgs, opts ...pulumi.InvokeOption) (*LookupNotificationResult, error)

Use this data source to retrieve information about default or created recipients. The recipient will receive notifications assigned to an alarm that has triggered. To retrieve the recipient either use `recipientId` or `name`.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.LookupNotification(ctx, &cloudamqp.LookupNotificationArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
			Name:       pulumi.StringRef("default"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Attributes reference

All attributes reference are computed

* `id` - The identifier for this resource. * `type` - The type of the recipient. * `value` - The notification endpoint, where to send the notification. * `options`- Options argument (e.g. `rk` used for VictorOps routing key).

## Dependency

This data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

type LookupNotificationResultOutput added in v3.4.0

type LookupNotificationResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNotification.

func LookupNotificationOutput added in v3.4.0

func (LookupNotificationResultOutput) ElementType added in v3.4.0

func (LookupNotificationResultOutput) Id added in v3.4.0

The provider-assigned unique ID for this managed resource.

func (LookupNotificationResultOutput) InstanceId added in v3.4.0

func (LookupNotificationResultOutput) Name added in v3.4.0

func (LookupNotificationResultOutput) Options added in v3.14.0

func (LookupNotificationResultOutput) RecipientId added in v3.4.0

func (LookupNotificationResultOutput) ToLookupNotificationResultOutput added in v3.4.0

func (o LookupNotificationResultOutput) ToLookupNotificationResultOutput() LookupNotificationResultOutput

func (LookupNotificationResultOutput) ToLookupNotificationResultOutputWithContext added in v3.4.0

func (o LookupNotificationResultOutput) ToLookupNotificationResultOutputWithContext(ctx context.Context) LookupNotificationResultOutput

func (LookupNotificationResultOutput) Type added in v3.4.0

func (LookupNotificationResultOutput) Value added in v3.4.0

type NodeActions added in v3.8.0

type NodeActions struct {
	pulumi.CustomResourceState

	// The action to invoke on the node.
	Action pulumi.StringOutput `pulumi:"action"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// The node name, e.g `green-guinea-pig-01`.
	NodeName pulumi.StringOutput `pulumi:"nodeName"`
	// If the node is running.
	Running pulumi.BoolOutput `pulumi:"running"`
}

This resource allows you to invoke actions on a specific node.

Only available for dedicated subscription plans.

## Example Usage

<details>

<summary>
  <b>
    <i>Already know the node identifier (e.g. from state file)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// New recipient to receieve notifications
		_, err := cloudamqp.NewNodeActions(ctx, "nodeAction", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			NodeName:   pulumi.String("<node name>"),
			Action:     pulumi.String("restart"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

Using data source `getNodes` to restart RabbitMQ on all nodes.</br> ***Note: RabbitMQ restart on multiple nodes need to be chained, so one node restart at the time.***

<details>

<summary>
  <b>
    <i>Multi node RabbitMQ restart</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		listNodes, err := cloudamqp.GetNodes(ctx, &cloudamqp.GetNodesArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		restart01, err := cloudamqp.NewNodeActions(ctx, "restart01", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Action:     pulumi.String("restart"),
			NodeName:   pulumi.String(listNodes.Nodes[0].Name),
		})
		if err != nil {
			return err
		}
		restart02, err := cloudamqp.NewNodeActions(ctx, "restart02", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Action:     pulumi.String("restart"),
			NodeName:   pulumi.String(listNodes.Nodes[1].Name),
		}, pulumi.DependsOn([]pulumi.Resource{
			restart01,
		}))
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewNodeActions(ctx, "restart03", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Action:     pulumi.String("restart"),
			NodeName:   pulumi.String(listNodes.Nodes[2].Name),
		}, pulumi.DependsOn([]pulumi.Resource{
			restart01,
			restart02,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>Combine log level configuration change with multi node RabbitMQ restart</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		listNodes, err := cloudamqp.GetNodes(ctx, &cloudamqp.GetNodesArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		rabbitmqConfig, err := cloudamqp.NewRabbitConfiguration(ctx, "rabbitmqConfig", &cloudamqp.RabbitConfigurationArgs{
			InstanceId:       pulumi.Any(cloudamqp_instance.Instance.Id),
			LogExchangeLevel: pulumi.String("info"),
		})
		if err != nil {
			return err
		}
		restart01, err := cloudamqp.NewNodeActions(ctx, "restart01", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Action:     pulumi.String("restart"),
			NodeName:   pulumi.String(listNodes.Nodes[0].Name),
		}, pulumi.DependsOn([]pulumi.Resource{
			rabbitmqConfig,
		}))
		if err != nil {
			return err
		}
		restart02, err := cloudamqp.NewNodeActions(ctx, "restart02", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Action:     pulumi.String("restart"),
			NodeName:   pulumi.String(listNodes.Nodes[1].Name),
		}, pulumi.DependsOn([]pulumi.Resource{
			rabbitmqConfig,
			restart01,
		}))
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewNodeActions(ctx, "restart03", &cloudamqp.NodeActionsArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Action:     pulumi.String("restart"),
			NodeName:   pulumi.String(listNodes.Nodes[2].Name),
		}, pulumi.DependsOn([]pulumi.Resource{
			rabbitmqConfig,
			restart01,
			restart02,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

## Action reference

Valid options for action.

| Action | Info | |--------------|------------------------------------| | start | Start RabbitMQ | | stop | Stop RabbitMQ | | restart | Restart RabbitMQ | | reboot | Reboot the node | | mgmt.restart | Restart the RabbitMQ mgmt interace |

## Dependency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id` and node name.

## Import

This resource cannot be imported.

func GetNodeActions added in v3.8.0

func GetNodeActions(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NodeActionsState, opts ...pulumi.ResourceOption) (*NodeActions, error)

GetNodeActions gets an existing NodeActions 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 NewNodeActions added in v3.8.0

func NewNodeActions(ctx *pulumi.Context,
	name string, args *NodeActionsArgs, opts ...pulumi.ResourceOption) (*NodeActions, error)

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

func (*NodeActions) ElementType added in v3.8.0

func (*NodeActions) ElementType() reflect.Type

func (*NodeActions) ToNodeActionsOutput added in v3.8.0

func (i *NodeActions) ToNodeActionsOutput() NodeActionsOutput

func (*NodeActions) ToNodeActionsOutputWithContext added in v3.8.0

func (i *NodeActions) ToNodeActionsOutputWithContext(ctx context.Context) NodeActionsOutput

type NodeActionsArgs added in v3.8.0

type NodeActionsArgs struct {
	// The action to invoke on the node.
	Action pulumi.StringInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
	// The node name, e.g `green-guinea-pig-01`.
	NodeName pulumi.StringInput
}

The set of arguments for constructing a NodeActions resource.

func (NodeActionsArgs) ElementType added in v3.8.0

func (NodeActionsArgs) ElementType() reflect.Type

type NodeActionsArray added in v3.8.0

type NodeActionsArray []NodeActionsInput

func (NodeActionsArray) ElementType added in v3.8.0

func (NodeActionsArray) ElementType() reflect.Type

func (NodeActionsArray) ToNodeActionsArrayOutput added in v3.8.0

func (i NodeActionsArray) ToNodeActionsArrayOutput() NodeActionsArrayOutput

func (NodeActionsArray) ToNodeActionsArrayOutputWithContext added in v3.8.0

func (i NodeActionsArray) ToNodeActionsArrayOutputWithContext(ctx context.Context) NodeActionsArrayOutput

type NodeActionsArrayInput added in v3.8.0

type NodeActionsArrayInput interface {
	pulumi.Input

	ToNodeActionsArrayOutput() NodeActionsArrayOutput
	ToNodeActionsArrayOutputWithContext(context.Context) NodeActionsArrayOutput
}

NodeActionsArrayInput is an input type that accepts NodeActionsArray and NodeActionsArrayOutput values. You can construct a concrete instance of `NodeActionsArrayInput` via:

NodeActionsArray{ NodeActionsArgs{...} }

type NodeActionsArrayOutput added in v3.8.0

type NodeActionsArrayOutput struct{ *pulumi.OutputState }

func (NodeActionsArrayOutput) ElementType added in v3.8.0

func (NodeActionsArrayOutput) ElementType() reflect.Type

func (NodeActionsArrayOutput) Index added in v3.8.0

func (NodeActionsArrayOutput) ToNodeActionsArrayOutput added in v3.8.0

func (o NodeActionsArrayOutput) ToNodeActionsArrayOutput() NodeActionsArrayOutput

func (NodeActionsArrayOutput) ToNodeActionsArrayOutputWithContext added in v3.8.0

func (o NodeActionsArrayOutput) ToNodeActionsArrayOutputWithContext(ctx context.Context) NodeActionsArrayOutput

type NodeActionsInput added in v3.8.0

type NodeActionsInput interface {
	pulumi.Input

	ToNodeActionsOutput() NodeActionsOutput
	ToNodeActionsOutputWithContext(ctx context.Context) NodeActionsOutput
}

type NodeActionsMap added in v3.8.0

type NodeActionsMap map[string]NodeActionsInput

func (NodeActionsMap) ElementType added in v3.8.0

func (NodeActionsMap) ElementType() reflect.Type

func (NodeActionsMap) ToNodeActionsMapOutput added in v3.8.0

func (i NodeActionsMap) ToNodeActionsMapOutput() NodeActionsMapOutput

func (NodeActionsMap) ToNodeActionsMapOutputWithContext added in v3.8.0

func (i NodeActionsMap) ToNodeActionsMapOutputWithContext(ctx context.Context) NodeActionsMapOutput

type NodeActionsMapInput added in v3.8.0

type NodeActionsMapInput interface {
	pulumi.Input

	ToNodeActionsMapOutput() NodeActionsMapOutput
	ToNodeActionsMapOutputWithContext(context.Context) NodeActionsMapOutput
}

NodeActionsMapInput is an input type that accepts NodeActionsMap and NodeActionsMapOutput values. You can construct a concrete instance of `NodeActionsMapInput` via:

NodeActionsMap{ "key": NodeActionsArgs{...} }

type NodeActionsMapOutput added in v3.8.0

type NodeActionsMapOutput struct{ *pulumi.OutputState }

func (NodeActionsMapOutput) ElementType added in v3.8.0

func (NodeActionsMapOutput) ElementType() reflect.Type

func (NodeActionsMapOutput) MapIndex added in v3.8.0

func (NodeActionsMapOutput) ToNodeActionsMapOutput added in v3.8.0

func (o NodeActionsMapOutput) ToNodeActionsMapOutput() NodeActionsMapOutput

func (NodeActionsMapOutput) ToNodeActionsMapOutputWithContext added in v3.8.0

func (o NodeActionsMapOutput) ToNodeActionsMapOutputWithContext(ctx context.Context) NodeActionsMapOutput

type NodeActionsOutput added in v3.8.0

type NodeActionsOutput struct{ *pulumi.OutputState }

func (NodeActionsOutput) Action added in v3.9.1

The action to invoke on the node.

func (NodeActionsOutput) ElementType added in v3.8.0

func (NodeActionsOutput) ElementType() reflect.Type

func (NodeActionsOutput) InstanceId added in v3.9.1

func (o NodeActionsOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (NodeActionsOutput) NodeName added in v3.9.1

func (o NodeActionsOutput) NodeName() pulumi.StringOutput

The node name, e.g `green-guinea-pig-01`.

func (NodeActionsOutput) Running added in v3.9.1

func (o NodeActionsOutput) Running() pulumi.BoolOutput

If the node is running.

func (NodeActionsOutput) ToNodeActionsOutput added in v3.8.0

func (o NodeActionsOutput) ToNodeActionsOutput() NodeActionsOutput

func (NodeActionsOutput) ToNodeActionsOutputWithContext added in v3.8.0

func (o NodeActionsOutput) ToNodeActionsOutputWithContext(ctx context.Context) NodeActionsOutput

type NodeActionsState added in v3.8.0

type NodeActionsState struct {
	// The action to invoke on the node.
	Action pulumi.StringPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
	// The node name, e.g `green-guinea-pig-01`.
	NodeName pulumi.StringPtrInput
	// If the node is running.
	Running pulumi.BoolPtrInput
}

func (NodeActionsState) ElementType added in v3.8.0

func (NodeActionsState) ElementType() reflect.Type

type Notification

type Notification struct {
	pulumi.CustomResourceState

	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// Name of the responder
	Name pulumi.StringOutput `pulumi:"name"`
	// Options argument (e.g. `rk` used for VictorOps routing key).
	Options pulumi.StringMapOutput `pulumi:"options"`
	// An array of reponders (only for OpsGenie). Each `responders` block
	// consists of the field documented below.
	//
	// ***
	//
	// The `responders` block consists of:
	Responders NotificationResponderArrayOutput `pulumi:"responders"`
	// Type of responder. [`team`, `user`, `escalation`, `schedule`]
	Type pulumi.StringOutput `pulumi:"type"`
	// Integration/API key or endpoint to send the notification.
	Value pulumi.StringOutput `pulumi:"value"`
}

This resource allows you to create and manage recipients to receive alarm notifications. There will always be a default recipient created upon instance creation. This recipient will use team email and receive notifications from default alarms.

Available for all subscription plans.

## Example Usage

<details>

<summary>
  <b>Email recipient</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "emailRecipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("email"),
			Value:      pulumi.String("alarm@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>OpsGenie recipient with optional responders</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "opsgenieRecipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("opsgenie"),
			Value:      pulumi.String("<api-key>"),
			Responders: cloudamqp.NotificationResponderArray{
				&cloudamqp.NotificationResponderArgs{
					Type: pulumi.String("team"),
					Id:   pulumi.String("<team-uuid>"),
				},
				&cloudamqp.NotificationResponderArgs{
					Type:     pulumi.String("user"),
					Username: pulumi.String("<username>"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>Pagerduty recipient with optional dedup key</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "pagerdutyRecipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("pagerduty"),
			Value:      pulumi.String("<integration-key>"),
			Options: pulumi.StringMap{
				"dedupkey": pulumi.String("DEDUPKEY"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>Signl4 recipient</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "signl4Recipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("signl4"),
			Value:      pulumi.String("<team-secret>"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>Teams recipient</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "teamsRecipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("teams"),
			Value:      pulumi.String("<teams-webhook-url>"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>Victorops recipient with optional routing key (rk)</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "victoropsRecipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("victorops"),
			Value:      pulumi.String("<integration-key>"),
			Options: pulumi.StringMap{
				"rk": pulumi.String("ROUTINGKEY"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>Webhook recipient</b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewNotification(ctx, "webhookRecipient", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("webhook"),
			Value:      pulumi.String("<webhook-url>"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Notification Type reference

Valid options for notification type.

* email * opsgenie * opsgenie-eu * pagerduty * signl4 * slack * teams * victorops * webhook

## Options parameter

| Type | Options | Description | Note | |---|---|---|---| | Victorops | rk | Routing key to route alarm notification | - | | PagerDuty | dedupkey | Default the dedup key for PagerDuty is generated depending on what alarm has triggered, but here you can set what `dedup` key to use so even if the same alarm is triggered for different resources you only get one notification. Leave blank to use the generated dedup key. | If multiple alarms are triggered using this recipient, since they all share `dedup` key only the first alarm will be shown in PagerDuty |

## Dependency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Import

`cloudamqp_notification` can be imported using CloudAMQP internal identifier of a recipient together

(CSV separated) with the instance identifier. To retrieve the identifier of a recipient, use

[CloudAMQP API](https://docs.cloudamqp.com/cloudamqp_api.html#list-notification-recipients)

```sh $ pulumi import cloudamqp:index/notification:Notification recipient <id>,<instance_id>` ```

func GetNotification

func GetNotification(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NotificationState, opts ...pulumi.ResourceOption) (*Notification, error)

GetNotification gets an existing Notification 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 NewNotification

func NewNotification(ctx *pulumi.Context,
	name string, args *NotificationArgs, opts ...pulumi.ResourceOption) (*Notification, error)

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

func (*Notification) ElementType

func (*Notification) ElementType() reflect.Type

func (*Notification) ToNotificationOutput

func (i *Notification) ToNotificationOutput() NotificationOutput

func (*Notification) ToNotificationOutputWithContext

func (i *Notification) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

type NotificationArgs

type NotificationArgs struct {
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
	// Name of the responder
	Name pulumi.StringPtrInput
	// Options argument (e.g. `rk` used for VictorOps routing key).
	Options pulumi.StringMapInput
	// An array of reponders (only for OpsGenie). Each `responders` block
	// consists of the field documented below.
	//
	// ***
	//
	// The `responders` block consists of:
	Responders NotificationResponderArrayInput
	// Type of responder. [`team`, `user`, `escalation`, `schedule`]
	Type pulumi.StringInput
	// Integration/API key or endpoint to send the notification.
	Value pulumi.StringInput
}

The set of arguments for constructing a Notification resource.

func (NotificationArgs) ElementType

func (NotificationArgs) ElementType() reflect.Type

type NotificationArray

type NotificationArray []NotificationInput

func (NotificationArray) ElementType

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext

func (i NotificationArray) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationArrayInput

type NotificationArrayInput interface {
	pulumi.Input

	ToNotificationArrayOutput() NotificationArrayOutput
	ToNotificationArrayOutputWithContext(context.Context) NotificationArrayOutput
}

NotificationArrayInput is an input type that accepts NotificationArray and NotificationArrayOutput values. You can construct a concrete instance of `NotificationArrayInput` via:

NotificationArray{ NotificationArgs{...} }

type NotificationArrayOutput

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index

func (NotificationArrayOutput) ToNotificationArrayOutput

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext

func (o NotificationArrayOutput) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationInput

type NotificationInput interface {
	pulumi.Input

	ToNotificationOutput() NotificationOutput
	ToNotificationOutputWithContext(ctx context.Context) NotificationOutput
}

type NotificationMap

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext

func (i NotificationMap) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationMapInput

type NotificationMapInput interface {
	pulumi.Input

	ToNotificationMapOutput() NotificationMapOutput
	ToNotificationMapOutputWithContext(context.Context) NotificationMapOutput
}

NotificationMapInput is an input type that accepts NotificationMap and NotificationMapOutput values. You can construct a concrete instance of `NotificationMapInput` via:

NotificationMap{ "key": NotificationArgs{...} }

type NotificationMapOutput

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex

func (NotificationMapOutput) ToNotificationMapOutput

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext

func (o NotificationMapOutput) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationOutput

type NotificationOutput struct{ *pulumi.OutputState }

func (NotificationOutput) ElementType

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) InstanceId added in v3.9.1

func (o NotificationOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (NotificationOutput) Name added in v3.9.1

Name of the responder

func (NotificationOutput) Options added in v3.10.0

Options argument (e.g. `rk` used for VictorOps routing key).

func (NotificationOutput) Responders added in v3.17.4

An array of reponders (only for OpsGenie). Each `responders` block consists of the field documented below.

***

The `responders` block consists of:

func (NotificationOutput) ToNotificationOutput

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext

func (o NotificationOutput) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

func (NotificationOutput) Type added in v3.9.1

Type of responder. [`team`, `user`, `escalation`, `schedule`]

func (NotificationOutput) Value added in v3.9.1

Integration/API key or endpoint to send the notification.

type NotificationResponder added in v3.17.4

type NotificationResponder struct {
	// Identifier in UUID format
	Id *string `pulumi:"id"`
	// Name of the responder
	Name *string `pulumi:"name"`
	// Type of responder. [`team`, `user`, `escalation`, `schedule`]
	Type string `pulumi:"type"`
	// Username of the responder
	//
	// Responders of type `team`, `escalation` and `schedule` can use either id or name.
	// While `user` can use either id or username.
	Username *string `pulumi:"username"`
}

type NotificationResponderArgs added in v3.17.4

type NotificationResponderArgs struct {
	// Identifier in UUID format
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Name of the responder
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Type of responder. [`team`, `user`, `escalation`, `schedule`]
	Type pulumi.StringInput `pulumi:"type"`
	// Username of the responder
	//
	// Responders of type `team`, `escalation` and `schedule` can use either id or name.
	// While `user` can use either id or username.
	Username pulumi.StringPtrInput `pulumi:"username"`
}

func (NotificationResponderArgs) ElementType added in v3.17.4

func (NotificationResponderArgs) ElementType() reflect.Type

func (NotificationResponderArgs) ToNotificationResponderOutput added in v3.17.4

func (i NotificationResponderArgs) ToNotificationResponderOutput() NotificationResponderOutput

func (NotificationResponderArgs) ToNotificationResponderOutputWithContext added in v3.17.4

func (i NotificationResponderArgs) ToNotificationResponderOutputWithContext(ctx context.Context) NotificationResponderOutput

type NotificationResponderArray added in v3.17.4

type NotificationResponderArray []NotificationResponderInput

func (NotificationResponderArray) ElementType added in v3.17.4

func (NotificationResponderArray) ElementType() reflect.Type

func (NotificationResponderArray) ToNotificationResponderArrayOutput added in v3.17.4

func (i NotificationResponderArray) ToNotificationResponderArrayOutput() NotificationResponderArrayOutput

func (NotificationResponderArray) ToNotificationResponderArrayOutputWithContext added in v3.17.4

func (i NotificationResponderArray) ToNotificationResponderArrayOutputWithContext(ctx context.Context) NotificationResponderArrayOutput

type NotificationResponderArrayInput added in v3.17.4

type NotificationResponderArrayInput interface {
	pulumi.Input

	ToNotificationResponderArrayOutput() NotificationResponderArrayOutput
	ToNotificationResponderArrayOutputWithContext(context.Context) NotificationResponderArrayOutput
}

NotificationResponderArrayInput is an input type that accepts NotificationResponderArray and NotificationResponderArrayOutput values. You can construct a concrete instance of `NotificationResponderArrayInput` via:

NotificationResponderArray{ NotificationResponderArgs{...} }

type NotificationResponderArrayOutput added in v3.17.4

type NotificationResponderArrayOutput struct{ *pulumi.OutputState }

func (NotificationResponderArrayOutput) ElementType added in v3.17.4

func (NotificationResponderArrayOutput) Index added in v3.17.4

func (NotificationResponderArrayOutput) ToNotificationResponderArrayOutput added in v3.17.4

func (o NotificationResponderArrayOutput) ToNotificationResponderArrayOutput() NotificationResponderArrayOutput

func (NotificationResponderArrayOutput) ToNotificationResponderArrayOutputWithContext added in v3.17.4

func (o NotificationResponderArrayOutput) ToNotificationResponderArrayOutputWithContext(ctx context.Context) NotificationResponderArrayOutput

type NotificationResponderInput added in v3.17.4

type NotificationResponderInput interface {
	pulumi.Input

	ToNotificationResponderOutput() NotificationResponderOutput
	ToNotificationResponderOutputWithContext(context.Context) NotificationResponderOutput
}

NotificationResponderInput is an input type that accepts NotificationResponderArgs and NotificationResponderOutput values. You can construct a concrete instance of `NotificationResponderInput` via:

NotificationResponderArgs{...}

type NotificationResponderOutput added in v3.17.4

type NotificationResponderOutput struct{ *pulumi.OutputState }

func (NotificationResponderOutput) ElementType added in v3.17.4

func (NotificationResponderOutput) Id added in v3.17.4

Identifier in UUID format

func (NotificationResponderOutput) Name added in v3.17.4

Name of the responder

func (NotificationResponderOutput) ToNotificationResponderOutput added in v3.17.4

func (o NotificationResponderOutput) ToNotificationResponderOutput() NotificationResponderOutput

func (NotificationResponderOutput) ToNotificationResponderOutputWithContext added in v3.17.4

func (o NotificationResponderOutput) ToNotificationResponderOutputWithContext(ctx context.Context) NotificationResponderOutput

func (NotificationResponderOutput) Type added in v3.17.4

Type of responder. [`team`, `user`, `escalation`, `schedule`]

func (NotificationResponderOutput) Username added in v3.17.4

Username of the responder

Responders of type `team`, `escalation` and `schedule` can use either id or name. While `user` can use either id or username.

type NotificationState

type NotificationState struct {
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
	// Name of the responder
	Name pulumi.StringPtrInput
	// Options argument (e.g. `rk` used for VictorOps routing key).
	Options pulumi.StringMapInput
	// An array of reponders (only for OpsGenie). Each `responders` block
	// consists of the field documented below.
	//
	// ***
	//
	// The `responders` block consists of:
	Responders NotificationResponderArrayInput
	// Type of responder. [`team`, `user`, `escalation`, `schedule`]
	Type pulumi.StringPtrInput
	// Integration/API key or endpoint to send the notification.
	Value pulumi.StringPtrInput
}

func (NotificationState) ElementType

func (NotificationState) ElementType() reflect.Type

type Plugin

type Plugin struct {
	pulumi.CustomResourceState

	// The description of the plugin.
	Description pulumi.StringOutput `pulumi:"description"`
	// If the plugin is enabled
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// Instance identifier
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// The name of the plugin
	Name pulumi.StringOutput `pulumi:"name"`
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
	// The version of the plugin.
	Version pulumi.StringOutput `pulumi:"version"`
}

## Import

`cloudamqp_plugin` can be imported using the name argument of the resource together with CloudAMQP instance identifier. The name and identifier are CSV separated, see example below.

```sh $ pulumi import cloudamqp:index/plugin:Plugin rabbitmq_management rabbitmq_management,<instance_id>` ```

func GetPlugin

func GetPlugin(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PluginState, opts ...pulumi.ResourceOption) (*Plugin, error)

GetPlugin gets an existing Plugin 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 NewPlugin

func NewPlugin(ctx *pulumi.Context,
	name string, args *PluginArgs, opts ...pulumi.ResourceOption) (*Plugin, error)

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

func (*Plugin) ElementType

func (*Plugin) ElementType() reflect.Type

func (*Plugin) ToPluginOutput

func (i *Plugin) ToPluginOutput() PluginOutput

func (*Plugin) ToPluginOutputWithContext

func (i *Plugin) ToPluginOutputWithContext(ctx context.Context) PluginOutput

type PluginArgs

type PluginArgs struct {
	// If the plugin is enabled
	Enabled pulumi.BoolInput
	// Instance identifier
	InstanceId pulumi.IntInput
	// The name of the plugin
	Name pulumi.StringPtrInput
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a Plugin resource.

func (PluginArgs) ElementType

func (PluginArgs) ElementType() reflect.Type

type PluginArray

type PluginArray []PluginInput

func (PluginArray) ElementType

func (PluginArray) ElementType() reflect.Type

func (PluginArray) ToPluginArrayOutput

func (i PluginArray) ToPluginArrayOutput() PluginArrayOutput

func (PluginArray) ToPluginArrayOutputWithContext

func (i PluginArray) ToPluginArrayOutputWithContext(ctx context.Context) PluginArrayOutput

type PluginArrayInput

type PluginArrayInput interface {
	pulumi.Input

	ToPluginArrayOutput() PluginArrayOutput
	ToPluginArrayOutputWithContext(context.Context) PluginArrayOutput
}

PluginArrayInput is an input type that accepts PluginArray and PluginArrayOutput values. You can construct a concrete instance of `PluginArrayInput` via:

PluginArray{ PluginArgs{...} }

type PluginArrayOutput

type PluginArrayOutput struct{ *pulumi.OutputState }

func (PluginArrayOutput) ElementType

func (PluginArrayOutput) ElementType() reflect.Type

func (PluginArrayOutput) Index

func (PluginArrayOutput) ToPluginArrayOutput

func (o PluginArrayOutput) ToPluginArrayOutput() PluginArrayOutput

func (PluginArrayOutput) ToPluginArrayOutputWithContext

func (o PluginArrayOutput) ToPluginArrayOutputWithContext(ctx context.Context) PluginArrayOutput

type PluginCommunity

type PluginCommunity struct {
	pulumi.CustomResourceState

	// The description of the plugin.
	Description pulumi.StringOutput `pulumi:"description"`
	// If the plugin is enabled
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// Instance identifier
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// The name of the plugin
	Name pulumi.StringOutput `pulumi:"name"`
	// Required version of RabbitMQ.
	Require pulumi.StringOutput `pulumi:"require"`
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
}

## Import

`cloudamqp_plugin` can be imported using the name argument of the resource together with CloudAMQP

instance identifier. The name and identifier are CSV separated, see example below.

```sh $ pulumi import cloudamqp:index/pluginCommunity:PluginCommunity <resource_name> <plugin_name>,<instance_id>` ```

func GetPluginCommunity

func GetPluginCommunity(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PluginCommunityState, opts ...pulumi.ResourceOption) (*PluginCommunity, error)

GetPluginCommunity gets an existing PluginCommunity 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 NewPluginCommunity

func NewPluginCommunity(ctx *pulumi.Context,
	name string, args *PluginCommunityArgs, opts ...pulumi.ResourceOption) (*PluginCommunity, error)

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

func (*PluginCommunity) ElementType

func (*PluginCommunity) ElementType() reflect.Type

func (*PluginCommunity) ToPluginCommunityOutput

func (i *PluginCommunity) ToPluginCommunityOutput() PluginCommunityOutput

func (*PluginCommunity) ToPluginCommunityOutputWithContext

func (i *PluginCommunity) ToPluginCommunityOutputWithContext(ctx context.Context) PluginCommunityOutput

type PluginCommunityArgs

type PluginCommunityArgs struct {
	// If the plugin is enabled
	Enabled pulumi.BoolInput
	// Instance identifier
	InstanceId pulumi.IntInput
	// The name of the plugin
	Name pulumi.StringPtrInput
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a PluginCommunity resource.

func (PluginCommunityArgs) ElementType

func (PluginCommunityArgs) ElementType() reflect.Type

type PluginCommunityArray

type PluginCommunityArray []PluginCommunityInput

func (PluginCommunityArray) ElementType

func (PluginCommunityArray) ElementType() reflect.Type

func (PluginCommunityArray) ToPluginCommunityArrayOutput

func (i PluginCommunityArray) ToPluginCommunityArrayOutput() PluginCommunityArrayOutput

func (PluginCommunityArray) ToPluginCommunityArrayOutputWithContext

func (i PluginCommunityArray) ToPluginCommunityArrayOutputWithContext(ctx context.Context) PluginCommunityArrayOutput

type PluginCommunityArrayInput

type PluginCommunityArrayInput interface {
	pulumi.Input

	ToPluginCommunityArrayOutput() PluginCommunityArrayOutput
	ToPluginCommunityArrayOutputWithContext(context.Context) PluginCommunityArrayOutput
}

PluginCommunityArrayInput is an input type that accepts PluginCommunityArray and PluginCommunityArrayOutput values. You can construct a concrete instance of `PluginCommunityArrayInput` via:

PluginCommunityArray{ PluginCommunityArgs{...} }

type PluginCommunityArrayOutput

type PluginCommunityArrayOutput struct{ *pulumi.OutputState }

func (PluginCommunityArrayOutput) ElementType

func (PluginCommunityArrayOutput) ElementType() reflect.Type

func (PluginCommunityArrayOutput) Index

func (PluginCommunityArrayOutput) ToPluginCommunityArrayOutput

func (o PluginCommunityArrayOutput) ToPluginCommunityArrayOutput() PluginCommunityArrayOutput

func (PluginCommunityArrayOutput) ToPluginCommunityArrayOutputWithContext

func (o PluginCommunityArrayOutput) ToPluginCommunityArrayOutputWithContext(ctx context.Context) PluginCommunityArrayOutput

type PluginCommunityInput

type PluginCommunityInput interface {
	pulumi.Input

	ToPluginCommunityOutput() PluginCommunityOutput
	ToPluginCommunityOutputWithContext(ctx context.Context) PluginCommunityOutput
}

type PluginCommunityMap

type PluginCommunityMap map[string]PluginCommunityInput

func (PluginCommunityMap) ElementType

func (PluginCommunityMap) ElementType() reflect.Type

func (PluginCommunityMap) ToPluginCommunityMapOutput

func (i PluginCommunityMap) ToPluginCommunityMapOutput() PluginCommunityMapOutput

func (PluginCommunityMap) ToPluginCommunityMapOutputWithContext

func (i PluginCommunityMap) ToPluginCommunityMapOutputWithContext(ctx context.Context) PluginCommunityMapOutput

type PluginCommunityMapInput

type PluginCommunityMapInput interface {
	pulumi.Input

	ToPluginCommunityMapOutput() PluginCommunityMapOutput
	ToPluginCommunityMapOutputWithContext(context.Context) PluginCommunityMapOutput
}

PluginCommunityMapInput is an input type that accepts PluginCommunityMap and PluginCommunityMapOutput values. You can construct a concrete instance of `PluginCommunityMapInput` via:

PluginCommunityMap{ "key": PluginCommunityArgs{...} }

type PluginCommunityMapOutput

type PluginCommunityMapOutput struct{ *pulumi.OutputState }

func (PluginCommunityMapOutput) ElementType

func (PluginCommunityMapOutput) ElementType() reflect.Type

func (PluginCommunityMapOutput) MapIndex

func (PluginCommunityMapOutput) ToPluginCommunityMapOutput

func (o PluginCommunityMapOutput) ToPluginCommunityMapOutput() PluginCommunityMapOutput

func (PluginCommunityMapOutput) ToPluginCommunityMapOutputWithContext

func (o PluginCommunityMapOutput) ToPluginCommunityMapOutputWithContext(ctx context.Context) PluginCommunityMapOutput

type PluginCommunityOutput

type PluginCommunityOutput struct{ *pulumi.OutputState }

func (PluginCommunityOutput) Description added in v3.10.0

func (o PluginCommunityOutput) Description() pulumi.StringOutput

The description of the plugin.

func (PluginCommunityOutput) ElementType

func (PluginCommunityOutput) ElementType() reflect.Type

func (PluginCommunityOutput) Enabled added in v3.9.1

If the plugin is enabled

func (PluginCommunityOutput) InstanceId added in v3.9.1

func (o PluginCommunityOutput) InstanceId() pulumi.IntOutput

Instance identifier

func (PluginCommunityOutput) Name added in v3.9.1

The name of the plugin

func (PluginCommunityOutput) Require added in v3.10.0

Required version of RabbitMQ.

func (PluginCommunityOutput) Sleep added in v3.17.0

Configurable sleep time in seconds between retries for plugins

func (PluginCommunityOutput) Timeout added in v3.17.0

Configurable timeout time in seconds for plugins

func (PluginCommunityOutput) ToPluginCommunityOutput

func (o PluginCommunityOutput) ToPluginCommunityOutput() PluginCommunityOutput

func (PluginCommunityOutput) ToPluginCommunityOutputWithContext

func (o PluginCommunityOutput) ToPluginCommunityOutputWithContext(ctx context.Context) PluginCommunityOutput

type PluginCommunityState

type PluginCommunityState struct {
	// The description of the plugin.
	Description pulumi.StringPtrInput
	// If the plugin is enabled
	Enabled pulumi.BoolPtrInput
	// Instance identifier
	InstanceId pulumi.IntPtrInput
	// The name of the plugin
	Name pulumi.StringPtrInput
	// Required version of RabbitMQ.
	Require pulumi.StringPtrInput
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrInput
}

func (PluginCommunityState) ElementType

func (PluginCommunityState) ElementType() reflect.Type

type PluginInput

type PluginInput interface {
	pulumi.Input

	ToPluginOutput() PluginOutput
	ToPluginOutputWithContext(ctx context.Context) PluginOutput
}

type PluginMap

type PluginMap map[string]PluginInput

func (PluginMap) ElementType

func (PluginMap) ElementType() reflect.Type

func (PluginMap) ToPluginMapOutput

func (i PluginMap) ToPluginMapOutput() PluginMapOutput

func (PluginMap) ToPluginMapOutputWithContext

func (i PluginMap) ToPluginMapOutputWithContext(ctx context.Context) PluginMapOutput

type PluginMapInput

type PluginMapInput interface {
	pulumi.Input

	ToPluginMapOutput() PluginMapOutput
	ToPluginMapOutputWithContext(context.Context) PluginMapOutput
}

PluginMapInput is an input type that accepts PluginMap and PluginMapOutput values. You can construct a concrete instance of `PluginMapInput` via:

PluginMap{ "key": PluginArgs{...} }

type PluginMapOutput

type PluginMapOutput struct{ *pulumi.OutputState }

func (PluginMapOutput) ElementType

func (PluginMapOutput) ElementType() reflect.Type

func (PluginMapOutput) MapIndex

func (PluginMapOutput) ToPluginMapOutput

func (o PluginMapOutput) ToPluginMapOutput() PluginMapOutput

func (PluginMapOutput) ToPluginMapOutputWithContext

func (o PluginMapOutput) ToPluginMapOutputWithContext(ctx context.Context) PluginMapOutput

type PluginOutput

type PluginOutput struct{ *pulumi.OutputState }

func (PluginOutput) Description added in v3.10.0

func (o PluginOutput) Description() pulumi.StringOutput

The description of the plugin.

func (PluginOutput) ElementType

func (PluginOutput) ElementType() reflect.Type

func (PluginOutput) Enabled added in v3.9.1

func (o PluginOutput) Enabled() pulumi.BoolOutput

If the plugin is enabled

func (PluginOutput) InstanceId added in v3.9.1

func (o PluginOutput) InstanceId() pulumi.IntOutput

Instance identifier

func (PluginOutput) Name added in v3.9.1

func (o PluginOutput) Name() pulumi.StringOutput

The name of the plugin

func (PluginOutput) Sleep added in v3.17.0

func (o PluginOutput) Sleep() pulumi.IntPtrOutput

Configurable sleep time in seconds between retries for plugins

func (PluginOutput) Timeout added in v3.17.0

func (o PluginOutput) Timeout() pulumi.IntPtrOutput

Configurable timeout time in seconds for plugins

func (PluginOutput) ToPluginOutput

func (o PluginOutput) ToPluginOutput() PluginOutput

func (PluginOutput) ToPluginOutputWithContext

func (o PluginOutput) ToPluginOutputWithContext(ctx context.Context) PluginOutput

func (PluginOutput) Version added in v3.10.0

func (o PluginOutput) Version() pulumi.StringOutput

The version of the plugin.

type PluginState

type PluginState struct {
	// The description of the plugin.
	Description pulumi.StringPtrInput
	// If the plugin is enabled
	Enabled pulumi.BoolPtrInput
	// Instance identifier
	InstanceId pulumi.IntPtrInput
	// The name of the plugin
	Name pulumi.StringPtrInput
	// Configurable sleep time in seconds between retries for plugins
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for plugins
	Timeout pulumi.IntPtrInput
	// The version of the plugin.
	Version pulumi.StringPtrInput
}

func (PluginState) ElementType

func (PluginState) ElementType() reflect.Type

type PrivatelinkAws added in v3.10.0

type PrivatelinkAws struct {
	pulumi.CustomResourceState

	// Covering availability zones used when creating an Endpoint from other VPC.
	ActiveZones pulumi.StringArrayOutput `pulumi:"activeZones"`
	// Allowed principals to access the endpoint service.
	AllowedPrincipals pulumi.StringArrayOutput `pulumi:"allowedPrincipals"`
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// Service name of the PrivateLink used when creating the endpoint from other VPC.
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
	// Configurable sleep time (seconds) when enable PrivateLink.
	// Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// PrivateLink status [enable, pending, disable]
	Status pulumi.StringOutput `pulumi:"status"`
	// Configurable timeout time (seconds) when enable PrivateLink.
	// Default set to 1800 seconds. *Available from v1.29.0*
	//
	// Allowed principals format: <br>
	// `arn:aws:iam::aws-account-id:root` <br>
	// `arn:aws:iam::aws-account-id:user/user-name` <br>
	// `arn:aws:iam::aws-account-id:role/role-name`
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
}

Enable PrivateLink for a CloudAMQP instance hosted in AWS. If no existing VPC available when enable PrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.

> **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet. <details>

<summary>
   <i>Default PrivateLink firewall rule</i>
 </summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/plans.html) where you can also find more information about [CloudAMQP PrivateLink](https://www.cloudamqp.com/docs/cloudamqp-privatelink.html#aws-privatelink).

Only available for dedicated subscription plans.

> **Warning:** This resource considered deprecated and will be removed in next major version (v2.0). Recommended to start using the new resource`VpcConnect`.

## Example Usage

<details>

<summary>
  <b>
    <i>CloudAMQP instance without existing VPC</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewPrivatelinkAws(ctx, "privatelink", &cloudamqp.PrivatelinkAwsArgs{
			InstanceId: instance.ID(),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws-account-id:user/user-name"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>CloudAMQP instance in an existing VPC</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("amazon-web-services::us-west-1"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewPrivatelinkAws(ctx, "privatelink", &cloudamqp.PrivatelinkAwsArgs{
			InstanceId: instance.ID(),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws-account-id:user/user-name"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

### With Additional Firewall Rules

<details>

<summary>
  <b>
    <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("amazon-web-services::us-west-1"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		privatelink, err := cloudamqp.NewPrivatelinkAws(ctx, "privatelink", &cloudamqp.PrivatelinkAwsArgs{
			InstanceId: instance.ID(),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws-account-id:user/user-name"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
			InstanceId: instance.ID(),
			Rules: cloudamqp.SecurityFirewallRuleArray{
				&cloudamqp.SecurityFirewallRuleArgs{
					Description: pulumi.String("Custom PrivateLink setup"),
					Ip:          vpc.Subnet,
					Ports:       pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("AMQP"),
						pulumi.String("AMQPS"),
						pulumi.String("HTTPS"),
						pulumi.String("STREAM"),
						pulumi.String("STREAM_SSL"),
					},
				},
				&cloudamqp.SecurityFirewallRuleArgs{
					Description: pulumi.String("MGMT interface"),
					Ip:          pulumi.String("0.0.0.0/0"),
					Ports:       pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("HTTPS"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			privatelink,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Depedency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Create PrivateLink with additional firewall rules

To create a PrivateLink configuration with additional firewall rules, it's required to chain the SecurityFirewall resource to avoid parallel conflicting resource calls. You can do this by making the firewall resource depend on the PrivateLink resource, `cloudamqp_privatelink_aws.privatelink`.

Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for the PrivateLink also needs to be added.

## Import

`cloudamqp_privatelink_aws` can be imported using CloudAMQP internal identifier.

```sh $ pulumi import cloudamqp:index/privatelinkAws:PrivatelinkAws privatelink <id>` ```

The resource uses the same identifier as the CloudAMQP instance. To retrieve the identifier for an instance, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-instances) or use the data source [`cloudamqp_account`](./data-sources/account.md).

func GetPrivatelinkAws added in v3.10.0

func GetPrivatelinkAws(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivatelinkAwsState, opts ...pulumi.ResourceOption) (*PrivatelinkAws, error)

GetPrivatelinkAws gets an existing PrivatelinkAws 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 NewPrivatelinkAws added in v3.10.0

func NewPrivatelinkAws(ctx *pulumi.Context,
	name string, args *PrivatelinkAwsArgs, opts ...pulumi.ResourceOption) (*PrivatelinkAws, error)

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

func (*PrivatelinkAws) ElementType added in v3.10.0

func (*PrivatelinkAws) ElementType() reflect.Type

func (*PrivatelinkAws) ToPrivatelinkAwsOutput added in v3.10.0

func (i *PrivatelinkAws) ToPrivatelinkAwsOutput() PrivatelinkAwsOutput

func (*PrivatelinkAws) ToPrivatelinkAwsOutputWithContext added in v3.10.0

func (i *PrivatelinkAws) ToPrivatelinkAwsOutputWithContext(ctx context.Context) PrivatelinkAwsOutput

type PrivatelinkAwsArgs added in v3.10.0

type PrivatelinkAwsArgs struct {
	// Allowed principals to access the endpoint service.
	AllowedPrincipals pulumi.StringArrayInput
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput
	// Configurable sleep time (seconds) when enable PrivateLink.
	// Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrInput
	// Configurable timeout time (seconds) when enable PrivateLink.
	// Default set to 1800 seconds. *Available from v1.29.0*
	//
	// Allowed principals format: <br>
	// `arn:aws:iam::aws-account-id:root` <br>
	// `arn:aws:iam::aws-account-id:user/user-name` <br>
	// `arn:aws:iam::aws-account-id:role/role-name`
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a PrivatelinkAws resource.

func (PrivatelinkAwsArgs) ElementType added in v3.10.0

func (PrivatelinkAwsArgs) ElementType() reflect.Type

type PrivatelinkAwsArray added in v3.10.0

type PrivatelinkAwsArray []PrivatelinkAwsInput

func (PrivatelinkAwsArray) ElementType added in v3.10.0

func (PrivatelinkAwsArray) ElementType() reflect.Type

func (PrivatelinkAwsArray) ToPrivatelinkAwsArrayOutput added in v3.10.0

func (i PrivatelinkAwsArray) ToPrivatelinkAwsArrayOutput() PrivatelinkAwsArrayOutput

func (PrivatelinkAwsArray) ToPrivatelinkAwsArrayOutputWithContext added in v3.10.0

func (i PrivatelinkAwsArray) ToPrivatelinkAwsArrayOutputWithContext(ctx context.Context) PrivatelinkAwsArrayOutput

type PrivatelinkAwsArrayInput added in v3.10.0

type PrivatelinkAwsArrayInput interface {
	pulumi.Input

	ToPrivatelinkAwsArrayOutput() PrivatelinkAwsArrayOutput
	ToPrivatelinkAwsArrayOutputWithContext(context.Context) PrivatelinkAwsArrayOutput
}

PrivatelinkAwsArrayInput is an input type that accepts PrivatelinkAwsArray and PrivatelinkAwsArrayOutput values. You can construct a concrete instance of `PrivatelinkAwsArrayInput` via:

PrivatelinkAwsArray{ PrivatelinkAwsArgs{...} }

type PrivatelinkAwsArrayOutput added in v3.10.0

type PrivatelinkAwsArrayOutput struct{ *pulumi.OutputState }

func (PrivatelinkAwsArrayOutput) ElementType added in v3.10.0

func (PrivatelinkAwsArrayOutput) ElementType() reflect.Type

func (PrivatelinkAwsArrayOutput) Index added in v3.10.0

func (PrivatelinkAwsArrayOutput) ToPrivatelinkAwsArrayOutput added in v3.10.0

func (o PrivatelinkAwsArrayOutput) ToPrivatelinkAwsArrayOutput() PrivatelinkAwsArrayOutput

func (PrivatelinkAwsArrayOutput) ToPrivatelinkAwsArrayOutputWithContext added in v3.10.0

func (o PrivatelinkAwsArrayOutput) ToPrivatelinkAwsArrayOutputWithContext(ctx context.Context) PrivatelinkAwsArrayOutput

type PrivatelinkAwsInput added in v3.10.0

type PrivatelinkAwsInput interface {
	pulumi.Input

	ToPrivatelinkAwsOutput() PrivatelinkAwsOutput
	ToPrivatelinkAwsOutputWithContext(ctx context.Context) PrivatelinkAwsOutput
}

type PrivatelinkAwsMap added in v3.10.0

type PrivatelinkAwsMap map[string]PrivatelinkAwsInput

func (PrivatelinkAwsMap) ElementType added in v3.10.0

func (PrivatelinkAwsMap) ElementType() reflect.Type

func (PrivatelinkAwsMap) ToPrivatelinkAwsMapOutput added in v3.10.0

func (i PrivatelinkAwsMap) ToPrivatelinkAwsMapOutput() PrivatelinkAwsMapOutput

func (PrivatelinkAwsMap) ToPrivatelinkAwsMapOutputWithContext added in v3.10.0

func (i PrivatelinkAwsMap) ToPrivatelinkAwsMapOutputWithContext(ctx context.Context) PrivatelinkAwsMapOutput

type PrivatelinkAwsMapInput added in v3.10.0

type PrivatelinkAwsMapInput interface {
	pulumi.Input

	ToPrivatelinkAwsMapOutput() PrivatelinkAwsMapOutput
	ToPrivatelinkAwsMapOutputWithContext(context.Context) PrivatelinkAwsMapOutput
}

PrivatelinkAwsMapInput is an input type that accepts PrivatelinkAwsMap and PrivatelinkAwsMapOutput values. You can construct a concrete instance of `PrivatelinkAwsMapInput` via:

PrivatelinkAwsMap{ "key": PrivatelinkAwsArgs{...} }

type PrivatelinkAwsMapOutput added in v3.10.0

type PrivatelinkAwsMapOutput struct{ *pulumi.OutputState }

func (PrivatelinkAwsMapOutput) ElementType added in v3.10.0

func (PrivatelinkAwsMapOutput) ElementType() reflect.Type

func (PrivatelinkAwsMapOutput) MapIndex added in v3.10.0

func (PrivatelinkAwsMapOutput) ToPrivatelinkAwsMapOutput added in v3.10.0

func (o PrivatelinkAwsMapOutput) ToPrivatelinkAwsMapOutput() PrivatelinkAwsMapOutput

func (PrivatelinkAwsMapOutput) ToPrivatelinkAwsMapOutputWithContext added in v3.10.0

func (o PrivatelinkAwsMapOutput) ToPrivatelinkAwsMapOutputWithContext(ctx context.Context) PrivatelinkAwsMapOutput

type PrivatelinkAwsOutput added in v3.10.0

type PrivatelinkAwsOutput struct{ *pulumi.OutputState }

func (PrivatelinkAwsOutput) ActiveZones added in v3.10.0

Covering availability zones used when creating an Endpoint from other VPC.

func (PrivatelinkAwsOutput) AllowedPrincipals added in v3.10.0

func (o PrivatelinkAwsOutput) AllowedPrincipals() pulumi.StringArrayOutput

Allowed principals to access the endpoint service.

func (PrivatelinkAwsOutput) ElementType added in v3.10.0

func (PrivatelinkAwsOutput) ElementType() reflect.Type

func (PrivatelinkAwsOutput) InstanceId added in v3.10.0

func (o PrivatelinkAwsOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance identifier.

func (PrivatelinkAwsOutput) ServiceName added in v3.10.0

func (o PrivatelinkAwsOutput) ServiceName() pulumi.StringOutput

Service name of the PrivateLink used when creating the endpoint from other VPC.

func (PrivatelinkAwsOutput) Sleep added in v3.10.0

Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. *Available from v1.29.0*

func (PrivatelinkAwsOutput) Status added in v3.10.0

PrivateLink status [enable, pending, disable]

func (PrivatelinkAwsOutput) Timeout added in v3.10.0

Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. *Available from v1.29.0*

Allowed principals format: <br> `arn:aws:iam::aws-account-id:root` <br> `arn:aws:iam::aws-account-id:user/user-name` <br> `arn:aws:iam::aws-account-id:role/role-name`

func (PrivatelinkAwsOutput) ToPrivatelinkAwsOutput added in v3.10.0

func (o PrivatelinkAwsOutput) ToPrivatelinkAwsOutput() PrivatelinkAwsOutput

func (PrivatelinkAwsOutput) ToPrivatelinkAwsOutputWithContext added in v3.10.0

func (o PrivatelinkAwsOutput) ToPrivatelinkAwsOutputWithContext(ctx context.Context) PrivatelinkAwsOutput

type PrivatelinkAwsState added in v3.10.0

type PrivatelinkAwsState struct {
	// Covering availability zones used when creating an Endpoint from other VPC.
	ActiveZones pulumi.StringArrayInput
	// Allowed principals to access the endpoint service.
	AllowedPrincipals pulumi.StringArrayInput
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntPtrInput
	// Service name of the PrivateLink used when creating the endpoint from other VPC.
	ServiceName pulumi.StringPtrInput
	// Configurable sleep time (seconds) when enable PrivateLink.
	// Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrInput
	// PrivateLink status [enable, pending, disable]
	Status pulumi.StringPtrInput
	// Configurable timeout time (seconds) when enable PrivateLink.
	// Default set to 1800 seconds. *Available from v1.29.0*
	//
	// Allowed principals format: <br>
	// `arn:aws:iam::aws-account-id:root` <br>
	// `arn:aws:iam::aws-account-id:user/user-name` <br>
	// `arn:aws:iam::aws-account-id:role/role-name`
	Timeout pulumi.IntPtrInput
}

func (PrivatelinkAwsState) ElementType added in v3.10.0

func (PrivatelinkAwsState) ElementType() reflect.Type

type PrivatelinkAzure added in v3.10.0

type PrivatelinkAzure struct {
	pulumi.CustomResourceState

	// Approved subscriptions to access the endpoint service.
	// See format below.
	ApprovedSubscriptions pulumi.StringArrayOutput `pulumi:"approvedSubscriptions"`
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// Name of the server having the PrivateLink enabled.
	ServerName pulumi.StringOutput `pulumi:"serverName"`
	// Service name (alias) of the PrivateLink, needed when creating the endpoint.
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
	// Configurable sleep time (seconds) when enable PrivateLink.
	// Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// PrivateLink status [enable, pending, disable]
	Status pulumi.StringOutput `pulumi:"status"`
	// Configurable timeout time (seconds) when enable PrivateLink.
	// Default set to 1800 seconds. *Available from v1.29.0*
	//
	// Approved subscriptions format (GUID): <br>
	// `XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
}

Enable PrivateLink for a CloudAMQP instance hosted in Azure. If no existing VPC available when enable PrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.

> **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet.

<details>

<summary>
   <i>Default PrivateLink firewall rule</i>
 </summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/plans.html) where you can also find more information about [CloudAMQP PrivateLink](https://www.cloudamqp.com/docs/cloudamqp-privatelink.html#azure-privatelink).

Only available for dedicated subscription plans.

> **Warning:** This resource considered deprecated and will be removed in next major version (v2.0). Recommended to start using the new resource`VpcConnect`.

## Example Usage

<details>

<summary>
  <b>
    <i>CloudAMQP instance without existing VPC</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("azure-arm::westus"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewPrivatelinkAzure(ctx, "privatelink", &cloudamqp.PrivatelinkAzureArgs{
			InstanceId: instance.ID(),
			ApprovedSubscriptions: pulumi.StringArray{
				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser --> </details>

<details>

<summary>
  <b>
    <i>CloudAMQP instance in an existing VPC</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("azure-arm::westus"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("azure-arm::westus"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewPrivatelinkAzure(ctx, "privatelink", &cloudamqp.PrivatelinkAzureArgs{
			InstanceId: instance.ID(),
			ApprovedSubscriptions: pulumi.StringArray{
				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

### With Additional Firewall Rules

<details>

<summary>
  <b>
    <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("azure-arm::westus"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("azure-arm::westus"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		privatelink, err := cloudamqp.NewPrivatelinkAzure(ctx, "privatelink", &cloudamqp.PrivatelinkAzureArgs{
			InstanceId: instance.ID(),
			ApprovedSubscriptions: pulumi.StringArray{
				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
			InstanceId: instance.ID(),
			Rules: cloudamqp.SecurityFirewallRuleArray{
				&cloudamqp.SecurityFirewallRuleArgs{
					Description: pulumi.String("Custom PrivateLink setup"),
					Ip:          vpc.Subnet,
					Ports:       pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("AMQP"),
						pulumi.String("AMQPS"),
						pulumi.String("HTTPS"),
						pulumi.String("STREAM"),
						pulumi.String("STREAM_SSL"),
					},
				},
				&cloudamqp.SecurityFirewallRuleArgs{
					Description: pulumi.String("MGMT interface"),
					Ip:          pulumi.String("0.0.0.0/0"),
					Ports:       pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("HTTPS"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			privatelink,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Depedency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Create PrivateLink with additional firewall rules

To create a PrivateLink configuration with additional firewall rules, it's required to chain the SecurityFirewall resource to avoid parallel conflicting resource calls. You can do this by making the firewall resource depend on the PrivateLink resource, `cloudamqp_privatelink_azure.privatelink`.

Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for the PrivateLink also needs to be added.

## Import

`cloudamqp_privatelink_aws` can be imported using CloudAMQP internal identifier.

```sh $ pulumi import cloudamqp:index/privatelinkAzure:PrivatelinkAzure privatelink <id>` ```

The resource uses the same identifier as the CloudAMQP instance. To retrieve the identifier for an instance, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-instances) or use the data source [`cloudamqp_account`](./data-sources/account.md).

func GetPrivatelinkAzure added in v3.10.0

func GetPrivatelinkAzure(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivatelinkAzureState, opts ...pulumi.ResourceOption) (*PrivatelinkAzure, error)

GetPrivatelinkAzure gets an existing PrivatelinkAzure 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 NewPrivatelinkAzure added in v3.10.0

func NewPrivatelinkAzure(ctx *pulumi.Context,
	name string, args *PrivatelinkAzureArgs, opts ...pulumi.ResourceOption) (*PrivatelinkAzure, error)

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

func (*PrivatelinkAzure) ElementType added in v3.10.0

func (*PrivatelinkAzure) ElementType() reflect.Type

func (*PrivatelinkAzure) ToPrivatelinkAzureOutput added in v3.10.0

func (i *PrivatelinkAzure) ToPrivatelinkAzureOutput() PrivatelinkAzureOutput

func (*PrivatelinkAzure) ToPrivatelinkAzureOutputWithContext added in v3.10.0

func (i *PrivatelinkAzure) ToPrivatelinkAzureOutputWithContext(ctx context.Context) PrivatelinkAzureOutput

type PrivatelinkAzureArgs added in v3.10.0

type PrivatelinkAzureArgs struct {
	// Approved subscriptions to access the endpoint service.
	// See format below.
	ApprovedSubscriptions pulumi.StringArrayInput
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput
	// Configurable sleep time (seconds) when enable PrivateLink.
	// Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrInput
	// Configurable timeout time (seconds) when enable PrivateLink.
	// Default set to 1800 seconds. *Available from v1.29.0*
	//
	// Approved subscriptions format (GUID): <br>
	// `XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a PrivatelinkAzure resource.

func (PrivatelinkAzureArgs) ElementType added in v3.10.0

func (PrivatelinkAzureArgs) ElementType() reflect.Type

type PrivatelinkAzureArray added in v3.10.0

type PrivatelinkAzureArray []PrivatelinkAzureInput

func (PrivatelinkAzureArray) ElementType added in v3.10.0

func (PrivatelinkAzureArray) ElementType() reflect.Type

func (PrivatelinkAzureArray) ToPrivatelinkAzureArrayOutput added in v3.10.0

func (i PrivatelinkAzureArray) ToPrivatelinkAzureArrayOutput() PrivatelinkAzureArrayOutput

func (PrivatelinkAzureArray) ToPrivatelinkAzureArrayOutputWithContext added in v3.10.0

func (i PrivatelinkAzureArray) ToPrivatelinkAzureArrayOutputWithContext(ctx context.Context) PrivatelinkAzureArrayOutput

type PrivatelinkAzureArrayInput added in v3.10.0

type PrivatelinkAzureArrayInput interface {
	pulumi.Input

	ToPrivatelinkAzureArrayOutput() PrivatelinkAzureArrayOutput
	ToPrivatelinkAzureArrayOutputWithContext(context.Context) PrivatelinkAzureArrayOutput
}

PrivatelinkAzureArrayInput is an input type that accepts PrivatelinkAzureArray and PrivatelinkAzureArrayOutput values. You can construct a concrete instance of `PrivatelinkAzureArrayInput` via:

PrivatelinkAzureArray{ PrivatelinkAzureArgs{...} }

type PrivatelinkAzureArrayOutput added in v3.10.0

type PrivatelinkAzureArrayOutput struct{ *pulumi.OutputState }

func (PrivatelinkAzureArrayOutput) ElementType added in v3.10.0

func (PrivatelinkAzureArrayOutput) Index added in v3.10.0

func (PrivatelinkAzureArrayOutput) ToPrivatelinkAzureArrayOutput added in v3.10.0

func (o PrivatelinkAzureArrayOutput) ToPrivatelinkAzureArrayOutput() PrivatelinkAzureArrayOutput

func (PrivatelinkAzureArrayOutput) ToPrivatelinkAzureArrayOutputWithContext added in v3.10.0

func (o PrivatelinkAzureArrayOutput) ToPrivatelinkAzureArrayOutputWithContext(ctx context.Context) PrivatelinkAzureArrayOutput

type PrivatelinkAzureInput added in v3.10.0

type PrivatelinkAzureInput interface {
	pulumi.Input

	ToPrivatelinkAzureOutput() PrivatelinkAzureOutput
	ToPrivatelinkAzureOutputWithContext(ctx context.Context) PrivatelinkAzureOutput
}

type PrivatelinkAzureMap added in v3.10.0

type PrivatelinkAzureMap map[string]PrivatelinkAzureInput

func (PrivatelinkAzureMap) ElementType added in v3.10.0

func (PrivatelinkAzureMap) ElementType() reflect.Type

func (PrivatelinkAzureMap) ToPrivatelinkAzureMapOutput added in v3.10.0

func (i PrivatelinkAzureMap) ToPrivatelinkAzureMapOutput() PrivatelinkAzureMapOutput

func (PrivatelinkAzureMap) ToPrivatelinkAzureMapOutputWithContext added in v3.10.0

func (i PrivatelinkAzureMap) ToPrivatelinkAzureMapOutputWithContext(ctx context.Context) PrivatelinkAzureMapOutput

type PrivatelinkAzureMapInput added in v3.10.0

type PrivatelinkAzureMapInput interface {
	pulumi.Input

	ToPrivatelinkAzureMapOutput() PrivatelinkAzureMapOutput
	ToPrivatelinkAzureMapOutputWithContext(context.Context) PrivatelinkAzureMapOutput
}

PrivatelinkAzureMapInput is an input type that accepts PrivatelinkAzureMap and PrivatelinkAzureMapOutput values. You can construct a concrete instance of `PrivatelinkAzureMapInput` via:

PrivatelinkAzureMap{ "key": PrivatelinkAzureArgs{...} }

type PrivatelinkAzureMapOutput added in v3.10.0

type PrivatelinkAzureMapOutput struct{ *pulumi.OutputState }

func (PrivatelinkAzureMapOutput) ElementType added in v3.10.0

func (PrivatelinkAzureMapOutput) ElementType() reflect.Type

func (PrivatelinkAzureMapOutput) MapIndex added in v3.10.0

func (PrivatelinkAzureMapOutput) ToPrivatelinkAzureMapOutput added in v3.10.0

func (o PrivatelinkAzureMapOutput) ToPrivatelinkAzureMapOutput() PrivatelinkAzureMapOutput

func (PrivatelinkAzureMapOutput) ToPrivatelinkAzureMapOutputWithContext added in v3.10.0

func (o PrivatelinkAzureMapOutput) ToPrivatelinkAzureMapOutputWithContext(ctx context.Context) PrivatelinkAzureMapOutput

type PrivatelinkAzureOutput added in v3.10.0

type PrivatelinkAzureOutput struct{ *pulumi.OutputState }

func (PrivatelinkAzureOutput) ApprovedSubscriptions added in v3.10.0

func (o PrivatelinkAzureOutput) ApprovedSubscriptions() pulumi.StringArrayOutput

Approved subscriptions to access the endpoint service. See format below.

func (PrivatelinkAzureOutput) ElementType added in v3.10.0

func (PrivatelinkAzureOutput) ElementType() reflect.Type

func (PrivatelinkAzureOutput) InstanceId added in v3.10.0

func (o PrivatelinkAzureOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance identifier.

func (PrivatelinkAzureOutput) ServerName added in v3.10.0

Name of the server having the PrivateLink enabled.

func (PrivatelinkAzureOutput) ServiceName added in v3.10.0

func (o PrivatelinkAzureOutput) ServiceName() pulumi.StringOutput

Service name (alias) of the PrivateLink, needed when creating the endpoint.

func (PrivatelinkAzureOutput) Sleep added in v3.10.0

Configurable sleep time (seconds) when enable PrivateLink. Default set to 10 seconds. *Available from v1.29.0*

func (PrivatelinkAzureOutput) Status added in v3.10.0

PrivateLink status [enable, pending, disable]

func (PrivatelinkAzureOutput) Timeout added in v3.10.0

Configurable timeout time (seconds) when enable PrivateLink. Default set to 1800 seconds. *Available from v1.29.0*

Approved subscriptions format (GUID): <br> `XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`

func (PrivatelinkAzureOutput) ToPrivatelinkAzureOutput added in v3.10.0

func (o PrivatelinkAzureOutput) ToPrivatelinkAzureOutput() PrivatelinkAzureOutput

func (PrivatelinkAzureOutput) ToPrivatelinkAzureOutputWithContext added in v3.10.0

func (o PrivatelinkAzureOutput) ToPrivatelinkAzureOutputWithContext(ctx context.Context) PrivatelinkAzureOutput

type PrivatelinkAzureState added in v3.10.0

type PrivatelinkAzureState struct {
	// Approved subscriptions to access the endpoint service.
	// See format below.
	ApprovedSubscriptions pulumi.StringArrayInput
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntPtrInput
	// Name of the server having the PrivateLink enabled.
	ServerName pulumi.StringPtrInput
	// Service name (alias) of the PrivateLink, needed when creating the endpoint.
	ServiceName pulumi.StringPtrInput
	// Configurable sleep time (seconds) when enable PrivateLink.
	// Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrInput
	// PrivateLink status [enable, pending, disable]
	Status pulumi.StringPtrInput
	// Configurable timeout time (seconds) when enable PrivateLink.
	// Default set to 1800 seconds. *Available from v1.29.0*
	//
	// Approved subscriptions format (GUID): <br>
	// `XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`
	Timeout pulumi.IntPtrInput
}

func (PrivatelinkAzureState) ElementType added in v3.10.0

func (PrivatelinkAzureState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.ProviderResourceState

	// Key used to authentication to the CloudAMQP Customer API
	Apikey pulumi.StringOutput `pulumi:"apikey"`
	// Base URL to CloudAMQP Customer website
	Baseurl pulumi.StringPtrOutput `pulumi:"baseurl"`
}

The provider type for the cloudamqp package. By default, resources use package-wide configuration settings, however an explicit `Provider` instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.

func NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

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

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderArgs

type ProviderArgs struct {
	// Key used to authentication to the CloudAMQP Customer API
	Apikey pulumi.StringInput
	// Base URL to CloudAMQP Customer website
	Baseurl pulumi.StringPtrInput
	// Skips destroying backend resources on 'terraform destroy'
	EnableFasterInstanceDestroy pulumi.BoolPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) Apikey added in v3.9.1

func (o ProviderOutput) Apikey() pulumi.StringOutput

Key used to authentication to the CloudAMQP Customer API

func (ProviderOutput) Baseurl added in v3.9.1

Base URL to CloudAMQP Customer website

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type RabbitConfiguration added in v3.8.0

type RabbitConfiguration struct {
	pulumi.CustomResourceState

	// Set the maximum permissible number of channels per connection.
	ChannelMax pulumi.IntOutput `pulumi:"channelMax"`
	// Set how the cluster should handle network partition.
	ClusterPartitionHandling pulumi.StringOutput `pulumi:"clusterPartitionHandling"`
	// Set the maximum permissible number of connection.
	ConnectionMax pulumi.IntOutput `pulumi:"connectionMax"`
	// A consumer that has recevied a message and does not acknowledge that message within the timeout in milliseconds
	ConsumerTimeout pulumi.IntOutput `pulumi:"consumerTimeout"`
	// Set the server AMQP 0-9-1 heartbeat timeout in seconds.
	Heartbeat pulumi.IntOutput `pulumi:"heartbeat"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// Log level for the logger used for log integrations and the CloudAMQP Console log view.
	//
	// *Note: Requires a restart of RabbitMQ to be applied.*
	LogExchangeLevel pulumi.StringOutput `pulumi:"logExchangeLevel"`
	// The largest allowed message payload size in bytes.
	MaxMessageSize pulumi.IntOutput `pulumi:"maxMessageSize"`
	// Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.
	QueueIndexEmbedMsgsBelow pulumi.IntOutput `pulumi:"queueIndexEmbedMsgsBelow"`
	// Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
	// When the server will enter memory based flow-control as relative to the maximum available memory.
	VmMemoryHighWatermark pulumi.Float64Output `pulumi:"vmMemoryHighWatermark"`
}

## Import

`cloudamqp_rabbitmq_configuration` can be imported using the CloudAMQP instance identifier.

```sh $ pulumi import cloudamqp:index/rabbitConfiguration:RabbitConfiguration config <instance_id>` ```

func GetRabbitConfiguration added in v3.8.0

func GetRabbitConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RabbitConfigurationState, opts ...pulumi.ResourceOption) (*RabbitConfiguration, error)

GetRabbitConfiguration gets an existing RabbitConfiguration 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 NewRabbitConfiguration added in v3.8.0

func NewRabbitConfiguration(ctx *pulumi.Context,
	name string, args *RabbitConfigurationArgs, opts ...pulumi.ResourceOption) (*RabbitConfiguration, error)

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

func (*RabbitConfiguration) ElementType added in v3.8.0

func (*RabbitConfiguration) ElementType() reflect.Type

func (*RabbitConfiguration) ToRabbitConfigurationOutput added in v3.8.0

func (i *RabbitConfiguration) ToRabbitConfigurationOutput() RabbitConfigurationOutput

func (*RabbitConfiguration) ToRabbitConfigurationOutputWithContext added in v3.8.0

func (i *RabbitConfiguration) ToRabbitConfigurationOutputWithContext(ctx context.Context) RabbitConfigurationOutput

type RabbitConfigurationArgs added in v3.8.0

type RabbitConfigurationArgs struct {
	// Set the maximum permissible number of channels per connection.
	ChannelMax pulumi.IntPtrInput
	// Set how the cluster should handle network partition.
	ClusterPartitionHandling pulumi.StringPtrInput
	// Set the maximum permissible number of connection.
	ConnectionMax pulumi.IntPtrInput
	// A consumer that has recevied a message and does not acknowledge that message within the timeout in milliseconds
	ConsumerTimeout pulumi.IntPtrInput
	// Set the server AMQP 0-9-1 heartbeat timeout in seconds.
	Heartbeat pulumi.IntPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
	// Log level for the logger used for log integrations and the CloudAMQP Console log view.
	//
	// *Note: Requires a restart of RabbitMQ to be applied.*
	LogExchangeLevel pulumi.StringPtrInput
	// The largest allowed message payload size in bytes.
	MaxMessageSize pulumi.IntPtrInput
	// Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.
	QueueIndexEmbedMsgsBelow pulumi.IntPtrInput
	// Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.
	Timeout pulumi.IntPtrInput
	// When the server will enter memory based flow-control as relative to the maximum available memory.
	VmMemoryHighWatermark pulumi.Float64PtrInput
}

The set of arguments for constructing a RabbitConfiguration resource.

func (RabbitConfigurationArgs) ElementType added in v3.8.0

func (RabbitConfigurationArgs) ElementType() reflect.Type

type RabbitConfigurationArray added in v3.8.0

type RabbitConfigurationArray []RabbitConfigurationInput

func (RabbitConfigurationArray) ElementType added in v3.8.0

func (RabbitConfigurationArray) ElementType() reflect.Type

func (RabbitConfigurationArray) ToRabbitConfigurationArrayOutput added in v3.8.0

func (i RabbitConfigurationArray) ToRabbitConfigurationArrayOutput() RabbitConfigurationArrayOutput

func (RabbitConfigurationArray) ToRabbitConfigurationArrayOutputWithContext added in v3.8.0

func (i RabbitConfigurationArray) ToRabbitConfigurationArrayOutputWithContext(ctx context.Context) RabbitConfigurationArrayOutput

type RabbitConfigurationArrayInput added in v3.8.0

type RabbitConfigurationArrayInput interface {
	pulumi.Input

	ToRabbitConfigurationArrayOutput() RabbitConfigurationArrayOutput
	ToRabbitConfigurationArrayOutputWithContext(context.Context) RabbitConfigurationArrayOutput
}

RabbitConfigurationArrayInput is an input type that accepts RabbitConfigurationArray and RabbitConfigurationArrayOutput values. You can construct a concrete instance of `RabbitConfigurationArrayInput` via:

RabbitConfigurationArray{ RabbitConfigurationArgs{...} }

type RabbitConfigurationArrayOutput added in v3.8.0

type RabbitConfigurationArrayOutput struct{ *pulumi.OutputState }

func (RabbitConfigurationArrayOutput) ElementType added in v3.8.0

func (RabbitConfigurationArrayOutput) Index added in v3.8.0

func (RabbitConfigurationArrayOutput) ToRabbitConfigurationArrayOutput added in v3.8.0

func (o RabbitConfigurationArrayOutput) ToRabbitConfigurationArrayOutput() RabbitConfigurationArrayOutput

func (RabbitConfigurationArrayOutput) ToRabbitConfigurationArrayOutputWithContext added in v3.8.0

func (o RabbitConfigurationArrayOutput) ToRabbitConfigurationArrayOutputWithContext(ctx context.Context) RabbitConfigurationArrayOutput

type RabbitConfigurationInput added in v3.8.0

type RabbitConfigurationInput interface {
	pulumi.Input

	ToRabbitConfigurationOutput() RabbitConfigurationOutput
	ToRabbitConfigurationOutputWithContext(ctx context.Context) RabbitConfigurationOutput
}

type RabbitConfigurationMap added in v3.8.0

type RabbitConfigurationMap map[string]RabbitConfigurationInput

func (RabbitConfigurationMap) ElementType added in v3.8.0

func (RabbitConfigurationMap) ElementType() reflect.Type

func (RabbitConfigurationMap) ToRabbitConfigurationMapOutput added in v3.8.0

func (i RabbitConfigurationMap) ToRabbitConfigurationMapOutput() RabbitConfigurationMapOutput

func (RabbitConfigurationMap) ToRabbitConfigurationMapOutputWithContext added in v3.8.0

func (i RabbitConfigurationMap) ToRabbitConfigurationMapOutputWithContext(ctx context.Context) RabbitConfigurationMapOutput

type RabbitConfigurationMapInput added in v3.8.0

type RabbitConfigurationMapInput interface {
	pulumi.Input

	ToRabbitConfigurationMapOutput() RabbitConfigurationMapOutput
	ToRabbitConfigurationMapOutputWithContext(context.Context) RabbitConfigurationMapOutput
}

RabbitConfigurationMapInput is an input type that accepts RabbitConfigurationMap and RabbitConfigurationMapOutput values. You can construct a concrete instance of `RabbitConfigurationMapInput` via:

RabbitConfigurationMap{ "key": RabbitConfigurationArgs{...} }

type RabbitConfigurationMapOutput added in v3.8.0

type RabbitConfigurationMapOutput struct{ *pulumi.OutputState }

func (RabbitConfigurationMapOutput) ElementType added in v3.8.0

func (RabbitConfigurationMapOutput) MapIndex added in v3.8.0

func (RabbitConfigurationMapOutput) ToRabbitConfigurationMapOutput added in v3.8.0

func (o RabbitConfigurationMapOutput) ToRabbitConfigurationMapOutput() RabbitConfigurationMapOutput

func (RabbitConfigurationMapOutput) ToRabbitConfigurationMapOutputWithContext added in v3.8.0

func (o RabbitConfigurationMapOutput) ToRabbitConfigurationMapOutputWithContext(ctx context.Context) RabbitConfigurationMapOutput

type RabbitConfigurationOutput added in v3.8.0

type RabbitConfigurationOutput struct{ *pulumi.OutputState }

func (RabbitConfigurationOutput) ChannelMax added in v3.9.1

Set the maximum permissible number of channels per connection.

func (RabbitConfigurationOutput) ClusterPartitionHandling added in v3.14.0

func (o RabbitConfigurationOutput) ClusterPartitionHandling() pulumi.StringOutput

Set how the cluster should handle network partition.

func (RabbitConfigurationOutput) ConnectionMax added in v3.9.1

func (o RabbitConfigurationOutput) ConnectionMax() pulumi.IntOutput

Set the maximum permissible number of connection.

func (RabbitConfigurationOutput) ConsumerTimeout added in v3.9.1

func (o RabbitConfigurationOutput) ConsumerTimeout() pulumi.IntOutput

A consumer that has recevied a message and does not acknowledge that message within the timeout in milliseconds

func (RabbitConfigurationOutput) ElementType added in v3.8.0

func (RabbitConfigurationOutput) ElementType() reflect.Type

func (RabbitConfigurationOutput) Heartbeat added in v3.9.1

Set the server AMQP 0-9-1 heartbeat timeout in seconds.

func (RabbitConfigurationOutput) InstanceId added in v3.9.1

The CloudAMQP instance ID.

func (RabbitConfigurationOutput) LogExchangeLevel added in v3.9.1

func (o RabbitConfigurationOutput) LogExchangeLevel() pulumi.StringOutput

Log level for the logger used for log integrations and the CloudAMQP Console log view.

*Note: Requires a restart of RabbitMQ to be applied.*

func (RabbitConfigurationOutput) MaxMessageSize added in v3.9.1

func (o RabbitConfigurationOutput) MaxMessageSize() pulumi.IntOutput

The largest allowed message payload size in bytes.

func (RabbitConfigurationOutput) QueueIndexEmbedMsgsBelow added in v3.9.1

func (o RabbitConfigurationOutput) QueueIndexEmbedMsgsBelow() pulumi.IntOutput

Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.

func (RabbitConfigurationOutput) Sleep added in v3.10.0

Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.

func (RabbitConfigurationOutput) Timeout added in v3.10.0

Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.

func (RabbitConfigurationOutput) ToRabbitConfigurationOutput added in v3.8.0

func (o RabbitConfigurationOutput) ToRabbitConfigurationOutput() RabbitConfigurationOutput

func (RabbitConfigurationOutput) ToRabbitConfigurationOutputWithContext added in v3.8.0

func (o RabbitConfigurationOutput) ToRabbitConfigurationOutputWithContext(ctx context.Context) RabbitConfigurationOutput

func (RabbitConfigurationOutput) VmMemoryHighWatermark added in v3.9.1

func (o RabbitConfigurationOutput) VmMemoryHighWatermark() pulumi.Float64Output

When the server will enter memory based flow-control as relative to the maximum available memory.

type RabbitConfigurationState added in v3.8.0

type RabbitConfigurationState struct {
	// Set the maximum permissible number of channels per connection.
	ChannelMax pulumi.IntPtrInput
	// Set how the cluster should handle network partition.
	ClusterPartitionHandling pulumi.StringPtrInput
	// Set the maximum permissible number of connection.
	ConnectionMax pulumi.IntPtrInput
	// A consumer that has recevied a message and does not acknowledge that message within the timeout in milliseconds
	ConsumerTimeout pulumi.IntPtrInput
	// Set the server AMQP 0-9-1 heartbeat timeout in seconds.
	Heartbeat pulumi.IntPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
	// Log level for the logger used for log integrations and the CloudAMQP Console log view.
	//
	// *Note: Requires a restart of RabbitMQ to be applied.*
	LogExchangeLevel pulumi.StringPtrInput
	// The largest allowed message payload size in bytes.
	MaxMessageSize pulumi.IntPtrInput
	// Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.
	QueueIndexEmbedMsgsBelow pulumi.IntPtrInput
	// Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.
	Timeout pulumi.IntPtrInput
	// When the server will enter memory based flow-control as relative to the maximum available memory.
	VmMemoryHighWatermark pulumi.Float64PtrInput
}

func (RabbitConfigurationState) ElementType added in v3.8.0

func (RabbitConfigurationState) ElementType() reflect.Type

type SecurityFirewall

type SecurityFirewall struct {
	pulumi.CustomResourceState

	// Instance identifier
	InstanceId pulumi.IntOutput                `pulumi:"instanceId"`
	Rules      SecurityFirewallRuleArrayOutput `pulumi:"rules"`
	// Configurable sleep time in seconds between retries for firewall configuration
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// Configurable timeout time in seconds for firewall configuration
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
}

## Import

`cloudamqp_security_firewall` can be imported using CloudAMQP instance identifier.

```sh $ pulumi import cloudamqp:index/securityFirewall:SecurityFirewall firewall <instance_id>` ```

func GetSecurityFirewall

func GetSecurityFirewall(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityFirewallState, opts ...pulumi.ResourceOption) (*SecurityFirewall, error)

GetSecurityFirewall gets an existing SecurityFirewall 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 NewSecurityFirewall

func NewSecurityFirewall(ctx *pulumi.Context,
	name string, args *SecurityFirewallArgs, opts ...pulumi.ResourceOption) (*SecurityFirewall, error)

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

func (*SecurityFirewall) ElementType

func (*SecurityFirewall) ElementType() reflect.Type

func (*SecurityFirewall) ToSecurityFirewallOutput

func (i *SecurityFirewall) ToSecurityFirewallOutput() SecurityFirewallOutput

func (*SecurityFirewall) ToSecurityFirewallOutputWithContext

func (i *SecurityFirewall) ToSecurityFirewallOutputWithContext(ctx context.Context) SecurityFirewallOutput

type SecurityFirewallArgs

type SecurityFirewallArgs struct {
	// Instance identifier
	InstanceId pulumi.IntInput
	Rules      SecurityFirewallRuleArrayInput
	// Configurable sleep time in seconds between retries for firewall configuration
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for firewall configuration
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a SecurityFirewall resource.

func (SecurityFirewallArgs) ElementType

func (SecurityFirewallArgs) ElementType() reflect.Type

type SecurityFirewallArray

type SecurityFirewallArray []SecurityFirewallInput

func (SecurityFirewallArray) ElementType

func (SecurityFirewallArray) ElementType() reflect.Type

func (SecurityFirewallArray) ToSecurityFirewallArrayOutput

func (i SecurityFirewallArray) ToSecurityFirewallArrayOutput() SecurityFirewallArrayOutput

func (SecurityFirewallArray) ToSecurityFirewallArrayOutputWithContext

func (i SecurityFirewallArray) ToSecurityFirewallArrayOutputWithContext(ctx context.Context) SecurityFirewallArrayOutput

type SecurityFirewallArrayInput

type SecurityFirewallArrayInput interface {
	pulumi.Input

	ToSecurityFirewallArrayOutput() SecurityFirewallArrayOutput
	ToSecurityFirewallArrayOutputWithContext(context.Context) SecurityFirewallArrayOutput
}

SecurityFirewallArrayInput is an input type that accepts SecurityFirewallArray and SecurityFirewallArrayOutput values. You can construct a concrete instance of `SecurityFirewallArrayInput` via:

SecurityFirewallArray{ SecurityFirewallArgs{...} }

type SecurityFirewallArrayOutput

type SecurityFirewallArrayOutput struct{ *pulumi.OutputState }

func (SecurityFirewallArrayOutput) ElementType

func (SecurityFirewallArrayOutput) Index

func (SecurityFirewallArrayOutput) ToSecurityFirewallArrayOutput

func (o SecurityFirewallArrayOutput) ToSecurityFirewallArrayOutput() SecurityFirewallArrayOutput

func (SecurityFirewallArrayOutput) ToSecurityFirewallArrayOutputWithContext

func (o SecurityFirewallArrayOutput) ToSecurityFirewallArrayOutputWithContext(ctx context.Context) SecurityFirewallArrayOutput

type SecurityFirewallInput

type SecurityFirewallInput interface {
	pulumi.Input

	ToSecurityFirewallOutput() SecurityFirewallOutput
	ToSecurityFirewallOutputWithContext(ctx context.Context) SecurityFirewallOutput
}

type SecurityFirewallMap

type SecurityFirewallMap map[string]SecurityFirewallInput

func (SecurityFirewallMap) ElementType

func (SecurityFirewallMap) ElementType() reflect.Type

func (SecurityFirewallMap) ToSecurityFirewallMapOutput

func (i SecurityFirewallMap) ToSecurityFirewallMapOutput() SecurityFirewallMapOutput

func (SecurityFirewallMap) ToSecurityFirewallMapOutputWithContext

func (i SecurityFirewallMap) ToSecurityFirewallMapOutputWithContext(ctx context.Context) SecurityFirewallMapOutput

type SecurityFirewallMapInput

type SecurityFirewallMapInput interface {
	pulumi.Input

	ToSecurityFirewallMapOutput() SecurityFirewallMapOutput
	ToSecurityFirewallMapOutputWithContext(context.Context) SecurityFirewallMapOutput
}

SecurityFirewallMapInput is an input type that accepts SecurityFirewallMap and SecurityFirewallMapOutput values. You can construct a concrete instance of `SecurityFirewallMapInput` via:

SecurityFirewallMap{ "key": SecurityFirewallArgs{...} }

type SecurityFirewallMapOutput

type SecurityFirewallMapOutput struct{ *pulumi.OutputState }

func (SecurityFirewallMapOutput) ElementType

func (SecurityFirewallMapOutput) ElementType() reflect.Type

func (SecurityFirewallMapOutput) MapIndex

func (SecurityFirewallMapOutput) ToSecurityFirewallMapOutput

func (o SecurityFirewallMapOutput) ToSecurityFirewallMapOutput() SecurityFirewallMapOutput

func (SecurityFirewallMapOutput) ToSecurityFirewallMapOutputWithContext

func (o SecurityFirewallMapOutput) ToSecurityFirewallMapOutputWithContext(ctx context.Context) SecurityFirewallMapOutput

type SecurityFirewallOutput

type SecurityFirewallOutput struct{ *pulumi.OutputState }

func (SecurityFirewallOutput) ElementType

func (SecurityFirewallOutput) ElementType() reflect.Type

func (SecurityFirewallOutput) InstanceId added in v3.9.1

func (o SecurityFirewallOutput) InstanceId() pulumi.IntOutput

Instance identifier

func (SecurityFirewallOutput) Rules added in v3.9.1

func (SecurityFirewallOutput) Sleep added in v3.10.0

Configurable sleep time in seconds between retries for firewall configuration

func (SecurityFirewallOutput) Timeout added in v3.10.0

Configurable timeout time in seconds for firewall configuration

func (SecurityFirewallOutput) ToSecurityFirewallOutput

func (o SecurityFirewallOutput) ToSecurityFirewallOutput() SecurityFirewallOutput

func (SecurityFirewallOutput) ToSecurityFirewallOutputWithContext

func (o SecurityFirewallOutput) ToSecurityFirewallOutputWithContext(ctx context.Context) SecurityFirewallOutput

type SecurityFirewallRule

type SecurityFirewallRule struct {
	// Naming descripton e.g. 'Default'
	Description *string `pulumi:"description"`
	// CIDR address: IP address with CIDR notation (e.g. 10.56.72.0/24)
	Ip string `pulumi:"ip"`
	// Custom ports between 0 - 65554
	Ports []int `pulumi:"ports"`
	// Pre-defined services 'AMQP', 'AMQPS', 'HTTPS', 'MQTT', 'MQTTS', 'STOMP', 'STOMPS', 'STREAM', 'STREAM_SSL'
	Services []string `pulumi:"services"`
}

type SecurityFirewallRuleArgs

type SecurityFirewallRuleArgs struct {
	// Naming descripton e.g. 'Default'
	Description pulumi.StringPtrInput `pulumi:"description"`
	// CIDR address: IP address with CIDR notation (e.g. 10.56.72.0/24)
	Ip pulumi.StringInput `pulumi:"ip"`
	// Custom ports between 0 - 65554
	Ports pulumi.IntArrayInput `pulumi:"ports"`
	// Pre-defined services 'AMQP', 'AMQPS', 'HTTPS', 'MQTT', 'MQTTS', 'STOMP', 'STOMPS', 'STREAM', 'STREAM_SSL'
	Services pulumi.StringArrayInput `pulumi:"services"`
}

func (SecurityFirewallRuleArgs) ElementType

func (SecurityFirewallRuleArgs) ElementType() reflect.Type

func (SecurityFirewallRuleArgs) ToSecurityFirewallRuleOutput

func (i SecurityFirewallRuleArgs) ToSecurityFirewallRuleOutput() SecurityFirewallRuleOutput

func (SecurityFirewallRuleArgs) ToSecurityFirewallRuleOutputWithContext

func (i SecurityFirewallRuleArgs) ToSecurityFirewallRuleOutputWithContext(ctx context.Context) SecurityFirewallRuleOutput

type SecurityFirewallRuleArray

type SecurityFirewallRuleArray []SecurityFirewallRuleInput

func (SecurityFirewallRuleArray) ElementType

func (SecurityFirewallRuleArray) ElementType() reflect.Type

func (SecurityFirewallRuleArray) ToSecurityFirewallRuleArrayOutput

func (i SecurityFirewallRuleArray) ToSecurityFirewallRuleArrayOutput() SecurityFirewallRuleArrayOutput

func (SecurityFirewallRuleArray) ToSecurityFirewallRuleArrayOutputWithContext

func (i SecurityFirewallRuleArray) ToSecurityFirewallRuleArrayOutputWithContext(ctx context.Context) SecurityFirewallRuleArrayOutput

type SecurityFirewallRuleArrayInput

type SecurityFirewallRuleArrayInput interface {
	pulumi.Input

	ToSecurityFirewallRuleArrayOutput() SecurityFirewallRuleArrayOutput
	ToSecurityFirewallRuleArrayOutputWithContext(context.Context) SecurityFirewallRuleArrayOutput
}

SecurityFirewallRuleArrayInput is an input type that accepts SecurityFirewallRuleArray and SecurityFirewallRuleArrayOutput values. You can construct a concrete instance of `SecurityFirewallRuleArrayInput` via:

SecurityFirewallRuleArray{ SecurityFirewallRuleArgs{...} }

type SecurityFirewallRuleArrayOutput

type SecurityFirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (SecurityFirewallRuleArrayOutput) ElementType

func (SecurityFirewallRuleArrayOutput) Index

func (SecurityFirewallRuleArrayOutput) ToSecurityFirewallRuleArrayOutput

func (o SecurityFirewallRuleArrayOutput) ToSecurityFirewallRuleArrayOutput() SecurityFirewallRuleArrayOutput

func (SecurityFirewallRuleArrayOutput) ToSecurityFirewallRuleArrayOutputWithContext

func (o SecurityFirewallRuleArrayOutput) ToSecurityFirewallRuleArrayOutputWithContext(ctx context.Context) SecurityFirewallRuleArrayOutput

type SecurityFirewallRuleInput

type SecurityFirewallRuleInput interface {
	pulumi.Input

	ToSecurityFirewallRuleOutput() SecurityFirewallRuleOutput
	ToSecurityFirewallRuleOutputWithContext(context.Context) SecurityFirewallRuleOutput
}

SecurityFirewallRuleInput is an input type that accepts SecurityFirewallRuleArgs and SecurityFirewallRuleOutput values. You can construct a concrete instance of `SecurityFirewallRuleInput` via:

SecurityFirewallRuleArgs{...}

type SecurityFirewallRuleOutput

type SecurityFirewallRuleOutput struct{ *pulumi.OutputState }

func (SecurityFirewallRuleOutput) Description

Naming descripton e.g. 'Default'

func (SecurityFirewallRuleOutput) ElementType

func (SecurityFirewallRuleOutput) ElementType() reflect.Type

func (SecurityFirewallRuleOutput) Ip

CIDR address: IP address with CIDR notation (e.g. 10.56.72.0/24)

func (SecurityFirewallRuleOutput) Ports

Custom ports between 0 - 65554

func (SecurityFirewallRuleOutput) Services

Pre-defined services 'AMQP', 'AMQPS', 'HTTPS', 'MQTT', 'MQTTS', 'STOMP', 'STOMPS', 'STREAM', 'STREAM_SSL'

func (SecurityFirewallRuleOutput) ToSecurityFirewallRuleOutput

func (o SecurityFirewallRuleOutput) ToSecurityFirewallRuleOutput() SecurityFirewallRuleOutput

func (SecurityFirewallRuleOutput) ToSecurityFirewallRuleOutputWithContext

func (o SecurityFirewallRuleOutput) ToSecurityFirewallRuleOutputWithContext(ctx context.Context) SecurityFirewallRuleOutput

type SecurityFirewallState

type SecurityFirewallState struct {
	// Instance identifier
	InstanceId pulumi.IntPtrInput
	Rules      SecurityFirewallRuleArrayInput
	// Configurable sleep time in seconds between retries for firewall configuration
	Sleep pulumi.IntPtrInput
	// Configurable timeout time in seconds for firewall configuration
	Timeout pulumi.IntPtrInput
}

func (SecurityFirewallState) ElementType

func (SecurityFirewallState) ElementType() reflect.Type

type UpgradeRabbitmq added in v3.7.0

type UpgradeRabbitmq struct {
	pulumi.CustomResourceState

	// The CloudAMQP instance identifier
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
}

This resource allows you to automatically upgrade to the latest possible upgradable versions for RabbitMQ and Erlang. Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest versions. After completed upgrade, check data source `getUpgradableVersions` to see if newer versions is available. Then delete `UpgradeRabbitmq` and create it again to invoke the upgrade.

> **Important Upgrade Information** > - All single node upgrades will require some downtime since RabbitMQ needs a restart. > - From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a multi-node cluster are possible without downtime. This means that one node is upgraded at a time while the other nodes are still running. For versions older than 3.9, patch version upgrades (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version upgrades will require downtime. > - Auto delete queues (queues that are marked AD) will be deleted during the update. > - Any custom plugins support has installed on your behalf will be disabled and you need to contact support@cloudamqp.com and ask to have them re-installed. > - TLS 1.0 and 1.1 will not be supported after the update.

Only available for dedicated subscription plans running ***RabbitMQ***.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
		_, err = cloudamqp.NewUpgradeRabbitmq(ctx, "upgrade", &cloudamqp.UpgradeRabbitmqArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

If newer version is still available to be upgradable in the data source, re-run again.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
			InstanceId: cloudamqp_instance.Instance.Id,
		}, nil)
		if err != nil {
			return err
		}
		// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
		_, err = cloudamqp.NewUpgradeRabbitmq(ctx, "upgrade", &cloudamqp.UpgradeRabbitmqArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Not possible to import this resource.

func GetUpgradeRabbitmq added in v3.7.0

func GetUpgradeRabbitmq(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UpgradeRabbitmqState, opts ...pulumi.ResourceOption) (*UpgradeRabbitmq, error)

GetUpgradeRabbitmq gets an existing UpgradeRabbitmq 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 NewUpgradeRabbitmq added in v3.7.0

func NewUpgradeRabbitmq(ctx *pulumi.Context,
	name string, args *UpgradeRabbitmqArgs, opts ...pulumi.ResourceOption) (*UpgradeRabbitmq, error)

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

func (*UpgradeRabbitmq) ElementType added in v3.7.0

func (*UpgradeRabbitmq) ElementType() reflect.Type

func (*UpgradeRabbitmq) ToUpgradeRabbitmqOutput added in v3.7.0

func (i *UpgradeRabbitmq) ToUpgradeRabbitmqOutput() UpgradeRabbitmqOutput

func (*UpgradeRabbitmq) ToUpgradeRabbitmqOutputWithContext added in v3.7.0

func (i *UpgradeRabbitmq) ToUpgradeRabbitmqOutputWithContext(ctx context.Context) UpgradeRabbitmqOutput

type UpgradeRabbitmqArgs added in v3.7.0

type UpgradeRabbitmqArgs struct {
	// The CloudAMQP instance identifier
	InstanceId pulumi.IntInput
}

The set of arguments for constructing a UpgradeRabbitmq resource.

func (UpgradeRabbitmqArgs) ElementType added in v3.7.0

func (UpgradeRabbitmqArgs) ElementType() reflect.Type

type UpgradeRabbitmqArray added in v3.7.0

type UpgradeRabbitmqArray []UpgradeRabbitmqInput

func (UpgradeRabbitmqArray) ElementType added in v3.7.0

func (UpgradeRabbitmqArray) ElementType() reflect.Type

func (UpgradeRabbitmqArray) ToUpgradeRabbitmqArrayOutput added in v3.7.0

func (i UpgradeRabbitmqArray) ToUpgradeRabbitmqArrayOutput() UpgradeRabbitmqArrayOutput

func (UpgradeRabbitmqArray) ToUpgradeRabbitmqArrayOutputWithContext added in v3.7.0

func (i UpgradeRabbitmqArray) ToUpgradeRabbitmqArrayOutputWithContext(ctx context.Context) UpgradeRabbitmqArrayOutput

type UpgradeRabbitmqArrayInput added in v3.7.0

type UpgradeRabbitmqArrayInput interface {
	pulumi.Input

	ToUpgradeRabbitmqArrayOutput() UpgradeRabbitmqArrayOutput
	ToUpgradeRabbitmqArrayOutputWithContext(context.Context) UpgradeRabbitmqArrayOutput
}

UpgradeRabbitmqArrayInput is an input type that accepts UpgradeRabbitmqArray and UpgradeRabbitmqArrayOutput values. You can construct a concrete instance of `UpgradeRabbitmqArrayInput` via:

UpgradeRabbitmqArray{ UpgradeRabbitmqArgs{...} }

type UpgradeRabbitmqArrayOutput added in v3.7.0

type UpgradeRabbitmqArrayOutput struct{ *pulumi.OutputState }

func (UpgradeRabbitmqArrayOutput) ElementType added in v3.7.0

func (UpgradeRabbitmqArrayOutput) ElementType() reflect.Type

func (UpgradeRabbitmqArrayOutput) Index added in v3.7.0

func (UpgradeRabbitmqArrayOutput) ToUpgradeRabbitmqArrayOutput added in v3.7.0

func (o UpgradeRabbitmqArrayOutput) ToUpgradeRabbitmqArrayOutput() UpgradeRabbitmqArrayOutput

func (UpgradeRabbitmqArrayOutput) ToUpgradeRabbitmqArrayOutputWithContext added in v3.7.0

func (o UpgradeRabbitmqArrayOutput) ToUpgradeRabbitmqArrayOutputWithContext(ctx context.Context) UpgradeRabbitmqArrayOutput

type UpgradeRabbitmqInput added in v3.7.0

type UpgradeRabbitmqInput interface {
	pulumi.Input

	ToUpgradeRabbitmqOutput() UpgradeRabbitmqOutput
	ToUpgradeRabbitmqOutputWithContext(ctx context.Context) UpgradeRabbitmqOutput
}

type UpgradeRabbitmqMap added in v3.7.0

type UpgradeRabbitmqMap map[string]UpgradeRabbitmqInput

func (UpgradeRabbitmqMap) ElementType added in v3.7.0

func (UpgradeRabbitmqMap) ElementType() reflect.Type

func (UpgradeRabbitmqMap) ToUpgradeRabbitmqMapOutput added in v3.7.0

func (i UpgradeRabbitmqMap) ToUpgradeRabbitmqMapOutput() UpgradeRabbitmqMapOutput

func (UpgradeRabbitmqMap) ToUpgradeRabbitmqMapOutputWithContext added in v3.7.0

func (i UpgradeRabbitmqMap) ToUpgradeRabbitmqMapOutputWithContext(ctx context.Context) UpgradeRabbitmqMapOutput

type UpgradeRabbitmqMapInput added in v3.7.0

type UpgradeRabbitmqMapInput interface {
	pulumi.Input

	ToUpgradeRabbitmqMapOutput() UpgradeRabbitmqMapOutput
	ToUpgradeRabbitmqMapOutputWithContext(context.Context) UpgradeRabbitmqMapOutput
}

UpgradeRabbitmqMapInput is an input type that accepts UpgradeRabbitmqMap and UpgradeRabbitmqMapOutput values. You can construct a concrete instance of `UpgradeRabbitmqMapInput` via:

UpgradeRabbitmqMap{ "key": UpgradeRabbitmqArgs{...} }

type UpgradeRabbitmqMapOutput added in v3.7.0

type UpgradeRabbitmqMapOutput struct{ *pulumi.OutputState }

func (UpgradeRabbitmqMapOutput) ElementType added in v3.7.0

func (UpgradeRabbitmqMapOutput) ElementType() reflect.Type

func (UpgradeRabbitmqMapOutput) MapIndex added in v3.7.0

func (UpgradeRabbitmqMapOutput) ToUpgradeRabbitmqMapOutput added in v3.7.0

func (o UpgradeRabbitmqMapOutput) ToUpgradeRabbitmqMapOutput() UpgradeRabbitmqMapOutput

func (UpgradeRabbitmqMapOutput) ToUpgradeRabbitmqMapOutputWithContext added in v3.7.0

func (o UpgradeRabbitmqMapOutput) ToUpgradeRabbitmqMapOutputWithContext(ctx context.Context) UpgradeRabbitmqMapOutput

type UpgradeRabbitmqOutput added in v3.7.0

type UpgradeRabbitmqOutput struct{ *pulumi.OutputState }

func (UpgradeRabbitmqOutput) ElementType added in v3.7.0

func (UpgradeRabbitmqOutput) ElementType() reflect.Type

func (UpgradeRabbitmqOutput) InstanceId added in v3.9.1

func (o UpgradeRabbitmqOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance identifier

func (UpgradeRabbitmqOutput) ToUpgradeRabbitmqOutput added in v3.7.0

func (o UpgradeRabbitmqOutput) ToUpgradeRabbitmqOutput() UpgradeRabbitmqOutput

func (UpgradeRabbitmqOutput) ToUpgradeRabbitmqOutputWithContext added in v3.7.0

func (o UpgradeRabbitmqOutput) ToUpgradeRabbitmqOutputWithContext(ctx context.Context) UpgradeRabbitmqOutput

type UpgradeRabbitmqState added in v3.7.0

type UpgradeRabbitmqState struct {
	// The CloudAMQP instance identifier
	InstanceId pulumi.IntPtrInput
}

func (UpgradeRabbitmqState) ElementType added in v3.7.0

func (UpgradeRabbitmqState) ElementType() reflect.Type

type Vpc added in v3.7.0

type Vpc struct {
	pulumi.CustomResourceState

	// The name of the VPC.
	Name pulumi.StringOutput `pulumi:"name"`
	// The hosted region for the managed standalone VPC
	Region pulumi.StringOutput `pulumi:"region"`
	// The VPC subnet
	Subnet pulumi.StringOutput `pulumi:"subnet"`
	// Tag the VPC with optional tags
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// VPC name given when hosted at the cloud provider
	VpcName pulumi.StringOutput `pulumi:"vpcName"`
}

This resource allows you to manage standalone VPC.

New Cloudamqp instances can be added to the managed VPC. Set the instance *vpc_id* attribute to the managed vpc identifier , see example below, when creating the instance.

Only available for dedicated subscription plans.

Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/plans.html).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Managed VPC resource
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-east-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		// New instance, need to be created with a vpc
		_, err = cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("amazon-web-services::us-east-1"),
			Nodes:             pulumi.Int(1),
			Tags:              pulumi.StringArray{},
			RmqVersion:        pulumi.String("3.9.13"),
			VpcId:             pulumi.Any(cloudamq_vpc.Vpc.Id),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_ = cloudamqp.GetVpcInfoOutput(ctx, cloudamqp.GetVpcInfoOutputArgs{
			VpcId: vpc.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

`cloudamqp_vpc` can be imported using the CloudAMQP VPC identifier.

```sh $ pulumi import cloudamqp:index/vpc:Vpc <resource_name> <vpc_id>` ```

To retrieve the identifier for a VPC, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-vpcs).

Or use the data source `cloudamqp_account_vpcs` to list all available standalone VPCs for an account.

func GetVpc added in v3.7.0

func GetVpc(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcState, opts ...pulumi.ResourceOption) (*Vpc, error)

GetVpc gets an existing Vpc 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 NewVpc added in v3.7.0

func NewVpc(ctx *pulumi.Context,
	name string, args *VpcArgs, opts ...pulumi.ResourceOption) (*Vpc, error)

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

func (*Vpc) ElementType added in v3.7.0

func (*Vpc) ElementType() reflect.Type

func (*Vpc) ToVpcOutput added in v3.7.0

func (i *Vpc) ToVpcOutput() VpcOutput

func (*Vpc) ToVpcOutputWithContext added in v3.7.0

func (i *Vpc) ToVpcOutputWithContext(ctx context.Context) VpcOutput

type VpcArgs added in v3.7.0

type VpcArgs struct {
	// The name of the VPC.
	Name pulumi.StringPtrInput
	// The hosted region for the managed standalone VPC
	Region pulumi.StringInput
	// The VPC subnet
	Subnet pulumi.StringInput
	// Tag the VPC with optional tags
	Tags pulumi.StringArrayInput
}

The set of arguments for constructing a Vpc resource.

func (VpcArgs) ElementType added in v3.7.0

func (VpcArgs) ElementType() reflect.Type

type VpcArray added in v3.7.0

type VpcArray []VpcInput

func (VpcArray) ElementType added in v3.7.0

func (VpcArray) ElementType() reflect.Type

func (VpcArray) ToVpcArrayOutput added in v3.7.0

func (i VpcArray) ToVpcArrayOutput() VpcArrayOutput

func (VpcArray) ToVpcArrayOutputWithContext added in v3.7.0

func (i VpcArray) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput

type VpcArrayInput added in v3.7.0

type VpcArrayInput interface {
	pulumi.Input

	ToVpcArrayOutput() VpcArrayOutput
	ToVpcArrayOutputWithContext(context.Context) VpcArrayOutput
}

VpcArrayInput is an input type that accepts VpcArray and VpcArrayOutput values. You can construct a concrete instance of `VpcArrayInput` via:

VpcArray{ VpcArgs{...} }

type VpcArrayOutput added in v3.7.0

type VpcArrayOutput struct{ *pulumi.OutputState }

func (VpcArrayOutput) ElementType added in v3.7.0

func (VpcArrayOutput) ElementType() reflect.Type

func (VpcArrayOutput) Index added in v3.7.0

func (VpcArrayOutput) ToVpcArrayOutput added in v3.7.0

func (o VpcArrayOutput) ToVpcArrayOutput() VpcArrayOutput

func (VpcArrayOutput) ToVpcArrayOutputWithContext added in v3.7.0

func (o VpcArrayOutput) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput

type VpcConnect added in v3.17.0

type VpcConnect struct {
	pulumi.CustomResourceState

	// Covering availability zones used when creating an endpoint from other VPC. (AWS)
	ActiveZones pulumi.StringArrayOutput `pulumi:"activeZones"`
	// List of allowed prinicpals used by AWS, see below table.
	AllowedPrincipals pulumi.StringArrayOutput `pulumi:"allowedPrincipals"`
	// List of allowed projects used by GCP, see below table.
	AllowedProjects pulumi.StringArrayOutput `pulumi:"allowedProjects"`
	// List of approved subscriptions used by Azure, see below table.
	ApprovedSubscriptions pulumi.StringArrayOutput `pulumi:"approvedSubscriptions"`
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// The region where the CloudAMQP instance is hosted.
	Region pulumi.StringOutput `pulumi:"region"`
	// Service name (alias for Azure) of the PrivateLink.
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
	// Configurable sleep time (seconds) when enable Private Service Connect.
	// Default set to 10 seconds.
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// Private Service Connect status [enable, pending, disable]
	Status pulumi.StringOutput `pulumi:"status"`
	// Configurable timeout time (seconds) when enable Private Service Connect.
	// Default set to 1800 seconds.
	//
	// ***
	//
	// The `allowedPrincipals`, `approvedSubscriptions` or `allowedProjects` data depends on the provider platform:
	//
	// | Platform | Description         | Format                                                                                                                             |
	// |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
	// | AWS      | IAM ARN principals  | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
	// | Azure    | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX                                                                                               |
	// | GCP      | Project IDs*        | 6 to 30 lowercase letters, digits, or hyphens                                                                                      |
	//
	// *https://cloud.google.com/resource-manager/reference/rest/v1/projects
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
}

This resource is a generic way to handle PrivateLink (AWS and Azure) and Private Service Connect (GCP). Communication between resources can be done just as they were living inside a VPC. CloudAMQP creates an Endpoint Service to connect the VPC and creating a new network interface to handle the communicate.

If no existing VPC available when enable VPC connect, a new VPC will be created with subnet `10.52.72.0/24`.

More information can be found at: [CloudAMQP VPC Connect](https://www.cloudamqp.com/docs/cloudamqp-vpc-connect.html)

> **Note:** Enabling VPC Connect will automatically add a firewall rule.

<details>

<summary>
   <b>
     <i>Default PrivateLink firewall rule [AWS, Azure]</i>
   </b>
 </summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
   <b>
     <i>Default Private Service Connect firewall rule [GCP]</i>
   </b>
 </summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

Only available for dedicated subscription plans.

## Example Usage

<details>

<summary>
  <b>
    <i>Enable VPC Connect (PrivateLink) in AWS</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("amazon-web-services::us-west-1"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewVpcConnect(ctx, "vpcConnect", &cloudamqp.VpcConnectArgs{
			InstanceId: instance.ID(),
			Region:     instance.Region,
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws-account-id:user/user-name"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Enable VPC Connect (PrivateLink) in Azure</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("azure-arm::westus"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("azure-arm::westus"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewVpcConnect(ctx, "vpcConnect", &cloudamqp.VpcConnectArgs{
			InstanceId: instance.ID(),
			Region:     instance.Region,
			ApprovedSubscriptions: pulumi.StringArray{
				pulumi.String("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>Enable VPC Connect (Private Service Connect) in GCP</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("google-compute-engine::us-west1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("google-compute-engine::us-west1"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewVpcConnect(ctx, "vpcConnect", &cloudamqp.VpcConnectArgs{
			InstanceId: instance.ID(),
			Region:     instance.Region,
			AllowedProjects: pulumi.StringArray{
				pulumi.String("some-project-123456"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

### With Additional Firewall Rules

<details>

<summary>
  <b>
    <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
			Region: pulumi.String("amazon-web-services::us-west-1"),
			Subnet: pulumi.String("10.56.72.0/24"),
			Tags:   pulumi.StringArray{},
		})
		if err != nil {
			return err
		}
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:              pulumi.String("bunny-1"),
			Region:            pulumi.String("amazon-web-services::us-west-1"),
			Tags:              pulumi.StringArray{},
			VpcId:             vpc.ID(),
			KeepAssociatedVpc: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		vpcConnect, err := cloudamqp.NewVpcConnect(ctx, "vpcConnect", &cloudamqp.VpcConnectArgs{
			InstanceId: instance.ID(),
			AllowedPrincipals: pulumi.StringArray{
				pulumi.String("arn:aws:iam::aws-account-id:user/user-name"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
			InstanceId: instance.ID(),
			Rules: cloudamqp.SecurityFirewallRuleArray{
				&cloudamqp.SecurityFirewallRuleArgs{
					Description: pulumi.String("Custom PrivateLink setup"),
					Ip:          vpc.Subnet,
					Ports:       pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("AMQP"),
						pulumi.String("AMQPS"),
						pulumi.String("HTTPS"),
						pulumi.String("STREAM"),
						pulumi.String("STREAM_SSL"),
					},
				},
				&cloudamqp.SecurityFirewallRuleArgs{
					Description: pulumi.String("MGMT interface"),
					Ip:          pulumi.String("0.0.0.0/0"),
					Ports:       pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("HTTPS"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			vpcConnect,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Depedency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

Since `region` also is required, suggest to reuse the argument from CloudAMQP instance, `cloudamqp_instance.instance.region`.

## Create VPC Connect with additional firewall rules

To create a PrivateLink/Private Service Connect configuration with additional firewall rules, it's required to chain the SecurityFirewall resource to avoid parallel conflicting resource calls. You can do this by making the firewall resource depend on the VPC Connect resource, `cloudamqp_vpc_connect.vpc_connect`.

Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for the VPC Connect also needs to be added.

## Import

`cloudamqp_vpc_connect` can be imported using CloudAMQP internal identifier.

```sh $ pulumi import cloudamqp:index/vpcConnect:VpcConnect vpc_connect <id>` ```

The resource uses the same identifier as the CloudAMQP instance. To retrieve the identifier for an instance, either use [CloudAMQP customer API](https://docs.cloudamqp.com/#list-instances) or use the data source [`cloudamqp_account`](./data-sources/account.md).

func GetVpcConnect added in v3.17.0

func GetVpcConnect(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcConnectState, opts ...pulumi.ResourceOption) (*VpcConnect, error)

GetVpcConnect gets an existing VpcConnect 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 NewVpcConnect added in v3.17.0

func NewVpcConnect(ctx *pulumi.Context,
	name string, args *VpcConnectArgs, opts ...pulumi.ResourceOption) (*VpcConnect, error)

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

func (*VpcConnect) ElementType added in v3.17.0

func (*VpcConnect) ElementType() reflect.Type

func (*VpcConnect) ToVpcConnectOutput added in v3.17.0

func (i *VpcConnect) ToVpcConnectOutput() VpcConnectOutput

func (*VpcConnect) ToVpcConnectOutputWithContext added in v3.17.0

func (i *VpcConnect) ToVpcConnectOutputWithContext(ctx context.Context) VpcConnectOutput

type VpcConnectArgs added in v3.17.0

type VpcConnectArgs struct {
	// List of allowed prinicpals used by AWS, see below table.
	AllowedPrincipals pulumi.StringArrayInput
	// List of allowed projects used by GCP, see below table.
	AllowedProjects pulumi.StringArrayInput
	// List of approved subscriptions used by Azure, see below table.
	ApprovedSubscriptions pulumi.StringArrayInput
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntInput
	// The region where the CloudAMQP instance is hosted.
	Region pulumi.StringInput
	// Configurable sleep time (seconds) when enable Private Service Connect.
	// Default set to 10 seconds.
	Sleep pulumi.IntPtrInput
	// Configurable timeout time (seconds) when enable Private Service Connect.
	// Default set to 1800 seconds.
	//
	// ***
	//
	// The `allowedPrincipals`, `approvedSubscriptions` or `allowedProjects` data depends on the provider platform:
	//
	// | Platform | Description         | Format                                                                                                                             |
	// |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
	// | AWS      | IAM ARN principals  | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
	// | Azure    | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX                                                                                               |
	// | GCP      | Project IDs*        | 6 to 30 lowercase letters, digits, or hyphens                                                                                      |
	//
	// *https://cloud.google.com/resource-manager/reference/rest/v1/projects
	Timeout pulumi.IntPtrInput
}

The set of arguments for constructing a VpcConnect resource.

func (VpcConnectArgs) ElementType added in v3.17.0

func (VpcConnectArgs) ElementType() reflect.Type

type VpcConnectArray added in v3.17.0

type VpcConnectArray []VpcConnectInput

func (VpcConnectArray) ElementType added in v3.17.0

func (VpcConnectArray) ElementType() reflect.Type

func (VpcConnectArray) ToVpcConnectArrayOutput added in v3.17.0

func (i VpcConnectArray) ToVpcConnectArrayOutput() VpcConnectArrayOutput

func (VpcConnectArray) ToVpcConnectArrayOutputWithContext added in v3.17.0

func (i VpcConnectArray) ToVpcConnectArrayOutputWithContext(ctx context.Context) VpcConnectArrayOutput

type VpcConnectArrayInput added in v3.17.0

type VpcConnectArrayInput interface {
	pulumi.Input

	ToVpcConnectArrayOutput() VpcConnectArrayOutput
	ToVpcConnectArrayOutputWithContext(context.Context) VpcConnectArrayOutput
}

VpcConnectArrayInput is an input type that accepts VpcConnectArray and VpcConnectArrayOutput values. You can construct a concrete instance of `VpcConnectArrayInput` via:

VpcConnectArray{ VpcConnectArgs{...} }

type VpcConnectArrayOutput added in v3.17.0

type VpcConnectArrayOutput struct{ *pulumi.OutputState }

func (VpcConnectArrayOutput) ElementType added in v3.17.0

func (VpcConnectArrayOutput) ElementType() reflect.Type

func (VpcConnectArrayOutput) Index added in v3.17.0

func (VpcConnectArrayOutput) ToVpcConnectArrayOutput added in v3.17.0

func (o VpcConnectArrayOutput) ToVpcConnectArrayOutput() VpcConnectArrayOutput

func (VpcConnectArrayOutput) ToVpcConnectArrayOutputWithContext added in v3.17.0

func (o VpcConnectArrayOutput) ToVpcConnectArrayOutputWithContext(ctx context.Context) VpcConnectArrayOutput

type VpcConnectInput added in v3.17.0

type VpcConnectInput interface {
	pulumi.Input

	ToVpcConnectOutput() VpcConnectOutput
	ToVpcConnectOutputWithContext(ctx context.Context) VpcConnectOutput
}

type VpcConnectMap added in v3.17.0

type VpcConnectMap map[string]VpcConnectInput

func (VpcConnectMap) ElementType added in v3.17.0

func (VpcConnectMap) ElementType() reflect.Type

func (VpcConnectMap) ToVpcConnectMapOutput added in v3.17.0

func (i VpcConnectMap) ToVpcConnectMapOutput() VpcConnectMapOutput

func (VpcConnectMap) ToVpcConnectMapOutputWithContext added in v3.17.0

func (i VpcConnectMap) ToVpcConnectMapOutputWithContext(ctx context.Context) VpcConnectMapOutput

type VpcConnectMapInput added in v3.17.0

type VpcConnectMapInput interface {
	pulumi.Input

	ToVpcConnectMapOutput() VpcConnectMapOutput
	ToVpcConnectMapOutputWithContext(context.Context) VpcConnectMapOutput
}

VpcConnectMapInput is an input type that accepts VpcConnectMap and VpcConnectMapOutput values. You can construct a concrete instance of `VpcConnectMapInput` via:

VpcConnectMap{ "key": VpcConnectArgs{...} }

type VpcConnectMapOutput added in v3.17.0

type VpcConnectMapOutput struct{ *pulumi.OutputState }

func (VpcConnectMapOutput) ElementType added in v3.17.0

func (VpcConnectMapOutput) ElementType() reflect.Type

func (VpcConnectMapOutput) MapIndex added in v3.17.0

func (VpcConnectMapOutput) ToVpcConnectMapOutput added in v3.17.0

func (o VpcConnectMapOutput) ToVpcConnectMapOutput() VpcConnectMapOutput

func (VpcConnectMapOutput) ToVpcConnectMapOutputWithContext added in v3.17.0

func (o VpcConnectMapOutput) ToVpcConnectMapOutputWithContext(ctx context.Context) VpcConnectMapOutput

type VpcConnectOutput added in v3.17.0

type VpcConnectOutput struct{ *pulumi.OutputState }

func (VpcConnectOutput) ActiveZones added in v3.17.0

func (o VpcConnectOutput) ActiveZones() pulumi.StringArrayOutput

Covering availability zones used when creating an endpoint from other VPC. (AWS)

func (VpcConnectOutput) AllowedPrincipals added in v3.17.0

func (o VpcConnectOutput) AllowedPrincipals() pulumi.StringArrayOutput

List of allowed prinicpals used by AWS, see below table.

func (VpcConnectOutput) AllowedProjects added in v3.17.0

func (o VpcConnectOutput) AllowedProjects() pulumi.StringArrayOutput

List of allowed projects used by GCP, see below table.

func (VpcConnectOutput) ApprovedSubscriptions added in v3.17.0

func (o VpcConnectOutput) ApprovedSubscriptions() pulumi.StringArrayOutput

List of approved subscriptions used by Azure, see below table.

func (VpcConnectOutput) ElementType added in v3.17.0

func (VpcConnectOutput) ElementType() reflect.Type

func (VpcConnectOutput) InstanceId added in v3.17.0

func (o VpcConnectOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance identifier.

func (VpcConnectOutput) Region added in v3.17.0

The region where the CloudAMQP instance is hosted.

func (VpcConnectOutput) ServiceName added in v3.17.0

func (o VpcConnectOutput) ServiceName() pulumi.StringOutput

Service name (alias for Azure) of the PrivateLink.

func (VpcConnectOutput) Sleep added in v3.17.0

Configurable sleep time (seconds) when enable Private Service Connect. Default set to 10 seconds.

func (VpcConnectOutput) Status added in v3.17.0

Private Service Connect status [enable, pending, disable]

func (VpcConnectOutput) Timeout added in v3.17.0

func (o VpcConnectOutput) Timeout() pulumi.IntPtrOutput

Configurable timeout time (seconds) when enable Private Service Connect. Default set to 1800 seconds.

***

The `allowedPrincipals`, `approvedSubscriptions` or `allowedProjects` data depends on the provider platform:

| Platform | Description | Format | |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------| | AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name | | Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | | GCP | Project IDs* | 6 to 30 lowercase letters, digits, or hyphens |

*https://cloud.google.com/resource-manager/reference/rest/v1/projects

func (VpcConnectOutput) ToVpcConnectOutput added in v3.17.0

func (o VpcConnectOutput) ToVpcConnectOutput() VpcConnectOutput

func (VpcConnectOutput) ToVpcConnectOutputWithContext added in v3.17.0

func (o VpcConnectOutput) ToVpcConnectOutputWithContext(ctx context.Context) VpcConnectOutput

type VpcConnectState added in v3.17.0

type VpcConnectState struct {
	// Covering availability zones used when creating an endpoint from other VPC. (AWS)
	ActiveZones pulumi.StringArrayInput
	// List of allowed prinicpals used by AWS, see below table.
	AllowedPrincipals pulumi.StringArrayInput
	// List of allowed projects used by GCP, see below table.
	AllowedProjects pulumi.StringArrayInput
	// List of approved subscriptions used by Azure, see below table.
	ApprovedSubscriptions pulumi.StringArrayInput
	// The CloudAMQP instance identifier.
	InstanceId pulumi.IntPtrInput
	// The region where the CloudAMQP instance is hosted.
	Region pulumi.StringPtrInput
	// Service name (alias for Azure) of the PrivateLink.
	ServiceName pulumi.StringPtrInput
	// Configurable sleep time (seconds) when enable Private Service Connect.
	// Default set to 10 seconds.
	Sleep pulumi.IntPtrInput
	// Private Service Connect status [enable, pending, disable]
	Status pulumi.StringPtrInput
	// Configurable timeout time (seconds) when enable Private Service Connect.
	// Default set to 1800 seconds.
	//
	// ***
	//
	// The `allowedPrincipals`, `approvedSubscriptions` or `allowedProjects` data depends on the provider platform:
	//
	// | Platform | Description         | Format                                                                                                                             |
	// |----------|---------------------|------------------------------------------------------------------------------------------------------------------------------------|
	// | AWS      | IAM ARN principals  | arn:aws:iam::aws-account-id:root<br /> arn:aws:iam::aws-account-id:user/user-name<br /> arn:aws:iam::aws-account-id:role/role-name |
	// | Azure    | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX                                                                                               |
	// | GCP      | Project IDs*        | 6 to 30 lowercase letters, digits, or hyphens                                                                                      |
	//
	// *https://cloud.google.com/resource-manager/reference/rest/v1/projects
	Timeout pulumi.IntPtrInput
}

func (VpcConnectState) ElementType added in v3.17.0

func (VpcConnectState) ElementType() reflect.Type

type VpcGcpPeering added in v3.6.1

type VpcGcpPeering struct {
	pulumi.CustomResourceState

	// VPC peering auto created routes
	AutoCreateRoutes pulumi.BoolOutput `pulumi:"autoCreateRoutes"`
	// The CloudAMQP instance identifier. *Deprecated from v1.16.0*
	InstanceId pulumi.IntPtrOutput `pulumi:"instanceId"`
	// Network uri of the VPC network to which you will peer with.
	PeerNetworkUri pulumi.StringOutput `pulumi:"peerNetworkUri"`
	// Configurable sleep time (seconds) between retries when requesting or reading
	// peering. Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// VPC peering state
	State pulumi.StringOutput `pulumi:"state"`
	// VPC peering state details
	StateDetails pulumi.StringOutput `pulumi:"stateDetails"`
	// Configurable timeout time (seconds) before retries times out. Default set
	// to 1800 seconds. *Available from v1.29.0*
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
	// The managed VPC identifier. *Available from v1.16.0*
	VpcId pulumi.StringPtrOutput `pulumi:"vpcId"`
	// Makes the resource wait until the peering is connected.
	// Default set to false. *Available from v1.28.0*
	WaitOnPeeringStatus pulumi.BoolPtrOutput `pulumi:"waitOnPeeringStatus"`
}

This resouce creates a VPC peering configuration for the CloudAMQP instance. The configuration will connect to another VPC network hosted on Google Cloud Platform (GCP). See the [GCP documentation](https://cloud.google.com/vpc/docs/using-vpc-peering) for more information on how to create the VPC peering configuration.

> **Note:** Creating a VPC peering will automatically add firewall rules for the peered subnet.

<details>

<summary>
   <i>Default VPC peering firewall rule</i>
 </summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

Pricing is available at [cloudamqp.com](https://www.cloudamqp.com/plans.html).

Only available for dedicated subscription plans.

## Example Usage

<details>

<summary>
  <b>
    <i>VPC peering pre v1.16.0</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// CloudAMQP instance
		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
			Plan:   pulumi.String("bunny-1"),
			Region: pulumi.String("google-compute-engine::europe-north1"),
			Tags: pulumi.StringArray{
				pulumi.String("terraform"),
			},
			VpcSubnet: pulumi.String("10.40.72.0/24"),
		})
		if err != nil {
			return err
		}
		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetVpcGcpInfoResult, error) {
			return cloudamqp.GetVpcGcpInfoOutput(ctx, cloudamqp.GetVpcGcpInfoOutputArgs{
				InstanceId: id,
			}, nil), nil
		}).(cloudamqp.GetVpcGcpInfoResultOutput)
		// VPC peering configuration
		_, err = cloudamqp.NewVpcGcpPeering(ctx, "vpcPeeringRequest", &cloudamqp.VpcGcpPeeringArgs{
			InstanceId:     instance.ID(),
			PeerNetworkUri: pulumi.String("https://www.googleapis.com/compute/v1/projects/<PROJECT-NAME>/global/networks/<NETWORK-NAME>"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>VPC peering post v1.16.0 (Managed VPC)</i>
  </b>
</summary>

### With Additional Firewall Rules

<details>

<summary>
  <b>
    <i>VPC peering pre v1.16.0</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// VPC peering configuration
		vpcPeeringRequest, err := cloudamqp.NewVpcGcpPeering(ctx, "vpcPeeringRequest", &cloudamqp.VpcGcpPeeringArgs{
			InstanceId:     pulumi.Any(cloudamqp_instance.Instance.Id),
			PeerNetworkUri: pulumi.Any(_var.Peer_network_uri),
		})
		if err != nil {
			return err
		}
		// Firewall rules
		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Rules: cloudamqp.SecurityFirewallRuleArray{
				&cloudamqp.SecurityFirewallRuleArgs{
					Ip: pulumi.Any(_var.Peer_subnet),
					Ports: pulumi.IntArray{
						pulumi.Int(15672),
					},
					Services: pulumi.StringArray{
						pulumi.String("AMQP"),
						pulumi.String("AMQPS"),
						pulumi.String("STREAM"),
						pulumi.String("STREAM_SSL"),
					},
					Description: pulumi.String("VPC peering for <NETWORK>"),
				},
				&cloudamqp.SecurityFirewallRuleArgs{
					Ip: pulumi.String("192.168.0.0/24"),
					Ports: pulumi.IntArray{
						pulumi.Int(4567),
						pulumi.Int(4568),
					},
					Services: pulumi.StringArray{
						pulumi.String("AMQP"),
						pulumi.String("AMQPS"),
						pulumi.String("HTTPS"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			vpcPeeringRequest,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

<details>

<summary>
  <b>
    <i>VPC peering post v1.16.0 (Managed VPC)</i>
  </b>
</summary>

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// VPC peering configuration
		vpcPeeringRequest, err := cloudamqp.NewVpcGcpPeering(ctx, "vpcPeeringRequest", &cloudamqp.VpcGcpPeeringArgs{
			VpcId:          pulumi.Any(cloudamqp_vpc.Vpc.Id),
			PeerNetworkUri: pulumi.Any(_var.Peer_network_uri),
		})
		if err != nil {
			return err
		}
		// Firewall rules
		_, err = cloudamqp.NewSecurityFirewall(ctx, "firewallSettings", &cloudamqp.SecurityFirewallArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Rules: cloudamqp.SecurityFirewallRuleArray{
				&cloudamqp.SecurityFirewallRuleArgs{
					Ip: pulumi.Any(_var.Peer_subnet),
					Ports: pulumi.IntArray{
						pulumi.Int(15672),
					},
					Services: pulumi.StringArray{
						pulumi.String("AMQP"),
						pulumi.String("AMQPS"),
						pulumi.String("STREAM"),
						pulumi.String("STREAM_SSL"),
					},
					Description: pulumi.String("VPC peering for <NETWORK>"),
				},
				&cloudamqp.SecurityFirewallRuleArgs{
					Ip:    pulumi.String("0.0.0.0/0"),
					Ports: pulumi.IntArray{},
					Services: pulumi.StringArray{
						pulumi.String("HTTPS"),
					},
					Description: pulumi.String("MGMT interface"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			vpcPeeringRequest,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

</details>

## Depedency

*Pre v1.16.0* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

*Post v1.16.0* This resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance identifier, `cloudamqp_instance.instance.id`.

## Create VPC Peering with additional firewall rules

To create a VPC peering configuration with additional firewall rules, it's required to chain the SecurityFirewall resource to avoid parallel conflicting resource calls. This is done by adding dependency from the firewall resource to the VPC peering resource.

Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for the VPC peering also needs to be added.

See example below.

## Import

Not possible to import this resource.

func GetVpcGcpPeering added in v3.6.1

func GetVpcGcpPeering(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcGcpPeeringState, opts ...pulumi.ResourceOption) (*VpcGcpPeering, error)

GetVpcGcpPeering gets an existing VpcGcpPeering 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 NewVpcGcpPeering added in v3.6.1

func NewVpcGcpPeering(ctx *pulumi.Context,
	name string, args *VpcGcpPeeringArgs, opts ...pulumi.ResourceOption) (*VpcGcpPeering, error)

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

func (*VpcGcpPeering) ElementType added in v3.6.1

func (*VpcGcpPeering) ElementType() reflect.Type

func (*VpcGcpPeering) ToVpcGcpPeeringOutput added in v3.6.1

func (i *VpcGcpPeering) ToVpcGcpPeeringOutput() VpcGcpPeeringOutput

func (*VpcGcpPeering) ToVpcGcpPeeringOutputWithContext added in v3.6.1

func (i *VpcGcpPeering) ToVpcGcpPeeringOutputWithContext(ctx context.Context) VpcGcpPeeringOutput

type VpcGcpPeeringArgs added in v3.6.1

type VpcGcpPeeringArgs struct {
	// The CloudAMQP instance identifier. *Deprecated from v1.16.0*
	InstanceId pulumi.IntPtrInput
	// Network uri of the VPC network to which you will peer with.
	PeerNetworkUri pulumi.StringInput
	// Configurable sleep time (seconds) between retries when requesting or reading
	// peering. Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrInput
	// Configurable timeout time (seconds) before retries times out. Default set
	// to 1800 seconds. *Available from v1.29.0*
	Timeout pulumi.IntPtrInput
	// The managed VPC identifier. *Available from v1.16.0*
	VpcId pulumi.StringPtrInput
	// Makes the resource wait until the peering is connected.
	// Default set to false. *Available from v1.28.0*
	WaitOnPeeringStatus pulumi.BoolPtrInput
}

The set of arguments for constructing a VpcGcpPeering resource.

func (VpcGcpPeeringArgs) ElementType added in v3.6.1

func (VpcGcpPeeringArgs) ElementType() reflect.Type

type VpcGcpPeeringArray added in v3.6.1

type VpcGcpPeeringArray []VpcGcpPeeringInput

func (VpcGcpPeeringArray) ElementType added in v3.6.1

func (VpcGcpPeeringArray) ElementType() reflect.Type

func (VpcGcpPeeringArray) ToVpcGcpPeeringArrayOutput added in v3.6.1

func (i VpcGcpPeeringArray) ToVpcGcpPeeringArrayOutput() VpcGcpPeeringArrayOutput

func (VpcGcpPeeringArray) ToVpcGcpPeeringArrayOutputWithContext added in v3.6.1

func (i VpcGcpPeeringArray) ToVpcGcpPeeringArrayOutputWithContext(ctx context.Context) VpcGcpPeeringArrayOutput

type VpcGcpPeeringArrayInput added in v3.6.1

type VpcGcpPeeringArrayInput interface {
	pulumi.Input

	ToVpcGcpPeeringArrayOutput() VpcGcpPeeringArrayOutput
	ToVpcGcpPeeringArrayOutputWithContext(context.Context) VpcGcpPeeringArrayOutput
}

VpcGcpPeeringArrayInput is an input type that accepts VpcGcpPeeringArray and VpcGcpPeeringArrayOutput values. You can construct a concrete instance of `VpcGcpPeeringArrayInput` via:

VpcGcpPeeringArray{ VpcGcpPeeringArgs{...} }

type VpcGcpPeeringArrayOutput added in v3.6.1

type VpcGcpPeeringArrayOutput struct{ *pulumi.OutputState }

func (VpcGcpPeeringArrayOutput) ElementType added in v3.6.1

func (VpcGcpPeeringArrayOutput) ElementType() reflect.Type

func (VpcGcpPeeringArrayOutput) Index added in v3.6.1

func (VpcGcpPeeringArrayOutput) ToVpcGcpPeeringArrayOutput added in v3.6.1

func (o VpcGcpPeeringArrayOutput) ToVpcGcpPeeringArrayOutput() VpcGcpPeeringArrayOutput

func (VpcGcpPeeringArrayOutput) ToVpcGcpPeeringArrayOutputWithContext added in v3.6.1

func (o VpcGcpPeeringArrayOutput) ToVpcGcpPeeringArrayOutputWithContext(ctx context.Context) VpcGcpPeeringArrayOutput

type VpcGcpPeeringInput added in v3.6.1

type VpcGcpPeeringInput interface {
	pulumi.Input

	ToVpcGcpPeeringOutput() VpcGcpPeeringOutput
	ToVpcGcpPeeringOutputWithContext(ctx context.Context) VpcGcpPeeringOutput
}

type VpcGcpPeeringMap added in v3.6.1

type VpcGcpPeeringMap map[string]VpcGcpPeeringInput

func (VpcGcpPeeringMap) ElementType added in v3.6.1

func (VpcGcpPeeringMap) ElementType() reflect.Type

func (VpcGcpPeeringMap) ToVpcGcpPeeringMapOutput added in v3.6.1

func (i VpcGcpPeeringMap) ToVpcGcpPeeringMapOutput() VpcGcpPeeringMapOutput

func (VpcGcpPeeringMap) ToVpcGcpPeeringMapOutputWithContext added in v3.6.1

func (i VpcGcpPeeringMap) ToVpcGcpPeeringMapOutputWithContext(ctx context.Context) VpcGcpPeeringMapOutput

type VpcGcpPeeringMapInput added in v3.6.1

type VpcGcpPeeringMapInput interface {
	pulumi.Input

	ToVpcGcpPeeringMapOutput() VpcGcpPeeringMapOutput
	ToVpcGcpPeeringMapOutputWithContext(context.Context) VpcGcpPeeringMapOutput
}

VpcGcpPeeringMapInput is an input type that accepts VpcGcpPeeringMap and VpcGcpPeeringMapOutput values. You can construct a concrete instance of `VpcGcpPeeringMapInput` via:

VpcGcpPeeringMap{ "key": VpcGcpPeeringArgs{...} }

type VpcGcpPeeringMapOutput added in v3.6.1

type VpcGcpPeeringMapOutput struct{ *pulumi.OutputState }

func (VpcGcpPeeringMapOutput) ElementType added in v3.6.1

func (VpcGcpPeeringMapOutput) ElementType() reflect.Type

func (VpcGcpPeeringMapOutput) MapIndex added in v3.6.1

func (VpcGcpPeeringMapOutput) ToVpcGcpPeeringMapOutput added in v3.6.1

func (o VpcGcpPeeringMapOutput) ToVpcGcpPeeringMapOutput() VpcGcpPeeringMapOutput

func (VpcGcpPeeringMapOutput) ToVpcGcpPeeringMapOutputWithContext added in v3.6.1

func (o VpcGcpPeeringMapOutput) ToVpcGcpPeeringMapOutputWithContext(ctx context.Context) VpcGcpPeeringMapOutput

type VpcGcpPeeringOutput added in v3.6.1

type VpcGcpPeeringOutput struct{ *pulumi.OutputState }

func (VpcGcpPeeringOutput) AutoCreateRoutes added in v3.9.1

func (o VpcGcpPeeringOutput) AutoCreateRoutes() pulumi.BoolOutput

VPC peering auto created routes

func (VpcGcpPeeringOutput) ElementType added in v3.6.1

func (VpcGcpPeeringOutput) ElementType() reflect.Type

func (VpcGcpPeeringOutput) InstanceId added in v3.9.1

func (o VpcGcpPeeringOutput) InstanceId() pulumi.IntPtrOutput

The CloudAMQP instance identifier. *Deprecated from v1.16.0*

func (VpcGcpPeeringOutput) PeerNetworkUri added in v3.9.1

func (o VpcGcpPeeringOutput) PeerNetworkUri() pulumi.StringOutput

Network uri of the VPC network to which you will peer with.

func (VpcGcpPeeringOutput) Sleep added in v3.17.0

Configurable sleep time (seconds) between retries when requesting or reading peering. Default set to 10 seconds. *Available from v1.29.0*

func (VpcGcpPeeringOutput) State added in v3.9.1

VPC peering state

func (VpcGcpPeeringOutput) StateDetails added in v3.9.1

func (o VpcGcpPeeringOutput) StateDetails() pulumi.StringOutput

VPC peering state details

func (VpcGcpPeeringOutput) Timeout added in v3.17.0

Configurable timeout time (seconds) before retries times out. Default set to 1800 seconds. *Available from v1.29.0*

func (VpcGcpPeeringOutput) ToVpcGcpPeeringOutput added in v3.6.1

func (o VpcGcpPeeringOutput) ToVpcGcpPeeringOutput() VpcGcpPeeringOutput

func (VpcGcpPeeringOutput) ToVpcGcpPeeringOutputWithContext added in v3.6.1

func (o VpcGcpPeeringOutput) ToVpcGcpPeeringOutputWithContext(ctx context.Context) VpcGcpPeeringOutput

func (VpcGcpPeeringOutput) VpcId added in v3.9.1

The managed VPC identifier. *Available from v1.16.0*

func (VpcGcpPeeringOutput) WaitOnPeeringStatus added in v3.16.0

func (o VpcGcpPeeringOutput) WaitOnPeeringStatus() pulumi.BoolPtrOutput

Makes the resource wait until the peering is connected. Default set to false. *Available from v1.28.0*

type VpcGcpPeeringState added in v3.6.1

type VpcGcpPeeringState struct {
	// VPC peering auto created routes
	AutoCreateRoutes pulumi.BoolPtrInput
	// The CloudAMQP instance identifier. *Deprecated from v1.16.0*
	InstanceId pulumi.IntPtrInput
	// Network uri of the VPC network to which you will peer with.
	PeerNetworkUri pulumi.StringPtrInput
	// Configurable sleep time (seconds) between retries when requesting or reading
	// peering. Default set to 10 seconds. *Available from v1.29.0*
	Sleep pulumi.IntPtrInput
	// VPC peering state
	State pulumi.StringPtrInput
	// VPC peering state details
	StateDetails pulumi.StringPtrInput
	// Configurable timeout time (seconds) before retries times out. Default set
	// to 1800 seconds. *Available from v1.29.0*
	Timeout pulumi.IntPtrInput
	// The managed VPC identifier. *Available from v1.16.0*
	VpcId pulumi.StringPtrInput
	// Makes the resource wait until the peering is connected.
	// Default set to false. *Available from v1.28.0*
	WaitOnPeeringStatus pulumi.BoolPtrInput
}

func (VpcGcpPeeringState) ElementType added in v3.6.1

func (VpcGcpPeeringState) ElementType() reflect.Type

type VpcInput added in v3.7.0

type VpcInput interface {
	pulumi.Input

	ToVpcOutput() VpcOutput
	ToVpcOutputWithContext(ctx context.Context) VpcOutput
}

type VpcMap added in v3.7.0

type VpcMap map[string]VpcInput

func (VpcMap) ElementType added in v3.7.0

func (VpcMap) ElementType() reflect.Type

func (VpcMap) ToVpcMapOutput added in v3.7.0

func (i VpcMap) ToVpcMapOutput() VpcMapOutput

func (VpcMap) ToVpcMapOutputWithContext added in v3.7.0

func (i VpcMap) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput

type VpcMapInput added in v3.7.0

type VpcMapInput interface {
	pulumi.Input

	ToVpcMapOutput() VpcMapOutput
	ToVpcMapOutputWithContext(context.Context) VpcMapOutput
}

VpcMapInput is an input type that accepts VpcMap and VpcMapOutput values. You can construct a concrete instance of `VpcMapInput` via:

VpcMap{ "key": VpcArgs{...} }

type VpcMapOutput added in v3.7.0

type VpcMapOutput struct{ *pulumi.OutputState }

func (VpcMapOutput) ElementType added in v3.7.0

func (VpcMapOutput) ElementType() reflect.Type

func (VpcMapOutput) MapIndex added in v3.7.0

func (o VpcMapOutput) MapIndex(k pulumi.StringInput) VpcOutput

func (VpcMapOutput) ToVpcMapOutput added in v3.7.0

func (o VpcMapOutput) ToVpcMapOutput() VpcMapOutput

func (VpcMapOutput) ToVpcMapOutputWithContext added in v3.7.0

func (o VpcMapOutput) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput

type VpcOutput added in v3.7.0

type VpcOutput struct{ *pulumi.OutputState }

func (VpcOutput) ElementType added in v3.7.0

func (VpcOutput) ElementType() reflect.Type

func (VpcOutput) Name added in v3.9.1

func (o VpcOutput) Name() pulumi.StringOutput

The name of the VPC.

func (VpcOutput) Region added in v3.9.1

func (o VpcOutput) Region() pulumi.StringOutput

The hosted region for the managed standalone VPC

func (VpcOutput) Subnet added in v3.9.1

func (o VpcOutput) Subnet() pulumi.StringOutput

The VPC subnet

func (VpcOutput) Tags added in v3.9.1

Tag the VPC with optional tags

func (VpcOutput) ToVpcOutput added in v3.7.0

func (o VpcOutput) ToVpcOutput() VpcOutput

func (VpcOutput) ToVpcOutputWithContext added in v3.7.0

func (o VpcOutput) ToVpcOutputWithContext(ctx context.Context) VpcOutput

func (VpcOutput) VpcName added in v3.9.1

func (o VpcOutput) VpcName() pulumi.StringOutput

VPC name given when hosted at the cloud provider

type VpcPeering

type VpcPeering struct {
	pulumi.CustomResourceState

	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0, will be removed in next major version (v2.0)***
	InstanceId pulumi.IntPtrOutput `pulumi:"instanceId"`
	// Peering identifier created by AW peering request.
	PeeringId pulumi.StringOutput `pulumi:"peeringId"`
	// Configurable sleep time (seconds) between retries for accepting or removing peering. Default set to 60 seconds.
	Sleep pulumi.IntPtrOutput `pulumi:"sleep"`
	// VPC peering status
	Status pulumi.StringOutput `pulumi:"status"`
	// Configurable timeout time (seconds) for accepting or removing peering. Default set to 3600 seconds.
	Timeout pulumi.IntPtrOutput `pulumi:"timeout"`
	// The managed VPC identifier.
	//
	// ***Note: Introduced as optional in version v1.16.0, will be required in next major version (v2.0)***
	VpcId pulumi.StringPtrOutput `pulumi:"vpcId"`
}

## Import

Not possible to import this resource.

func GetVpcPeering

func GetVpcPeering(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcPeeringState, opts ...pulumi.ResourceOption) (*VpcPeering, error)

GetVpcPeering gets an existing VpcPeering 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 NewVpcPeering

func NewVpcPeering(ctx *pulumi.Context,
	name string, args *VpcPeeringArgs, opts ...pulumi.ResourceOption) (*VpcPeering, error)

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

func (*VpcPeering) ElementType

func (*VpcPeering) ElementType() reflect.Type

func (*VpcPeering) ToVpcPeeringOutput

func (i *VpcPeering) ToVpcPeeringOutput() VpcPeeringOutput

func (*VpcPeering) ToVpcPeeringOutputWithContext

func (i *VpcPeering) ToVpcPeeringOutputWithContext(ctx context.Context) VpcPeeringOutput

type VpcPeeringArgs

type VpcPeeringArgs struct {
	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0, will be removed in next major version (v2.0)***
	InstanceId pulumi.IntPtrInput
	// Peering identifier created by AW peering request.
	PeeringId pulumi.StringInput
	// Configurable sleep time (seconds) between retries for accepting or removing peering. Default set to 60 seconds.
	Sleep pulumi.IntPtrInput
	// Configurable timeout time (seconds) for accepting or removing peering. Default set to 3600 seconds.
	Timeout pulumi.IntPtrInput
	// The managed VPC identifier.
	//
	// ***Note: Introduced as optional in version v1.16.0, will be required in next major version (v2.0)***
	VpcId pulumi.StringPtrInput
}

The set of arguments for constructing a VpcPeering resource.

func (VpcPeeringArgs) ElementType

func (VpcPeeringArgs) ElementType() reflect.Type

type VpcPeeringArray

type VpcPeeringArray []VpcPeeringInput

func (VpcPeeringArray) ElementType

func (VpcPeeringArray) ElementType() reflect.Type

func (VpcPeeringArray) ToVpcPeeringArrayOutput

func (i VpcPeeringArray) ToVpcPeeringArrayOutput() VpcPeeringArrayOutput

func (VpcPeeringArray) ToVpcPeeringArrayOutputWithContext

func (i VpcPeeringArray) ToVpcPeeringArrayOutputWithContext(ctx context.Context) VpcPeeringArrayOutput

type VpcPeeringArrayInput

type VpcPeeringArrayInput interface {
	pulumi.Input

	ToVpcPeeringArrayOutput() VpcPeeringArrayOutput
	ToVpcPeeringArrayOutputWithContext(context.Context) VpcPeeringArrayOutput
}

VpcPeeringArrayInput is an input type that accepts VpcPeeringArray and VpcPeeringArrayOutput values. You can construct a concrete instance of `VpcPeeringArrayInput` via:

VpcPeeringArray{ VpcPeeringArgs{...} }

type VpcPeeringArrayOutput

type VpcPeeringArrayOutput struct{ *pulumi.OutputState }

func (VpcPeeringArrayOutput) ElementType

func (VpcPeeringArrayOutput) ElementType() reflect.Type

func (VpcPeeringArrayOutput) Index

func (VpcPeeringArrayOutput) ToVpcPeeringArrayOutput

func (o VpcPeeringArrayOutput) ToVpcPeeringArrayOutput() VpcPeeringArrayOutput

func (VpcPeeringArrayOutput) ToVpcPeeringArrayOutputWithContext

func (o VpcPeeringArrayOutput) ToVpcPeeringArrayOutputWithContext(ctx context.Context) VpcPeeringArrayOutput

type VpcPeeringInput

type VpcPeeringInput interface {
	pulumi.Input

	ToVpcPeeringOutput() VpcPeeringOutput
	ToVpcPeeringOutputWithContext(ctx context.Context) VpcPeeringOutput
}

type VpcPeeringMap

type VpcPeeringMap map[string]VpcPeeringInput

func (VpcPeeringMap) ElementType

func (VpcPeeringMap) ElementType() reflect.Type

func (VpcPeeringMap) ToVpcPeeringMapOutput

func (i VpcPeeringMap) ToVpcPeeringMapOutput() VpcPeeringMapOutput

func (VpcPeeringMap) ToVpcPeeringMapOutputWithContext

func (i VpcPeeringMap) ToVpcPeeringMapOutputWithContext(ctx context.Context) VpcPeeringMapOutput

type VpcPeeringMapInput

type VpcPeeringMapInput interface {
	pulumi.Input

	ToVpcPeeringMapOutput() VpcPeeringMapOutput
	ToVpcPeeringMapOutputWithContext(context.Context) VpcPeeringMapOutput
}

VpcPeeringMapInput is an input type that accepts VpcPeeringMap and VpcPeeringMapOutput values. You can construct a concrete instance of `VpcPeeringMapInput` via:

VpcPeeringMap{ "key": VpcPeeringArgs{...} }

type VpcPeeringMapOutput

type VpcPeeringMapOutput struct{ *pulumi.OutputState }

func (VpcPeeringMapOutput) ElementType

func (VpcPeeringMapOutput) ElementType() reflect.Type

func (VpcPeeringMapOutput) MapIndex

func (VpcPeeringMapOutput) ToVpcPeeringMapOutput

func (o VpcPeeringMapOutput) ToVpcPeeringMapOutput() VpcPeeringMapOutput

func (VpcPeeringMapOutput) ToVpcPeeringMapOutputWithContext

func (o VpcPeeringMapOutput) ToVpcPeeringMapOutputWithContext(ctx context.Context) VpcPeeringMapOutput

type VpcPeeringOutput

type VpcPeeringOutput struct{ *pulumi.OutputState }

func (VpcPeeringOutput) ElementType

func (VpcPeeringOutput) ElementType() reflect.Type

func (VpcPeeringOutput) InstanceId added in v3.9.1

func (o VpcPeeringOutput) InstanceId() pulumi.IntPtrOutput

The CloudAMQP instance identifier.

***Deprecated: Changed from required to optional in v1.16.0, will be removed in next major version (v2.0)***

func (VpcPeeringOutput) PeeringId added in v3.9.1

func (o VpcPeeringOutput) PeeringId() pulumi.StringOutput

Peering identifier created by AW peering request.

func (VpcPeeringOutput) Sleep added in v3.9.1

Configurable sleep time (seconds) between retries for accepting or removing peering. Default set to 60 seconds.

func (VpcPeeringOutput) Status added in v3.9.1

VPC peering status

func (VpcPeeringOutput) Timeout added in v3.9.1

func (o VpcPeeringOutput) Timeout() pulumi.IntPtrOutput

Configurable timeout time (seconds) for accepting or removing peering. Default set to 3600 seconds.

func (VpcPeeringOutput) ToVpcPeeringOutput

func (o VpcPeeringOutput) ToVpcPeeringOutput() VpcPeeringOutput

func (VpcPeeringOutput) ToVpcPeeringOutputWithContext

func (o VpcPeeringOutput) ToVpcPeeringOutputWithContext(ctx context.Context) VpcPeeringOutput

func (VpcPeeringOutput) VpcId added in v3.9.1

The managed VPC identifier.

***Note: Introduced as optional in version v1.16.0, will be required in next major version (v2.0)***

type VpcPeeringState

type VpcPeeringState struct {
	// The CloudAMQP instance identifier.
	//
	// ***Deprecated: Changed from required to optional in v1.16.0, will be removed in next major version (v2.0)***
	InstanceId pulumi.IntPtrInput
	// Peering identifier created by AW peering request.
	PeeringId pulumi.StringPtrInput
	// Configurable sleep time (seconds) between retries for accepting or removing peering. Default set to 60 seconds.
	Sleep pulumi.IntPtrInput
	// VPC peering status
	Status pulumi.StringPtrInput
	// Configurable timeout time (seconds) for accepting or removing peering. Default set to 3600 seconds.
	Timeout pulumi.IntPtrInput
	// The managed VPC identifier.
	//
	// ***Note: Introduced as optional in version v1.16.0, will be required in next major version (v2.0)***
	VpcId pulumi.StringPtrInput
}

func (VpcPeeringState) ElementType

func (VpcPeeringState) ElementType() reflect.Type

type VpcState added in v3.7.0

type VpcState struct {
	// The name of the VPC.
	Name pulumi.StringPtrInput
	// The hosted region for the managed standalone VPC
	Region pulumi.StringPtrInput
	// The VPC subnet
	Subnet pulumi.StringPtrInput
	// Tag the VPC with optional tags
	Tags pulumi.StringArrayInput
	// VPC name given when hosted at the cloud provider
	VpcName pulumi.StringPtrInput
}

func (VpcState) ElementType added in v3.7.0

func (VpcState) ElementType() reflect.Type

type Webhook

type Webhook struct {
	pulumi.CustomResourceState

	// Max simultaneous requests to the endpoint.
	Concurrency pulumi.IntOutput `pulumi:"concurrency"`
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntOutput `pulumi:"instanceId"`
	// A (durable) queue on your RabbitMQ instance.
	Queue pulumi.StringOutput `pulumi:"queue"`
	// How often we retry if your endpoint fails (in seconds).
	RetryInterval pulumi.IntOutput `pulumi:"retryInterval"`
	// The vhost the queue resides in.
	Vhost pulumi.StringOutput `pulumi:"vhost"`
	// A POST request will be made for each message in the queue to this endpoint.
	WebhookUri pulumi.StringOutput `pulumi:"webhookUri"`
}

This resource allows you to enable or disable webhooks for a specific vhost and queue.

Only available for dedicated subscription plans.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewWebhook(ctx, "webhookQueue", &cloudamqp.WebhookArgs{
			InstanceId:    pulumi.Any(cloudamqp_instance.Instance.Id),
			Vhost:         pulumi.String("myvhost"),
			Queue:         pulumi.String("webhook-queue"),
			WebhookUri:    pulumi.String("https://example.com/webhook?key=secret"),
			RetryInterval: pulumi.Int(5),
			Concurrency:   pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Dependency

This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.

## Import

`cloudamqp_webhook` can be imported using the resource identifier together with CloudAMQP instance identifier. The identifiers are CSV separated, see example below.

```sh $ pulumi import cloudamqp:index/webhook:Webhook webhook_queue <id>,<instance_id>` ```

func GetWebhook

func GetWebhook(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WebhookState, opts ...pulumi.ResourceOption) (*Webhook, error)

GetWebhook gets an existing Webhook 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 NewWebhook

func NewWebhook(ctx *pulumi.Context,
	name string, args *WebhookArgs, opts ...pulumi.ResourceOption) (*Webhook, error)

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

func (*Webhook) ElementType

func (*Webhook) ElementType() reflect.Type

func (*Webhook) ToWebhookOutput

func (i *Webhook) ToWebhookOutput() WebhookOutput

func (*Webhook) ToWebhookOutputWithContext

func (i *Webhook) ToWebhookOutputWithContext(ctx context.Context) WebhookOutput

type WebhookArgs

type WebhookArgs struct {
	// Max simultaneous requests to the endpoint.
	Concurrency pulumi.IntInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntInput
	// A (durable) queue on your RabbitMQ instance.
	Queue pulumi.StringInput
	// How often we retry if your endpoint fails (in seconds).
	RetryInterval pulumi.IntInput
	// The vhost the queue resides in.
	Vhost pulumi.StringInput
	// A POST request will be made for each message in the queue to this endpoint.
	WebhookUri pulumi.StringInput
}

The set of arguments for constructing a Webhook resource.

func (WebhookArgs) ElementType

func (WebhookArgs) ElementType() reflect.Type

type WebhookArray

type WebhookArray []WebhookInput

func (WebhookArray) ElementType

func (WebhookArray) ElementType() reflect.Type

func (WebhookArray) ToWebhookArrayOutput

func (i WebhookArray) ToWebhookArrayOutput() WebhookArrayOutput

func (WebhookArray) ToWebhookArrayOutputWithContext

func (i WebhookArray) ToWebhookArrayOutputWithContext(ctx context.Context) WebhookArrayOutput

type WebhookArrayInput

type WebhookArrayInput interface {
	pulumi.Input

	ToWebhookArrayOutput() WebhookArrayOutput
	ToWebhookArrayOutputWithContext(context.Context) WebhookArrayOutput
}

WebhookArrayInput is an input type that accepts WebhookArray and WebhookArrayOutput values. You can construct a concrete instance of `WebhookArrayInput` via:

WebhookArray{ WebhookArgs{...} }

type WebhookArrayOutput

type WebhookArrayOutput struct{ *pulumi.OutputState }

func (WebhookArrayOutput) ElementType

func (WebhookArrayOutput) ElementType() reflect.Type

func (WebhookArrayOutput) Index

func (WebhookArrayOutput) ToWebhookArrayOutput

func (o WebhookArrayOutput) ToWebhookArrayOutput() WebhookArrayOutput

func (WebhookArrayOutput) ToWebhookArrayOutputWithContext

func (o WebhookArrayOutput) ToWebhookArrayOutputWithContext(ctx context.Context) WebhookArrayOutput

type WebhookInput

type WebhookInput interface {
	pulumi.Input

	ToWebhookOutput() WebhookOutput
	ToWebhookOutputWithContext(ctx context.Context) WebhookOutput
}

type WebhookMap

type WebhookMap map[string]WebhookInput

func (WebhookMap) ElementType

func (WebhookMap) ElementType() reflect.Type

func (WebhookMap) ToWebhookMapOutput

func (i WebhookMap) ToWebhookMapOutput() WebhookMapOutput

func (WebhookMap) ToWebhookMapOutputWithContext

func (i WebhookMap) ToWebhookMapOutputWithContext(ctx context.Context) WebhookMapOutput

type WebhookMapInput

type WebhookMapInput interface {
	pulumi.Input

	ToWebhookMapOutput() WebhookMapOutput
	ToWebhookMapOutputWithContext(context.Context) WebhookMapOutput
}

WebhookMapInput is an input type that accepts WebhookMap and WebhookMapOutput values. You can construct a concrete instance of `WebhookMapInput` via:

WebhookMap{ "key": WebhookArgs{...} }

type WebhookMapOutput

type WebhookMapOutput struct{ *pulumi.OutputState }

func (WebhookMapOutput) ElementType

func (WebhookMapOutput) ElementType() reflect.Type

func (WebhookMapOutput) MapIndex

func (WebhookMapOutput) ToWebhookMapOutput

func (o WebhookMapOutput) ToWebhookMapOutput() WebhookMapOutput

func (WebhookMapOutput) ToWebhookMapOutputWithContext

func (o WebhookMapOutput) ToWebhookMapOutputWithContext(ctx context.Context) WebhookMapOutput

type WebhookOutput

type WebhookOutput struct{ *pulumi.OutputState }

func (WebhookOutput) Concurrency added in v3.9.1

func (o WebhookOutput) Concurrency() pulumi.IntOutput

Max simultaneous requests to the endpoint.

func (WebhookOutput) ElementType

func (WebhookOutput) ElementType() reflect.Type

func (WebhookOutput) InstanceId added in v3.9.1

func (o WebhookOutput) InstanceId() pulumi.IntOutput

The CloudAMQP instance ID.

func (WebhookOutput) Queue added in v3.9.1

func (o WebhookOutput) Queue() pulumi.StringOutput

A (durable) queue on your RabbitMQ instance.

func (WebhookOutput) RetryInterval added in v3.9.1

func (o WebhookOutput) RetryInterval() pulumi.IntOutput

How often we retry if your endpoint fails (in seconds).

func (WebhookOutput) ToWebhookOutput

func (o WebhookOutput) ToWebhookOutput() WebhookOutput

func (WebhookOutput) ToWebhookOutputWithContext

func (o WebhookOutput) ToWebhookOutputWithContext(ctx context.Context) WebhookOutput

func (WebhookOutput) Vhost added in v3.9.1

func (o WebhookOutput) Vhost() pulumi.StringOutput

The vhost the queue resides in.

func (WebhookOutput) WebhookUri added in v3.9.1

func (o WebhookOutput) WebhookUri() pulumi.StringOutput

A POST request will be made for each message in the queue to this endpoint.

type WebhookState

type WebhookState struct {
	// Max simultaneous requests to the endpoint.
	Concurrency pulumi.IntPtrInput
	// The CloudAMQP instance ID.
	InstanceId pulumi.IntPtrInput
	// A (durable) queue on your RabbitMQ instance.
	Queue pulumi.StringPtrInput
	// How often we retry if your endpoint fails (in seconds).
	RetryInterval pulumi.IntPtrInput
	// The vhost the queue resides in.
	Vhost pulumi.StringPtrInput
	// A POST request will be made for each message in the queue to this endpoint.
	WebhookUri pulumi.StringPtrInput
}

func (WebhookState) ElementType

func (WebhookState) ElementType() reflect.Type

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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