{"name":"cloudamqp","displayName":"CloudAMQP","version":"3.27.1","description":"A Pulumi package for creating and managing CloudAMQP resources.","keywords":["pulumi","cloudamqp"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`cloudamqp` Terraform Provider](https://github.com/cloudamqp/terraform-provider-cloudamqp).","repository":"https://github.com/pulumi/pulumi-cloudamqp","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"cloudamqp":"CloudAmqp"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing CloudAMQP resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/cloudamqp/terraform-provider-cloudamqp)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-cloudamqp` repo](https://github.com/pulumi/pulumi-cloudamqp/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-cloudamqp` repo](https://github.com/cloudamqp/terraform-provider-cloudamqp/issues).","devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/cloudamqp/terraform-provider-cloudamqp)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-cloudamqp` repo](https://github.com/pulumi/pulumi-cloudamqp/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-cloudamqp` repo](https://github.com/cloudamqp/terraform-provider-cloudamqp/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"apikey":{"type":"string","description":"Key used to authentication to the CloudAMQP Customer API"},"baseurl":{"type":"string","description":"Base URL to CloudAMQP Customer website"},"enableFasterInstanceDestroy":{"type":"boolean","description":"Skips destroying backend resources on 'terraform destroy'"}}},"types":{"cloudamqp:index/ExtraDiskSizeNode:ExtraDiskSizeNode":{"properties":{"additionalDiskSize":{"type":"integer","description":"Additional added disk size\n"},"diskSize":{"type":"integer","description":"Subscription plan disk size\n"},"name":{"type":"string","description":"Name of the node.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["additionalDiskSize","diskSize","name"]}}},"cloudamqp:index/InstanceCopySetting:InstanceCopySetting":{"properties":{"settings":{"type":"array","items":{"type":"string"},"description":"Array of one or more settings to be copied. Allowed values:\n[alarms, config, definitions, firewall, logs, metrics, plugins]\n\nSee more below, [copy settings].\n"},"subscriptionId":{"type":"string","description":"Instance identifier of the CloudAMQP instance to copy the settings\nfrom.\n"}},"type":"object","required":["settings","subscriptionId"]},"cloudamqp:index/IntegrationMetricPrometheusAzureMonitor:IntegrationMetricPrometheusAzureMonitor":{"properties":{"connectionString":{"type":"string","description":"Azure Application Insights Connection String for authentication.\n","secret":true}},"type":"object","required":["connectionString"]},"cloudamqp:index/IntegrationMetricPrometheusCloudwatchV3:IntegrationMetricPrometheusCloudwatchV3":{"properties":{"iamExternalId":{"type":"string","description":"AWS IAM external ID for role assumption.\n"},"iamRole":{"type":"string","description":"AWS IAM role ARN with PutMetricData permission for CloudWatch integration.\n"},"region":{"type":"string","description":"AWS region for CloudWatch metrics.\n"},"tags":{"type":"string","description":"Additional tags to attach to metrics. Format: `key=value,key2=value2`.\n"}},"type":"object","required":["iamExternalId","iamRole","region"]},"cloudamqp:index/IntegrationMetricPrometheusDatadogV3:IntegrationMetricPrometheusDatadogV3":{"properties":{"apiKey":{"type":"string","description":"Datadog API key for authentication.\n","secret":true},"rabbitmqDashboardMetricsFormat":{"type":"boolean","description":"Enable metric name transformation to match Datadog's RabbitMQ dashboard format. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Note:** This option is only available for RabbitMQ clusters, not LavinMQ clusters.\n"},"region":{"type":"string","description":"Datadog region code. Valid values: \u003cspan pulumi-lang-nodejs=\"`us1`\" pulumi-lang-dotnet=\"`Us1`\" pulumi-lang-go=\"`us1`\" pulumi-lang-python=\"`us1`\" pulumi-lang-yaml=\"`us1`\" pulumi-lang-java=\"`us1`\"\u003e`us1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`us3`\" pulumi-lang-dotnet=\"`Us3`\" pulumi-lang-go=\"`us3`\" pulumi-lang-python=\"`us3`\" pulumi-lang-yaml=\"`us3`\" pulumi-lang-java=\"`us3`\"\u003e`us3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`us5`\" pulumi-lang-dotnet=\"`Us5`\" pulumi-lang-go=\"`us5`\" pulumi-lang-python=\"`us5`\" pulumi-lang-yaml=\"`us5`\" pulumi-lang-java=\"`us5`\"\u003e`us5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eu1`\" pulumi-lang-dotnet=\"`Eu1`\" pulumi-lang-go=\"`eu1`\" pulumi-lang-python=\"`eu1`\" pulumi-lang-yaml=\"`eu1`\" pulumi-lang-java=\"`eu1`\"\u003e`eu1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ap2`\" pulumi-lang-dotnet=\"`Ap2`\" pulumi-lang-go=\"`ap2`\" pulumi-lang-python=\"`ap2`\" pulumi-lang-yaml=\"`ap2`\" pulumi-lang-java=\"`ap2`\"\u003e`ap2`\u003c/span\u003e.\n"},"tags":{"type":"string","description":"Additional tags to attach to metrics. Format: `key=value,key2=value2`.\n"}},"type":"object","required":["apiKey","region"]},"cloudamqp:index/IntegrationMetricPrometheusDynatrace:IntegrationMetricPrometheusDynatrace":{"properties":{"accessToken":{"type":"string","description":"Dynatrace access token with 'Ingest metrics' permission.\n","secret":true},"environmentId":{"type":"string","description":"Dynatrace environment ID.\n"},"tags":{"type":"string","description":"Additional tags to attach to metrics. Format: `key=value,key2=value2`.\n"}},"type":"object","required":["accessToken","environmentId"]},"cloudamqp:index/IntegrationMetricPrometheusNewrelicV3:IntegrationMetricPrometheusNewrelicV3":{"properties":{"apiKey":{"type":"string","description":"New Relic API key for authentication.\n","secret":true},"region":{"type":"string","description":"New Relic region code. Valid values: \u003cspan pulumi-lang-nodejs=\"`eu`\" pulumi-lang-dotnet=\"`Eu`\" pulumi-lang-go=\"`eu`\" pulumi-lang-python=\"`eu`\" pulumi-lang-yaml=\"`eu`\" pulumi-lang-java=\"`eu`\"\u003e`eu`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`us`\" pulumi-lang-dotnet=\"`Us`\" pulumi-lang-go=\"`us`\" pulumi-lang-python=\"`us`\" pulumi-lang-yaml=\"`us`\" pulumi-lang-java=\"`us`\"\u003e`us`\u003c/span\u003e.\n"},"tags":{"type":"string","description":"Additional tags to attach to metrics. Format: `key=value,key2=value2`.\n"}},"type":"object","required":["apiKey","region"]},"cloudamqp:index/IntegrationMetricPrometheusSplunkV2:IntegrationMetricPrometheusSplunkV2":{"properties":{"endpoint":{"type":"string","description":"Splunk HEC endpoint URL. Example: `https://your-instance-id.splunkcloud.com:8088/services/collector`.\n"},"tags":{"type":"string","description":"Additional tags to attach to metrics. Format: `key=value,key2=value2`.\n"},"token":{"type":"string","description":"Splunk HEC (HTTP Event Collector) token for authentication.\n","secret":true}},"type":"object","required":["endpoint","token"]},"cloudamqp:index/IntegrationMetricPrometheusStackdriverV2:IntegrationMetricPrometheusStackdriverV2":{"properties":{"clientEmail":{"type":"string","description":"Google service account client email (extracted from credentials file).\n"},"credentialsFile":{"type":"string","description":"Base64-encoded Google service account key JSON file with 'Monitoring Metric Writer' permission.\n","secret":true},"privateKey":{"type":"string","description":"Google service account private key (extracted from credentials file).\n","secret":true},"privateKeyId":{"type":"string","description":"Google service account private key ID (extracted from credentials file).\n","secret":true},"projectId":{"type":"string","description":"Google Cloud project ID (extracted from credentials file).\n"},"tags":{"type":"string","description":"Additional tags to attach to metrics. Format: `key=value,key2=value2`.\n\nThe following computed attributes are available:\n"}},"type":"object","required":["credentialsFile"],"language":{"nodejs":{"requiredOutputs":["clientEmail","credentialsFile","privateKey","privateKeyId","projectId"]}}},"cloudamqp:index/NotificationResponder:NotificationResponder":{"properties":{"id":{"type":"string","description":"Identifier in UUID format\n"},"name":{"type":"string","description":"Name of the responder\n"},"type":{"type":"string","description":"Type of responder. [\u003cspan pulumi-lang-nodejs=\"`team`\" pulumi-lang-dotnet=\"`Team`\" pulumi-lang-go=\"`team`\" pulumi-lang-python=\"`team`\" pulumi-lang-yaml=\"`team`\" pulumi-lang-java=\"`team`\"\u003e`team`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`escalation`\" pulumi-lang-dotnet=\"`Escalation`\" pulumi-lang-go=\"`escalation`\" pulumi-lang-python=\"`escalation`\" pulumi-lang-yaml=\"`escalation`\" pulumi-lang-java=\"`escalation`\"\u003e`escalation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e]\n"},"username":{"type":"string","description":"Username of the responder\n\nResponders of type \u003cspan pulumi-lang-nodejs=\"`team`\" pulumi-lang-dotnet=\"`Team`\" pulumi-lang-go=\"`team`\" pulumi-lang-python=\"`team`\" pulumi-lang-yaml=\"`team`\" pulumi-lang-java=\"`team`\"\u003e`team`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`escalation`\" pulumi-lang-dotnet=\"`Escalation`\" pulumi-lang-go=\"`escalation`\" pulumi-lang-python=\"`escalation`\" pulumi-lang-yaml=\"`escalation`\" pulumi-lang-java=\"`escalation`\"\u003e`escalation`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e can use either id or name.\nWhile \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e can use either id or username.\n"}},"type":"object","required":["type"]},"cloudamqp:index/SecurityFirewallRule:SecurityFirewallRule":{"properties":{"description":{"type":"string","description":"Description name of the rule. e.g. Default.\n\nPre-defined services for RabbitMQ:\n\n| Service name | Port  |\n|--------------|-------|\n| AMQP         | 5672  |\n| AMQPS        | 5671  |\n| HTTPS        | 443   |\n| MQTT         | 1883  |\n| MQTTS        | 8883  |\n| STOMP        | 61613 |\n| STOMPS       | 61614 |\n| STREAM       | 5552  |\n| STREAM_SSL   | 5551  |\n\nPre-defined services for LavinMQ:\n\n| Service name | Port  |\n|--------------|-------|\n| AMQP         | 5672  |\n| AMQPS        | 5671  |\n| HTTPS        | 443   |\n| MQTT         | 1883  |\n| MQTTS        | 8883  |\n"},"ip":{"type":"string","description":"CIDR address: IP address with CIDR notation (e.g. 10.56.72.0/24)\n"},"ports":{"type":"array","items":{"type":"integer"},"description":"Custom ports to be opened\n"},"services":{"type":"array","items":{"type":"string"},"description":"Pre-defined service ports, see table below\n"}},"type":"object","required":["ip"]},"cloudamqp:index/TrustStoreFile:TrustStoreFile":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/TrustStoreFileCertificate:TrustStoreFileCertificate"},"description":"A list of certificate blocks (1-100 certificates). Each\ncertificate block contains:\n"}},"type":"object"},"cloudamqp:index/TrustStoreFileCertificate:TrustStoreFileCertificate":{"properties":{"content":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPEM-encoded x.509 formatted leaf certificate content.\n\nUpdates require incrementing \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e or changing \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e.\n","secret":true},"name":{"type":"string","description":"A unique identifier for the certificate.\n"}},"type":"object"},"cloudamqp:index/TrustStoreHttp:TrustStoreHttp":{"properties":{"cacert":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPEM-encoded CA certificates used to verify the HTTPS connection to\nthe trust store URL. Updates require incrementing \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e or changing \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e.\n","secret":true},"url":{"type":"string","description":"URL to fetch trust store certificates from. RabbitMQ will periodically fetch\nCA certificates from this URL according to the \u003cspan pulumi-lang-nodejs=\"`refreshInterval`\" pulumi-lang-dotnet=\"`RefreshInterval`\" pulumi-lang-go=\"`refreshInterval`\" pulumi-lang-python=\"`refresh_interval`\" pulumi-lang-yaml=\"`refreshInterval`\" pulumi-lang-java=\"`refreshInterval`\"\u003e`refresh_interval`\u003c/span\u003e.\n"}},"type":"object"},"cloudamqp:index/getAccountInstance:getAccountInstance":{"properties":{"id":{"type":"integer","description":"The instance identifier.\n"},"name":{"type":"string","description":"The name of the instance.\n"},"plan":{"type":"string","description":"The subscription plan used for the instance.\n"},"region":{"type":"string","description":"The region were the instanece is located in.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Optional tags set for the instance.\n"}},"type":"object","required":["id","name","plan","region"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudamqp:index/getAccountVpcsVpc:getAccountVpcsVpc":{"properties":{"id":{"type":"integer","description":"The VPC identifier.\n"},"name":{"type":"string","description":"The VPC instance name.\n"},"region":{"type":"string","description":"The region the VPC is hosted in.\n"},"subnet":{"type":"string","description":"The VPC subnet.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Optional tags set for the VPC.\n"},"vpcName":{"type":"string","description":"VPC name given when hosted at the cloud provider.\n"}},"type":"object","required":["id","name","region","subnet","vpcName"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudamqp:index/getAlarmsAlarm:getAlarmsAlarm":{"properties":{"alarmId":{"type":"integer","description":"The alarm identifier.\n"},"enabled":{"type":"boolean","description":"Enable/disable status of the alarm.\n"},"messageType":{"type":"string","description":"Message type `(total, unacked, ready)` used by queue alarm type.\n"},"queueRegex":{"type":"string","description":"Regular expression for which queue to check.\n"},"recipients":{"type":"array","items":{"type":"integer"},"description":"Identifier for recipient to be notified.\n"},"reminderInterval":{"type":"integer","description":"The reminder interval (in seconds) to resend the alarm if not resolved.\nSet to 0 for no reminders.\n"},"timeThreshold":{"type":"integer","description":"The time interval (in seconds) the \u003cspan pulumi-lang-nodejs=\"`valueThreshold`\" pulumi-lang-dotnet=\"`ValueThreshold`\" pulumi-lang-go=\"`valueThreshold`\" pulumi-lang-python=\"`value_threshold`\" pulumi-lang-yaml=\"`valueThreshold`\" pulumi-lang-java=\"`valueThreshold`\"\u003e`value_threshold`\u003c/span\u003e should be active\nbefore trigger an alarm.\n"},"type":{"type":"string","description":"The alarm type to filter for. Supported\nalarm types.\n"},"valueCalculation":{"type":"string","description":"Disk value threshold calculation, `(fixed, percentage)` of disk space\nremaining.\n"},"valueThreshold":{"type":"integer","description":"The value threshold that triggers the alarm.\n"},"vhostRegex":{"type":"string","description":"Regular expression for which vhost to check\n"}},"type":"object","required":["enabled","messageType","queueRegex","recipients","reminderInterval","timeThreshold","valueThreshold","vhostRegex"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudamqp:index/getNodesNode:getNodesNode":{"properties":{"additionalDiskSize":{"type":"integer","description":"Additional added disk size\n"},"availabilityZone":{"type":"string","description":"Availability zone the node is hosted in.\n"},"configured":{"type":"boolean","description":"Is the node configured?\n"},"diskSize":{"type":"integer","description":"Subscription plan disk size\n"},"erlangVersion":{"type":"string","description":"Currently used Erlang version on the node.\n"},"hipe":{"type":"boolean","description":"Enable or disable High-performance Erlang.\n"},"hostname":{"type":"string","description":"External hostname assigned to the node.\n"},"hostnameInternal":{"type":"string","description":"Internal hostname assigned to the node.\n"},"name":{"type":"string","description":"Name of the node.\n"},"rabbitmqVersion":{"type":"string","description":"Currently configured Rabbit MQ version on the node.\n"},"running":{"type":"boolean","description":"Is the node running?\n"}},"type":"object","required":["additionalDiskSize","availabilityZone","configured","diskSize","erlangVersion","hipe","hostname","hostnameInternal","name","rabbitmqVersion","running"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudamqp:index/getNotificationsRecipient:getNotificationsRecipient":{"properties":{"name":{"type":"string","description":"The name of the recipient.\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Options argument (e.g. \u003cspan pulumi-lang-nodejs=\"`rk`\" pulumi-lang-dotnet=\"`Rk`\" pulumi-lang-go=\"`rk`\" pulumi-lang-python=\"`rk`\" pulumi-lang-yaml=\"`rk`\" pulumi-lang-java=\"`rk`\"\u003e`rk`\u003c/span\u003e used for VictorOps routing key).\n"},"recipientId":{"type":"integer","description":"The identifier for the recipient.\n"},"type":{"type":"string","description":"The type of the recipient.\n"},"value":{"type":"string","description":"The notification endpoint, where to send the notification.\n"}},"type":"object","required":["name","options","recipientId","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudamqp:index/getPluginsCommunityPlugin:getPluginsCommunityPlugin":{"properties":{"description":{"type":"string","description":"Description of what the plugin does.\n"},"name":{"type":"string","description":"The type of the recipient.\n"},"require":{"type":"string","description":"Min. required Rabbit MQ version to be used.\n"}},"type":"object","required":["description","name","require"],"language":{"nodejs":{"requiredInputs":[]}}},"cloudamqp:index/getPluginsPlugin:getPluginsPlugin":{"properties":{"description":{"type":"string","description":"Description of what the plugin does.\n"},"enabled":{"type":"boolean","description":"Enable or disable information for the plugin.\n"},"name":{"type":"string","description":"The type of the recipient.\n"},"version":{"type":"string","description":"Rabbit MQ version that the plugins are shipped with.\n"}},"type":"object","required":["description","enabled","name","version"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the cloudamqp package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"apikey":{"type":"string","description":"Key used to authentication to the CloudAMQP Customer API"},"baseurl":{"type":"string","description":"Base URL to CloudAMQP Customer website"},"enableFasterInstanceDestroy":{"type":"boolean","description":"Skips destroying backend resources on 'terraform destroy'"}},"inputProperties":{"apikey":{"type":"string","description":"Key used to authentication to the CloudAMQP Customer API"},"baseurl":{"type":"string","description":"Base URL to CloudAMQP Customer website"},"enableFasterInstanceDestroy":{"type":"boolean","description":"Skips destroying backend resources on 'terraform destroy'"}},"methods":{"terraformConfig":"pulumi:providers:cloudamqp/terraformConfig"}},"resources":{"cloudamqp:index/accountActions:AccountActions":{"properties":{"action":{"type":"string","description":"The action to perform on the node"},"instanceId":{"type":"integer","description":"Instance identifier"}},"required":["action","instanceId"],"inputProperties":{"action":{"type":"string","description":"The action to perform on the node"},"instanceId":{"type":"integer","description":"Instance identifier"}},"requiredInputs":["action","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountActions resources.\n","properties":{"action":{"type":"string","description":"The action to perform on the node"},"instanceId":{"type":"integer","description":"Instance identifier"}},"type":"object"}},"cloudamqp:index/alarm:Alarm":{"description":"This resource allows you to create and manage alarms to trigger based on a set of conditions. Once\ntriggerd a notification will be sent to the assigned recipients. When creating a new instance, there\nwill also be a set of default alarms (cpu, memory and disk) created. All default alarms uses the\ndefault recipient for notifications.\n\nBy setting \u003cspan pulumi-lang-nodejs=\"`noDefaultAlarms`\" pulumi-lang-dotnet=\"`NoDefaultAlarms`\" pulumi-lang-go=\"`noDefaultAlarms`\" pulumi-lang-python=\"`no_default_alarms`\" pulumi-lang-yaml=\"`noDefaultAlarms`\" pulumi-lang-java=\"`noDefaultAlarms`\"\u003e`no_default_alarms`\u003c/span\u003e to *true* in \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e. This will create the instance\nwithout default alarms and avoid the need to import them to get full control.\n\nAvailable for all subscription plans, but \u003cspan pulumi-lang-nodejs=\"`lemur`\" pulumi-lang-dotnet=\"`Lemur`\" pulumi-lang-go=\"`lemur`\" pulumi-lang-python=\"`lemur`\" pulumi-lang-yaml=\"`lemur`\" pulumi-lang-java=\"`lemur`\"\u003e`lemur`\u003c/span\u003eand \u003cspan pulumi-lang-nodejs=\"`tiger`\" pulumi-lang-dotnet=\"`Tiger`\" pulumi-lang-go=\"`tiger`\" pulumi-lang-python=\"`tiger`\" pulumi-lang-yaml=\"`tiger`\" pulumi-lang-java=\"`tiger`\"\u003e`tiger`\u003c/span\u003eare limited to fewer alarm types. The\nlimited types supported can be seen in the table below in [Alarm Type Reference].\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eBasic example of CPU and memory alarm\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// New recipient\nconst recipient01 = new cloudamqp.Notification(\"recipient_01\", {\n    instanceId: instance.id,\n    type: \"email\",\n    value: \"alarm@example.com\",\n    name: \"alarm\",\n});\n// New cpu alarm\nconst cpuAlarm = new cloudamqp.Alarm(\"cpu_alarm\", {\n    instanceId: instance.id,\n    type: \"cpu\",\n    enabled: true,\n    reminderInterval: 600,\n    valueThreshold: 95,\n    timeThreshold: 600,\n    recipients: [recipient01.id],\n});\n// New memory alarm\nconst memoryAlarm = new cloudamqp.Alarm(\"memory_alarm\", {\n    instanceId: instance.id,\n    type: \"memory\",\n    enabled: true,\n    reminderInterval: 600,\n    valueThreshold: 95,\n    timeThreshold: 600,\n    recipients: [recipient01.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# New recipient\nrecipient01 = cloudamqp.Notification(\"recipient_01\",\n    instance_id=instance[\"id\"],\n    type=\"email\",\n    value=\"alarm@example.com\",\n    name=\"alarm\")\n# New cpu alarm\ncpu_alarm = cloudamqp.Alarm(\"cpu_alarm\",\n    instance_id=instance[\"id\"],\n    type=\"cpu\",\n    enabled=True,\n    reminder_interval=600,\n    value_threshold=95,\n    time_threshold=600,\n    recipients=[recipient01.id])\n# New memory alarm\nmemory_alarm = cloudamqp.Alarm(\"memory_alarm\",\n    instance_id=instance[\"id\"],\n    type=\"memory\",\n    enabled=True,\n    reminder_interval=600,\n    value_threshold=95,\n    time_threshold=600,\n    recipients=[recipient01.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // New recipient\n    var recipient01 = new CloudAmqp.Notification(\"recipient_01\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"email\",\n        Value = \"alarm@example.com\",\n        Name = \"alarm\",\n    });\n\n    // New cpu alarm\n    var cpuAlarm = new CloudAmqp.Alarm(\"cpu_alarm\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"cpu\",\n        Enabled = true,\n        ReminderInterval = 600,\n        ValueThreshold = 95,\n        TimeThreshold = 600,\n        Recipients = new[]\n        {\n            recipient01.Id,\n        },\n    });\n\n    // New memory alarm\n    var memoryAlarm = new CloudAmqp.Alarm(\"memory_alarm\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"memory\",\n        Enabled = true,\n        ReminderInterval = 600,\n        ValueThreshold = 95,\n        TimeThreshold = 600,\n        Recipients = new[]\n        {\n            recipient01.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// New recipient\n\t\trecipient01, err := cloudamqp.NewNotification(ctx, \"recipient_01\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"email\"),\n\t\t\tValue:      pulumi.String(\"alarm@example.com\"),\n\t\t\tName:       pulumi.String(\"alarm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// New cpu alarm\n\t\t_, err = cloudamqp.NewAlarm(ctx, \"cpu_alarm\", \u0026cloudamqp.AlarmArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tType:             pulumi.String(\"cpu\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tReminderInterval: pulumi.Int(600),\n\t\t\tValueThreshold:   pulumi.Int(95),\n\t\t\tTimeThreshold:    pulumi.Int(600),\n\t\t\tRecipients: pulumi.IntArray{\n\t\t\t\trecipient01.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// New memory alarm\n\t\t_, err = cloudamqp.NewAlarm(ctx, \"memory_alarm\", \u0026cloudamqp.AlarmArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tType:             pulumi.String(\"memory\"),\n\t\t\tEnabled:          pulumi.Bool(true),\n\t\t\tReminderInterval: pulumi.Int(600),\n\t\t\tValueThreshold:   pulumi.Int(95),\n\t\t\tTimeThreshold:    pulumi.Int(600),\n\t\t\tRecipients: pulumi.IntArray{\n\t\t\t\trecipient01.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport com.pulumi.cloudamqp.Alarm;\nimport com.pulumi.cloudamqp.AlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // New recipient\n        var recipient01 = new Notification(\"recipient01\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"email\")\n            .value(\"alarm@example.com\")\n            .name(\"alarm\")\n            .build());\n\n        // New cpu alarm\n        var cpuAlarm = new Alarm(\"cpuAlarm\", AlarmArgs.builder()\n            .instanceId(instance.id())\n            .type(\"cpu\")\n            .enabled(true)\n            .reminderInterval(600)\n            .valueThreshold(95)\n            .timeThreshold(600)\n            .recipients(recipient01.id())\n            .build());\n\n        // New memory alarm\n        var memoryAlarm = new Alarm(\"memoryAlarm\", AlarmArgs.builder()\n            .instanceId(instance.id())\n            .type(\"memory\")\n            .enabled(true)\n            .reminderInterval(600)\n            .valueThreshold(95)\n            .timeThreshold(600)\n            .recipients(recipient01.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # New recipient\n  recipient01:\n    type: cloudamqp:Notification\n    name: recipient_01\n    properties:\n      instanceId: ${instance.id}\n      type: email\n      value: alarm@example.com\n      name: alarm\n  # New cpu alarm\n  cpuAlarm:\n    type: cloudamqp:Alarm\n    name: cpu_alarm\n    properties:\n      instanceId: ${instance.id}\n      type: cpu\n      enabled: true\n      reminderInterval: 600\n      valueThreshold: 95\n      timeThreshold: 600\n      recipients:\n        - ${recipient01.id}\n  # New memory alarm\n  memoryAlarm:\n    type: cloudamqp:Alarm\n    name: memory_alarm\n    properties:\n      instanceId: ${instance.id}\n      type: memory\n      enabled: true\n      reminderInterval: 600\n      valueThreshold: 95\n      timeThreshold: 600\n      recipients:\n        - ${recipient01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eManage notice alarm, available from\u003c/i\u003e\n      \u003ca href=\"https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.5\"\u003ev1.29.5\u003c/a\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nOnly one notice alarm can exists and cannot be created, instead the alarm resource will be updated.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// New recipient\nconst recipient01 = new cloudamqp.Notification(\"recipient_01\", {\n    instanceId: instance.id,\n    type: \"email\",\n    value: \"alarm@example.com\",\n    name: \"alarm\",\n});\n// Update existing notice alarm\nconst notice = new cloudamqp.Alarm(\"notice\", {\n    instanceId: instance.id,\n    type: \"notice\",\n    enabled: true,\n    recipients: [recipient01.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# New recipient\nrecipient01 = cloudamqp.Notification(\"recipient_01\",\n    instance_id=instance[\"id\"],\n    type=\"email\",\n    value=\"alarm@example.com\",\n    name=\"alarm\")\n# Update existing notice alarm\nnotice = cloudamqp.Alarm(\"notice\",\n    instance_id=instance[\"id\"],\n    type=\"notice\",\n    enabled=True,\n    recipients=[recipient01.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // New recipient\n    var recipient01 = new CloudAmqp.Notification(\"recipient_01\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"email\",\n        Value = \"alarm@example.com\",\n        Name = \"alarm\",\n    });\n\n    // Update existing notice alarm\n    var notice = new CloudAmqp.Alarm(\"notice\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"notice\",\n        Enabled = true,\n        Recipients = new[]\n        {\n            recipient01.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// New recipient\n\t\trecipient01, err := cloudamqp.NewNotification(ctx, \"recipient_01\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"email\"),\n\t\t\tValue:      pulumi.String(\"alarm@example.com\"),\n\t\t\tName:       pulumi.String(\"alarm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Update existing notice alarm\n\t\t_, err = cloudamqp.NewAlarm(ctx, \"notice\", \u0026cloudamqp.AlarmArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"notice\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\tRecipients: pulumi.IntArray{\n\t\t\t\trecipient01.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport com.pulumi.cloudamqp.Alarm;\nimport com.pulumi.cloudamqp.AlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // New recipient\n        var recipient01 = new Notification(\"recipient01\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"email\")\n            .value(\"alarm@example.com\")\n            .name(\"alarm\")\n            .build());\n\n        // Update existing notice alarm\n        var notice = new Alarm(\"notice\", AlarmArgs.builder()\n            .instanceId(instance.id())\n            .type(\"notice\")\n            .enabled(true)\n            .recipients(recipient01.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # New recipient\n  recipient01:\n    type: cloudamqp:Notification\n    name: recipient_01\n    properties:\n      instanceId: ${instance.id}\n      type: email\n      value: alarm@example.com\n      name: alarm\n  # Update existing notice alarm\n  notice:\n    type: cloudamqp:Alarm\n    properties:\n      instanceId: ${instance.id}\n      type: notice\n      enabled: true\n      recipients:\n        - ${recipient01.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Alarm type reference\n\nSupported alarm types: `cpu, memory, disk, queue, connection, flow, consumer, netsplit,\n  server_unreachable, notice`\n\nRequired arguments for all alarms: `instance_id, type, enabled`\u003cbr\u003e\nOptional argument for all alarms: `tags, queue_regex,\u003cspan pulumi-lang-nodejs=\" vhostRegex`\" pulumi-lang-dotnet=\" VhostRegex`\" pulumi-lang-go=\" vhostRegex`\" pulumi-lang-python=\" vhost_regex`\" pulumi-lang-yaml=\" vhostRegex`\" pulumi-lang-java=\" vhostRegex`\"\u003e vhost_regex`\u003c/span\u003e\n\n| Name | Type | Shared | Dedicated | Required arguments |\n| ---- | ---- | ---- | ---- | ---- |\n| CPU | cpu | - | \u0026#10004; | time_threshold,\u003cspan pulumi-lang-nodejs=\" valueThreshold \" pulumi-lang-dotnet=\" ValueThreshold \" pulumi-lang-go=\" valueThreshold \" pulumi-lang-python=\" value_threshold \" pulumi-lang-yaml=\" valueThreshold \" pulumi-lang-java=\" valueThreshold \"\u003e value_threshold \u003c/span\u003e|\n| Memory | memory | - | \u0026#10004;  | time_threshold,\u003cspan pulumi-lang-nodejs=\" valueThreshold \" pulumi-lang-dotnet=\" ValueThreshold \" pulumi-lang-go=\" valueThreshold \" pulumi-lang-python=\" value_threshold \" pulumi-lang-yaml=\" valueThreshold \" pulumi-lang-java=\" valueThreshold \"\u003e value_threshold \u003c/span\u003e|\n| Disk space | disk | - | \u0026#10004;  | time_threshold,\u003cspan pulumi-lang-nodejs=\" valueThreshold \" pulumi-lang-dotnet=\" ValueThreshold \" pulumi-lang-go=\" valueThreshold \" pulumi-lang-python=\" value_threshold \" pulumi-lang-yaml=\" valueThreshold \" pulumi-lang-java=\" valueThreshold \"\u003e value_threshold \u003c/span\u003e|\n| Queue | queue | \u0026#10004;  | \u0026#10004; | time_threshold, value_threshold, queue_regex, vhost_regex,\u003cspan pulumi-lang-nodejs=\" messageType \" pulumi-lang-dotnet=\" MessageType \" pulumi-lang-go=\" messageType \" pulumi-lang-python=\" message_type \" pulumi-lang-yaml=\" messageType \" pulumi-lang-java=\" messageType \"\u003e message_type \u003c/span\u003e|\n| Connection | connection | \u0026#10004; | \u0026#10004; | time_threshold,\u003cspan pulumi-lang-nodejs=\" valueThreshold \" pulumi-lang-dotnet=\" ValueThreshold \" pulumi-lang-go=\" valueThreshold \" pulumi-lang-python=\" value_threshold \" pulumi-lang-yaml=\" valueThreshold \" pulumi-lang-java=\" valueThreshold \"\u003e value_threshold \u003c/span\u003e|\n| Connection flow | flow | \u0026#10004; | \u0026#10004; | time_threshold,\u003cspan pulumi-lang-nodejs=\" valueThreshold \" pulumi-lang-dotnet=\" ValueThreshold \" pulumi-lang-go=\" valueThreshold \" pulumi-lang-python=\" value_threshold \" pulumi-lang-yaml=\" valueThreshold \" pulumi-lang-java=\" valueThreshold \"\u003e value_threshold \u003c/span\u003e|\n| Consumer | consumer | \u0026#10004; | \u0026#10004; | time_threshold, value_threshold, queue, vhost |\n| Netsplit | netsplit | - | \u0026#10004; |\u003cspan pulumi-lang-nodejs=\" timeThreshold \" pulumi-lang-dotnet=\" TimeThreshold \" pulumi-lang-go=\" timeThreshold \" pulumi-lang-python=\" time_threshold \" pulumi-lang-yaml=\" timeThreshold \" pulumi-lang-java=\" timeThreshold \"\u003e time_threshold \u003c/span\u003e|\n| Server unreachable |\u003cspan pulumi-lang-nodejs=\" serverUnreachable \" pulumi-lang-dotnet=\" ServerUnreachable \" pulumi-lang-go=\" serverUnreachable \" pulumi-lang-python=\" server_unreachable \" pulumi-lang-yaml=\" serverUnreachable \" pulumi-lang-java=\" serverUnreachable \"\u003e server_unreachable \u003c/span\u003e | - | \u0026#10004;  |\u003cspan pulumi-lang-nodejs=\" timeThreshold \" pulumi-lang-dotnet=\" TimeThreshold \" pulumi-lang-go=\" timeThreshold \" pulumi-lang-python=\" time_threshold \" pulumi-lang-yaml=\" timeThreshold \" pulumi-lang-java=\" timeThreshold \"\u003e time_threshold \u003c/span\u003e|\n| Notice | notice | \u0026#10004; | \u0026#10004; | |\n\n\u003cbr\u003e\n\n\u003e Notice alarm is manadatory! Only one can exists and cannot be deleted. Setting \u003cspan pulumi-lang-nodejs=\"`noDefaultAlarm`\" pulumi-lang-dotnet=\"`NoDefaultAlarm`\" pulumi-lang-go=\"`noDefaultAlarm`\" pulumi-lang-python=\"`no_default_alarm`\" pulumi-lang-yaml=\"`noDefaultAlarm`\" pulumi-lang-java=\"`noDefaultAlarm`\"\u003e`no_default_alarm`\u003c/span\u003e\nto true, will still create this alarm. See updated changes to [notice alarm] below.\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Notice alarm\n\nThere is a limitation for notice alarm in the API backend. This alarm is mandatory, multiple\nalarms cannot exists or be deleted.\n\nFrom provider version [v1.29.5] it's possible to manage the notice alarm and no longer needs to be\nimported. Just create the alarm resource as usually and it will be updated with given recipients.\nIf the alarm is deleted it will only be removed from the state file, but will still be enabled in\nthe backend.\n\n[Alarm Type Reference]: #alarm-type-reference\n[CloudAMQP API list alarms]: https://docs.cloudamqp.com/instance-api.html#tag/alarms/get/alarms\n[notice alarm]: #notice-alarm\n[v1.29.5]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.5\n\n","properties":{"enabled":{"type":"boolean","description":"Enable or disable the alarm to trigger.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"messageType":{"type":"string","description":"Message type `(total, unacked, ready)` used by queue alarm type.\n\nSpecific argument for \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e alarm\n"},"queueRegex":{"type":"string","description":"Regex for which queue to check.\n"},"recipients":{"type":"array","items":{"type":"integer"},"description":"Identifier for recipient to be notified. Leave empty to notify\nall recipients.\n"},"reminderInterval":{"type":"integer","description":"The reminder interval (in seconds) to resend the alarm if not\nresolved. Set to 0 for no reminders. The Default is 0.\n"},"timeThreshold":{"type":"integer","description":"The time interval (in seconds) the \u003cspan pulumi-lang-nodejs=\"`valueThreshold`\" pulumi-lang-dotnet=\"`ValueThreshold`\" pulumi-lang-go=\"`valueThreshold`\" pulumi-lang-python=\"`value_threshold`\" pulumi-lang-yaml=\"`valueThreshold`\" pulumi-lang-java=\"`valueThreshold`\"\u003e`value_threshold`\u003c/span\u003e should be\nactive before triggering an alarm.\n"},"type":{"type":"string","description":"The alarm type, see valid options below.\n"},"valueCalculation":{"type":"string","description":"Disk value threshold calculation, `fixed, percentage` of disk\nspace remaining.\n\nBased on alarm type, different arguments are flagged as required or optional.\n"},"valueThreshold":{"type":"integer","description":"The value to trigger the alarm for.\n"},"vhostRegex":{"type":"string","description":"Regex for which vhost to check\n"}},"required":["enabled","instanceId","recipients","type"],"inputProperties":{"enabled":{"type":"boolean","description":"Enable or disable the alarm to trigger.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"messageType":{"type":"string","description":"Message type `(total, unacked, ready)` used by queue alarm type.\n\nSpecific argument for \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e alarm\n"},"queueRegex":{"type":"string","description":"Regex for which queue to check.\n"},"recipients":{"type":"array","items":{"type":"integer"},"description":"Identifier for recipient to be notified. Leave empty to notify\nall recipients.\n"},"reminderInterval":{"type":"integer","description":"The reminder interval (in seconds) to resend the alarm if not\nresolved. Set to 0 for no reminders. The Default is 0.\n"},"timeThreshold":{"type":"integer","description":"The time interval (in seconds) the \u003cspan pulumi-lang-nodejs=\"`valueThreshold`\" pulumi-lang-dotnet=\"`ValueThreshold`\" pulumi-lang-go=\"`valueThreshold`\" pulumi-lang-python=\"`value_threshold`\" pulumi-lang-yaml=\"`valueThreshold`\" pulumi-lang-java=\"`valueThreshold`\"\u003e`value_threshold`\u003c/span\u003e should be\nactive before triggering an alarm.\n"},"type":{"type":"string","description":"The alarm type, see valid options below.\n"},"valueCalculation":{"type":"string","description":"Disk value threshold calculation, `fixed, percentage` of disk\nspace remaining.\n\nBased on alarm type, different arguments are flagged as required or optional.\n"},"valueThreshold":{"type":"integer","description":"The value to trigger the alarm for.\n"},"vhostRegex":{"type":"string","description":"Regex for which vhost to check\n"}},"requiredInputs":["enabled","instanceId","recipients","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Alarm resources.\n","properties":{"enabled":{"type":"boolean","description":"Enable or disable the alarm to trigger.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"messageType":{"type":"string","description":"Message type `(total, unacked, ready)` used by queue alarm type.\n\nSpecific argument for \u003cspan pulumi-lang-nodejs=\"`disk`\" pulumi-lang-dotnet=\"`Disk`\" pulumi-lang-go=\"`disk`\" pulumi-lang-python=\"`disk`\" pulumi-lang-yaml=\"`disk`\" pulumi-lang-java=\"`disk`\"\u003e`disk`\u003c/span\u003e alarm\n"},"queueRegex":{"type":"string","description":"Regex for which queue to check.\n"},"recipients":{"type":"array","items":{"type":"integer"},"description":"Identifier for recipient to be notified. Leave empty to notify\nall recipients.\n"},"reminderInterval":{"type":"integer","description":"The reminder interval (in seconds) to resend the alarm if not\nresolved. Set to 0 for no reminders. The Default is 0.\n"},"timeThreshold":{"type":"integer","description":"The time interval (in seconds) the \u003cspan pulumi-lang-nodejs=\"`valueThreshold`\" pulumi-lang-dotnet=\"`ValueThreshold`\" pulumi-lang-go=\"`valueThreshold`\" pulumi-lang-python=\"`value_threshold`\" pulumi-lang-yaml=\"`valueThreshold`\" pulumi-lang-java=\"`valueThreshold`\"\u003e`value_threshold`\u003c/span\u003e should be\nactive before triggering an alarm.\n"},"type":{"type":"string","description":"The alarm type, see valid options below.\n"},"valueCalculation":{"type":"string","description":"Disk value threshold calculation, `fixed, percentage` of disk\nspace remaining.\n\nBased on alarm type, different arguments are flagged as required or optional.\n"},"valueThreshold":{"type":"integer","description":"The value to trigger the alarm for.\n"},"vhostRegex":{"type":"string","description":"Regex for which vhost to check\n"}},"type":"object"}},"cloudamqp:index/customCertificate:CustomCertificate":{"description":"This resource allows you to upload a custom certificate to all servers in your cluster. Update is\nnot supported, all changes require replacement. \u003cspan pulumi-lang-nodejs=\"`ca`\" pulumi-lang-dotnet=\"`Ca`\" pulumi-lang-go=\"`ca`\" pulumi-lang-python=\"`ca`\" pulumi-lang-yaml=\"`ca`\" pulumi-lang-java=\"`ca`\"\u003e`ca`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cert`\" pulumi-lang-dotnet=\"`Cert`\" pulumi-lang-go=\"`cert`\" pulumi-lang-python=\"`cert`\" pulumi-lang-yaml=\"`cert`\" pulumi-lang-java=\"`cert`\"\u003e`cert`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\"\u003e`private_key`\u003c/span\u003e all use **WriteOnly**,\nmeaning no information is present in plan phase, logs or stored in the state for security purposes.\n\n\u003e **WARNING:** Please note that when uploading a custom certificate or restoring to default certificate,\nall current connections will be closed.\n\n\u003e **Note:** Destroying this resource will restore the cluster to use the default CloudAMQP certificate.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n","properties":{"ca":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded Certificate Authority (CA).\n","secret":true},"cert":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded server certificate.\n","secret":true},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"keyId":{"type":"string","description":"A string based argument to trigger force new (default: \"\").\n"},"privateKey":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded private key corresponding to the certificate.\n","secret":true},"sniHosts":{"type":"string","description":"A hostname (Server Name Indication) that this certificate applies to.\n"},"version":{"type":"integer","description":"An integer based argument to trigger force new (default: 1).\n"}},"required":["ca","cert","instanceId","keyId","privateKey","sniHosts","version"],"inputProperties":{"ca":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded Certificate Authority (CA).\n","secret":true},"cert":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded server certificate.\n","secret":true},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"keyId":{"type":"string","description":"A string based argument to trigger force new (default: \"\").\n"},"privateKey":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded private key corresponding to the certificate.\n","secret":true},"sniHosts":{"type":"string","description":"A hostname (Server Name Indication) that this certificate applies to.\n"},"version":{"type":"integer","description":"An integer based argument to trigger force new (default: 1).\n"}},"requiredInputs":["ca","cert","instanceId","privateKey","sniHosts"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomCertificate resources.\n","properties":{"ca":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded Certificate Authority (CA).\n","secret":true},"cert":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded server certificate.\n","secret":true},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"keyId":{"type":"string","description":"A string based argument to trigger force new (default: \"\").\n"},"privateKey":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe PEM-encoded private key corresponding to the certificate.\n","secret":true},"sniHosts":{"type":"string","description":"A hostname (Server Name Indication) that this certificate applies to.\n"},"version":{"type":"integer","description":"An integer based argument to trigger force new (default: 1).\n"}},"type":"object"}},"cloudamqp:index/customDomain:CustomDomain":{"description":"This resource allows you to configure and manage your custom domain for the CloudAMQP instance.\n\nAdding a custom domain to your instance will generate a TLS certificate from [Let's Encrypt], for\nthe given hostname, and install it on all servers in your cluster. The certificate will be\nautomatically renewed going forward.\n\n\u003e **WARNING:** Please note that when creating, changing or deleting the custom domain, the\nlisteners on your servers will be restarted in order to apply the changes. This will close your\ncurrent connections.\n\nYour custom domain name needs to point to your CloudAMQP hostname, preferably using a CNAME DNS\nrecord.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst settings = new cloudamqp.CustomDomain(\"settings\", {\n    instanceId: instance.id,\n    hostname: \"myname.mydomain\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nsettings = cloudamqp.CustomDomain(\"settings\",\n    instance_id=instance[\"id\"],\n    hostname=\"myname.mydomain\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var settings = new CloudAmqp.CustomDomain(\"settings\", new()\n    {\n        InstanceId = instance.Id,\n        Hostname = \"myname.mydomain\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewCustomDomain(ctx, \"settings\", \u0026cloudamqp.CustomDomainArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tHostname:   pulumi.String(\"myname.mydomain\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CustomDomain;\nimport com.pulumi.cloudamqp.CustomDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var settings = new CustomDomain(\"settings\", CustomDomainArgs.builder()\n            .instanceId(instance.id())\n            .hostname(\"myname.mydomain\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  settings:\n    type: cloudamqp:CustomDomain\n    properties:\n      instanceId: ${instance.id}\n      hostname: myname.mydomain\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n","properties":{"hostname":{"type":"string","description":"Your custom domain name.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for custom domain configuration"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for custom domain configuration"}},"required":["hostname","instanceId"],"inputProperties":{"hostname":{"type":"string","description":"Your custom domain name.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for custom domain configuration"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for custom domain configuration"}},"requiredInputs":["hostname","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering CustomDomain resources.\n","properties":{"hostname":{"type":"string","description":"Your custom domain name.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for custom domain configuration"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for custom domain configuration"}},"type":"object"}},"cloudamqp:index/extraDiskSize:ExtraDiskSize":{"description":"This resource allows you to resize the disk with additional storage capacity.\n\n***Before v1.25.0***: Only available for Amazon Web Services (AWS) without downtime.\n\n***From v1.25.0***: Google Compute Engine (GCE) and Azure available.\n\nIntroducing a new optional argument called \u003cspan pulumi-lang-nodejs=\"`allowDowntime`\" pulumi-lang-dotnet=\"`AllowDowntime`\" pulumi-lang-go=\"`allowDowntime`\" pulumi-lang-python=\"`allow_downtime`\" pulumi-lang-yaml=\"`allowDowntime`\" pulumi-lang-java=\"`allowDowntime`\"\u003e`allow_downtime`\u003c/span\u003e. Leaving it out or set it to false will\nproceed to try and resize the disk without downtime, available for *AWS*, *GCE* and *Azure*.\n\n\u003cspan pulumi-lang-nodejs=\"`allowDowntime`\" pulumi-lang-dotnet=\"`AllowDowntime`\" pulumi-lang-go=\"`allowDowntime`\" pulumi-lang-python=\"`allow_downtime`\" pulumi-lang-yaml=\"`allowDowntime`\" pulumi-lang-java=\"`allowDowntime`\"\u003e`allow_downtime`\u003c/span\u003e also makes it possible to circumvent the time rate limit or shrinking the disk.\n\n| Cloud Platform        | allow_downtime=false | allow_downtime=true           | Possible to resize |\n|-----------------------|----------------------|-------------------------------|--------------------|\n| amazon-web-services   | Expand current disk* | Try to expand, otherwise swap | Every 6 hour       |\n| google-compute-engine | Expand current disk* | Try to expand, otherwise swap | Every 4 hour       |\n| azure-arm             | Expand current disk* | Expand current disk           | No time rate limit |\n\n*Preferable method to use.\n\n\u003e **Note:** Due to restrictions from cloud providers, it's only possible to resize the disk after\nthe rate time limit. See `Possible to resize` column above for the different cloud platforms.\n\n\u003e **Note:** Shrinking the disk will always need to swap the old disk to a new one and require\n\u003cspan pulumi-lang-nodejs=\"`allowDowntime`\" pulumi-lang-dotnet=\"`AllowDowntime`\" pulumi-lang-go=\"`allowDowntime`\" pulumi-lang-python=\"`allow_downtime`\" pulumi-lang-yaml=\"`allowDowntime`\" pulumi-lang-java=\"`allowDowntime`\"\u003e`allow_downtime`\u003c/span\u003e set to *true*.\n\nPricing is available at [CloudAMQP] and only available for dedicated subscription plans.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS extra disk size (before v1.25.0)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Instance\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-2\",\n});\n// Resize disk with 25 extra GB\nconst resizeDisk = new cloudamqp.ExtraDiskSize(\"resize_disk\", {\n    instanceId: instance.id,\n    extraDiskSize: 25,\n});\n// Optional, refresh nodes info after disk resize by adding dependency\n// to cloudamqp_extra_disk_size.resize_disk resource\nconst nodes = instance.id.apply(id =\u003e cloudamqp.getNodesOutput({\n    instanceId: id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Instance\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-2\")\n# Resize disk with 25 extra GB\nresize_disk = cloudamqp.ExtraDiskSize(\"resize_disk\",\n    instance_id=instance.id,\n    extra_disk_size=25)\n# Optional, refresh nodes info after disk resize by adding dependency\n# to cloudamqp_extra_disk_size.resize_disk resource\nnodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Instance\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-2\",\n    });\n\n    // Resize disk with 25 extra GB\n    var resizeDisk = new CloudAmqp.ExtraDiskSize(\"resize_disk\", new()\n    {\n        InstanceId = instance.Id,\n        ExtraDiskSizeGb = 25,\n    });\n\n    // Optional, refresh nodes info after disk resize by adding dependency\n    // to cloudamqp_extra_disk_size.resize_disk resource\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Instance\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"Instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Resize disk with 25 extra GB\n\t\t_, err = cloudamqp.NewExtraDiskSize(ctx, \"resize_disk\", \u0026cloudamqp.ExtraDiskSizeArgs{\n\t\t\tInstanceId:    instance.ID(),\n\t\t\tExtraDiskSize: pulumi.Int(25),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optional, refresh nodes info after disk resize by adding dependency\n\t\t// to cloudamqp_extra_disk_size.resize_disk resource\n\t\t_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {\n\t\t\treturn cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\t\tInstanceId: id,\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetNodesResultOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.ExtraDiskSize;\nimport com.pulumi.cloudamqp.ExtraDiskSizeArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Instance\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-2\")\n            .build());\n\n        // Resize disk with 25 extra GB\n        var resizeDisk = new ExtraDiskSize(\"resizeDisk\", ExtraDiskSizeArgs.builder()\n            .instanceId(instance.id())\n            .extraDiskSize(25)\n            .build());\n\n        // Optional, refresh nodes info after disk resize by adding dependency\n        // to cloudamqp_extra_disk_size.resize_disk resource\n        final var nodes = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n    }\n}\n```\n```yaml\nresources:\n  # Instance\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance\n      plan: penguin-1\n      region: amazon-web-services::us-west-2\n  # Resize disk with 25 extra GB\n  resizeDisk:\n    type: cloudamqp:ExtraDiskSize\n    name: resize_disk\n    properties:\n      instanceId: ${instance.id}\n      extraDiskSize: 25\nvariables:\n  # Optional, refresh nodes info after disk resize by adding dependency\n  # to cloudamqp_extra_disk_size.resize_disk resource\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS extra disk size without downtime\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Instance\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-2\",\n});\n// Resize disk with 25 extra GB, without downtime\nconst resizeDisk = new cloudamqp.ExtraDiskSize(\"resize_disk\", {\n    instanceId: instance.id,\n    extraDiskSize: 25,\n});\n// Optional, refresh nodes info after disk resize by adding dependency\n// to cloudamqp_extra_disk_size.resize_disk resource\nconst nodes = instance.id.apply(id =\u003e cloudamqp.getNodesOutput({\n    instanceId: id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Instance\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-2\")\n# Resize disk with 25 extra GB, without downtime\nresize_disk = cloudamqp.ExtraDiskSize(\"resize_disk\",\n    instance_id=instance.id,\n    extra_disk_size=25)\n# Optional, refresh nodes info after disk resize by adding dependency\n# to cloudamqp_extra_disk_size.resize_disk resource\nnodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Instance\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-2\",\n    });\n\n    // Resize disk with 25 extra GB, without downtime\n    var resizeDisk = new CloudAmqp.ExtraDiskSize(\"resize_disk\", new()\n    {\n        InstanceId = instance.Id,\n        ExtraDiskSizeGb = 25,\n    });\n\n    // Optional, refresh nodes info after disk resize by adding dependency\n    // to cloudamqp_extra_disk_size.resize_disk resource\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Instance\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"Instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Resize disk with 25 extra GB, without downtime\n\t\t_, err = cloudamqp.NewExtraDiskSize(ctx, \"resize_disk\", \u0026cloudamqp.ExtraDiskSizeArgs{\n\t\t\tInstanceId:    instance.ID(),\n\t\t\tExtraDiskSize: pulumi.Int(25),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optional, refresh nodes info after disk resize by adding dependency\n\t\t// to cloudamqp_extra_disk_size.resize_disk resource\n\t\t_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {\n\t\t\treturn cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\t\tInstanceId: id,\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetNodesResultOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.ExtraDiskSize;\nimport com.pulumi.cloudamqp.ExtraDiskSizeArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Instance\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-2\")\n            .build());\n\n        // Resize disk with 25 extra GB, without downtime\n        var resizeDisk = new ExtraDiskSize(\"resizeDisk\", ExtraDiskSizeArgs.builder()\n            .instanceId(instance.id())\n            .extraDiskSize(25)\n            .build());\n\n        // Optional, refresh nodes info after disk resize by adding dependency\n        // to cloudamqp_extra_disk_size.resize_disk resource\n        final var nodes = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n    }\n}\n```\n```yaml\nresources:\n  # Instance\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance\n      plan: penguin-1\n      region: amazon-web-services::us-west-2\n  # Resize disk with 25 extra GB, without downtime\n  resizeDisk:\n    type: cloudamqp:ExtraDiskSize\n    name: resize_disk\n    properties:\n      instanceId: ${instance.id}\n      extraDiskSize: 25\nvariables:\n  # Optional, refresh nodes info after disk resize by adding dependency\n  # to cloudamqp_extra_disk_size.resize_disk resource\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eGCE extra disk size without downtime\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Instance\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance\",\n    plan: \"penguin-1\",\n    region: \"google-compute-engine::us-central1\",\n});\n// Resize disk with 25 extra GB, without downtime\nconst resizeDisk = new cloudamqp.ExtraDiskSize(\"resize_disk\", {\n    instanceId: instance.id,\n    extraDiskSize: 25,\n});\n// Optional, refresh nodes info after disk resize by adding dependency\n// to cloudamqp_extra_disk_size.resize_disk resource\nconst nodes = instance.id.apply(id =\u003e cloudamqp.getNodesOutput({\n    instanceId: id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Instance\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance\",\n    plan=\"penguin-1\",\n    region=\"google-compute-engine::us-central1\")\n# Resize disk with 25 extra GB, without downtime\nresize_disk = cloudamqp.ExtraDiskSize(\"resize_disk\",\n    instance_id=instance.id,\n    extra_disk_size=25)\n# Optional, refresh nodes info after disk resize by adding dependency\n# to cloudamqp_extra_disk_size.resize_disk resource\nnodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Instance\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance\",\n        Plan = \"penguin-1\",\n        Region = \"google-compute-engine::us-central1\",\n    });\n\n    // Resize disk with 25 extra GB, without downtime\n    var resizeDisk = new CloudAmqp.ExtraDiskSize(\"resize_disk\", new()\n    {\n        InstanceId = instance.Id,\n        ExtraDiskSizeGb = 25,\n    });\n\n    // Optional, refresh nodes info after disk resize by adding dependency\n    // to cloudamqp_extra_disk_size.resize_disk resource\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Instance\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"Instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"google-compute-engine::us-central1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Resize disk with 25 extra GB, without downtime\n\t\t_, err = cloudamqp.NewExtraDiskSize(ctx, \"resize_disk\", \u0026cloudamqp.ExtraDiskSizeArgs{\n\t\t\tInstanceId:    instance.ID(),\n\t\t\tExtraDiskSize: pulumi.Int(25),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optional, refresh nodes info after disk resize by adding dependency\n\t\t// to cloudamqp_extra_disk_size.resize_disk resource\n\t\t_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {\n\t\t\treturn cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\t\tInstanceId: id,\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetNodesResultOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.ExtraDiskSize;\nimport com.pulumi.cloudamqp.ExtraDiskSizeArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Instance\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance\")\n            .plan(\"penguin-1\")\n            .region(\"google-compute-engine::us-central1\")\n            .build());\n\n        // Resize disk with 25 extra GB, without downtime\n        var resizeDisk = new ExtraDiskSize(\"resizeDisk\", ExtraDiskSizeArgs.builder()\n            .instanceId(instance.id())\n            .extraDiskSize(25)\n            .build());\n\n        // Optional, refresh nodes info after disk resize by adding dependency\n        // to cloudamqp_extra_disk_size.resize_disk resource\n        final var nodes = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n    }\n}\n```\n```yaml\nresources:\n  # Instance\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance\n      plan: penguin-1\n      region: google-compute-engine::us-central1\n  # Resize disk with 25 extra GB, without downtime\n  resizeDisk:\n    type: cloudamqp:ExtraDiskSize\n    name: resize_disk\n    properties:\n      instanceId: ${instance.id}\n      extraDiskSize: 25\nvariables:\n  # Optional, refresh nodes info after disk resize by adding dependency\n  # to cloudamqp_extra_disk_size.resize_disk resource\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAzure extra disk size without downtime\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Instance\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance\",\n    plan: \"penguin-1\",\n    region: \"azure-arm::centralus\",\n});\n// Resize disk with 25 extra GB, with downtime\nconst resizeDisk = new cloudamqp.ExtraDiskSize(\"resize_disk\", {\n    instanceId: instance.id,\n    extraDiskSize: 25,\n});\n// Optional, refresh nodes info after disk resize by adding dependency\n// to cloudamqp_extra_disk_size.resize_disk resource\nconst nodes = instance.id.apply(id =\u003e cloudamqp.getNodesOutput({\n    instanceId: id,\n}));\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Instance\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance\",\n    plan=\"penguin-1\",\n    region=\"azure-arm::centralus\")\n# Resize disk with 25 extra GB, with downtime\nresize_disk = cloudamqp.ExtraDiskSize(\"resize_disk\",\n    instance_id=instance.id,\n    extra_disk_size=25)\n# Optional, refresh nodes info after disk resize by adding dependency\n# to cloudamqp_extra_disk_size.resize_disk resource\nnodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Instance\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance\",\n        Plan = \"penguin-1\",\n        Region = \"azure-arm::centralus\",\n    });\n\n    // Resize disk with 25 extra GB, with downtime\n    var resizeDisk = new CloudAmqp.ExtraDiskSize(\"resize_disk\", new()\n    {\n        InstanceId = instance.Id,\n        ExtraDiskSizeGb = 25,\n    });\n\n    // Optional, refresh nodes info after disk resize by adding dependency\n    // to cloudamqp_extra_disk_size.resize_disk resource\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Instance\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"Instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"azure-arm::centralus\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Resize disk with 25 extra GB, with downtime\n\t\t_, err = cloudamqp.NewExtraDiskSize(ctx, \"resize_disk\", \u0026cloudamqp.ExtraDiskSizeArgs{\n\t\t\tInstanceId:    instance.ID(),\n\t\t\tExtraDiskSize: pulumi.Int(25),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optional, refresh nodes info after disk resize by adding dependency\n\t\t// to cloudamqp_extra_disk_size.resize_disk resource\n\t\t_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {\n\t\t\treturn cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\t\tInstanceId: id,\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetNodesResultOutput)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.ExtraDiskSize;\nimport com.pulumi.cloudamqp.ExtraDiskSizeArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Instance\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance\")\n            .plan(\"penguin-1\")\n            .region(\"azure-arm::centralus\")\n            .build());\n\n        // Resize disk with 25 extra GB, with downtime\n        var resizeDisk = new ExtraDiskSize(\"resizeDisk\", ExtraDiskSizeArgs.builder()\n            .instanceId(instance.id())\n            .extraDiskSize(25)\n            .build());\n\n        // Optional, refresh nodes info after disk resize by adding dependency\n        // to cloudamqp_extra_disk_size.resize_disk resource\n        final var nodes = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n    }\n}\n```\n```yaml\nresources:\n  # Instance\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance\n      plan: penguin-1\n      region: azure-arm::centralus\n  # Resize disk with 25 extra GB, with downtime\n  resizeDisk:\n    type: cloudamqp:ExtraDiskSize\n    name: resize_disk\n    properties:\n      instanceId: ${instance.id}\n      extraDiskSize: 25\nvariables:\n  # Optional, refresh nodes info after disk resize by adding dependency\n  # to cloudamqp_extra_disk_size.resize_disk resource\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Import\n\nNot possible to import this resource.\n\n[CloudAMQP]: https://www.cloudamqp.com/\n[v1.25.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.25.0\n[v1.43.1]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.43.1\n\n","properties":{"allowDowntime":{"type":"boolean","description":"When resizing the disk, allow cluster downtime if necessary.\nDefault set to false.\n"},"extraDiskSize":{"type":"integer","description":"Extra disk size in GB. Supported values: 0, 25, 50, 100,\n250, 500, 1000, 2000\n","language":{"csharp":{"name":"ExtraDiskSizeGb"}}},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/ExtraDiskSizeNode:ExtraDiskSizeNode"},"description":"An array of node information. Each \u003cspan pulumi-lang-nodejs=\"`nodes`\" pulumi-lang-dotnet=\"`Nodes`\" pulumi-lang-go=\"`nodes`\" pulumi-lang-python=\"`nodes`\" pulumi-lang-yaml=\"`nodes`\" pulumi-lang-java=\"`nodes`\"\u003e`nodes`\u003c/span\u003e block consists of the fields documented below.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for resizing the\ndisk. Default set to 30 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for resizing the disk. Default\nset to 1800 seconds.\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`allowDowntime`\" pulumi-lang-dotnet=\"`AllowDowntime`\" pulumi-lang-go=\"`allowDowntime`\" pulumi-lang-python=\"`allow_downtime`\" pulumi-lang-yaml=\"`allowDowntime`\" pulumi-lang-java=\"`allowDowntime`\"\u003e`allow_downtime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sleep`\" pulumi-lang-dotnet=\"`Sleep`\" pulumi-lang-go=\"`sleep`\" pulumi-lang-python=\"`sleep`\" pulumi-lang-yaml=\"`sleep`\" pulumi-lang-java=\"`sleep`\"\u003e`sleep`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e only available from [v1.25.0].\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e was overridden to 3 hours starting from [v1.43.1]\n"}},"required":["extraDiskSize","instanceId","nodes"],"inputProperties":{"allowDowntime":{"type":"boolean","description":"When resizing the disk, allow cluster downtime if necessary.\nDefault set to false.\n"},"extraDiskSize":{"type":"integer","description":"Extra disk size in GB. Supported values: 0, 25, 50, 100,\n250, 500, 1000, 2000\n","language":{"csharp":{"name":"ExtraDiskSizeGb"}},"willReplaceOnChanges":true},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for resizing the\ndisk. Default set to 30 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for resizing the disk. Default\nset to 1800 seconds.\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`allowDowntime`\" pulumi-lang-dotnet=\"`AllowDowntime`\" pulumi-lang-go=\"`allowDowntime`\" pulumi-lang-python=\"`allow_downtime`\" pulumi-lang-yaml=\"`allowDowntime`\" pulumi-lang-java=\"`allowDowntime`\"\u003e`allow_downtime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sleep`\" pulumi-lang-dotnet=\"`Sleep`\" pulumi-lang-go=\"`sleep`\" pulumi-lang-python=\"`sleep`\" pulumi-lang-yaml=\"`sleep`\" pulumi-lang-java=\"`sleep`\"\u003e`sleep`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e only available from [v1.25.0].\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e was overridden to 3 hours starting from [v1.43.1]\n"}},"requiredInputs":["extraDiskSize","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering ExtraDiskSize resources.\n","properties":{"allowDowntime":{"type":"boolean","description":"When resizing the disk, allow cluster downtime if necessary.\nDefault set to false.\n"},"extraDiskSize":{"type":"integer","description":"Extra disk size in GB. Supported values: 0, 25, 50, 100,\n250, 500, 1000, 2000\n","language":{"csharp":{"name":"ExtraDiskSizeGb"}},"willReplaceOnChanges":true},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"nodes":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/ExtraDiskSizeNode:ExtraDiskSizeNode"},"description":"An array of node information. Each \u003cspan pulumi-lang-nodejs=\"`nodes`\" pulumi-lang-dotnet=\"`Nodes`\" pulumi-lang-go=\"`nodes`\" pulumi-lang-python=\"`nodes`\" pulumi-lang-yaml=\"`nodes`\" pulumi-lang-java=\"`nodes`\"\u003e`nodes`\u003c/span\u003e block consists of the fields documented below.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for resizing the\ndisk. Default set to 30 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for resizing the disk. Default\nset to 1800 seconds.\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`allowDowntime`\" pulumi-lang-dotnet=\"`AllowDowntime`\" pulumi-lang-go=\"`allowDowntime`\" pulumi-lang-python=\"`allow_downtime`\" pulumi-lang-yaml=\"`allowDowntime`\" pulumi-lang-java=\"`allowDowntime`\"\u003e`allow_downtime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sleep`\" pulumi-lang-dotnet=\"`Sleep`\" pulumi-lang-go=\"`sleep`\" pulumi-lang-python=\"`sleep`\" pulumi-lang-yaml=\"`sleep`\" pulumi-lang-java=\"`sleep`\"\u003e`sleep`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e only available from [v1.25.0].\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e was overridden to 3 hours starting from [v1.43.1]\n"}},"type":"object"}},"cloudamqp:index/instance:Instance":{"description":"This resource allows you to create and manage a CloudAMQP instance running either [**RabbitMQ**] or\n[**LavinMQ**] and can be deployed to multiple cloud platforms provider and regions, see\n[instance regions] for more information.\n\nOnce the instance is created it will be assigned a unique identifier. All other resources and data\nsources created for this instance needs to reference this unique instance identifier.\n\nPricing is available at [CloudAMQP plans].\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eShared and dedicated instances running LavinMQ\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Minimum free lemming instance running LavinMQ\nconst lemurInstance = new cloudamqp.Instance(\"lemur_instance\", {\n    name: \"cloudamqp-free-instance-01\",\n    plan: \"lemming\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"lavinmq\"],\n});\n// Minimum free lemur instance running RabbitMQ\nconst lemmingInstance = new cloudamqp.Instance(\"lemming_instance\", {\n    name: \"cloudamqp-free-instance-02\",\n    plan: \"lemur\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"rabbitmq\"],\n});\n// Dedicated penguin instance running LavinMQ\nconst penguinInstance = new cloudamqp.Instance(\"penguin_instance\", {\n    name: \"terraform-cloudamqp-instance-01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"lavinmq\"],\n});\n// Dedicated bunny instance running RabbitMQ\nconst bunnyInstance = new cloudamqp.Instance(\"bunny_instance\", {\n    name: \"terraform-cloudamqp-instance-02\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"rabbitmq\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Minimum free lemming instance running LavinMQ\nlemur_instance = cloudamqp.Instance(\"lemur_instance\",\n    name=\"cloudamqp-free-instance-01\",\n    plan=\"lemming\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"lavinmq\"])\n# Minimum free lemur instance running RabbitMQ\nlemming_instance = cloudamqp.Instance(\"lemming_instance\",\n    name=\"cloudamqp-free-instance-02\",\n    plan=\"lemur\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"rabbitmq\"])\n# Dedicated penguin instance running LavinMQ\npenguin_instance = cloudamqp.Instance(\"penguin_instance\",\n    name=\"terraform-cloudamqp-instance-01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"lavinmq\"])\n# Dedicated bunny instance running RabbitMQ\nbunny_instance = cloudamqp.Instance(\"bunny_instance\",\n    name=\"terraform-cloudamqp-instance-02\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"rabbitmq\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Minimum free lemming instance running LavinMQ\n    var lemurInstance = new CloudAmqp.Instance(\"lemur_instance\", new()\n    {\n        Name = \"cloudamqp-free-instance-01\",\n        Plan = \"lemming\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"lavinmq\",\n        },\n    });\n\n    // Minimum free lemur instance running RabbitMQ\n    var lemmingInstance = new CloudAmqp.Instance(\"lemming_instance\", new()\n    {\n        Name = \"cloudamqp-free-instance-02\",\n        Plan = \"lemur\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"rabbitmq\",\n        },\n    });\n\n    // Dedicated penguin instance running LavinMQ\n    var penguinInstance = new CloudAmqp.Instance(\"penguin_instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"lavinmq\",\n        },\n    });\n\n    // Dedicated bunny instance running RabbitMQ\n    var bunnyInstance = new CloudAmqp.Instance(\"bunny_instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-02\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"rabbitmq\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Minimum free lemming instance running LavinMQ\n\t\t_, err := cloudamqp.NewInstance(ctx, \"lemur_instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"cloudamqp-free-instance-01\"),\n\t\t\tPlan:   pulumi.String(\"lemming\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"lavinmq\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Minimum free lemur instance running RabbitMQ\n\t\t_, err = cloudamqp.NewInstance(ctx, \"lemming_instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"cloudamqp-free-instance-02\"),\n\t\t\tPlan:   pulumi.String(\"lemur\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rabbitmq\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Dedicated penguin instance running LavinMQ\n\t\t_, err = cloudamqp.NewInstance(ctx, \"penguin_instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance-01\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"lavinmq\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Dedicated bunny instance running RabbitMQ\n\t\t_, err = cloudamqp.NewInstance(ctx, \"bunny_instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance-02\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rabbitmq\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Minimum free lemming instance running LavinMQ\n        var lemurInstance = new Instance(\"lemurInstance\", InstanceArgs.builder()\n            .name(\"cloudamqp-free-instance-01\")\n            .plan(\"lemming\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"lavinmq\")\n            .build());\n\n        // Minimum free lemur instance running RabbitMQ\n        var lemmingInstance = new Instance(\"lemmingInstance\", InstanceArgs.builder()\n            .name(\"cloudamqp-free-instance-02\")\n            .plan(\"lemur\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"rabbitmq\")\n            .build());\n\n        // Dedicated penguin instance running LavinMQ\n        var penguinInstance = new Instance(\"penguinInstance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"lavinmq\")\n            .build());\n\n        // Dedicated bunny instance running RabbitMQ\n        var bunnyInstance = new Instance(\"bunnyInstance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-02\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"rabbitmq\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Minimum free lemming instance running LavinMQ\n  lemurInstance:\n    type: cloudamqp:Instance\n    name: lemur_instance\n    properties:\n      name: cloudamqp-free-instance-01\n      plan: lemming\n      region: amazon-web-services::us-west-1\n      tags:\n        - lavinmq\n  # Minimum free lemur instance running RabbitMQ\n  lemmingInstance:\n    type: cloudamqp:Instance\n    name: lemming_instance\n    properties:\n      name: cloudamqp-free-instance-02\n      plan: lemur\n      region: amazon-web-services::us-west-1\n      tags:\n        - rabbitmq\n  # Dedicated penguin instance running LavinMQ\n  penguinInstance:\n    type: cloudamqp:Instance\n    name: penguin_instance\n    properties:\n      name: terraform-cloudamqp-instance-01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - lavinmq\n  # Dedicated bunny instance running RabbitMQ\n  bunnyInstance:\n    type: cloudamqp:Instance\n    name: bunny_instance\n    properties:\n      name: terraform-cloudamqp-instance-02\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - rabbitmq\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eDedicated instance using attribute\u003cspan pulumi-lang-nodejs=\" vpcSubnet \" pulumi-lang-dotnet=\" VpcSubnet \" pulumi-lang-go=\" vpcSubnet \" pulumi-lang-python=\" vpc_subnet \" pulumi-lang-yaml=\" vpcSubnet \" pulumi-lang-java=\" vpcSubnet \"\u003e vpc_subnet \u003c/span\u003eto create VPC, before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-cloudamqp-instance\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n    vpcSubnet: \"10.56.72.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-cloudamqp-instance\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"],\n    vpc_subnet=\"10.56.72.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcSubnet = \"10.56.72.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .vpcSubnet(\"10.56.72.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-cloudamqp-instance\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n      vpcSubnet: 10.56.72.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003e\n        Dedicated instance using attribute\u003cspan pulumi-lang-nodejs=\" vpcSubnet \" pulumi-lang-dotnet=\" VpcSubnet \" pulumi-lang-go=\" vpcSubnet \" pulumi-lang-python=\" vpc_subnet \" pulumi-lang-yaml=\" vpcSubnet \" pulumi-lang-java=\" vpcSubnet \"\u003e vpc_subnet \u003c/span\u003eto create VPC and then import managed VPC,\n        from v1.16.0 (Managed VPC)\n      \u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Dedicated instance that also creates VPC\nconst instance01 = new cloudamqp.Instance(\"instance_01\", {\n    name: \"terraform-cloudamqp-instance-01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n    vpcSubnet: \"10.56.72.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Dedicated instance that also creates VPC\ninstance01 = cloudamqp.Instance(\"instance_01\",\n    name=\"terraform-cloudamqp-instance-01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"],\n    vpc_subnet=\"10.56.72.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Dedicated instance that also creates VPC\n    var instance01 = new CloudAmqp.Instance(\"instance_01\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcSubnet = \"10.56.72.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Dedicated instance that also creates VPC\n\t\t_, err := cloudamqp.NewInstance(ctx, \"instance_01\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance-01\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Dedicated instance that also creates VPC\n        var instance01 = new Instance(\"instance01\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .vpcSubnet(\"10.56.72.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Dedicated instance that also creates VPC\n  instance01:\n    type: cloudamqp:Instance\n    name: instance_01\n    properties:\n      name: terraform-cloudamqp-instance-01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n      vpcSubnet: 10.56.72.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nOnce the instance and the VPC are created, the VPC can be imported as managed VPC and added to the\nconfiguration file. Set attribute \u003cspan pulumi-lang-nodejs=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpc_id`\u003c/span\u003e to the managed VPC identifier. To keep the managed VPC\nwhen deleting the instance, set attribute \u003cspan pulumi-lang-nodejs=\"`keepAssociatedVpc`\" pulumi-lang-dotnet=\"`KeepAssociatedVpc`\" pulumi-lang-go=\"`keepAssociatedVpc`\" pulumi-lang-python=\"`keep_associated_vpc`\" pulumi-lang-yaml=\"`keepAssociatedVpc`\" pulumi-lang-java=\"`keepAssociatedVpc`\"\u003e`keep_associated_vpc`\u003c/span\u003e to true. For more information see\nguide [Managed VPC].\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Imported managed VPC\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"\u003cvpc-name\u003e\",\n    region: \"amazon-web-services::us-east-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\n// Add vpc_id and keep_associated_vpc attributes\nconst instance01 = new cloudamqp.Instance(\"instance_01\", {\n    name: \"terraform-cloudamqp-instance-01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Imported managed VPC\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"\u003cvpc-name\u003e\",\n    region=\"amazon-web-services::us-east-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\n# Add vpc_id and keep_associated_vpc attributes\ninstance01 = cloudamqp.Instance(\"instance_01\",\n    name=\"terraform-cloudamqp-instance-01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Imported managed VPC\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"\u003cvpc-name\u003e\",\n        Region = \"amazon-web-services::us-east-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    // Add vpc_id and keep_associated_vpc attributes\n    var instance01 = new CloudAmqp.Instance(\"instance_01\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Imported managed VPC\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"\u003cvpc-name\u003e\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Add vpc_id and keep_associated_vpc attributes\n\t\t_, err = cloudamqp.NewInstance(ctx, \"instance_01\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance-01\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Imported managed VPC\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"\u003cvpc-name\u003e\")\n            .region(\"amazon-web-services::us-east-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        // Add vpc_id and keep_associated_vpc attributes\n        var instance01 = new Instance(\"instance01\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Imported managed VPC\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: \u003cvpc-name\u003e\n      region: amazon-web-services::us-east-1\n      subnet: 10.56.72.0/24\n      tags: []\n  # Add vpc_id and keep_associated_vpc attributes\n  instance01:\n    type: cloudamqp:Instance\n    name: instance_01\n    properties:\n      name: terraform-cloudamqp-instance-01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eDedicated instances and managed VPC, from v1.16.0 (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Managed VPC\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"\u003cvpc-name\u003e\",\n    region: \"amazon-web-services::us-east-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\n// First instance added to managed VPC\nconst instance01 = new cloudamqp.Instance(\"instance_01\", {\n    name: \"terraform-cloudamqp-instance-01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\n// Second instance added to managed VPC\nconst instance02 = new cloudamqp.Instance(\"instance_02\", {\n    name: \"terraform-cloudamqp-instance-02\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Managed VPC\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"\u003cvpc-name\u003e\",\n    region=\"amazon-web-services::us-east-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\n# First instance added to managed VPC\ninstance01 = cloudamqp.Instance(\"instance_01\",\n    name=\"terraform-cloudamqp-instance-01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\n# Second instance added to managed VPC\ninstance02 = cloudamqp.Instance(\"instance_02\",\n    name=\"terraform-cloudamqp-instance-02\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Managed VPC\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"\u003cvpc-name\u003e\",\n        Region = \"amazon-web-services::us-east-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    // First instance added to managed VPC\n    var instance01 = new CloudAmqp.Instance(\"instance_01\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    // Second instance added to managed VPC\n    var instance02 = new CloudAmqp.Instance(\"instance_02\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-02\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Managed VPC\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"\u003cvpc-name\u003e\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// First instance added to managed VPC\n\t\t_, err = cloudamqp.NewInstance(ctx, \"instance_01\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance-01\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Second instance added to managed VPC\n\t\t_, err = cloudamqp.NewInstance(ctx, \"instance_02\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance-02\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Managed VPC\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"\u003cvpc-name\u003e\")\n            .region(\"amazon-web-services::us-east-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        // First instance added to managed VPC\n        var instance01 = new Instance(\"instance01\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        // Second instance added to managed VPC\n        var instance02 = new Instance(\"instance02\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-02\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Managed VPC\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: \u003cvpc-name\u003e\n      region: amazon-web-services::us-east-1\n      subnet: 10.56.72.0/24\n      tags: []\n  # First instance added to managed VPC\n  instance01:\n    type: cloudamqp:Instance\n    name: instance_01\n    properties:\n      name: terraform-cloudamqp-instance-01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  # Second instance added to managed VPC\n  instance02:\n    type: cloudamqp:Instance\n    name: instance_02\n    properties:\n      name: terraform-cloudamqp-instance-02\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nSet attribute \u003cspan pulumi-lang-nodejs=\"`keepAssociatedVpc`\" pulumi-lang-dotnet=\"`KeepAssociatedVpc`\" pulumi-lang-go=\"`keepAssociatedVpc`\" pulumi-lang-python=\"`keep_associated_vpc`\" pulumi-lang-yaml=\"`keepAssociatedVpc`\" pulumi-lang-java=\"`keepAssociatedVpc`\"\u003e`keep_associated_vpc`\u003c/span\u003e to true, will keep managed VPC when deleting the instances.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eDedicated instance with preferred AZs\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-cloudamqp-instance\",\n    plan: \"penguin-3\",\n    region: \"amazon-web-services::us-east-1\",\n    tags: [\"terraform\"],\n    preferredAzs: [\n        \"use1-az1\",\n        \"use1-az2\",\n        \"use1-az3\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-cloudamqp-instance\",\n    plan=\"penguin-3\",\n    region=\"amazon-web-services::us-east-1\",\n    tags=[\"terraform\"],\n    preferred_azs=[\n        \"use1-az1\",\n        \"use1-az2\",\n        \"use1-az3\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance\",\n        Plan = \"penguin-3\",\n        Region = \"amazon-web-services::us-east-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        PreferredAzs = new[]\n        {\n            \"use1-az1\",\n            \"use1-az2\",\n            \"use1-az3\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-3\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tPreferredAzs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"use1-az1\"),\n\t\t\t\tpulumi.String(\"use1-az2\"),\n\t\t\t\tpulumi.String(\"use1-az3\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance\")\n            .plan(\"penguin-3\")\n            .region(\"amazon-web-services::us-east-1\")\n            .tags(\"terraform\")\n            .preferredAzs(            \n                \"use1-az1\",\n                \"use1-az2\",\n                \"use1-az3\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-cloudamqp-instance\n      plan: penguin-3\n      region: amazon-web-services::us-east-1\n      tags:\n        - terraform\n      preferredAzs:\n        - use1-az1\n        - use1-az2\n        - use1-az3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n### Settings supported by LavinMQ\n\n***Allowed values:*** alarms, definitions, firewall, metrics\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCopy settings from a dedicated instance to a new dedicated instance\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst penguinInstance = new cloudamqp.Instance(\"penguin_instance\", {\n    name: \"terraform-cloudamqp-instance-01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    rmqVersion: \"2.2.0\",\n    tags: [\"terraform\"],\n    copySettings: [{\n        subscriptionId: instanceId,\n        settings: [\n            \"alarms\",\n            \"definitions\",\n            \"firewall\",\n            \"metrics\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\npenguin_instance = cloudamqp.Instance(\"penguin_instance\",\n    name=\"terraform-cloudamqp-instance-01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    rmq_version=\"2.2.0\",\n    tags=[\"terraform\"],\n    copy_settings=[{\n        \"subscription_id\": instance_id,\n        \"settings\": [\n            \"alarms\",\n            \"definitions\",\n            \"firewall\",\n            \"metrics\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var penguinInstance = new CloudAmqp.Instance(\"penguin_instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        RmqVersion = \"2.2.0\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        CopySettings = new[]\n        {\n            new CloudAmqp.Inputs.InstanceCopySettingArgs\n            {\n                SubscriptionId = instanceId,\n                Settings = new[]\n                {\n                    \"alarms\",\n                    \"definitions\",\n                    \"firewall\",\n                    \"metrics\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewInstance(ctx, \"penguin_instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:       pulumi.String(\"terraform-cloudamqp-instance-01\"),\n\t\t\tPlan:       pulumi.String(\"penguin-1\"),\n\t\t\tRegion:     pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tRmqVersion: pulumi.String(\"2.2.0\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tCopySettings: cloudamqp.InstanceCopySettingArray{\n\t\t\t\t\u0026cloudamqp.InstanceCopySettingArgs{\n\t\t\t\t\tSubscriptionId: pulumi.Any(instanceId),\n\t\t\t\t\tSettings: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"alarms\"),\n\t\t\t\t\t\tpulumi.String(\"definitions\"),\n\t\t\t\t\t\tpulumi.String(\"firewall\"),\n\t\t\t\t\t\tpulumi.String(\"metrics\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.inputs.InstanceCopySettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var penguinInstance = new Instance(\"penguinInstance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .rmqVersion(\"2.2.0\")\n            .tags(\"terraform\")\n            .copySettings(InstanceCopySettingArgs.builder()\n                .subscriptionId(instanceId)\n                .settings(                \n                    \"alarms\",\n                    \"definitions\",\n                    \"firewall\",\n                    \"metrics\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  penguinInstance:\n    type: cloudamqp:Instance\n    name: penguin_instance\n    properties:\n      name: terraform-cloudamqp-instance-01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      rmqVersion: 2.2.0\n      tags:\n        - terraform\n      copySettings:\n        - subscriptionId: ${instanceId}\n          settings:\n            - alarms\n            - definitions\n            - firewall\n            - metrics\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n### Settings supported by RabbitMQ\n\n***Allowed values:*** alarms, config, definitions, firewall, logs, metrics, plugins\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCopy settings from a dedicated instance to a new dedicated instance\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst bunnyInstance = new cloudamqp.Instance(\"bunny_instance\", {\n    name: \"terraform-cloudamqp-instance-02\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    rmqVersion: \"3.12.2\",\n    tags: [\"terraform\"],\n    copySettings: [{\n        subscriptionId: instanceId,\n        settings: [\n            \"alarms\",\n            \"config\",\n            \"definitions\",\n            \"firewall\",\n            \"logs\",\n            \"metrics\",\n            \"plugins\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nbunny_instance = cloudamqp.Instance(\"bunny_instance\",\n    name=\"terraform-cloudamqp-instance-02\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    rmq_version=\"3.12.2\",\n    tags=[\"terraform\"],\n    copy_settings=[{\n        \"subscription_id\": instance_id,\n        \"settings\": [\n            \"alarms\",\n            \"config\",\n            \"definitions\",\n            \"firewall\",\n            \"logs\",\n            \"metrics\",\n            \"plugins\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bunnyInstance = new CloudAmqp.Instance(\"bunny_instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance-02\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        RmqVersion = \"3.12.2\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        CopySettings = new[]\n        {\n            new CloudAmqp.Inputs.InstanceCopySettingArgs\n            {\n                SubscriptionId = instanceId,\n                Settings = new[]\n                {\n                    \"alarms\",\n                    \"config\",\n                    \"definitions\",\n                    \"firewall\",\n                    \"logs\",\n                    \"metrics\",\n                    \"plugins\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewInstance(ctx, \"bunny_instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:       pulumi.String(\"terraform-cloudamqp-instance-02\"),\n\t\t\tPlan:       pulumi.String(\"bunny-1\"),\n\t\t\tRegion:     pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tRmqVersion: pulumi.String(\"3.12.2\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tCopySettings: cloudamqp.InstanceCopySettingArray{\n\t\t\t\t\u0026cloudamqp.InstanceCopySettingArgs{\n\t\t\t\t\tSubscriptionId: pulumi.Any(instanceId),\n\t\t\t\t\tSettings: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"alarms\"),\n\t\t\t\t\t\tpulumi.String(\"config\"),\n\t\t\t\t\t\tpulumi.String(\"definitions\"),\n\t\t\t\t\t\tpulumi.String(\"firewall\"),\n\t\t\t\t\t\tpulumi.String(\"logs\"),\n\t\t\t\t\t\tpulumi.String(\"metrics\"),\n\t\t\t\t\t\tpulumi.String(\"plugins\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.inputs.InstanceCopySettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bunnyInstance = new Instance(\"bunnyInstance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance-02\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .rmqVersion(\"3.12.2\")\n            .tags(\"terraform\")\n            .copySettings(InstanceCopySettingArgs.builder()\n                .subscriptionId(instanceId)\n                .settings(                \n                    \"alarms\",\n                    \"config\",\n                    \"definitions\",\n                    \"firewall\",\n                    \"logs\",\n                    \"metrics\",\n                    \"plugins\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bunnyInstance:\n    type: cloudamqp:Instance\n    name: bunny_instance\n    properties:\n      name: terraform-cloudamqp-instance-02\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      rmqVersion: 3.12.2\n      tags:\n        - terraform\n      copySettings:\n        - subscriptionId: ${instanceId}\n          settings:\n            - alarms\n            - config\n            - definitions\n            - firewall\n            - logs\n            - metrics\n            - plugins\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n[CloudAMQP]: https://cloudamqp.com\n[CloudAMQP API]: https://docs.cloudamqp.com/instance-api.html\n[CloudAMQP API list instances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances\n[CloudAMQP plans]: https://www.cloudamqp.com/plans.html\n[copy settings]: #copy-settings-to-a-new-dedicated-instance\n[example]: ../guides/info_vpc_existing.md\n[regions]: ../guides/info_region.md\n[**LavinMQ**]: https://lavinmq.com\n[Managed VPC]: ../guides/info_managed_vpc#dedicated-instance-and-vpc_subnet\n[plans]: ../guides/info_plan.md\n[**RabbitMQ**]: https://www.rabbitmq.com\n[instance regions]: ../guides/info_region.md\n[aws-availability-zones]: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-availability-zones.html\n[azure-region-list]: https://learn.microsoft.com/en-us/azure/reliability/regions-list\n[gcp-region-zones]: https://cloud.google.com/compute/docs/regions-zones#available\n[do-regional-availability]: https://docs.digitalocean.com/platform/regional-availability/\n\n","properties":{"apikey":{"type":"string","description":"API key needed to communicate to CloudAMQP's second API. The second API is used\nto manage alarms, integration and more, full description [CloudAMQP API].\n","secret":true},"backend":{"type":"string","description":"Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.\n"},"copySettings":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/InstanceCopySetting:InstanceCopySetting"},"description":"Copy settings from one CloudAMQP instance to a new. Consists of\nthe block documented below.\n"},"dedicated":{"type":"boolean","description":"Information if the CloudAMQP instance is shared or dedicated.\n"},"host":{"type":"string","description":"The external hostname for the CloudAMQP instance.\n"},"hostInternal":{"type":"string","description":"The internal hostname for the CloudAMQP instance.\n"},"keepAssociatedVpc":{"type":"boolean","description":"Keep associated VPC when deleting instance. Default set to\nfalse.\n"},"name":{"type":"string","description":"Name of the CloudAMQP instance.\n"},"noDefaultAlarms":{"type":"boolean","description":"Set to true to not create default alarms"},"nodes":{"type":"integer","description":"Number of nodes, 1, 3 or 5 depending on plan used. Only needed for\nlegacy plans, will otherwise be computed.\n\n***Deprecated:*** Legacy subscriptions plan can still change this to scale up or down the instance.\nNew subscriptions plans use the plan to determine number of nodes. In order to\nchange number of nodes the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e needs to be updated.\n"},"plan":{"type":"string","description":"The subscription plan. See available [plans].\n"},"preferredAzs":{"type":"array","items":{"type":"string"},"description":"The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`preferredAz`\" pulumi-lang-dotnet=\"`PreferredAz`\" pulumi-lang-go=\"`preferredAz`\" pulumi-lang-python=\"`preferred_az`\" pulumi-lang-yaml=\"`preferredAz`\" pulumi-lang-java=\"`preferredAz`\"\u003e`preferred_az`\u003c/span\u003e can only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.\n* AWS: AZ id in [aws-availability-zones]\n* Azure: 1,2 or 3 in supported regions [azure-region-list]\n* GCP: zones in [gcp-region-zones]\n* Digital Ocean: Slug in [do-regional-availability]\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`copySettings`\" pulumi-lang-dotnet=\"`CopySettings`\" pulumi-lang-go=\"`copySettings`\" pulumi-lang-python=\"`copy_settings`\" pulumi-lang-yaml=\"`copySettings`\" pulumi-lang-java=\"`copySettings`\"\u003e`copy_settings`\u003c/span\u003e block consists of:\n"},"ready":{"type":"boolean","description":"Flag describing if the resource is ready"},"region":{"type":"string","description":"The region to host the instance in. See available [regions].\n\n***Note:*** Changing region will force the instance to be destroyed and a new created in the new\nregion. All data will be lost and a new name assigned.\n"},"rmqVersion":{"type":"string","description":"The Rabbit MQ version. Can be left out, will then be set to\ndefault value used by CloudAMQP API.\n\n***Note:*** There is not yet any support in the provider to change the RMQ version. Once it's set\nin the initial creation, it will remain.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"One or more tags for the CloudAMQP instance, makes it possible to\ncategories multiple instances in console view. Default there is no tags assigned.\n"},"url":{"type":"string","description":"The AMQP URL (uses the internal hostname if the instance was created with VPC).\nHas the format: `amqps://{username}:{password}@{hostname}/{vhost}`\n","secret":true},"vhost":{"type":"string","description":"The virtual host used by Rabbit MQ.\n"},"vpcId":{"type":"integer","description":"The VPC ID. Use this to create your instance in an existing\nVPC. See available [example].\n"},"vpcSubnet":{"type":"string","description":"Creates a dedicated VPC subnet, shouldn't overlap with other\nVPC subnet, default subnet used 10.56.72.0/24.\n\n***Deprecated:*** Will be removed in next major version (v2.0)\n\n***Note:*** Extra fee will be charged when using VPC, see [CloudAMQP] for more information.\n"}},"required":["apikey","backend","dedicated","host","hostInternal","name","noDefaultAlarms","nodes","plan","ready","region","rmqVersion","url","vhost","vpcId","vpcSubnet"],"inputProperties":{"copySettings":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/InstanceCopySetting:InstanceCopySetting"},"description":"Copy settings from one CloudAMQP instance to a new. Consists of\nthe block documented below.\n"},"keepAssociatedVpc":{"type":"boolean","description":"Keep associated VPC when deleting instance. Default set to\nfalse.\n"},"name":{"type":"string","description":"Name of the CloudAMQP instance.\n"},"noDefaultAlarms":{"type":"boolean","description":"Set to true to not create default alarms"},"nodes":{"type":"integer","description":"Number of nodes, 1, 3 or 5 depending on plan used. Only needed for\nlegacy plans, will otherwise be computed.\n\n***Deprecated:*** Legacy subscriptions plan can still change this to scale up or down the instance.\nNew subscriptions plans use the plan to determine number of nodes. In order to\nchange number of nodes the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e needs to be updated.\n"},"plan":{"type":"string","description":"The subscription plan. See available [plans].\n"},"preferredAzs":{"type":"array","items":{"type":"string"},"description":"The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`preferredAz`\" pulumi-lang-dotnet=\"`PreferredAz`\" pulumi-lang-go=\"`preferredAz`\" pulumi-lang-python=\"`preferred_az`\" pulumi-lang-yaml=\"`preferredAz`\" pulumi-lang-java=\"`preferredAz`\"\u003e`preferred_az`\u003c/span\u003e can only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.\n* AWS: AZ id in [aws-availability-zones]\n* Azure: 1,2 or 3 in supported regions [azure-region-list]\n* GCP: zones in [gcp-region-zones]\n* Digital Ocean: Slug in [do-regional-availability]\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`copySettings`\" pulumi-lang-dotnet=\"`CopySettings`\" pulumi-lang-go=\"`copySettings`\" pulumi-lang-python=\"`copy_settings`\" pulumi-lang-yaml=\"`copySettings`\" pulumi-lang-java=\"`copySettings`\"\u003e`copy_settings`\u003c/span\u003e block consists of:\n"},"region":{"type":"string","description":"The region to host the instance in. See available [regions].\n\n***Note:*** Changing region will force the instance to be destroyed and a new created in the new\nregion. All data will be lost and a new name assigned.\n","willReplaceOnChanges":true},"rmqVersion":{"type":"string","description":"The Rabbit MQ version. Can be left out, will then be set to\ndefault value used by CloudAMQP API.\n\n***Note:*** There is not yet any support in the provider to change the RMQ version. Once it's set\nin the initial creation, it will remain.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"One or more tags for the CloudAMQP instance, makes it possible to\ncategories multiple instances in console view. Default there is no tags assigned.\n"},"vpcId":{"type":"integer","description":"The VPC ID. Use this to create your instance in an existing\nVPC. See available [example].\n","willReplaceOnChanges":true},"vpcSubnet":{"type":"string","description":"Creates a dedicated VPC subnet, shouldn't overlap with other\nVPC subnet, default subnet used 10.56.72.0/24.\n\n***Deprecated:*** Will be removed in next major version (v2.0)\n\n***Note:*** Extra fee will be charged when using VPC, see [CloudAMQP] for more information.\n","willReplaceOnChanges":true}},"requiredInputs":["plan","region"],"stateInputs":{"description":"Input properties used for looking up and filtering Instance resources.\n","properties":{"apikey":{"type":"string","description":"API key needed to communicate to CloudAMQP's second API. The second API is used\nto manage alarms, integration and more, full description [CloudAMQP API].\n","secret":true},"backend":{"type":"string","description":"Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.\n"},"copySettings":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/InstanceCopySetting:InstanceCopySetting"},"description":"Copy settings from one CloudAMQP instance to a new. Consists of\nthe block documented below.\n"},"dedicated":{"type":"boolean","description":"Information if the CloudAMQP instance is shared or dedicated.\n"},"host":{"type":"string","description":"The external hostname for the CloudAMQP instance.\n"},"hostInternal":{"type":"string","description":"The internal hostname for the CloudAMQP instance.\n"},"keepAssociatedVpc":{"type":"boolean","description":"Keep associated VPC when deleting instance. Default set to\nfalse.\n"},"name":{"type":"string","description":"Name of the CloudAMQP instance.\n"},"noDefaultAlarms":{"type":"boolean","description":"Set to true to not create default alarms"},"nodes":{"type":"integer","description":"Number of nodes, 1, 3 or 5 depending on plan used. Only needed for\nlegacy plans, will otherwise be computed.\n\n***Deprecated:*** Legacy subscriptions plan can still change this to scale up or down the instance.\nNew subscriptions plans use the plan to determine number of nodes. In order to\nchange number of nodes the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e needs to be updated.\n"},"plan":{"type":"string","description":"The subscription plan. See available [plans].\n"},"preferredAzs":{"type":"array","items":{"type":"string"},"description":"The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.\n\n***Note:*** \u003cspan pulumi-lang-nodejs=\"`preferredAz`\" pulumi-lang-dotnet=\"`PreferredAz`\" pulumi-lang-go=\"`preferredAz`\" pulumi-lang-python=\"`preferred_az`\" pulumi-lang-yaml=\"`preferredAz`\" pulumi-lang-java=\"`preferredAz`\"\u003e`preferred_az`\u003c/span\u003e can only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.\n* AWS: AZ id in [aws-availability-zones]\n* Azure: 1,2 or 3 in supported regions [azure-region-list]\n* GCP: zones in [gcp-region-zones]\n* Digital Ocean: Slug in [do-regional-availability]\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`copySettings`\" pulumi-lang-dotnet=\"`CopySettings`\" pulumi-lang-go=\"`copySettings`\" pulumi-lang-python=\"`copy_settings`\" pulumi-lang-yaml=\"`copySettings`\" pulumi-lang-java=\"`copySettings`\"\u003e`copy_settings`\u003c/span\u003e block consists of:\n"},"ready":{"type":"boolean","description":"Flag describing if the resource is ready"},"region":{"type":"string","description":"The region to host the instance in. See available [regions].\n\n***Note:*** Changing region will force the instance to be destroyed and a new created in the new\nregion. All data will be lost and a new name assigned.\n","willReplaceOnChanges":true},"rmqVersion":{"type":"string","description":"The Rabbit MQ version. Can be left out, will then be set to\ndefault value used by CloudAMQP API.\n\n***Note:*** There is not yet any support in the provider to change the RMQ version. Once it's set\nin the initial creation, it will remain.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"One or more tags for the CloudAMQP instance, makes it possible to\ncategories multiple instances in console view. Default there is no tags assigned.\n"},"url":{"type":"string","description":"The AMQP URL (uses the internal hostname if the instance was created with VPC).\nHas the format: `amqps://{username}:{password}@{hostname}/{vhost}`\n","secret":true},"vhost":{"type":"string","description":"The virtual host used by Rabbit MQ.\n"},"vpcId":{"type":"integer","description":"The VPC ID. Use this to create your instance in an existing\nVPC. See available [example].\n","willReplaceOnChanges":true},"vpcSubnet":{"type":"string","description":"Creates a dedicated VPC subnet, shouldn't overlap with other\nVPC subnet, default subnet used 10.56.72.0/24.\n\n***Deprecated:*** Will be removed in next major version (v2.0)\n\n***Note:*** Extra fee will be charged when using VPC, see [CloudAMQP] for more information.\n","willReplaceOnChanges":true}},"type":"object"}},"cloudamqp:index/integrationAwsEventbridge:IntegrationAwsEventbridge":{"description":"This resource allows you to create and manage, an [AWS EventBridge] for a CloudAMQP instance. Once\ncreated, continue to map the EventBridge in the [AWS Eventbridge console].\n\n\u003e  Our consumer needs to have exclusive usage to the configured queue and the maximum body size\nallowed on msgs by AWS is 256kb. The message body has to be valid JSON for AWS Eventbridge to accept\nit. If messages are too large or are not valid JSON, they will be rejected (tip: setup a dead-letter\nqueue to catch them).\n\nNot possible to update this resource. Any changes made to the argument will destroy and recreate the\nresource. Hence why all arguments use ForceNew.\n\nOnly available for dedicated subscription plans.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS Eventbridge integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Test instance\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    rmqVersion: \"3.11.5\",\n    tags: [\"aws\"],\n});\nconst _this = new cloudamqp.IntegrationAwsEventbridge(\"this\", {\n    instanceId: instance.id,\n    vhost: instance.vhost,\n    queue: \"\u003cQUEUE-NAME\u003e\",\n    awsAccountId: \"\u003cAWS-ACCOUNT-ID\u003e\",\n    awsRegion: \"us-west-1\",\n    withHeaders: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Test instance\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    rmq_version=\"3.11.5\",\n    tags=[\"aws\"])\nthis = cloudamqp.IntegrationAwsEventbridge(\"this\",\n    instance_id=instance.id,\n    vhost=instance.vhost,\n    queue=\"\u003cQUEUE-NAME\u003e\",\n    aws_account_id=\"\u003cAWS-ACCOUNT-ID\u003e\",\n    aws_region=\"us-west-1\",\n    with_headers=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Test instance\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        RmqVersion = \"3.11.5\",\n        Tags = new[]\n        {\n            \"aws\",\n        },\n    });\n\n    var @this = new CloudAmqp.IntegrationAwsEventbridge(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        Vhost = instance.Vhost,\n        Queue = \"\u003cQUEUE-NAME\u003e\",\n        AwsAccountId = \"\u003cAWS-ACCOUNT-ID\u003e\",\n        AwsRegion = \"us-west-1\",\n        WithHeaders = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:       pulumi.String(\"Test instance\"),\n\t\t\tPlan:       pulumi.String(\"penguin-1\"),\n\t\t\tRegion:     pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tRmqVersion: pulumi.String(\"3.11.5\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationAwsEventbridge(ctx, \"this\", \u0026cloudamqp.IntegrationAwsEventbridgeArgs{\n\t\t\tInstanceId:   instance.ID(),\n\t\t\tVhost:        instance.Vhost,\n\t\t\tQueue:        pulumi.String(\"\u003cQUEUE-NAME\u003e\"),\n\t\t\tAwsAccountId: pulumi.String(\"\u003cAWS-ACCOUNT-ID\u003e\"),\n\t\t\tAwsRegion:    pulumi.String(\"us-west-1\"),\n\t\t\tWithHeaders:  pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.IntegrationAwsEventbridge;\nimport com.pulumi.cloudamqp.IntegrationAwsEventbridgeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Test instance\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .rmqVersion(\"3.11.5\")\n            .tags(\"aws\")\n            .build());\n\n        var this_ = new IntegrationAwsEventbridge(\"this\", IntegrationAwsEventbridgeArgs.builder()\n            .instanceId(instance.id())\n            .vhost(instance.vhost())\n            .queue(\"\u003cQUEUE-NAME\u003e\")\n            .awsAccountId(\"\u003cAWS-ACCOUNT-ID\u003e\")\n            .awsRegion(\"us-west-1\")\n            .withHeaders(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Test instance\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      rmqVersion: 3.11.5\n      tags:\n        - aws\n  this:\n    type: cloudamqp:IntegrationAwsEventbridge\n    properties:\n      instanceId: ${instance.id}\n      vhost: ${instance.vhost}\n      queue: \u003cQUEUE-NAME\u003e\n      awsAccountId: \u003cAWS-ACCOUNT-ID\u003e\n      awsRegion: us-west-1\n      withHeaders: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS Eventbridge integration with prefetch from [v1.38.0]\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Test instance\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    rmqVersion: \"3.11.5\",\n    tags: [\"aws\"],\n});\nconst _this = new cloudamqp.IntegrationAwsEventbridge(\"this\", {\n    instanceId: instance.id,\n    vhost: instance.vhost,\n    queue: \"\u003cQUEUE-NAME\u003e\",\n    awsAccountId: \"\u003cAWS-ACCOUNT-ID\u003e\",\n    awsRegion: \"us-west-1\",\n    withHeaders: true,\n    prefetch: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Test instance\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    rmq_version=\"3.11.5\",\n    tags=[\"aws\"])\nthis = cloudamqp.IntegrationAwsEventbridge(\"this\",\n    instance_id=instance.id,\n    vhost=instance.vhost,\n    queue=\"\u003cQUEUE-NAME\u003e\",\n    aws_account_id=\"\u003cAWS-ACCOUNT-ID\u003e\",\n    aws_region=\"us-west-1\",\n    with_headers=True,\n    prefetch=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Test instance\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        RmqVersion = \"3.11.5\",\n        Tags = new[]\n        {\n            \"aws\",\n        },\n    });\n\n    var @this = new CloudAmqp.IntegrationAwsEventbridge(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        Vhost = instance.Vhost,\n        Queue = \"\u003cQUEUE-NAME\u003e\",\n        AwsAccountId = \"\u003cAWS-ACCOUNT-ID\u003e\",\n        AwsRegion = \"us-west-1\",\n        WithHeaders = true,\n        Prefetch = 100,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:       pulumi.String(\"Test instance\"),\n\t\t\tPlan:       pulumi.String(\"penguin-1\"),\n\t\t\tRegion:     pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tRmqVersion: pulumi.String(\"3.11.5\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"aws\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationAwsEventbridge(ctx, \"this\", \u0026cloudamqp.IntegrationAwsEventbridgeArgs{\n\t\t\tInstanceId:   instance.ID(),\n\t\t\tVhost:        instance.Vhost,\n\t\t\tQueue:        pulumi.String(\"\u003cQUEUE-NAME\u003e\"),\n\t\t\tAwsAccountId: pulumi.String(\"\u003cAWS-ACCOUNT-ID\u003e\"),\n\t\t\tAwsRegion:    pulumi.String(\"us-west-1\"),\n\t\t\tWithHeaders:  pulumi.Bool(true),\n\t\t\tPrefetch:     pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.IntegrationAwsEventbridge;\nimport com.pulumi.cloudamqp.IntegrationAwsEventbridgeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Test instance\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .rmqVersion(\"3.11.5\")\n            .tags(\"aws\")\n            .build());\n\n        var this_ = new IntegrationAwsEventbridge(\"this\", IntegrationAwsEventbridgeArgs.builder()\n            .instanceId(instance.id())\n            .vhost(instance.vhost())\n            .queue(\"\u003cQUEUE-NAME\u003e\")\n            .awsAccountId(\"\u003cAWS-ACCOUNT-ID\u003e\")\n            .awsRegion(\"us-west-1\")\n            .withHeaders(true)\n            .prefetch(100)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Test instance\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      rmqVersion: 3.11.5\n      tags:\n        - aws\n  this:\n    type: cloudamqp:IntegrationAwsEventbridge\n    properties:\n      instanceId: ${instance.id}\n      vhost: ${instance.vhost}\n      queue: \u003cQUEUE-NAME\u003e\n      awsAccountId: \u003cAWS-ACCOUNT-ID\u003e\n      awsRegion: us-west-1\n      withHeaders: true\n      prefetch: 100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Argument References\n\nThe following arguments are supported:\n\n* \u003cspan pulumi-lang-nodejs=\"`awsAccountId`\" pulumi-lang-dotnet=\"`AwsAccountId`\" pulumi-lang-go=\"`awsAccountId`\" pulumi-lang-python=\"`aws_account_id`\" pulumi-lang-yaml=\"`awsAccountId`\" pulumi-lang-java=\"`awsAccountId`\"\u003e`aws_account_id`\u003c/span\u003e  - (ForceNew/Required) The 12 digit AWS Account ID where you want the events to\n                      be sent to.\n* \u003cspan pulumi-lang-nodejs=\"`awsRegion`\" pulumi-lang-dotnet=\"`AwsRegion`\" pulumi-lang-go=\"`awsRegion`\" pulumi-lang-python=\"`aws_region`\" pulumi-lang-yaml=\"`awsRegion`\" pulumi-lang-java=\"`awsRegion`\"\u003e`aws_region`\u003c/span\u003e      - (ForceNew/Required) The AWS region where you the events to be sent to.\n                      (e.g. us-west-1, us-west-2, ..., etc.)\n* \u003cspan pulumi-lang-nodejs=\"`vhost`\" pulumi-lang-dotnet=\"`Vhost`\" pulumi-lang-go=\"`vhost`\" pulumi-lang-python=\"`vhost`\" pulumi-lang-yaml=\"`vhost`\" pulumi-lang-java=\"`vhost`\"\u003e`vhost`\u003c/span\u003e           - (ForceNew/Required) The VHost the queue resides in.\n* \u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e           - (ForceNew/Required) A (durable) queue on your RabbitMQ instance.\n* \u003cspan pulumi-lang-nodejs=\"`withHeaders`\" pulumi-lang-dotnet=\"`WithHeaders`\" pulumi-lang-go=\"`withHeaders`\" pulumi-lang-python=\"`with_headers`\" pulumi-lang-yaml=\"`withHeaders`\" pulumi-lang-java=\"`withHeaders`\"\u003e`with_headers`\u003c/span\u003e    - (ForceNew/Required) Include message headers in the event data.\n                      `({ \"headers\": { }, \"body\": { \"your\": \"message\" } })`\n* \u003cspan pulumi-lang-nodejs=\"`prefetch`\" pulumi-lang-dotnet=\"`Prefetch`\" pulumi-lang-go=\"`prefetch`\" pulumi-lang-python=\"`prefetch`\" pulumi-lang-yaml=\"`prefetch`\" pulumi-lang-java=\"`prefetch`\"\u003e`prefetch`\u003c/span\u003e        - (ForceNew/Optional) Set the prefetch for the Eventbrigde consumer to increase\n                      throughput. Supported from [v1.38.0].\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n","properties":{"awsAccountId":{"type":"string","description":"The 12 digit AWS Account ID where you want the events to be sent to."},"awsRegion":{"type":"string","description":"The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)"},"instanceId":{"type":"integer","description":"Instance identifier"},"prefetch":{"type":"integer","description":"Number of messages to prefetch. Default set to 1."},"queue":{"type":"string","description":"A (durable) queue on your RabbitMQ instance."},"status":{"type":"string","description":"Always set to null, unless there is an error starting the EventBridge.\n"},"vhost":{"type":"string","description":"The VHost the queue resides in."},"withHeaders":{"type":"boolean","description":"Include message headers in the event data."}},"required":["awsAccountId","awsRegion","instanceId","prefetch","queue","status","vhost","withHeaders"],"inputProperties":{"awsAccountId":{"type":"string","description":"The 12 digit AWS Account ID where you want the events to be sent to."},"awsRegion":{"type":"string","description":"The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)"},"instanceId":{"type":"integer","description":"Instance identifier"},"prefetch":{"type":"integer","description":"Number of messages to prefetch. Default set to 1."},"queue":{"type":"string","description":"A (durable) queue on your RabbitMQ instance."},"vhost":{"type":"string","description":"The VHost the queue resides in."},"withHeaders":{"type":"boolean","description":"Include message headers in the event data."}},"requiredInputs":["awsAccountId","awsRegion","instanceId","queue","vhost","withHeaders"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationAwsEventbridge resources.\n","properties":{"awsAccountId":{"type":"string","description":"The 12 digit AWS Account ID where you want the events to be sent to."},"awsRegion":{"type":"string","description":"The AWS region where you the events to be sent to. (e.g. us-west-1, us-west-2, ..., etc.)"},"instanceId":{"type":"integer","description":"Instance identifier"},"prefetch":{"type":"integer","description":"Number of messages to prefetch. Default set to 1."},"queue":{"type":"string","description":"A (durable) queue on your RabbitMQ instance."},"status":{"type":"string","description":"Always set to null, unless there is an error starting the EventBridge.\n"},"vhost":{"type":"string","description":"The VHost the queue resides in."},"withHeaders":{"type":"boolean","description":"Include message headers in the event data."}},"type":"object"}},"cloudamqp:index/integrationLog:IntegrationLog":{"description":"This resource allows you to create and manage third party log integrations for a CloudAMQP instance.\nOnce configured, the logs produced will be forward to corresponding integration.\n\nOnly available for dedicated subscription plans.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAzure monitor log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst azureMonitor = new cloudamqp.IntegrationLog(\"azure_monitor\", {\n    instanceId: instance.id,\n    name: \"azure_monitor\",\n    tenantId: azmTentantId,\n    applicationId: azmApplicationId,\n    applicationSecret: azmApplicationSecret,\n    dceUri: azmDceUri,\n    table: azmTable,\n    dcrId: azmDcrId,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nazure_monitor = cloudamqp.IntegrationLog(\"azure_monitor\",\n    instance_id=instance[\"id\"],\n    name=\"azure_monitor\",\n    tenant_id=azm_tentant_id,\n    application_id=azm_application_id,\n    application_secret=azm_application_secret,\n    dce_uri=azm_dce_uri,\n    table=azm_table,\n    dcr_id=azm_dcr_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var azureMonitor = new CloudAmqp.IntegrationLog(\"azure_monitor\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"azure_monitor\",\n        TenantId = azmTentantId,\n        ApplicationId = azmApplicationId,\n        ApplicationSecret = azmApplicationSecret,\n        DceUri = azmDceUri,\n        Table = azmTable,\n        DcrId = azmDcrId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"azure_monitor\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:        pulumi.Any(instance.Id),\n\t\t\tName:              pulumi.String(\"azure_monitor\"),\n\t\t\tTenantId:          pulumi.Any(azmTentantId),\n\t\t\tApplicationId:     pulumi.Any(azmApplicationId),\n\t\t\tApplicationSecret: pulumi.Any(azmApplicationSecret),\n\t\t\tDceUri:            pulumi.Any(azmDceUri),\n\t\t\tTable:             pulumi.Any(azmTable),\n\t\t\tDcrId:             pulumi.Any(azmDcrId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var azureMonitor = new IntegrationLog(\"azureMonitor\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"azure_monitor\")\n            .tenantId(azmTentantId)\n            .applicationId(azmApplicationId)\n            .applicationSecret(azmApplicationSecret)\n            .dceUri(azmDceUri)\n            .table(azmTable)\n            .dcrId(azmDcrId)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  azureMonitor:\n    type: cloudamqp:IntegrationLog\n    name: azure_monitor\n    properties:\n      instanceId: ${instance.id}\n      name: azure_monitor\n      tenantId: ${azmTentantId}\n      applicationId: ${azmApplicationId}\n      applicationSecret: ${azmApplicationSecret}\n      dceUri: ${azmDceUri}\n      table: ${azmTable}\n      dcrId: ${azmDcrId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudwatch log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst cloudwatch = new cloudamqp.IntegrationLog(\"cloudwatch\", {\n    instanceId: instance.id,\n    name: \"cloudwatchlog\",\n    accessKeyId: awsAccessKeyId,\n    secretAccessKey: awsSecretAccessKey,\n    region: awsRegion,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncloudwatch = cloudamqp.IntegrationLog(\"cloudwatch\",\n    instance_id=instance[\"id\"],\n    name=\"cloudwatchlog\",\n    access_key_id=aws_access_key_id,\n    secret_access_key=aws_secret_access_key,\n    region=aws_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudwatch = new CloudAmqp.IntegrationLog(\"cloudwatch\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"cloudwatchlog\",\n        AccessKeyId = awsAccessKeyId,\n        SecretAccessKey = awsSecretAccessKey,\n        Region = awsRegion,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"cloudwatch\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:      pulumi.Any(instance.Id),\n\t\t\tName:            pulumi.String(\"cloudwatchlog\"),\n\t\t\tAccessKeyId:     pulumi.Any(awsAccessKeyId),\n\t\t\tSecretAccessKey: pulumi.Any(awsSecretAccessKey),\n\t\t\tRegion:          pulumi.Any(awsRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cloudwatch = new IntegrationLog(\"cloudwatch\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"cloudwatchlog\")\n            .accessKeyId(awsAccessKeyId)\n            .secretAccessKey(awsSecretAccessKey)\n            .region(awsRegion)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudwatch:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: cloudwatchlog\n      accessKeyId: ${awsAccessKeyId}\n      secretAccessKey: ${awsSecretAccessKey}\n      region: ${awsRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudwatch log integration with retention and tags (from [v1.38.0])\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nUse retention and/or tags on the integration to make changes to `CloudAMQP` Log Group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst cloudwatch = new cloudamqp.IntegrationLog(\"cloudwatch\", {\n    instanceId: instance.id,\n    name: \"cloudwatchlog\",\n    accessKeyId: awsAccessKeyId,\n    secretAccessKey: awsSecretAccessKey,\n    region: awsRegion,\n    retention: 14,\n    tags: \"Project=A,Environment=Development\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncloudwatch = cloudamqp.IntegrationLog(\"cloudwatch\",\n    instance_id=instance[\"id\"],\n    name=\"cloudwatchlog\",\n    access_key_id=aws_access_key_id,\n    secret_access_key=aws_secret_access_key,\n    region=aws_region,\n    retention=14,\n    tags=\"Project=A,Environment=Development\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudwatch = new CloudAmqp.IntegrationLog(\"cloudwatch\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"cloudwatchlog\",\n        AccessKeyId = awsAccessKeyId,\n        SecretAccessKey = awsSecretAccessKey,\n        Region = awsRegion,\n        Retention = 14,\n        Tags = \"Project=A,Environment=Development\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"cloudwatch\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:      pulumi.Any(instance.Id),\n\t\t\tName:            pulumi.String(\"cloudwatchlog\"),\n\t\t\tAccessKeyId:     pulumi.Any(awsAccessKeyId),\n\t\t\tSecretAccessKey: pulumi.Any(awsSecretAccessKey),\n\t\t\tRegion:          pulumi.Any(awsRegion),\n\t\t\tRetention:       pulumi.Int(14),\n\t\t\tTags:            pulumi.String(\"Project=A,Environment=Development\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cloudwatch = new IntegrationLog(\"cloudwatch\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"cloudwatchlog\")\n            .accessKeyId(awsAccessKeyId)\n            .secretAccessKey(awsSecretAccessKey)\n            .region(awsRegion)\n            .retention(14)\n            .tags(\"Project=A,Environment=Development\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudwatch:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: cloudwatchlog\n      accessKeyId: ${awsAccessKeyId}\n      secretAccessKey: ${awsSecretAccessKey}\n      region: ${awsRegion}\n      retention: 14\n      tags: Project=A,Environment=Development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCoralogix log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst coralogix = new cloudamqp.IntegrationLog(\"coralogix\", {\n    instanceId: instance.id,\n    name: \"coralogix\",\n    privateKey: coralogixSendDataKey,\n    endpoint: coralogixEndpoint,\n    application: coralogixApplication,\n    subsystem: instance.host,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncoralogix = cloudamqp.IntegrationLog(\"coralogix\",\n    instance_id=instance[\"id\"],\n    name=\"coralogix\",\n    private_key=coralogix_send_data_key,\n    endpoint=coralogix_endpoint,\n    application=coralogix_application,\n    subsystem=instance[\"host\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var coralogix = new CloudAmqp.IntegrationLog(\"coralogix\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"coralogix\",\n        PrivateKey = coralogixSendDataKey,\n        Endpoint = coralogixEndpoint,\n        Application = coralogixApplication,\n        Subsystem = instance.Host,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"coralogix\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"coralogix\"),\n\t\t\tPrivateKey:  pulumi.Any(coralogixSendDataKey),\n\t\t\tEndpoint:    pulumi.Any(coralogixEndpoint),\n\t\t\tApplication: pulumi.Any(coralogixApplication),\n\t\t\tSubsystem:   pulumi.Any(instance.Host),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var coralogix = new IntegrationLog(\"coralogix\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"coralogix\")\n            .privateKey(coralogixSendDataKey)\n            .endpoint(coralogixEndpoint)\n            .application(coralogixApplication)\n            .subsystem(instance.host())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  coralogix:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: coralogix\n      privateKey: ${coralogixSendDataKey}\n      endpoint: ${coralogixEndpoint}\n      application: ${coralogixApplication}\n      subsystem: ${instance.host}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eDatadog log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst datadog = new cloudamqp.IntegrationLog(\"datadog\", {\n    instanceId: instance.id,\n    name: \"datadog\",\n    region: datadogRegion,\n    apiKey: datadogApiKey,\n    tags: \"env=prod,region=us1,version=v1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndatadog = cloudamqp.IntegrationLog(\"datadog\",\n    instance_id=instance[\"id\"],\n    name=\"datadog\",\n    region=datadog_region,\n    api_key=datadog_api_key,\n    tags=\"env=prod,region=us1,version=v1.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var datadog = new CloudAmqp.IntegrationLog(\"datadog\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"datadog\",\n        Region = datadogRegion,\n        ApiKey = datadogApiKey,\n        Tags = \"env=prod,region=us1,version=v1.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"datadog\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"datadog\"),\n\t\t\tRegion:     pulumi.Any(datadogRegion),\n\t\t\tApiKey:     pulumi.Any(datadogApiKey),\n\t\t\tTags:       pulumi.String(\"env=prod,region=us1,version=v1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var datadog = new IntegrationLog(\"datadog\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"datadog\")\n            .region(datadogRegion)\n            .apiKey(datadogApiKey)\n            .tags(\"env=prod,region=us1,version=v1.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  datadog:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: datadog\n      region: ${datadogRegion}\n      apiKey: ${datadogApiKey}\n      tags: env=prod,region=us1,version=v1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eLog entries log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst logentries = new cloudamqp.IntegrationLog(\"logentries\", {\n    instanceId: instance.id,\n    name: \"logentries\",\n    token: logentriesToken,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nlogentries = cloudamqp.IntegrationLog(\"logentries\",\n    instance_id=instance[\"id\"],\n    name=\"logentries\",\n    token=logentries_token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var logentries = new CloudAmqp.IntegrationLog(\"logentries\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"logentries\",\n        Token = logentriesToken,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"logentries\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"logentries\"),\n\t\t\tToken:      pulumi.Any(logentriesToken),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var logentries = new IntegrationLog(\"logentries\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"logentries\")\n            .token(logentriesToken)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  logentries:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: logentries\n      token: ${logentriesToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eLoggly log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst loggly = new cloudamqp.IntegrationLog(\"loggly\", {\n    instanceId: instance.id,\n    name: \"loggly\",\n    token: logglyToken,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nloggly = cloudamqp.IntegrationLog(\"loggly\",\n    instance_id=instance[\"id\"],\n    name=\"loggly\",\n    token=loggly_token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var loggly = new CloudAmqp.IntegrationLog(\"loggly\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"loggly\",\n        Token = logglyToken,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"loggly\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"loggly\"),\n\t\t\tToken:      pulumi.Any(logglyToken),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var loggly = new IntegrationLog(\"loggly\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"loggly\")\n            .token(logglyToken)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  loggly:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: loggly\n      token: ${logglyToken}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003ePapertrail log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst papertrail = new cloudamqp.IntegrationLog(\"papertrail\", {\n    instanceId: instance.id,\n    name: \"papertrail\",\n    url: papertrailUrl,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\npapertrail = cloudamqp.IntegrationLog(\"papertrail\",\n    instance_id=instance[\"id\"],\n    name=\"papertrail\",\n    url=papertrail_url)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var papertrail = new CloudAmqp.IntegrationLog(\"papertrail\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"papertrail\",\n        Url = papertrailUrl,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"papertrail\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"papertrail\"),\n\t\t\tUrl:        pulumi.Any(papertrailUrl),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var papertrail = new IntegrationLog(\"papertrail\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"papertrail\")\n            .url(papertrailUrl)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  papertrail:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: papertrail\n      url: ${papertrailUrl}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eScalyr log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst scalyr = new cloudamqp.IntegrationLog(\"scalyr\", {\n    instanceId: instance.id,\n    name: \"scalyr\",\n    token: scalyrToken,\n    host: scalyrHost,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nscalyr = cloudamqp.IntegrationLog(\"scalyr\",\n    instance_id=instance[\"id\"],\n    name=\"scalyr\",\n    token=scalyr_token,\n    host=scalyr_host)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var scalyr = new CloudAmqp.IntegrationLog(\"scalyr\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"scalyr\",\n        Token = scalyrToken,\n        Host = scalyrHost,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"scalyr\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"scalyr\"),\n\t\t\tToken:      pulumi.Any(scalyrToken),\n\t\t\tHost:       pulumi.Any(scalyrHost),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var scalyr = new IntegrationLog(\"scalyr\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"scalyr\")\n            .token(scalyrToken)\n            .host(scalyrHost)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  scalyr:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: scalyr\n      token: ${scalyrToken}\n      host: ${scalyrHost}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eSplunk log integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst splunk = new cloudamqp.IntegrationLog(\"splunk\", {\n    instanceId: instance.id,\n    name: \"splunk\",\n    token: splunkToken,\n    hostPort: splunkHostPort,\n    sourceType: \"generic_single_line\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nsplunk = cloudamqp.IntegrationLog(\"splunk\",\n    instance_id=instance[\"id\"],\n    name=\"splunk\",\n    token=splunk_token,\n    host_port=splunk_host_port,\n    source_type=\"generic_single_line\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var splunk = new CloudAmqp.IntegrationLog(\"splunk\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"splunk\",\n        Token = splunkToken,\n        HostPort = splunkHostPort,\n        SourceType = \"generic_single_line\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"splunk\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"splunk\"),\n\t\t\tToken:      pulumi.Any(splunkToken),\n\t\t\tHostPort:   pulumi.Any(splunkHostPort),\n\t\t\tSourceType: pulumi.String(\"generic_single_line\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var splunk = new IntegrationLog(\"splunk\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"splunk\")\n            .token(splunkToken)\n            .hostPort(splunkHostPort)\n            .sourceType(\"generic_single_line\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  splunk:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: splunk\n      token: ${splunkToken}\n      hostPort: ${splunkHostPort}\n      sourceType: generic_single_line\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eStackdriver log integration (v1.20.2 or older versions)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nUse variable file populated with project_id,\u003cspan pulumi-lang-nodejs=\" privateKey \" pulumi-lang-dotnet=\" PrivateKey \" pulumi-lang-go=\" privateKey \" pulumi-lang-python=\" private_key \" pulumi-lang-yaml=\" privateKey \" pulumi-lang-java=\" privateKey \"\u003e private_key \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" clientEmail\n\" pulumi-lang-dotnet=\" ClientEmail\n\" pulumi-lang-go=\" clientEmail\n\" pulumi-lang-python=\" client_email\n\" pulumi-lang-yaml=\" clientEmail\n\" pulumi-lang-java=\" clientEmail\n\"\u003e client_email\n\u003c/span\u003e\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst stackdriver = new cloudamqp.IntegrationLog(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    projectId: stackdriverProjectId,\n    privateKey: stackdriverPrivateKey,\n    clientEmail: stackdriverClientEmail,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nstackdriver = cloudamqp.IntegrationLog(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    project_id=stackdriver_project_id,\n    private_key=stackdriver_private_key,\n    client_email=stackdriver_client_email)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var stackdriver = new CloudAmqp.IntegrationLog(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        ProjectId = stackdriverProjectId,\n        PrivateKey = stackdriverPrivateKey,\n        ClientEmail = stackdriverClientEmail,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationLog(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tProjectId:   pulumi.Any(stackdriverProjectId),\n\t\t\tPrivateKey:  pulumi.Any(stackdriverPrivateKey),\n\t\t\tClientEmail: pulumi.Any(stackdriverClientEmail),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var stackdriver = new IntegrationLog(\"stackdriver\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .projectId(stackdriverProjectId)\n            .privateKey(stackdriverPrivateKey)\n            .clientEmail(stackdriverClientEmail)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  stackdriver:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      projectId: ${stackdriverProjectId}\n      privateKey: ${stackdriverPrivateKey}\n      clientEmail: ${stackdriverClientEmail}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nor by using\u003cspan pulumi-lang-nodejs=\" googleServiceAccountKey \" pulumi-lang-dotnet=\" GoogleServiceAccountKey \" pulumi-lang-go=\" googleServiceAccountKey \" pulumi-lang-python=\" google_service_account_key \" pulumi-lang-yaml=\" googleServiceAccountKey \" pulumi-lang-java=\" googleServiceAccountKey \"\u003e google_service_account_key \u003c/span\u003eresource from Google provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\nimport * as google from \"@pulumi/google\";\nimport * as std from \"@pulumi/std\";\n\nconst serviceAccount = new google.index.ServiceAccount(\"service_account\", {\n    accountId: \"\u003caccount_id\u003e\",\n    description: \"\u003cdescription\u003e\",\n    displayName: \"\u003cdisplay_name\u003e\",\n});\nconst serviceAccountKey = new google.index.ServiceAccountKey(\"service_account_key\", {serviceAccountId: serviceAccount.name});\nconst stackdriver = new cloudamqp.IntegrationLog(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    projectId: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.projectId,\n    privateKey: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.privateKey,\n    clientEmail: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.clientEmail,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\nimport pulumi_google as google\nimport pulumi_std as std\n\nservice_account = google.index.ServiceAccount(\"service_account\",\n    account_id=\u003caccount_id\u003e,\n    description=\u003cdescription\u003e,\n    display_name=\u003cdisplay_name\u003e)\nservice_account_key = google.index.ServiceAccountKey(\"service_account_key\", service_account_id=service_account.name)\nstackdriver = cloudamqp.IntegrationLog(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    project_id=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"projectId\"],\n    private_key=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"privateKey\"],\n    client_email=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"clientEmail\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\nusing Google = Pulumi.Google;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceAccount = new Google.Index.ServiceAccount(\"service_account\", new()\n    {\n        AccountId = \"\u003caccount_id\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        DisplayName = \"\u003cdisplay_name\u003e\",\n    });\n\n    var serviceAccountKey = new Google.Index.ServiceAccountKey(\"service_account_key\", new()\n    {\n        ServiceAccountId = serviceAccount.Name,\n    });\n\n    var stackdriver = new CloudAmqp.IntegrationLog(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        ProjectId = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ProjectId,\n        PrivateKey = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.PrivateKey,\n        ClientEmail = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ClientEmail,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi-google/sdk/go/google\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceAccount, err := google.NewServiceAccount(ctx, \"service_account\", \u0026google.ServiceAccountArgs{\n\t\t\tAccountId:   \"\u003caccount_id\u003e\",\n\t\t\tDescription: \"\u003cdescription\u003e\",\n\t\t\tDisplayName: \"\u003cdisplay_name\u003e\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserviceAccountKey, err := google.NewServiceAccountKey(ctx, \"service_account_key\", \u0026google.ServiceAccountKeyArgs{\n\t\t\tServiceAccountId: serviceAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode1, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode2, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationLog(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tProjectId:   invokeJsondecode.Result.ProjectId,\n\t\t\tPrivateKey:  invokeJsondecode1.Result.PrivateKey,\n\t\t\tClientEmail: invokeJsondecode2.Result.ClientEmail,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.google.ServiceAccount;\nimport com.pulumi.google.ServiceAccountArgs;\nimport com.pulumi.google.ServiceAccountKey;\nimport com.pulumi.google.ServiceAccountKeyArgs;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport com.pulumi.std.StdFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceAccount = new ServiceAccount(\"serviceAccount\", ServiceAccountArgs.builder()\n            .accountId(\"\u003caccount_id\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .displayName(\"\u003cdisplay_name\u003e\")\n            .build());\n\n        var serviceAccountKey = new ServiceAccountKey(\"serviceAccountKey\", ServiceAccountKeyArgs.builder()\n            .serviceAccountId(serviceAccount.name())\n            .build());\n\n        var stackdriver = new IntegrationLog(\"stackdriver\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .projectId(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().projectId())\n            .privateKey(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().privateKey())\n            .clientEmail(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().clientEmail())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceAccount:\n    type: google:ServiceAccount\n    name: service_account\n    properties:\n      accountId: \u003caccount_id\u003e\n      description: \u003cdescription\u003e\n      displayName: \u003cdisplay_name\u003e\n  serviceAccountKey:\n    type: google:ServiceAccountKey\n    name: service_account_key\n    properties:\n      serviceAccountId: ${serviceAccount.name}\n  stackdriver:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      projectId:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.projectId\n      privateKey:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.privateKey\n      clientEmail:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.clientEmail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eStackdriver log integration (v1.21.0 or newer versions)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nUse credentials argument and let the provider do the Base64decode and internally populate,\n*project_id, client_name, private_key*\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\nimport * as google from \"@pulumi/google\";\n\nconst serviceAccount = new google.index.ServiceAccount(\"service_account\", {\n    accountId: \"\u003caccount_id\u003e\",\n    description: \"\u003cdescription\u003e\",\n    displayName: \"\u003cdisplay_name\u003e\",\n});\nconst serviceAccountKey = new google.index.ServiceAccountKey(\"service_account_key\", {serviceAccountId: serviceAccount.name});\nconst stackdriver = new cloudamqp.IntegrationLog(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    credentials: serviceAccountKey.privateKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\nimport pulumi_google as google\n\nservice_account = google.index.ServiceAccount(\"service_account\",\n    account_id=\u003caccount_id\u003e,\n    description=\u003cdescription\u003e,\n    display_name=\u003cdisplay_name\u003e)\nservice_account_key = google.index.ServiceAccountKey(\"service_account_key\", service_account_id=service_account.name)\nstackdriver = cloudamqp.IntegrationLog(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    credentials=service_account_key[\"privateKey\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\nusing Google = Pulumi.Google;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceAccount = new Google.Index.ServiceAccount(\"service_account\", new()\n    {\n        AccountId = \"\u003caccount_id\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        DisplayName = \"\u003cdisplay_name\u003e\",\n    });\n\n    var serviceAccountKey = new Google.Index.ServiceAccountKey(\"service_account_key\", new()\n    {\n        ServiceAccountId = serviceAccount.Name,\n    });\n\n    var stackdriver = new CloudAmqp.IntegrationLog(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        Credentials = serviceAccountKey.PrivateKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi-google/sdk/go/google\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceAccount, err := google.NewServiceAccount(ctx, \"service_account\", \u0026google.ServiceAccountArgs{\n\t\t\tAccountId:   \"\u003caccount_id\u003e\",\n\t\t\tDescription: \"\u003cdescription\u003e\",\n\t\t\tDisplayName: \"\u003cdisplay_name\u003e\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserviceAccountKey, err := google.NewServiceAccountKey(ctx, \"service_account_key\", \u0026google.ServiceAccountKeyArgs{\n\t\t\tServiceAccountId: serviceAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationLog(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tCredentials: serviceAccountKey.PrivateKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.google.ServiceAccount;\nimport com.pulumi.google.ServiceAccountArgs;\nimport com.pulumi.google.ServiceAccountKey;\nimport com.pulumi.google.ServiceAccountKeyArgs;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceAccount = new ServiceAccount(\"serviceAccount\", ServiceAccountArgs.builder()\n            .accountId(\"\u003caccount_id\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .displayName(\"\u003cdisplay_name\u003e\")\n            .build());\n\n        var serviceAccountKey = new ServiceAccountKey(\"serviceAccountKey\", ServiceAccountKeyArgs.builder()\n            .serviceAccountId(serviceAccount.name())\n            .build());\n\n        var stackdriver = new IntegrationLog(\"stackdriver\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .credentials(serviceAccountKey.privateKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceAccount:\n    type: google:ServiceAccount\n    name: service_account\n    properties:\n      accountId: \u003caccount_id\u003e\n      description: \u003cdescription\u003e\n      displayName: \u003cdisplay_name\u003e\n  serviceAccountKey:\n    type: google:ServiceAccountKey\n    name: service_account_key\n    properties:\n      serviceAccountId: ${serviceAccount.name}\n  stackdriver:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      credentials: ${serviceAccountKey.privateKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nor use the same as earlier version and decode the google service account key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\nimport * as google from \"@pulumi/google\";\nimport * as std from \"@pulumi/std\";\n\nconst serviceAccount = new google.index.ServiceAccount(\"service_account\", {\n    accountId: \"\u003caccount_id\u003e\",\n    description: \"\u003cdescription\u003e\",\n    displayName: \"\u003cdisplay_name\u003e\",\n});\nconst serviceAccountKey = new google.index.ServiceAccountKey(\"service_account_key\", {serviceAccountId: serviceAccount.name});\nconst stackdriver = new cloudamqp.IntegrationLog(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    projectId: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.projectId,\n    privateKey: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.privateKey,\n    clientEmail: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.clientEmail,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\nimport pulumi_google as google\nimport pulumi_std as std\n\nservice_account = google.index.ServiceAccount(\"service_account\",\n    account_id=\u003caccount_id\u003e,\n    description=\u003cdescription\u003e,\n    display_name=\u003cdisplay_name\u003e)\nservice_account_key = google.index.ServiceAccountKey(\"service_account_key\", service_account_id=service_account.name)\nstackdriver = cloudamqp.IntegrationLog(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    project_id=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"projectId\"],\n    private_key=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"privateKey\"],\n    client_email=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"clientEmail\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\nusing Google = Pulumi.Google;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceAccount = new Google.Index.ServiceAccount(\"service_account\", new()\n    {\n        AccountId = \"\u003caccount_id\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        DisplayName = \"\u003cdisplay_name\u003e\",\n    });\n\n    var serviceAccountKey = new Google.Index.ServiceAccountKey(\"service_account_key\", new()\n    {\n        ServiceAccountId = serviceAccount.Name,\n    });\n\n    var stackdriver = new CloudAmqp.IntegrationLog(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        ProjectId = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ProjectId,\n        PrivateKey = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.PrivateKey,\n        ClientEmail = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ClientEmail,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi-google/sdk/go/google\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceAccount, err := google.NewServiceAccount(ctx, \"service_account\", \u0026google.ServiceAccountArgs{\n\t\t\tAccountId:   \"\u003caccount_id\u003e\",\n\t\t\tDescription: \"\u003cdescription\u003e\",\n\t\t\tDisplayName: \"\u003cdisplay_name\u003e\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserviceAccountKey, err := google.NewServiceAccountKey(ctx, \"service_account_key\", \u0026google.ServiceAccountKeyArgs{\n\t\t\tServiceAccountId: serviceAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode1, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode2, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationLog(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationLogArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tProjectId:   invokeJsondecode.Result.ProjectId,\n\t\t\tPrivateKey:  invokeJsondecode1.Result.PrivateKey,\n\t\t\tClientEmail: invokeJsondecode2.Result.ClientEmail,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.google.ServiceAccount;\nimport com.pulumi.google.ServiceAccountArgs;\nimport com.pulumi.google.ServiceAccountKey;\nimport com.pulumi.google.ServiceAccountKeyArgs;\nimport com.pulumi.cloudamqp.IntegrationLog;\nimport com.pulumi.cloudamqp.IntegrationLogArgs;\nimport com.pulumi.std.StdFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceAccount = new ServiceAccount(\"serviceAccount\", ServiceAccountArgs.builder()\n            .accountId(\"\u003caccount_id\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .displayName(\"\u003cdisplay_name\u003e\")\n            .build());\n\n        var serviceAccountKey = new ServiceAccountKey(\"serviceAccountKey\", ServiceAccountKeyArgs.builder()\n            .serviceAccountId(serviceAccount.name())\n            .build());\n\n        var stackdriver = new IntegrationLog(\"stackdriver\", IntegrationLogArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .projectId(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().projectId())\n            .privateKey(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().privateKey())\n            .clientEmail(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().clientEmail())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceAccount:\n    type: google:ServiceAccount\n    name: service_account\n    properties:\n      accountId: \u003caccount_id\u003e\n      description: \u003cdescription\u003e\n      displayName: \u003cdisplay_name\u003e\n  serviceAccountKey:\n    type: google:ServiceAccountKey\n    name: service_account_key\n    properties:\n      serviceAccountId: ${serviceAccount.name}\n  stackdriver:\n    type: cloudamqp:IntegrationLog\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      projectId:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.projectId\n      privateKey:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.privateKey\n      clientEmail:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.clientEmail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n","properties":{"accessKeyId":{"type":"string","description":"AWS access key identifier.\n","secret":true},"apiKey":{"type":"string","description":"The API key for the integration service. (Datadog)","secret":true},"application":{"type":"string","description":"The name of the application. (Azure Monitor)"},"applicationId":{"type":"string","description":"The application identifier.\n"},"applicationSecret":{"type":"string","description":"The application secret.\n","secret":true},"clientEmail":{"type":"string","description":"The client email. (Stackdriver)"},"credentials":{"type":"string","description":"Base64Encoded credentials. (Stackdriver)","secret":true},"dceUri":{"type":"string","description":"The data collection endpoint.\n"},"dcrId":{"type":"string","description":"ID of data collection rule that your DCE is linked to.\n"},"endpoint":{"type":"string","description":"The syslog destination to send the logs to. (Papertrail)"},"host":{"type":"string","description":"The host information. (Scalyr)"},"hostPort":{"type":"string","description":"Destination to send the logs. (Splunk)"},"instanceId":{"type":"integer","description":"Instance identifier for the CloudAMQP instance.\n\nValid arguments for each third party log integrations below. Corresponding API backend documentation can be\nfound here [CloudAMQP API add integration].\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eAzure monitoring\u003c/b\u003e\n\u003c/summary\u003e\n\nThe following arguments used by Azure monitoring.\n"},"name":{"type":"string","description":"The name of the third party log integration (\u003cspan pulumi-lang-nodejs=\"`cloudwatchlog`\" pulumi-lang-dotnet=\"`Cloudwatchlog`\" pulumi-lang-go=\"`cloudwatchlog`\" pulumi-lang-python=\"`cloudwatchlog`\" pulumi-lang-yaml=\"`cloudwatchlog`\" pulumi-lang-java=\"`cloudwatchlog`\"\u003e`cloudwatchlog`\u003c/span\u003e).\n"},"privateKey":{"type":"string","description":"The private API key used for authentication. (Stackdriver, Coralogix)","secret":true},"privateKeyId":{"type":"string","description":"Private key identifier. (Stackdriver)","secret":true},"projectId":{"type":"string","description":"The project ID for the integration service. (Stackdriver)"},"region":{"type":"string","description":"AWS region hosting the integration service.\n\nOptional arguments introduced in version [v1.38.0].\n"},"retention":{"type":"integer","description":"Number of days to retain log events in `CloudAMQP` log group.\n\n***Note:*** Possible values are: 0 (never expire) or between 1-3653, read more about valid values in\nthe [Cloudwatch Log retention].\n"},"secretAccessKey":{"type":"string","description":"AWS secret access key.\n","secret":true},"sourcetype":{"type":"string","description":"Assign source type to the data exported, eg. generic_single_line. (Splunk)"},"subsystem":{"type":"string","description":"The name of the subsystem. (Azure Monitor)"},"table":{"type":"string","description":"The table name.\n\nUse Azure portal to configure external access for Azure Monitor. [Tutorial to find/create all arguments]\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eCloudwatch\u003c/b\u003e\n\u003c/summary\u003e\n\nThe following arguments used by CloudWatch.\n"},"tags":{"type":"string","description":"Enter tags to `CloudAMQP` log group like this: `Project=A,Environment=Development`.\n\n***Note:*** Tags are only added, unwanted tags needs to be removed manually in the AWS console.\nRead more about tags format in the [Cloudwatch Log tags]\n"},"tenantId":{"type":"string","description":"The tenant identifier.\n"},"token":{"type":"string","description":"The token used for authentication. (Loggly, Logentries, Splunk, Scalyr)","secret":true},"url":{"type":"string","description":"The URL to push the logs to. (Papertrail)"}},"required":["clientEmail","instanceId","name","privateKey","privateKeyId","projectId"],"inputProperties":{"accessKeyId":{"type":"string","description":"AWS access key identifier.\n","secret":true},"apiKey":{"type":"string","description":"The API key for the integration service. (Datadog)","secret":true},"application":{"type":"string","description":"The name of the application. (Azure Monitor)"},"applicationId":{"type":"string","description":"The application identifier.\n"},"applicationSecret":{"type":"string","description":"The application secret.\n","secret":true},"clientEmail":{"type":"string","description":"The client email. (Stackdriver)"},"credentials":{"type":"string","description":"Base64Encoded credentials. (Stackdriver)","secret":true},"dceUri":{"type":"string","description":"The data collection endpoint.\n"},"dcrId":{"type":"string","description":"ID of data collection rule that your DCE is linked to.\n"},"endpoint":{"type":"string","description":"The syslog destination to send the logs to. (Papertrail)"},"host":{"type":"string","description":"The host information. (Scalyr)"},"hostPort":{"type":"string","description":"Destination to send the logs. (Splunk)"},"instanceId":{"type":"integer","description":"Instance identifier for the CloudAMQP instance.\n\nValid arguments for each third party log integrations below. Corresponding API backend documentation can be\nfound here [CloudAMQP API add integration].\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eAzure monitoring\u003c/b\u003e\n\u003c/summary\u003e\n\nThe following arguments used by Azure monitoring.\n"},"name":{"type":"string","description":"The name of the third party log integration (\u003cspan pulumi-lang-nodejs=\"`cloudwatchlog`\" pulumi-lang-dotnet=\"`Cloudwatchlog`\" pulumi-lang-go=\"`cloudwatchlog`\" pulumi-lang-python=\"`cloudwatchlog`\" pulumi-lang-yaml=\"`cloudwatchlog`\" pulumi-lang-java=\"`cloudwatchlog`\"\u003e`cloudwatchlog`\u003c/span\u003e).\n"},"privateKey":{"type":"string","description":"The private API key used for authentication. (Stackdriver, Coralogix)","secret":true},"privateKeyId":{"type":"string","description":"Private key identifier. (Stackdriver)","secret":true},"projectId":{"type":"string","description":"The project ID for the integration service. (Stackdriver)"},"region":{"type":"string","description":"AWS region hosting the integration service.\n\nOptional arguments introduced in version [v1.38.0].\n"},"retention":{"type":"integer","description":"Number of days to retain log events in `CloudAMQP` log group.\n\n***Note:*** Possible values are: 0 (never expire) or between 1-3653, read more about valid values in\nthe [Cloudwatch Log retention].\n"},"secretAccessKey":{"type":"string","description":"AWS secret access key.\n","secret":true},"sourcetype":{"type":"string","description":"Assign source type to the data exported, eg. generic_single_line. (Splunk)"},"subsystem":{"type":"string","description":"The name of the subsystem. (Azure Monitor)"},"table":{"type":"string","description":"The table name.\n\nUse Azure portal to configure external access for Azure Monitor. [Tutorial to find/create all arguments]\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eCloudwatch\u003c/b\u003e\n\u003c/summary\u003e\n\nThe following arguments used by CloudWatch.\n"},"tags":{"type":"string","description":"Enter tags to `CloudAMQP` log group like this: `Project=A,Environment=Development`.\n\n***Note:*** Tags are only added, unwanted tags needs to be removed manually in the AWS console.\nRead more about tags format in the [Cloudwatch Log tags]\n"},"tenantId":{"type":"string","description":"The tenant identifier.\n"},"token":{"type":"string","description":"The token used for authentication. (Loggly, Logentries, Splunk, Scalyr)","secret":true},"url":{"type":"string","description":"The URL to push the logs to. (Papertrail)"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationLog resources.\n","properties":{"accessKeyId":{"type":"string","description":"AWS access key identifier.\n","secret":true},"apiKey":{"type":"string","description":"The API key for the integration service. (Datadog)","secret":true},"application":{"type":"string","description":"The name of the application. (Azure Monitor)"},"applicationId":{"type":"string","description":"The application identifier.\n"},"applicationSecret":{"type":"string","description":"The application secret.\n","secret":true},"clientEmail":{"type":"string","description":"The client email. (Stackdriver)"},"credentials":{"type":"string","description":"Base64Encoded credentials. (Stackdriver)","secret":true},"dceUri":{"type":"string","description":"The data collection endpoint.\n"},"dcrId":{"type":"string","description":"ID of data collection rule that your DCE is linked to.\n"},"endpoint":{"type":"string","description":"The syslog destination to send the logs to. (Papertrail)"},"host":{"type":"string","description":"The host information. (Scalyr)"},"hostPort":{"type":"string","description":"Destination to send the logs. (Splunk)"},"instanceId":{"type":"integer","description":"Instance identifier for the CloudAMQP instance.\n\nValid arguments for each third party log integrations below. Corresponding API backend documentation can be\nfound here [CloudAMQP API add integration].\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eAzure monitoring\u003c/b\u003e\n\u003c/summary\u003e\n\nThe following arguments used by Azure monitoring.\n"},"name":{"type":"string","description":"The name of the third party log integration (\u003cspan pulumi-lang-nodejs=\"`cloudwatchlog`\" pulumi-lang-dotnet=\"`Cloudwatchlog`\" pulumi-lang-go=\"`cloudwatchlog`\" pulumi-lang-python=\"`cloudwatchlog`\" pulumi-lang-yaml=\"`cloudwatchlog`\" pulumi-lang-java=\"`cloudwatchlog`\"\u003e`cloudwatchlog`\u003c/span\u003e).\n"},"privateKey":{"type":"string","description":"The private API key used for authentication. (Stackdriver, Coralogix)","secret":true},"privateKeyId":{"type":"string","description":"Private key identifier. (Stackdriver)","secret":true},"projectId":{"type":"string","description":"The project ID for the integration service. (Stackdriver)"},"region":{"type":"string","description":"AWS region hosting the integration service.\n\nOptional arguments introduced in version [v1.38.0].\n"},"retention":{"type":"integer","description":"Number of days to retain log events in `CloudAMQP` log group.\n\n***Note:*** Possible values are: 0 (never expire) or between 1-3653, read more about valid values in\nthe [Cloudwatch Log retention].\n"},"secretAccessKey":{"type":"string","description":"AWS secret access key.\n","secret":true},"sourcetype":{"type":"string","description":"Assign source type to the data exported, eg. generic_single_line. (Splunk)"},"subsystem":{"type":"string","description":"The name of the subsystem. (Azure Monitor)"},"table":{"type":"string","description":"The table name.\n\nUse Azure portal to configure external access for Azure Monitor. [Tutorial to find/create all arguments]\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eCloudwatch\u003c/b\u003e\n\u003c/summary\u003e\n\nThe following arguments used by CloudWatch.\n"},"tags":{"type":"string","description":"Enter tags to `CloudAMQP` log group like this: `Project=A,Environment=Development`.\n\n***Note:*** Tags are only added, unwanted tags needs to be removed manually in the AWS console.\nRead more about tags format in the [Cloudwatch Log tags]\n"},"tenantId":{"type":"string","description":"The tenant identifier.\n"},"token":{"type":"string","description":"The token used for authentication. (Loggly, Logentries, Splunk, Scalyr)","secret":true},"url":{"type":"string","description":"The URL to push the logs to. (Papertrail)"}},"type":"object"}},"cloudamqp:index/integrationMetric:IntegrationMetric":{"description":"This resource allows you to create and manage, forwarding metrics to third party integrations for a\nCloudAMQP instance. Once configured, the metrics produced will be forward to corresponding\nintegration.\n\nOnly available for dedicated subscription plans.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudwatch v1 and v2 metric integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n***Access key***\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst cloudwatch = new cloudamqp.IntegrationMetric(\"cloudwatch\", {\n    instanceId: instance.id,\n    name: \"cloudwatch\",\n    accessKeyId: awsAccessKeyId,\n    secretAccessKey: varAwsSecretAcccessKey,\n    region: awsRegion,\n});\nconst cloudwatchV2 = new cloudamqp.IntegrationMetric(\"cloudwatch_v2\", {\n    instanceId: instance.id,\n    name: \"cloudwatch_v2\",\n    accessKeyId: awsAccessKeyId,\n    secretAccessKey: varAwsSecretAcccessKey,\n    region: awsRegion,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncloudwatch = cloudamqp.IntegrationMetric(\"cloudwatch\",\n    instance_id=instance[\"id\"],\n    name=\"cloudwatch\",\n    access_key_id=aws_access_key_id,\n    secret_access_key=var_aws_secret_acccess_key,\n    region=aws_region)\ncloudwatch_v2 = cloudamqp.IntegrationMetric(\"cloudwatch_v2\",\n    instance_id=instance[\"id\"],\n    name=\"cloudwatch_v2\",\n    access_key_id=aws_access_key_id,\n    secret_access_key=var_aws_secret_acccess_key,\n    region=aws_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudwatch = new CloudAmqp.IntegrationMetric(\"cloudwatch\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"cloudwatch\",\n        AccessKeyId = awsAccessKeyId,\n        SecretAccessKey = varAwsSecretAcccessKey,\n        Region = awsRegion,\n    });\n\n    var cloudwatchV2 = new CloudAmqp.IntegrationMetric(\"cloudwatch_v2\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"cloudwatch_v2\",\n        AccessKeyId = awsAccessKeyId,\n        SecretAccessKey = varAwsSecretAcccessKey,\n        Region = awsRegion,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetric(ctx, \"cloudwatch\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:      pulumi.Any(instance.Id),\n\t\t\tName:            pulumi.String(\"cloudwatch\"),\n\t\t\tAccessKeyId:     pulumi.Any(awsAccessKeyId),\n\t\t\tSecretAccessKey: pulumi.Any(varAwsSecretAcccessKey),\n\t\t\tRegion:          pulumi.Any(awsRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationMetric(ctx, \"cloudwatch_v2\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:      pulumi.Any(instance.Id),\n\t\t\tName:            pulumi.String(\"cloudwatch_v2\"),\n\t\t\tAccessKeyId:     pulumi.Any(awsAccessKeyId),\n\t\t\tSecretAccessKey: pulumi.Any(varAwsSecretAcccessKey),\n\t\t\tRegion:          pulumi.Any(awsRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cloudwatch = new IntegrationMetric(\"cloudwatch\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"cloudwatch\")\n            .accessKeyId(awsAccessKeyId)\n            .secretAccessKey(varAwsSecretAcccessKey)\n            .region(awsRegion)\n            .build());\n\n        var cloudwatchV2 = new IntegrationMetric(\"cloudwatchV2\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"cloudwatch_v2\")\n            .accessKeyId(awsAccessKeyId)\n            .secretAccessKey(varAwsSecretAcccessKey)\n            .region(awsRegion)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudwatch:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: cloudwatch\n      accessKeyId: ${awsAccessKeyId}\n      secretAccessKey: ${varAwsSecretAcccessKey}\n      region: ${awsRegion}\n  cloudwatchV2:\n    type: cloudamqp:IntegrationMetric\n    name: cloudwatch_v2\n    properties:\n      instanceId: ${instance.id}\n      name: cloudwatch_v2\n      accessKeyId: ${awsAccessKeyId}\n      secretAccessKey: ${varAwsSecretAcccessKey}\n      region: ${awsRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n***Assume role***\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst cloudwatch = new cloudamqp.IntegrationMetric(\"cloudwatch\", {\n    instanceId: instance.id,\n    name: \"cloudwatch\",\n    iamRole: awsIamRole,\n    iamExternalId: externalId,\n    region: awsRegion,\n});\nconst cloudwatchV2 = new cloudamqp.IntegrationMetric(\"cloudwatch_v2\", {\n    instanceId: instance.id,\n    name: \"cloudwatch_v2\",\n    iamRole: awsIamRole,\n    iamExternalId: externalId,\n    region: awsRegion,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncloudwatch = cloudamqp.IntegrationMetric(\"cloudwatch\",\n    instance_id=instance[\"id\"],\n    name=\"cloudwatch\",\n    iam_role=aws_iam_role,\n    iam_external_id=external_id,\n    region=aws_region)\ncloudwatch_v2 = cloudamqp.IntegrationMetric(\"cloudwatch_v2\",\n    instance_id=instance[\"id\"],\n    name=\"cloudwatch_v2\",\n    iam_role=aws_iam_role,\n    iam_external_id=external_id,\n    region=aws_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudwatch = new CloudAmqp.IntegrationMetric(\"cloudwatch\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"cloudwatch\",\n        IamRole = awsIamRole,\n        IamExternalId = externalId,\n        Region = awsRegion,\n    });\n\n    var cloudwatchV2 = new CloudAmqp.IntegrationMetric(\"cloudwatch_v2\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"cloudwatch_v2\",\n        IamRole = awsIamRole,\n        IamExternalId = externalId,\n        Region = awsRegion,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetric(ctx, \"cloudwatch\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:    pulumi.Any(instance.Id),\n\t\t\tName:          pulumi.String(\"cloudwatch\"),\n\t\t\tIamRole:       pulumi.Any(awsIamRole),\n\t\t\tIamExternalId: pulumi.Any(externalId),\n\t\t\tRegion:        pulumi.Any(awsRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationMetric(ctx, \"cloudwatch_v2\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:    pulumi.Any(instance.Id),\n\t\t\tName:          pulumi.String(\"cloudwatch_v2\"),\n\t\t\tIamRole:       pulumi.Any(awsIamRole),\n\t\t\tIamExternalId: pulumi.Any(externalId),\n\t\t\tRegion:        pulumi.Any(awsRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cloudwatch = new IntegrationMetric(\"cloudwatch\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"cloudwatch\")\n            .iamRole(awsIamRole)\n            .iamExternalId(externalId)\n            .region(awsRegion)\n            .build());\n\n        var cloudwatchV2 = new IntegrationMetric(\"cloudwatchV2\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"cloudwatch_v2\")\n            .iamRole(awsIamRole)\n            .iamExternalId(externalId)\n            .region(awsRegion)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudwatch:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: cloudwatch\n      iamRole: ${awsIamRole}\n      iamExternalId: ${externalId}\n      region: ${awsRegion}\n  cloudwatchV2:\n    type: cloudamqp:IntegrationMetric\n    name: cloudwatch_v2\n    properties:\n      instanceId: ${instance.id}\n      name: cloudwatch_v2\n      iamRole: ${awsIamRole}\n      iamExternalId: ${externalId}\n      region: ${awsRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n* AWS IAM role: arn:aws:iam::ACCOUNT-ID:role/ROLE-NAME\n* External id: Create own external identifier that match the role created. E.g. \"cloudamqp-abc123\".\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eDatadog v1 and v2 metric integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst datadog = new cloudamqp.IntegrationMetric(\"datadog\", {\n    instanceId: instance.id,\n    name: \"datadog\",\n    apiKey: datadogApiKey,\n    region: datadogRegion,\n    tags: \"env=prod,region=us1,version=v1.0\",\n});\nconst datadogV2 = new cloudamqp.IntegrationMetric(\"datadog_v2\", {\n    instanceId: instance.id,\n    name: \"datadog_v2\",\n    apiKey: datadogApiKey,\n    region: datadogRegion,\n    tags: \"env=prod,region=us1,version=v1.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndatadog = cloudamqp.IntegrationMetric(\"datadog\",\n    instance_id=instance[\"id\"],\n    name=\"datadog\",\n    api_key=datadog_api_key,\n    region=datadog_region,\n    tags=\"env=prod,region=us1,version=v1.0\")\ndatadog_v2 = cloudamqp.IntegrationMetric(\"datadog_v2\",\n    instance_id=instance[\"id\"],\n    name=\"datadog_v2\",\n    api_key=datadog_api_key,\n    region=datadog_region,\n    tags=\"env=prod,region=us1,version=v1.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var datadog = new CloudAmqp.IntegrationMetric(\"datadog\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"datadog\",\n        ApiKey = datadogApiKey,\n        Region = datadogRegion,\n        Tags = \"env=prod,region=us1,version=v1.0\",\n    });\n\n    var datadogV2 = new CloudAmqp.IntegrationMetric(\"datadog_v2\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"datadog_v2\",\n        ApiKey = datadogApiKey,\n        Region = datadogRegion,\n        Tags = \"env=prod,region=us1,version=v1.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetric(ctx, \"datadog\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"datadog\"),\n\t\t\tApiKey:     pulumi.Any(datadogApiKey),\n\t\t\tRegion:     pulumi.Any(datadogRegion),\n\t\t\tTags:       pulumi.String(\"env=prod,region=us1,version=v1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationMetric(ctx, \"datadog_v2\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"datadog_v2\"),\n\t\t\tApiKey:     pulumi.Any(datadogApiKey),\n\t\t\tRegion:     pulumi.Any(datadogRegion),\n\t\t\tTags:       pulumi.String(\"env=prod,region=us1,version=v1.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var datadog = new IntegrationMetric(\"datadog\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"datadog\")\n            .apiKey(datadogApiKey)\n            .region(datadogRegion)\n            .tags(\"env=prod,region=us1,version=v1.0\")\n            .build());\n\n        var datadogV2 = new IntegrationMetric(\"datadogV2\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"datadog_v2\")\n            .apiKey(datadogApiKey)\n            .region(datadogRegion)\n            .tags(\"env=prod,region=us1,version=v1.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  datadog:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: datadog\n      apiKey: ${datadogApiKey}\n      region: ${datadogRegion}\n      tags: env=prod,region=us1,version=v1.0\n  datadogV2:\n    type: cloudamqp:IntegrationMetric\n    name: datadog_v2\n    properties:\n      instanceId: ${instance.id}\n      name: datadog_v2\n      apiKey: ${datadogApiKey}\n      region: ${datadogRegion}\n      tags: env=prod,region=us1,version=v1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eLibrato metric integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst librato = new cloudamqp.IntegrationMetric(\"librato\", {\n    instanceId: instance.id,\n    name: \"librato\",\n    email: libratoEmail,\n    apiKey: libratoApiKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nlibrato = cloudamqp.IntegrationMetric(\"librato\",\n    instance_id=instance[\"id\"],\n    name=\"librato\",\n    email=librato_email,\n    api_key=librato_api_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var librato = new CloudAmqp.IntegrationMetric(\"librato\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"librato\",\n        Email = libratoEmail,\n        ApiKey = libratoApiKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetric(ctx, \"librato\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"librato\"),\n\t\t\tEmail:      pulumi.Any(libratoEmail),\n\t\t\tApiKey:     pulumi.Any(libratoApiKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var librato = new IntegrationMetric(\"librato\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"librato\")\n            .email(libratoEmail)\n            .apiKey(libratoApiKey)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  librato:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: librato\n      email: ${libratoEmail}\n      apiKey: ${libratoApiKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eNew relic v2 metric integration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst newrelic = new cloudamqp.IntegrationMetric(\"newrelic\", {\n    instanceId: instance.id,\n    name: \"newrelic_v2\",\n    apiKey: newrelicApiKey,\n    region: newrelicRegion,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnewrelic = cloudamqp.IntegrationMetric(\"newrelic\",\n    instance_id=instance[\"id\"],\n    name=\"newrelic_v2\",\n    api_key=newrelic_api_key,\n    region=newrelic_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var newrelic = new CloudAmqp.IntegrationMetric(\"newrelic\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"newrelic_v2\",\n        ApiKey = newrelicApiKey,\n        Region = newrelicRegion,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetric(ctx, \"newrelic\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"newrelic_v2\"),\n\t\t\tApiKey:     pulumi.Any(newrelicApiKey),\n\t\t\tRegion:     pulumi.Any(newrelicRegion),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var newrelic = new IntegrationMetric(\"newrelic\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"newrelic_v2\")\n            .apiKey(newrelicApiKey)\n            .region(newrelicRegion)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  newrelic:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: newrelic_v2\n      apiKey: ${newrelicApiKey}\n      region: ${newrelicRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eStackdriver metric integration (v1.20.2 or earlier versions)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nUse variable file populated with project_id,\u003cspan pulumi-lang-nodejs=\" privateKey \" pulumi-lang-dotnet=\" PrivateKey \" pulumi-lang-go=\" privateKey \" pulumi-lang-python=\" private_key \" pulumi-lang-yaml=\" privateKey \" pulumi-lang-java=\" privateKey \"\u003e private_key \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" clientEmail\n\" pulumi-lang-dotnet=\" ClientEmail\n\" pulumi-lang-go=\" clientEmail\n\" pulumi-lang-python=\" client_email\n\" pulumi-lang-yaml=\" clientEmail\n\" pulumi-lang-java=\" clientEmail\n\"\u003e client_email\n\u003c/span\u003e\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst stackdriver = new cloudamqp.IntegrationMetric(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    projectId: stackdriverProjectId,\n    privateKey: stackdriverPrivateKey,\n    clientEmail: stackriverEmail,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nstackdriver = cloudamqp.IntegrationMetric(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    project_id=stackdriver_project_id,\n    private_key=stackdriver_private_key,\n    client_email=stackriver_email)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var stackdriver = new CloudAmqp.IntegrationMetric(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        ProjectId = stackdriverProjectId,\n        PrivateKey = stackdriverPrivateKey,\n        ClientEmail = stackriverEmail,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetric(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tProjectId:   pulumi.Any(stackdriverProjectId),\n\t\t\tPrivateKey:  pulumi.Any(stackdriverPrivateKey),\n\t\t\tClientEmail: pulumi.Any(stackriverEmail),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var stackdriver = new IntegrationMetric(\"stackdriver\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .projectId(stackdriverProjectId)\n            .privateKey(stackdriverPrivateKey)\n            .clientEmail(stackriverEmail)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  stackdriver:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      projectId: ${stackdriverProjectId}\n      privateKey: ${stackdriverPrivateKey}\n      clientEmail: ${stackriverEmail}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nor by using\u003cspan pulumi-lang-nodejs=\" googleServiceAccountKey \" pulumi-lang-dotnet=\" GoogleServiceAccountKey \" pulumi-lang-go=\" googleServiceAccountKey \" pulumi-lang-python=\" google_service_account_key \" pulumi-lang-yaml=\" googleServiceAccountKey \" pulumi-lang-java=\" googleServiceAccountKey \"\u003e google_service_account_key \u003c/span\u003eresource from Google provider\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\nimport * as google from \"@pulumi/google\";\nimport * as std from \"@pulumi/std\";\n\nconst serviceAccount = new google.index.ServiceAccount(\"service_account\", {\n    accountId: \"\u003caccount_id\u003e\",\n    description: \"\u003cdescription\u003e\",\n    displayName: \"\u003cdisplay_name\u003e\",\n});\nconst serviceAccountKey = new google.index.ServiceAccountKey(\"service_account_key\", {serviceAccountId: serviceAccount.name});\nconst stackdriver = new cloudamqp.IntegrationMetric(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    projectId: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.projectId,\n    privateKey: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.privateKey,\n    clientEmail: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.clientEmail,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\nimport pulumi_google as google\nimport pulumi_std as std\n\nservice_account = google.index.ServiceAccount(\"service_account\",\n    account_id=\u003caccount_id\u003e,\n    description=\u003cdescription\u003e,\n    display_name=\u003cdisplay_name\u003e)\nservice_account_key = google.index.ServiceAccountKey(\"service_account_key\", service_account_id=service_account.name)\nstackdriver = cloudamqp.IntegrationMetric(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    project_id=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"projectId\"],\n    private_key=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"privateKey\"],\n    client_email=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"clientEmail\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\nusing Google = Pulumi.Google;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceAccount = new Google.Index.ServiceAccount(\"service_account\", new()\n    {\n        AccountId = \"\u003caccount_id\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        DisplayName = \"\u003cdisplay_name\u003e\",\n    });\n\n    var serviceAccountKey = new Google.Index.ServiceAccountKey(\"service_account_key\", new()\n    {\n        ServiceAccountId = serviceAccount.Name,\n    });\n\n    var stackdriver = new CloudAmqp.IntegrationMetric(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        ProjectId = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ProjectId,\n        PrivateKey = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.PrivateKey,\n        ClientEmail = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ClientEmail,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi-google/sdk/go/google\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceAccount, err := google.NewServiceAccount(ctx, \"service_account\", \u0026google.ServiceAccountArgs{\n\t\t\tAccountId:   \"\u003caccount_id\u003e\",\n\t\t\tDescription: \"\u003cdescription\u003e\",\n\t\t\tDisplayName: \"\u003cdisplay_name\u003e\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserviceAccountKey, err := google.NewServiceAccountKey(ctx, \"service_account_key\", \u0026google.ServiceAccountKeyArgs{\n\t\t\tServiceAccountId: serviceAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode1, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode2, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationMetric(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tProjectId:   invokeJsondecode.Result.ProjectId,\n\t\t\tPrivateKey:  invokeJsondecode1.Result.PrivateKey,\n\t\t\tClientEmail: invokeJsondecode2.Result.ClientEmail,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.google.ServiceAccount;\nimport com.pulumi.google.ServiceAccountArgs;\nimport com.pulumi.google.ServiceAccountKey;\nimport com.pulumi.google.ServiceAccountKeyArgs;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport com.pulumi.std.StdFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceAccount = new ServiceAccount(\"serviceAccount\", ServiceAccountArgs.builder()\n            .accountId(\"\u003caccount_id\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .displayName(\"\u003cdisplay_name\u003e\")\n            .build());\n\n        var serviceAccountKey = new ServiceAccountKey(\"serviceAccountKey\", ServiceAccountKeyArgs.builder()\n            .serviceAccountId(serviceAccount.name())\n            .build());\n\n        var stackdriver = new IntegrationMetric(\"stackdriver\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .projectId(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().projectId())\n            .privateKey(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().privateKey())\n            .clientEmail(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().clientEmail())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceAccount:\n    type: google:ServiceAccount\n    name: service_account\n    properties:\n      accountId: \u003caccount_id\u003e\n      description: \u003cdescription\u003e\n      displayName: \u003cdisplay_name\u003e\n  serviceAccountKey:\n    type: google:ServiceAccountKey\n    name: service_account_key\n    properties:\n      serviceAccountId: ${serviceAccount.name}\n  stackdriver:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      projectId:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.projectId\n      privateKey:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.privateKey\n      clientEmail:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.clientEmail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eStackdriver metric integration (v1.21.0 or newer versions)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nUse credentials argument and let the provider do the Base64decode and internally populate,\n*project_id, client_name, private_key*\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\nimport * as google from \"@pulumi/google\";\n\nconst serviceAccount = new google.index.ServiceAccount(\"service_account\", {\n    accountId: \"\u003caccount_id\u003e\",\n    description: \"\u003cdescription\u003e\",\n    displayName: \"\u003cdisplay_name\u003e\",\n});\nconst serviceAccountKey = new google.index.ServiceAccountKey(\"service_account_key\", {serviceAccountId: serviceAccount.name});\nconst stackdriver = new cloudamqp.IntegrationMetric(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    credentials: serviceAccountKey.privateKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\nimport pulumi_google as google\n\nservice_account = google.index.ServiceAccount(\"service_account\",\n    account_id=\u003caccount_id\u003e,\n    description=\u003cdescription\u003e,\n    display_name=\u003cdisplay_name\u003e)\nservice_account_key = google.index.ServiceAccountKey(\"service_account_key\", service_account_id=service_account.name)\nstackdriver = cloudamqp.IntegrationMetric(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    credentials=service_account_key[\"privateKey\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\nusing Google = Pulumi.Google;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceAccount = new Google.Index.ServiceAccount(\"service_account\", new()\n    {\n        AccountId = \"\u003caccount_id\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        DisplayName = \"\u003cdisplay_name\u003e\",\n    });\n\n    var serviceAccountKey = new Google.Index.ServiceAccountKey(\"service_account_key\", new()\n    {\n        ServiceAccountId = serviceAccount.Name,\n    });\n\n    var stackdriver = new CloudAmqp.IntegrationMetric(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        Credentials = serviceAccountKey.PrivateKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi-google/sdk/go/google\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceAccount, err := google.NewServiceAccount(ctx, \"service_account\", \u0026google.ServiceAccountArgs{\n\t\t\tAccountId:   \"\u003caccount_id\u003e\",\n\t\t\tDescription: \"\u003cdescription\u003e\",\n\t\t\tDisplayName: \"\u003cdisplay_name\u003e\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserviceAccountKey, err := google.NewServiceAccountKey(ctx, \"service_account_key\", \u0026google.ServiceAccountKeyArgs{\n\t\t\tServiceAccountId: serviceAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationMetric(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tCredentials: serviceAccountKey.PrivateKey,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.google.ServiceAccount;\nimport com.pulumi.google.ServiceAccountArgs;\nimport com.pulumi.google.ServiceAccountKey;\nimport com.pulumi.google.ServiceAccountKeyArgs;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceAccount = new ServiceAccount(\"serviceAccount\", ServiceAccountArgs.builder()\n            .accountId(\"\u003caccount_id\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .displayName(\"\u003cdisplay_name\u003e\")\n            .build());\n\n        var serviceAccountKey = new ServiceAccountKey(\"serviceAccountKey\", ServiceAccountKeyArgs.builder()\n            .serviceAccountId(serviceAccount.name())\n            .build());\n\n        var stackdriver = new IntegrationMetric(\"stackdriver\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .credentials(serviceAccountKey.privateKey())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceAccount:\n    type: google:ServiceAccount\n    name: service_account\n    properties:\n      accountId: \u003caccount_id\u003e\n      description: \u003cdescription\u003e\n      displayName: \u003cdisplay_name\u003e\n  serviceAccountKey:\n    type: google:ServiceAccountKey\n    name: service_account_key\n    properties:\n      serviceAccountId: ${serviceAccount.name}\n  stackdriver:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      credentials: ${serviceAccountKey.privateKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nor use the same as earlier version and decode the google service account key\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\nimport * as google from \"@pulumi/google\";\nimport * as std from \"@pulumi/std\";\n\nconst serviceAccount = new google.index.ServiceAccount(\"service_account\", {\n    accountId: \"\u003caccount_id\u003e\",\n    description: \"\u003cdescription\u003e\",\n    displayName: \"\u003cdisplay_name\u003e\",\n});\nconst serviceAccountKey = new google.index.ServiceAccountKey(\"service_account_key\", {serviceAccountId: serviceAccount.name});\nconst stackdriver = new cloudamqp.IntegrationMetric(\"stackdriver\", {\n    instanceId: instance.id,\n    name: \"stackdriver\",\n    projectId: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.projectId,\n    privateKey: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.privateKey,\n    clientEmail: std.index.jsondecode({\n        input: std.index.base64decode({\n            input: serviceAccountKey.privateKey,\n        }).result,\n    }).result.clientEmail,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\nimport pulumi_google as google\nimport pulumi_std as std\n\nservice_account = google.index.ServiceAccount(\"service_account\",\n    account_id=\u003caccount_id\u003e,\n    description=\u003cdescription\u003e,\n    display_name=\u003cdisplay_name\u003e)\nservice_account_key = google.index.ServiceAccountKey(\"service_account_key\", service_account_id=service_account.name)\nstackdriver = cloudamqp.IntegrationMetric(\"stackdriver\",\n    instance_id=instance[\"id\"],\n    name=\"stackdriver\",\n    project_id=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"projectId\"],\n    private_key=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"privateKey\"],\n    client_email=std.index.jsondecode(input=std.index.base64decode(input=service_account_key[\"privateKey\"])[\"result\"])[\"result\"][\"clientEmail\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\nusing Google = Pulumi.Google;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var serviceAccount = new Google.Index.ServiceAccount(\"service_account\", new()\n    {\n        AccountId = \"\u003caccount_id\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        DisplayName = \"\u003cdisplay_name\u003e\",\n    });\n\n    var serviceAccountKey = new Google.Index.ServiceAccountKey(\"service_account_key\", new()\n    {\n        ServiceAccountId = serviceAccount.Name,\n    });\n\n    var stackdriver = new CloudAmqp.IntegrationMetric(\"stackdriver\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"stackdriver\",\n        ProjectId = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ProjectId,\n        PrivateKey = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.PrivateKey,\n        ClientEmail = Std.Index.Jsondecode.Invoke(new()\n        {\n            Input = Std.Index.Base64decode.Invoke(new()\n            {\n                Input = serviceAccountKey.PrivateKey,\n            }).Result,\n        }).Result.ClientEmail,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi-google/sdk/go/google\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tserviceAccount, err := google.NewServiceAccount(ctx, \"service_account\", \u0026google.ServiceAccountArgs{\n\t\t\tAccountId:   \"\u003caccount_id\u003e\",\n\t\t\tDescription: \"\u003cdescription\u003e\",\n\t\t\tDisplayName: \"\u003cdisplay_name\u003e\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tserviceAccountKey, err := google.NewServiceAccountKey(ctx, \"service_account_key\", \u0026google.ServiceAccountKeyArgs{\n\t\t\tServiceAccountId: serviceAccount.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode1, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeJsondecode2, err := std.Jsondecode(ctx, map[string]interface{}{\n\t\t\t\"input\": std.Base64decode(ctx, map[string]interface{}{\n\t\t\t\t\"input\": serviceAccountKey.PrivateKey,\n\t\t\t}, nil).Result,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewIntegrationMetric(ctx, \"stackdriver\", \u0026cloudamqp.IntegrationMetricArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tName:        pulumi.String(\"stackdriver\"),\n\t\t\tProjectId:   invokeJsondecode.Result.ProjectId,\n\t\t\tPrivateKey:  invokeJsondecode1.Result.PrivateKey,\n\t\t\tClientEmail: invokeJsondecode2.Result.ClientEmail,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.google.ServiceAccount;\nimport com.pulumi.google.ServiceAccountArgs;\nimport com.pulumi.google.ServiceAccountKey;\nimport com.pulumi.google.ServiceAccountKeyArgs;\nimport com.pulumi.cloudamqp.IntegrationMetric;\nimport com.pulumi.cloudamqp.IntegrationMetricArgs;\nimport com.pulumi.std.StdFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var serviceAccount = new ServiceAccount(\"serviceAccount\", ServiceAccountArgs.builder()\n            .accountId(\"\u003caccount_id\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .displayName(\"\u003cdisplay_name\u003e\")\n            .build());\n\n        var serviceAccountKey = new ServiceAccountKey(\"serviceAccountKey\", ServiceAccountKeyArgs.builder()\n            .serviceAccountId(serviceAccount.name())\n            .build());\n\n        var stackdriver = new IntegrationMetric(\"stackdriver\", IntegrationMetricArgs.builder()\n            .instanceId(instance.id())\n            .name(\"stackdriver\")\n            .projectId(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().projectId())\n            .privateKey(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().privateKey())\n            .clientEmail(StdFunctions.jsondecode(Map.of(\"input\", StdFunctions.base64decode(Map.of(\"input\", serviceAccountKey.privateKey())).result())).result().clientEmail())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  serviceAccount:\n    type: google:ServiceAccount\n    name: service_account\n    properties:\n      accountId: \u003caccount_id\u003e\n      description: \u003cdescription\u003e\n      displayName: \u003cdisplay_name\u003e\n  serviceAccountKey:\n    type: google:ServiceAccountKey\n    name: service_account_key\n    properties:\n      serviceAccountId: ${serviceAccount.name}\n  stackdriver:\n    type: cloudamqp:IntegrationMetric\n    properties:\n      instanceId: ${instance.id}\n      name: stackdriver\n      projectId:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.projectId\n      privateKey:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.privateKey\n      clientEmail:\n        fn::invoke:\n          function: std:jsondecode\n          arguments:\n            input:\n              fn::invoke:\n                function: std:base64decode\n                arguments:\n                  input: ${serviceAccountKey.privateKey}\n                return: result\n          return: result.clientEmail\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Argument References\n\nThe following arguments are supported:\n\n* \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e              - (Required) The name of the third party log integration. See\n                        `Integration service reference`\n* \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e            - (Optional) Region hosting the integration service.\n* \u003cspan pulumi-lang-nodejs=\"`accessKeyId`\" pulumi-lang-dotnet=\"`AccessKeyId`\" pulumi-lang-go=\"`accessKeyId`\" pulumi-lang-python=\"`access_key_id`\" pulumi-lang-yaml=\"`accessKeyId`\" pulumi-lang-java=\"`accessKeyId`\"\u003e`access_key_id`\u003c/span\u003e     - (Optional) AWS access key identifier.\n* \u003cspan pulumi-lang-nodejs=\"`secretAccessKey`\" pulumi-lang-dotnet=\"`SecretAccessKey`\" pulumi-lang-go=\"`secretAccessKey`\" pulumi-lang-python=\"`secret_access_key`\" pulumi-lang-yaml=\"`secretAccessKey`\" pulumi-lang-java=\"`secretAccessKey`\"\u003e`secret_access_key`\u003c/span\u003e - (Optional) AWS secret access key.\n* \u003cspan pulumi-lang-nodejs=\"`iamRole`\" pulumi-lang-dotnet=\"`IamRole`\" pulumi-lang-go=\"`iamRole`\" pulumi-lang-python=\"`iam_role`\" pulumi-lang-yaml=\"`iamRole`\" pulumi-lang-java=\"`iamRole`\"\u003e`iam_role`\u003c/span\u003e          - (Optional) The ARN of the role to be assumed when publishing metrics.\n* \u003cspan pulumi-lang-nodejs=\"`iamExternalId`\" pulumi-lang-dotnet=\"`IamExternalId`\" pulumi-lang-go=\"`iamExternalId`\" pulumi-lang-python=\"`iam_external_id`\" pulumi-lang-yaml=\"`iamExternalId`\" pulumi-lang-java=\"`iamExternalId`\"\u003e`iam_external_id`\u003c/span\u003e   - (Optional) External identifier that match the role you created.\n* \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\"\u003e`api_key`\u003c/span\u003e           - (Optional) The API key for the integration service.\n* \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e             - (Optional) The email address registred for the integration service.\n* \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e       - (Optional) Google Service Account private key credentials.\n* \u003cspan pulumi-lang-nodejs=\"`projectId`\" pulumi-lang-dotnet=\"`ProjectId`\" pulumi-lang-go=\"`projectId`\" pulumi-lang-python=\"`project_id`\" pulumi-lang-yaml=\"`projectId`\" pulumi-lang-java=\"`projectId`\"\u003e`project_id`\u003c/span\u003e        - (Optional/Computed) The project identifier.\n* \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\"\u003e`private_key`\u003c/span\u003e       - (Optional/Computed) The private access key.\n* \u003cspan pulumi-lang-nodejs=\"`clientEmail`\" pulumi-lang-dotnet=\"`ClientEmail`\" pulumi-lang-go=\"`clientEmail`\" pulumi-lang-python=\"`client_email`\" pulumi-lang-yaml=\"`clientEmail`\" pulumi-lang-java=\"`clientEmail`\"\u003e`client_email`\u003c/span\u003e      - (Optional/Computed) The client email registered for the integration service.\n* \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e              - (Optional) Tags. e.g. `env=prod,region=europe`.\n\n  ***Note:*** If tags are used with Datadog. The value part (prod, europe, ...) must start with a\n              letter, read more about tags format in the [Datadog documentation].\n\n* \u003cspan pulumi-lang-nodejs=\"`queueAllowlist`\" pulumi-lang-dotnet=\"`QueueAllowlist`\" pulumi-lang-go=\"`queueAllowlist`\" pulumi-lang-python=\"`queue_allowlist`\" pulumi-lang-yaml=\"`queueAllowlist`\" pulumi-lang-java=\"`queueAllowlist`\"\u003e`queue_allowlist`\u003c/span\u003e   - (Optional) Allowlist queues using regular expression. Leave empty to include\n                        all queues.\n* \u003cspan pulumi-lang-nodejs=\"`vhostAllowlist`\" pulumi-lang-dotnet=\"`VhostAllowlist`\" pulumi-lang-go=\"`vhostAllowlist`\" pulumi-lang-python=\"`vhost_allowlist`\" pulumi-lang-yaml=\"`vhostAllowlist`\" pulumi-lang-java=\"`vhostAllowlist`\"\u003e`vhost_allowlist`\u003c/span\u003e   - (Optional) Allowlist vhost using regular expression. Leave empty to include\n                        all vhosts.\n* \u003cspan pulumi-lang-nodejs=\"`queueWhitelist`\" pulumi-lang-dotnet=\"`QueueWhitelist`\" pulumi-lang-go=\"`queueWhitelist`\" pulumi-lang-python=\"`queue_whitelist`\" pulumi-lang-yaml=\"`queueWhitelist`\" pulumi-lang-java=\"`queueWhitelist`\"\u003e`queue_whitelist`\u003c/span\u003e   - **Deprecated** Use\u003cspan pulumi-lang-nodejs=\" queueAllowlist \" pulumi-lang-dotnet=\" QueueAllowlist \" pulumi-lang-go=\" queueAllowlist \" pulumi-lang-python=\" queue_allowlist \" pulumi-lang-yaml=\" queueAllowlist \" pulumi-lang-java=\" queueAllowlist \"\u003e queue_allowlist \u003c/span\u003einstead\n* \u003cspan pulumi-lang-nodejs=\"`vhostWhitelist`\" pulumi-lang-dotnet=\"`VhostWhitelist`\" pulumi-lang-go=\"`vhostWhitelist`\" pulumi-lang-python=\"`vhost_whitelist`\" pulumi-lang-yaml=\"`vhostWhitelist`\" pulumi-lang-java=\"`vhostWhitelist`\"\u003e`vhost_whitelist`\u003c/span\u003e   - **Deprecated** Use\u003cspan pulumi-lang-nodejs=\" vhostAllowlist \" pulumi-lang-dotnet=\" VhostAllowlist \" pulumi-lang-go=\" vhostAllowlist \" pulumi-lang-python=\" vhost_allowlist \" pulumi-lang-yaml=\" vhostAllowlist \" pulumi-lang-java=\" vhostAllowlist \"\u003e vhost_allowlist \u003c/span\u003einstead\n* \u003cspan pulumi-lang-nodejs=\"`includeAdQueues`\" pulumi-lang-dotnet=\"`IncludeAdQueues`\" pulumi-lang-go=\"`includeAdQueues`\" pulumi-lang-python=\"`include_ad_queues`\" pulumi-lang-yaml=\"`includeAdQueues`\" pulumi-lang-java=\"`includeAdQueues`\"\u003e`include_ad_queues`\u003c/span\u003e - (Optional) Include auto delete queues.\n\nThis is the full list of all arguments. Only a subset of arguments are used based on which type of\nintegration used. See [integration type reference] below for more information.\n\n## Integration service references\n\nValid names for third party log integration.\n\n| Name          | Description |\n|---------------|---------------------------------------------------------------|\n| cloudwatch    | Access key: Create an IAM user with permission to `PutMetricData` |\n|\u003cspan pulumi-lang-nodejs=\" cloudwatchV2 \" pulumi-lang-dotnet=\" CloudwatchV2 \" pulumi-lang-go=\" cloudwatchV2 \" pulumi-lang-python=\" cloudwatch_v2 \" pulumi-lang-yaml=\" cloudwatchV2 \" pulumi-lang-java=\" cloudwatchV2 \"\u003e cloudwatch_v2 \u003c/span\u003e| Access key: Create an IAM user with permission to `PutMetricData` |\n| cloudwatch    | Assume role: Create a IAM role with the permission to `PutMetricData` |\n|\u003cspan pulumi-lang-nodejs=\" cloudwatchV2 \" pulumi-lang-dotnet=\" CloudwatchV2 \" pulumi-lang-go=\" cloudwatchV2 \" pulumi-lang-python=\" cloudwatch_v2 \" pulumi-lang-yaml=\" cloudwatchV2 \" pulumi-lang-java=\" cloudwatchV2 \"\u003e cloudwatch_v2 \u003c/span\u003e| Assume role: Create a IAM role with the permission to `PutMetricData` |\n| datadog       | Create a Datadog API key at app.datadoghq.com |\n|\u003cspan pulumi-lang-nodejs=\" datadogV2 \" pulumi-lang-dotnet=\" DatadogV2 \" pulumi-lang-go=\" datadogV2 \" pulumi-lang-python=\" datadog_v2 \" pulumi-lang-yaml=\" datadogV2 \" pulumi-lang-java=\" datadogV2 \"\u003e datadog_v2 \u003c/span\u003e   | Create a Datadog API key at app.datadoghq.com |\n| librato       | Create a new API token (with record only permissions) here: https://metrics.librato.com/tokens |\n| newrelic      | Deprecated! |\n|\u003cspan pulumi-lang-nodejs=\" newrelicV2 \" pulumi-lang-dotnet=\" NewrelicV2 \" pulumi-lang-go=\" newrelicV2 \" pulumi-lang-python=\" newrelic_v2 \" pulumi-lang-yaml=\" newrelicV2 \" pulumi-lang-java=\" newrelicV2 \"\u003e newrelic_v2 \u003c/span\u003e  | Find or register an Insert API key for your account: Go to insights.newrelic.com \u003e Manage data \u003e API keys. |\n| stackdriver   | Create a service account and add 'monitor metrics writer' role from your Google Cloud Account |\n\n## Integration type reference\n\nValid arguments for third party metrics integrations. See more information at\n[CloudAMQP API add integrations].\n\nRequired arguments for all integrations: *name*\u003c/br\u003e\nOptional arguments for all integrations: *tags*, *queue_allowlist*, *vhost_allowlist*\n\n| Name                   | Type           | Required arguments                                   |\n|------------------------|----------------|------------------------------------------------------|\n| Cloudwatch             | cloudwatch     | Access key: region, access_key_id,\u003cspan pulumi-lang-nodejs=\" secretAccessKey \" pulumi-lang-dotnet=\" SecretAccessKey \" pulumi-lang-go=\" secretAccessKey \" pulumi-lang-python=\" secret_access_key \" pulumi-lang-yaml=\" secretAccessKey \" pulumi-lang-java=\" secretAccessKey \"\u003e secret_access_key \u003c/span\u003e|\n| Cloudwatch v2          |\u003cspan pulumi-lang-nodejs=\" cloudwatchV2 \" pulumi-lang-dotnet=\" CloudwatchV2 \" pulumi-lang-go=\" cloudwatchV2 \" pulumi-lang-python=\" cloudwatch_v2 \" pulumi-lang-yaml=\" cloudwatchV2 \" pulumi-lang-java=\" cloudwatchV2 \"\u003e cloudwatch_v2 \u003c/span\u003e | Access key: region, access_key_id,\u003cspan pulumi-lang-nodejs=\" secretAccessKey \" pulumi-lang-dotnet=\" SecretAccessKey \" pulumi-lang-go=\" secretAccessKey \" pulumi-lang-python=\" secret_access_key \" pulumi-lang-yaml=\" secretAccessKey \" pulumi-lang-java=\" secretAccessKey \"\u003e secret_access_key \u003c/span\u003e|\n| Cloudwatch             | cloudwatch     | Assume role: region, iam_role,\u003cspan pulumi-lang-nodejs=\" iamExternalId \" pulumi-lang-dotnet=\" IamExternalId \" pulumi-lang-go=\" iamExternalId \" pulumi-lang-python=\" iam_external_id \" pulumi-lang-yaml=\" iamExternalId \" pulumi-lang-java=\" iamExternalId \"\u003e iam_external_id \u003c/span\u003e      |\n| Cloudwatch v2          |\u003cspan pulumi-lang-nodejs=\" cloudwatchV2 \" pulumi-lang-dotnet=\" CloudwatchV2 \" pulumi-lang-go=\" cloudwatchV2 \" pulumi-lang-python=\" cloudwatch_v2 \" pulumi-lang-yaml=\" cloudwatchV2 \" pulumi-lang-java=\" cloudwatchV2 \"\u003e cloudwatch_v2 \u003c/span\u003e | Assume role: region, iam_role,\u003cspan pulumi-lang-nodejs=\" iamExternalId \" pulumi-lang-dotnet=\" IamExternalId \" pulumi-lang-go=\" iamExternalId \" pulumi-lang-python=\" iam_external_id \" pulumi-lang-yaml=\" iamExternalId \" pulumi-lang-java=\" iamExternalId \"\u003e iam_external_id \u003c/span\u003e      |\n| Datadog                | datadog        | api_key, region                                      |\n| Datadog v2             |\u003cspan pulumi-lang-nodejs=\" datadogV2 \" pulumi-lang-dotnet=\" DatadogV2 \" pulumi-lang-go=\" datadogV2 \" pulumi-lang-python=\" datadog_v2 \" pulumi-lang-yaml=\" datadogV2 \" pulumi-lang-java=\" datadogV2 \"\u003e datadog_v2 \u003c/span\u003e    | api_key, region                                      |\n| Librato                | librato        | email,\u003cspan pulumi-lang-nodejs=\" apiKey \" pulumi-lang-dotnet=\" ApiKey \" pulumi-lang-go=\" apiKey \" pulumi-lang-python=\" api_key \" pulumi-lang-yaml=\" apiKey \" pulumi-lang-java=\" apiKey \"\u003e api_key \u003c/span\u003e                                      |\n| New relic (deprecated) | newrelic       | -                                                    |\n| New relic v2           |\u003cspan pulumi-lang-nodejs=\" newrelicV2 \" pulumi-lang-dotnet=\" NewrelicV2 \" pulumi-lang-go=\" newrelicV2 \" pulumi-lang-python=\" newrelic_v2 \" pulumi-lang-yaml=\" newrelicV2 \" pulumi-lang-java=\" newrelicV2 \"\u003e newrelic_v2 \u003c/span\u003e   | api_key, region                                      |\n| Stackdriver            | stackdriver    | credentials                                          |\n\n***Note:*** Stackdriver (v1.20.2 or earlier versions) required arguments: project_id, private_key,\u003cspan pulumi-lang-nodejs=\"\nclientEmail\n\" pulumi-lang-dotnet=\"\nClientEmail\n\" pulumi-lang-go=\"\nclientEmail\n\" pulumi-lang-python=\"\nclient_email\n\" pulumi-lang-yaml=\"\nclientEmail\n\" pulumi-lang-java=\"\nclientEmail\n\"\u003e\nclient_email\n\u003c/span\u003e\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n","properties":{"accessKeyId":{"type":"string","description":"AWS access key identifier. (Cloudwatch)"},"apiKey":{"type":"string","description":"The API key for the integration service. (Librato, Data Dog, New Relic)","secret":true},"clientEmail":{"type":"string","description":"The client email. (Stackdriver)"},"credentials":{"type":"string","description":"Base64Encoded credentials. (Stackdriver)","secret":true},"email":{"type":"string","description":"The email address registred for the integration service. (Librato)"},"iamExternalId":{"type":"string","description":"External identifier that match the role you created. (Cloudwatch)"},"iamRole":{"type":"string","description":"The ARN of the role to be assumed when publishing metrics. (Cloudwatch)"},"includeAdQueues":{"type":"boolean","description":"(optional) Include Auto-Delete queues"},"instanceId":{"type":"integer","description":"Instance identifier"},"name":{"type":"string","description":"The name of log integration"},"privateKey":{"type":"string","description":"The private key. (Stackdriver)","secret":true},"privateKeyId":{"type":"string","description":"Private key identifier. (Stackdriver)","secret":true},"projectId":{"type":"string","description":"Project ID. (Stackdriver)"},"queueAllowlist":{"type":"string","description":"(optional) allowlist using regular expression"},"region":{"type":"string","description":"AWS region for Cloudwatch and [US/EU] for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)"},"secretAccessKey":{"type":"string","description":"AWS secret key. (Cloudwatch)","secret":true},"tags":{"type":"string","description":"(optional) tags. E.g. env=prod,region=europe"},"vhostAllowlist":{"type":"string","description":"(optional) allowlist using regular expression"}},"required":["clientEmail","instanceId","name","privateKey","privateKeyId","projectId"],"inputProperties":{"accessKeyId":{"type":"string","description":"AWS access key identifier. (Cloudwatch)"},"apiKey":{"type":"string","description":"The API key for the integration service. (Librato, Data Dog, New Relic)","secret":true},"clientEmail":{"type":"string","description":"The client email. (Stackdriver)"},"credentials":{"type":"string","description":"Base64Encoded credentials. (Stackdriver)","secret":true},"email":{"type":"string","description":"The email address registred for the integration service. (Librato)"},"iamExternalId":{"type":"string","description":"External identifier that match the role you created. (Cloudwatch)"},"iamRole":{"type":"string","description":"The ARN of the role to be assumed when publishing metrics. (Cloudwatch)"},"includeAdQueues":{"type":"boolean","description":"(optional) Include Auto-Delete queues"},"instanceId":{"type":"integer","description":"Instance identifier"},"name":{"type":"string","description":"The name of log integration"},"privateKey":{"type":"string","description":"The private key. (Stackdriver)","secret":true},"privateKeyId":{"type":"string","description":"Private key identifier. (Stackdriver)","secret":true},"projectId":{"type":"string","description":"Project ID. (Stackdriver)"},"queueAllowlist":{"type":"string","description":"(optional) allowlist using regular expression"},"region":{"type":"string","description":"AWS region for Cloudwatch and [US/EU] for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)"},"secretAccessKey":{"type":"string","description":"AWS secret key. (Cloudwatch)","secret":true},"tags":{"type":"string","description":"(optional) tags. E.g. env=prod,region=europe"},"vhostAllowlist":{"type":"string","description":"(optional) allowlist using regular expression"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationMetric resources.\n","properties":{"accessKeyId":{"type":"string","description":"AWS access key identifier. (Cloudwatch)"},"apiKey":{"type":"string","description":"The API key for the integration service. (Librato, Data Dog, New Relic)","secret":true},"clientEmail":{"type":"string","description":"The client email. (Stackdriver)"},"credentials":{"type":"string","description":"Base64Encoded credentials. (Stackdriver)","secret":true},"email":{"type":"string","description":"The email address registred for the integration service. (Librato)"},"iamExternalId":{"type":"string","description":"External identifier that match the role you created. (Cloudwatch)"},"iamRole":{"type":"string","description":"The ARN of the role to be assumed when publishing metrics. (Cloudwatch)"},"includeAdQueues":{"type":"boolean","description":"(optional) Include Auto-Delete queues"},"instanceId":{"type":"integer","description":"Instance identifier"},"name":{"type":"string","description":"The name of log integration"},"privateKey":{"type":"string","description":"The private key. (Stackdriver)","secret":true},"privateKeyId":{"type":"string","description":"Private key identifier. (Stackdriver)","secret":true},"projectId":{"type":"string","description":"Project ID. (Stackdriver)"},"queueAllowlist":{"type":"string","description":"(optional) allowlist using regular expression"},"region":{"type":"string","description":"AWS region for Cloudwatch and [US/EU] for Data dog/New relic. (Cloudwatch, Data Dog, New Relic)"},"secretAccessKey":{"type":"string","description":"AWS secret key. (Cloudwatch)","secret":true},"tags":{"type":"string","description":"(optional) tags. E.g. env=prod,region=europe"},"vhostAllowlist":{"type":"string","description":"(optional) allowlist using regular expression"}},"type":"object"}},"cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus":{"description":"This resource allows you to create and manage Prometheus-compatible metric integrations for CloudAMQP instances. Currently supported integrations include New Relic v3, Datadog v3, Azure Monitor, Splunk v2, Dynatrace, CloudWatch v3, and Stackdriver v2.\n\n## Example Usage\n\n### New Relic v3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst newrelicV3 = new cloudamqp.IntegrationMetricPrometheus(\"newrelic_v3\", {\n    instanceId: instance.id,\n    newrelicV3: {\n        apiKey: newrelicApiKey,\n        region: \"us\",\n        tags: \"key=value,key2=value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnewrelic_v3 = cloudamqp.IntegrationMetricPrometheus(\"newrelic_v3\",\n    instance_id=instance[\"id\"],\n    newrelic_v3={\n        \"api_key\": newrelic_api_key,\n        \"region\": \"us\",\n        \"tags\": \"key=value,key2=value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var newrelicV3 = new CloudAmqp.IntegrationMetricPrometheus(\"newrelic_v3\", new()\n    {\n        InstanceId = instance.Id,\n        NewrelicV3 = new CloudAmqp.Inputs.IntegrationMetricPrometheusNewrelicV3Args\n        {\n            ApiKey = newrelicApiKey,\n            Region = \"us\",\n            Tags = \"key=value,key2=value2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"newrelic_v3\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tNewrelicV3: \u0026cloudamqp.IntegrationMetricPrometheusNewrelicV3Args{\n\t\t\t\tApiKey: pulumi.Any(newrelicApiKey),\n\t\t\t\tRegion: pulumi.String(\"us\"),\n\t\t\t\tTags:   pulumi.String(\"key=value,key2=value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusNewrelicV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var newrelicV3 = new IntegrationMetricPrometheus(\"newrelicV3\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .newrelicV3(IntegrationMetricPrometheusNewrelicV3Args.builder()\n                .apiKey(newrelicApiKey)\n                .region(\"us\")\n                .tags(\"key=value,key2=value2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  newrelicV3:\n    type: cloudamqp:IntegrationMetricPrometheus\n    name: newrelic_v3\n    properties:\n      instanceId: ${instance.id}\n      newrelicV3:\n        apiKey: ${newrelicApiKey}\n        region: us\n        tags: key=value,key2=value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Datadog v3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst datadogV3 = new cloudamqp.IntegrationMetricPrometheus(\"datadog_v3\", {\n    instanceId: instance.id,\n    datadogV3: {\n        apiKey: datadogApiKey,\n        region: \"us1\",\n        tags: \"key=value,key2=value2\",\n        rabbitmqDashboardMetricsFormat: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndatadog_v3 = cloudamqp.IntegrationMetricPrometheus(\"datadog_v3\",\n    instance_id=instance[\"id\"],\n    datadog_v3={\n        \"api_key\": datadog_api_key,\n        \"region\": \"us1\",\n        \"tags\": \"key=value,key2=value2\",\n        \"rabbitmq_dashboard_metrics_format\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var datadogV3 = new CloudAmqp.IntegrationMetricPrometheus(\"datadog_v3\", new()\n    {\n        InstanceId = instance.Id,\n        DatadogV3 = new CloudAmqp.Inputs.IntegrationMetricPrometheusDatadogV3Args\n        {\n            ApiKey = datadogApiKey,\n            Region = \"us1\",\n            Tags = \"key=value,key2=value2\",\n            RabbitmqDashboardMetricsFormat = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"datadog_v3\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tDatadogV3: \u0026cloudamqp.IntegrationMetricPrometheusDatadogV3Args{\n\t\t\t\tApiKey:                         pulumi.Any(datadogApiKey),\n\t\t\t\tRegion:                         pulumi.String(\"us1\"),\n\t\t\t\tTags:                           pulumi.String(\"key=value,key2=value2\"),\n\t\t\t\tRabbitmqDashboardMetricsFormat: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusDatadogV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var datadogV3 = new IntegrationMetricPrometheus(\"datadogV3\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .datadogV3(IntegrationMetricPrometheusDatadogV3Args.builder()\n                .apiKey(datadogApiKey)\n                .region(\"us1\")\n                .tags(\"key=value,key2=value2\")\n                .rabbitmqDashboardMetricsFormat(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  datadogV3:\n    type: cloudamqp:IntegrationMetricPrometheus\n    name: datadog_v3\n    properties:\n      instanceId: ${instance.id}\n      datadogV3:\n        apiKey: ${datadogApiKey}\n        region: us1\n        tags: key=value,key2=value2\n        rabbitmqDashboardMetricsFormat: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure Monitor\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst azureMonitor = new cloudamqp.IntegrationMetricPrometheus(\"azure_monitor\", {\n    instanceId: instance.id,\n    azureMonitor: {\n        connectionString: azureMonitorConnectionString,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nazure_monitor = cloudamqp.IntegrationMetricPrometheus(\"azure_monitor\",\n    instance_id=instance[\"id\"],\n    azure_monitor={\n        \"connection_string\": azure_monitor_connection_string,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var azureMonitor = new CloudAmqp.IntegrationMetricPrometheus(\"azure_monitor\", new()\n    {\n        InstanceId = instance.Id,\n        AzureMonitor = new CloudAmqp.Inputs.IntegrationMetricPrometheusAzureMonitorArgs\n        {\n            ConnectionString = azureMonitorConnectionString,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"azure_monitor\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAzureMonitor: \u0026cloudamqp.IntegrationMetricPrometheusAzureMonitorArgs{\n\t\t\t\tConnectionString: pulumi.Any(azureMonitorConnectionString),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusAzureMonitorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var azureMonitor = new IntegrationMetricPrometheus(\"azureMonitor\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .azureMonitor(IntegrationMetricPrometheusAzureMonitorArgs.builder()\n                .connectionString(azureMonitorConnectionString)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  azureMonitor:\n    type: cloudamqp:IntegrationMetricPrometheus\n    name: azure_monitor\n    properties:\n      instanceId: ${instance.id}\n      azureMonitor:\n        connectionString: ${azureMonitorConnectionString}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk v2\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst splunkV2 = new cloudamqp.IntegrationMetricPrometheus(\"splunk_v2\", {\n    instanceId: instance.id,\n    splunkV2: {\n        token: splunkToken,\n        endpoint: splunkEndpoint,\n        tags: \"key=value,key2=value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nsplunk_v2 = cloudamqp.IntegrationMetricPrometheus(\"splunk_v2\",\n    instance_id=instance[\"id\"],\n    splunk_v2={\n        \"token\": splunk_token,\n        \"endpoint\": splunk_endpoint,\n        \"tags\": \"key=value,key2=value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var splunkV2 = new CloudAmqp.IntegrationMetricPrometheus(\"splunk_v2\", new()\n    {\n        InstanceId = instance.Id,\n        SplunkV2 = new CloudAmqp.Inputs.IntegrationMetricPrometheusSplunkV2Args\n        {\n            Token = splunkToken,\n            Endpoint = splunkEndpoint,\n            Tags = \"key=value,key2=value2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"splunk_v2\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tSplunkV2: \u0026cloudamqp.IntegrationMetricPrometheusSplunkV2Args{\n\t\t\t\tToken:    pulumi.Any(splunkToken),\n\t\t\t\tEndpoint: pulumi.Any(splunkEndpoint),\n\t\t\t\tTags:     pulumi.String(\"key=value,key2=value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusSplunkV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var splunkV2 = new IntegrationMetricPrometheus(\"splunkV2\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .splunkV2(IntegrationMetricPrometheusSplunkV2Args.builder()\n                .token(splunkToken)\n                .endpoint(splunkEndpoint)\n                .tags(\"key=value,key2=value2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  splunkV2:\n    type: cloudamqp:IntegrationMetricPrometheus\n    name: splunk_v2\n    properties:\n      instanceId: ${instance.id}\n      splunkV2:\n        token: ${splunkToken}\n        endpoint: ${splunkEndpoint}\n        tags: key=value,key2=value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Dynatrace\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst dynatrace = new cloudamqp.IntegrationMetricPrometheus(\"dynatrace\", {\n    instanceId: instance.id,\n    dynatrace: {\n        environmentId: dynatraceEnvironmentId,\n        accessToken: dynatraceAccessToken,\n        tags: \"key=value,key2=value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndynatrace = cloudamqp.IntegrationMetricPrometheus(\"dynatrace\",\n    instance_id=instance[\"id\"],\n    dynatrace={\n        \"environment_id\": dynatrace_environment_id,\n        \"access_token\": dynatrace_access_token,\n        \"tags\": \"key=value,key2=value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dynatrace = new CloudAmqp.IntegrationMetricPrometheus(\"dynatrace\", new()\n    {\n        InstanceId = instance.Id,\n        Dynatrace = new CloudAmqp.Inputs.IntegrationMetricPrometheusDynatraceArgs\n        {\n            EnvironmentId = dynatraceEnvironmentId,\n            AccessToken = dynatraceAccessToken,\n            Tags = \"key=value,key2=value2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"dynatrace\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tDynatrace: \u0026cloudamqp.IntegrationMetricPrometheusDynatraceArgs{\n\t\t\t\tEnvironmentId: pulumi.Any(dynatraceEnvironmentId),\n\t\t\t\tAccessToken:   pulumi.Any(dynatraceAccessToken),\n\t\t\t\tTags:          pulumi.String(\"key=value,key2=value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusDynatraceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dynatrace = new IntegrationMetricPrometheus(\"dynatrace\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .dynatrace(IntegrationMetricPrometheusDynatraceArgs.builder()\n                .environmentId(dynatraceEnvironmentId)\n                .accessToken(dynatraceAccessToken)\n                .tags(\"key=value,key2=value2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dynatrace:\n    type: cloudamqp:IntegrationMetricPrometheus\n    properties:\n      instanceId: ${instance.id}\n      dynatrace:\n        environmentId: ${dynatraceEnvironmentId}\n        accessToken: ${dynatraceAccessToken}\n        tags: key=value,key2=value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CloudWatch v3\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst cloudwatchV3 = new cloudamqp.IntegrationMetricPrometheus(\"cloudwatch_v3\", {\n    instanceId: instance.id,\n    cloudwatchV3: {\n        iamRole: cloudwatchIamRole,\n        iamExternalId: cloudwatchIamExternalId,\n        region: cloudwatchRegion,\n        tags: \"key=value,key2=value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncloudwatch_v3 = cloudamqp.IntegrationMetricPrometheus(\"cloudwatch_v3\",\n    instance_id=instance[\"id\"],\n    cloudwatch_v3={\n        \"iam_role\": cloudwatch_iam_role,\n        \"iam_external_id\": cloudwatch_iam_external_id,\n        \"region\": cloudwatch_region,\n        \"tags\": \"key=value,key2=value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudwatchV3 = new CloudAmqp.IntegrationMetricPrometheus(\"cloudwatch_v3\", new()\n    {\n        InstanceId = instance.Id,\n        CloudwatchV3 = new CloudAmqp.Inputs.IntegrationMetricPrometheusCloudwatchV3Args\n        {\n            IamRole = cloudwatchIamRole,\n            IamExternalId = cloudwatchIamExternalId,\n            Region = cloudwatchRegion,\n            Tags = \"key=value,key2=value2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"cloudwatch_v3\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tCloudwatchV3: \u0026cloudamqp.IntegrationMetricPrometheusCloudwatchV3Args{\n\t\t\t\tIamRole:       pulumi.Any(cloudwatchIamRole),\n\t\t\t\tIamExternalId: pulumi.Any(cloudwatchIamExternalId),\n\t\t\t\tRegion:        pulumi.Any(cloudwatchRegion),\n\t\t\t\tTags:          pulumi.String(\"key=value,key2=value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusCloudwatchV3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cloudwatchV3 = new IntegrationMetricPrometheus(\"cloudwatchV3\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .cloudwatchV3(IntegrationMetricPrometheusCloudwatchV3Args.builder()\n                .iamRole(cloudwatchIamRole)\n                .iamExternalId(cloudwatchIamExternalId)\n                .region(cloudwatchRegion)\n                .tags(\"key=value,key2=value2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudwatchV3:\n    type: cloudamqp:IntegrationMetricPrometheus\n    name: cloudwatch_v3\n    properties:\n      instanceId: ${instance.id}\n      cloudwatchV3:\n        iamRole: ${cloudwatchIamRole}\n        iamExternalId: ${cloudwatchIamExternalId}\n        region: ${cloudwatchRegion}\n        tags: key=value,key2=value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Stackdriver v2\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst stackdriverV2 = new cloudamqp.IntegrationMetricPrometheus(\"stackdriver_v2\", {\n    instanceId: instance.id,\n    stackdriverV2: {\n        credentialsFile: googleServiceAccountKey,\n        tags: \"key=value,key2=value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nstackdriver_v2 = cloudamqp.IntegrationMetricPrometheus(\"stackdriver_v2\",\n    instance_id=instance[\"id\"],\n    stackdriver_v2={\n        \"credentials_file\": google_service_account_key,\n        \"tags\": \"key=value,key2=value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var stackdriverV2 = new CloudAmqp.IntegrationMetricPrometheus(\"stackdriver_v2\", new()\n    {\n        InstanceId = instance.Id,\n        StackdriverV2 = new CloudAmqp.Inputs.IntegrationMetricPrometheusStackdriverV2Args\n        {\n            CredentialsFile = googleServiceAccountKey,\n            Tags = \"key=value,key2=value2\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewIntegrationMetricPrometheus(ctx, \"stackdriver_v2\", \u0026cloudamqp.IntegrationMetricPrometheusArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tStackdriverV2: \u0026cloudamqp.IntegrationMetricPrometheusStackdriverV2Args{\n\t\t\t\tCredentialsFile: pulumi.Any(googleServiceAccountKey),\n\t\t\t\tTags:            pulumi.String(\"key=value,key2=value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheus;\nimport com.pulumi.cloudamqp.IntegrationMetricPrometheusArgs;\nimport com.pulumi.cloudamqp.inputs.IntegrationMetricPrometheusStackdriverV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var stackdriverV2 = new IntegrationMetricPrometheus(\"stackdriverV2\", IntegrationMetricPrometheusArgs.builder()\n            .instanceId(instance.id())\n            .stackdriverV2(IntegrationMetricPrometheusStackdriverV2Args.builder()\n                .credentialsFile(googleServiceAccountKey)\n                .tags(\"key=value,key2=value2\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  stackdriverV2:\n    type: cloudamqp:IntegrationMetricPrometheus\n    name: stackdriver_v2\n    properties:\n      instanceId: ${instance.id}\n      stackdriverV2:\n        credentialsFile: ${googleServiceAccountKey}\n        tags: key=value,key2=value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Note:** The \u003cspan pulumi-lang-nodejs=\"`credentialsFile`\" pulumi-lang-dotnet=\"`CredentialsFile`\" pulumi-lang-go=\"`credentialsFile`\" pulumi-lang-python=\"`credentials_file`\" pulumi-lang-yaml=\"`credentialsFile`\" pulumi-lang-java=\"`credentialsFile`\"\u003e`credentials_file`\u003c/span\u003e should contain a Base64-encoded Google service account key JSON file. You can create a service account in Google Cloud Console with the \"Monitoring Metric Writer\" role and download the key file. Then encode it with:\n\n```bash\nbase64 -i /path/to/service-account-key.json\n```\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Import\n\nCloudAMQP Prometheus metric integrations can be imported using the integration identifier together with the instance identifier. The import identifier should be in the format `{integration_id},{instance_id}`.\n\nFrom Terraform v1.5.0, the \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e block can be used to import this resource:\n\n","properties":{"azureMonitor":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusAzureMonitor:IntegrationMetricPrometheusAzureMonitor"},"cloudwatchV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusCloudwatchV3:IntegrationMetricPrometheusCloudwatchV3"},"datadogV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusDatadogV3:IntegrationMetricPrometheusDatadogV3"},"dynatrace":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusDynatrace:IntegrationMetricPrometheusDynatrace"},"instanceId":{"type":"integer","description":"Instance identifier for the CloudAMQP instance.\n"},"metricsFilters":{"type":"array","items":{"type":"string"},"description":"List of metrics to include in the integration. If not specified, default metrics are included.\nFor more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).\n\nExactly one of the following integration blocks must be specified:\n"},"newrelicV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusNewrelicV3:IntegrationMetricPrometheusNewrelicV3"},"splunkV2":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusSplunkV2:IntegrationMetricPrometheusSplunkV2"},"stackdriverV2":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusStackdriverV2:IntegrationMetricPrometheusStackdriverV2"}},"required":["instanceId","metricsFilters"],"inputProperties":{"azureMonitor":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusAzureMonitor:IntegrationMetricPrometheusAzureMonitor"},"cloudwatchV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusCloudwatchV3:IntegrationMetricPrometheusCloudwatchV3"},"datadogV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusDatadogV3:IntegrationMetricPrometheusDatadogV3"},"dynatrace":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusDynatrace:IntegrationMetricPrometheusDynatrace"},"instanceId":{"type":"integer","description":"Instance identifier for the CloudAMQP instance.\n","willReplaceOnChanges":true},"metricsFilters":{"type":"array","items":{"type":"string"},"description":"List of metrics to include in the integration. If not specified, default metrics are included.\nFor more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).\n\nExactly one of the following integration blocks must be specified:\n"},"newrelicV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusNewrelicV3:IntegrationMetricPrometheusNewrelicV3"},"splunkV2":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusSplunkV2:IntegrationMetricPrometheusSplunkV2"},"stackdriverV2":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusStackdriverV2:IntegrationMetricPrometheusStackdriverV2"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering IntegrationMetricPrometheus resources.\n","properties":{"azureMonitor":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusAzureMonitor:IntegrationMetricPrometheusAzureMonitor"},"cloudwatchV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusCloudwatchV3:IntegrationMetricPrometheusCloudwatchV3"},"datadogV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusDatadogV3:IntegrationMetricPrometheusDatadogV3"},"dynatrace":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusDynatrace:IntegrationMetricPrometheusDynatrace"},"instanceId":{"type":"integer","description":"Instance identifier for the CloudAMQP instance.\n","willReplaceOnChanges":true},"metricsFilters":{"type":"array","items":{"type":"string"},"description":"List of metrics to include in the integration. If not specified, default metrics are included.\nFor more information about metrics filtering, see the [metrics filtering documentation](https://www.cloudamqp.com/docs/monitoring_metrics_splunk_v2.html#metrics-filtering).\n\nExactly one of the following integration blocks must be specified:\n"},"newrelicV3":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusNewrelicV3:IntegrationMetricPrometheusNewrelicV3"},"splunkV2":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusSplunkV2:IntegrationMetricPrometheusSplunkV2"},"stackdriverV2":{"$ref":"#/types/cloudamqp:index/IntegrationMetricPrometheusStackdriverV2:IntegrationMetricPrometheusStackdriverV2"}},"type":"object"}},"cloudamqp:index/maintenanceWindow:MaintenanceWindow":{"description":"This resource allows you to set the preferred start of new scheduled maintenances. The maintenance\nwindows are 3 hours long and CloudAMQP attempts to begin the maintenance as close as possible to the\npreferred start. A maintenance will never start before the window.\n\nAvailable for dedicated subscription plans.\n\nFrom **August 5, 2025** LavinMQ instances will have \u003cspan pulumi-lang-nodejs=\"`automaticUpdates`\" pulumi-lang-dotnet=\"`AutomaticUpdates`\" pulumi-lang-go=\"`automaticUpdates`\" pulumi-lang-python=\"`automatic_updates`\" pulumi-lang-yaml=\"`automaticUpdates`\" pulumi-lang-java=\"`automaticUpdates`\"\u003e`automatic_updates`\u003c/span\u003e set to \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e by default.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eSet the preferred maintenance start\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst _this = new cloudamqp.MaintenanceWindow(\"this\", {\n    instanceId: instance.id,\n    preferredDay: \"Monday\",\n    preferredTime: \"23:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nthis = cloudamqp.MaintenanceWindow(\"this\",\n    instance_id=instance[\"id\"],\n    preferred_day=\"Monday\",\n    preferred_time=\"23:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new CloudAmqp.MaintenanceWindow(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        PreferredDay = \"Monday\",\n        PreferredTime = \"23:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewMaintenanceWindow(ctx, \"this\", \u0026cloudamqp.MaintenanceWindowArgs{\n\t\t\tInstanceId:    pulumi.Any(instance.Id),\n\t\t\tPreferredDay:  pulumi.String(\"Monday\"),\n\t\t\tPreferredTime: pulumi.String(\"23:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.MaintenanceWindow;\nimport com.pulumi.cloudamqp.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new MaintenanceWindow(\"this\", MaintenanceWindowArgs.builder()\n            .instanceId(instance.id())\n            .preferredDay(\"Monday\")\n            .preferredTime(\"23:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: cloudamqp:MaintenanceWindow\n    properties:\n      instanceId: ${instance.id}\n      preferredDay: Monday\n      preferredTime: 23:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eSet the preferred maintenance start with automatic updates\u003c/b\u003e\n  \u003c/summary\u003e\n\nWhen setting the automatic updates to \"on\", a maintenance for version update will be scheduled once\na new LavinMQ version been released.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst _this = new cloudamqp.MaintenanceWindow(\"this\", {\n    instanceId: instance.id,\n    preferredDay: \"Monday\",\n    preferredTime: \"23:00\",\n    automaticUpdates: \"on\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nthis = cloudamqp.MaintenanceWindow(\"this\",\n    instance_id=instance[\"id\"],\n    preferred_day=\"Monday\",\n    preferred_time=\"23:00\",\n    automatic_updates=\"on\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new CloudAmqp.MaintenanceWindow(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        PreferredDay = \"Monday\",\n        PreferredTime = \"23:00\",\n        AutomaticUpdates = \"on\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewMaintenanceWindow(ctx, \"this\", \u0026cloudamqp.MaintenanceWindowArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tPreferredDay:     pulumi.String(\"Monday\"),\n\t\t\tPreferredTime:    pulumi.String(\"23:00\"),\n\t\t\tAutomaticUpdates: pulumi.String(\"on\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.MaintenanceWindow;\nimport com.pulumi.cloudamqp.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new MaintenanceWindow(\"this\", MaintenanceWindowArgs.builder()\n            .instanceId(instance.id())\n            .preferredDay(\"Monday\")\n            .preferredTime(\"23:00\")\n            .automaticUpdates(\"on\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: cloudamqp:MaintenanceWindow\n    properties:\n      instanceId: ${instance.id}\n      preferredDay: Monday\n      preferredTime: 23:00\n      automaticUpdates: on\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eOnly set preferred time of day\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst _this = new cloudamqp.MaintenanceWindow(\"this\", {\n    instanceId: instance.id,\n    preferredTime: \"23:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nthis = cloudamqp.MaintenanceWindow(\"this\",\n    instance_id=instance[\"id\"],\n    preferred_time=\"23:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new CloudAmqp.MaintenanceWindow(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        PreferredTime = \"23:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewMaintenanceWindow(ctx, \"this\", \u0026cloudamqp.MaintenanceWindowArgs{\n\t\t\tInstanceId:    pulumi.Any(instance.Id),\n\t\t\tPreferredTime: pulumi.String(\"23:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.MaintenanceWindow;\nimport com.pulumi.cloudamqp.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new MaintenanceWindow(\"this\", MaintenanceWindowArgs.builder()\n            .instanceId(instance.id())\n            .preferredTime(\"23:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: cloudamqp:MaintenanceWindow\n    properties:\n      instanceId: ${instance.id}\n      preferredTime: 23:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eOnly set preferred day of week\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst _this = new cloudamqp.MaintenanceWindow(\"this\", {\n    instanceId: instance.id,\n    preferredDay: \"Monday\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nthis = cloudamqp.MaintenanceWindow(\"this\",\n    instance_id=instance[\"id\"],\n    preferred_day=\"Monday\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new CloudAmqp.MaintenanceWindow(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        PreferredDay = \"Monday\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewMaintenanceWindow(ctx, \"this\", \u0026cloudamqp.MaintenanceWindowArgs{\n\t\t\tInstanceId:   pulumi.Any(instance.Id),\n\t\t\tPreferredDay: pulumi.String(\"Monday\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.MaintenanceWindow;\nimport com.pulumi.cloudamqp.MaintenanceWindowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new MaintenanceWindow(\"this\", MaintenanceWindowArgs.builder()\n            .instanceId(instance.id())\n            .preferredDay(\"Monday\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: cloudamqp:MaintenanceWindow\n    properties:\n      instanceId: ${instance.id}\n      preferredDay: Monday\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n","properties":{"automaticUpdates":{"type":"string","description":"Allow scheduling of a maintenance for version update\nonce a new LavinMQ version been released.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"preferredDay":{"type":"string","description":"Preferred day of the week when to schedule maintenance.\n"},"preferredTime":{"type":"string","description":"Preferred time (UTC) of the day when to schedule maintenance.\n"}},"required":["automaticUpdates","instanceId"],"inputProperties":{"automaticUpdates":{"type":"string","description":"Allow scheduling of a maintenance for version update\nonce a new LavinMQ version been released.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"preferredDay":{"type":"string","description":"Preferred day of the week when to schedule maintenance.\n"},"preferredTime":{"type":"string","description":"Preferred time (UTC) of the day when to schedule maintenance.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering MaintenanceWindow resources.\n","properties":{"automaticUpdates":{"type":"string","description":"Allow scheduling of a maintenance for version update\nonce a new LavinMQ version been released.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"preferredDay":{"type":"string","description":"Preferred day of the week when to schedule maintenance.\n"},"preferredTime":{"type":"string","description":"Preferred time (UTC) of the day when to schedule maintenance.\n"}},"type":"object"}},"cloudamqp:index/nodeActions:NodeActions":{"description":"This resource allows you to invoke actions on specific nodes or the entire cluster. Actions can target individual nodes, multiple nodes, or all nodes in the cluster at once.\n\nOnly available for dedicated subscription plans.\n\n\u003e **Note:** From version 1.41.0, this resource supports cluster-level actions (`cluster.start`, `cluster.stop`, `cluster.restart`) and the \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e list attribute for targeting multiple nodes. The \u003cspan pulumi-lang-nodejs=\"`nodeName`\" pulumi-lang-dotnet=\"`NodeName`\" pulumi-lang-go=\"`nodeName`\" pulumi-lang-python=\"`node_name`\" pulumi-lang-yaml=\"`nodeName`\" pulumi-lang-java=\"`nodeName`\"\u003e`node_name`\u003c/span\u003e attribute is deprecated in favor of \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCluster-wide broker restart (recommended for v1.41.0+)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nRestart the broker on all nodes of the cluster at once. Making sure the broker is stopped and started in correct order. This is the simplest approach for cluster-wide operations.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst clusterRestart = new cloudamqp.NodeActions(\"cluster_restart\", {\n    instanceId: instance.id,\n    action: \"cluster.restart\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncluster_restart = cloudamqp.NodeActions(\"cluster_restart\",\n    instance_id=instance[\"id\"],\n    action=\"cluster.restart\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clusterRestart = new CloudAmqp.NodeActions(\"cluster_restart\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"cluster.restart\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNodeActions(ctx, \"cluster_restart\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"cluster.restart\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var clusterRestart = new NodeActions(\"clusterRestart\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"cluster.restart\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clusterRestart:\n    type: cloudamqp:NodeActions\n    name: cluster_restart\n    properties:\n      instanceId: ${instance.id}\n      action: cluster.restart\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eRestart broker on specific nodes using node_names\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nTarget specific nodes using the \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e list attribute.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst nodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\nconst restartSubset = new cloudamqp.NodeActions(\"restart_subset\", {\n    instanceId: instance.id,\n    action: \"restart\",\n    nodeNames: [\n        nodes.then(nodes =\u003e nodes.nodes?.[0]?.name),\n        nodes.then(nodes =\u003e nodes.nodes?.[1]?.name),\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\nrestart_subset = cloudamqp.NodeActions(\"restart_subset\",\n    instance_id=instance[\"id\"],\n    action=\"restart\",\n    node_names=[\n        nodes.nodes[0].name,\n        nodes.nodes[1].name,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var restartSubset = new CloudAmqp.NodeActions(\"restart_subset\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"restart\",\n        NodeNames = new[]\n        {\n            nodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[0]?.Name),\n            nodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[1]?.Name),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnodes, err := cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"restart_subset\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"restart\"),\n\t\t\tNodeNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(nodes.Nodes[0].Name),\n\t\t\t\tpulumi.String(nodes.Nodes[1].Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        var restartSubset = new NodeActions(\"restartSubset\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"restart\")\n            .nodeNames(            \n                nodes.nodes()[0].name(),\n                nodes.nodes()[1].name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  restartSubset:\n    type: cloudamqp:NodeActions\n    name: restart_subset\n    properties:\n      instanceId: ${instance.id}\n      action: restart\n      nodeNames:\n        - ${nodes.nodes[0].name}\n        - ${nodes.nodes[1].name}\nvariables:\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eReboot a single node\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nReboot the entire node (VM) rather than just the broker.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst nodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\nconst rebootNode = new cloudamqp.NodeActions(\"reboot_node\", {\n    instanceId: instance.id,\n    action: \"reboot\",\n    nodeNames: [nodes.then(nodes =\u003e nodes.nodes?.[0]?.name)],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\nreboot_node = cloudamqp.NodeActions(\"reboot_node\",\n    instance_id=instance[\"id\"],\n    action=\"reboot\",\n    node_names=[nodes.nodes[0].name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var rebootNode = new CloudAmqp.NodeActions(\"reboot_node\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"reboot\",\n        NodeNames = new[]\n        {\n            nodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[0]?.Name),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnodes, err := cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"reboot_node\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"reboot\"),\n\t\t\tNodeNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(nodes.Nodes[0].Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        var rebootNode = new NodeActions(\"rebootNode\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"reboot\")\n            .nodeNames(nodes.nodes()[0].name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rebootNode:\n    type: cloudamqp:NodeActions\n    name: reboot_node\n    properties:\n      instanceId: ${instance.id}\n      action: reboot\n      nodeNames:\n        - ${nodes.nodes[0].name}\nvariables:\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eRestart RabbitMQ management interface\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nOnly restart the management interface without affecting the broker.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst nodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\nconst mgmtRestart = new cloudamqp.NodeActions(\"mgmt_restart\", {\n    instanceId: instance.id,\n    action: \"mgmt.restart\",\n    nodeNames: [nodes.then(nodes =\u003e nodes.nodes?.[0]?.name)],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\nmgmt_restart = cloudamqp.NodeActions(\"mgmt_restart\",\n    instance_id=instance[\"id\"],\n    action=\"mgmt.restart\",\n    node_names=[nodes.nodes[0].name])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var mgmtRestart = new CloudAmqp.NodeActions(\"mgmt_restart\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"mgmt.restart\",\n        NodeNames = new[]\n        {\n            nodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[0]?.Name),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnodes, err := cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"mgmt_restart\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"mgmt.restart\"),\n\t\t\tNodeNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(nodes.Nodes[0].Name),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        var mgmtRestart = new NodeActions(\"mgmtRestart\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"mgmt.restart\")\n            .nodeNames(nodes.nodes()[0].name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mgmtRestart:\n    type: cloudamqp:NodeActions\n    name: mgmt_restart\n    properties:\n      instanceId: ${instance.id}\n      action: mgmt.restart\n      nodeNames:\n        - ${nodes.nodes[0].name}\nvariables:\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCombine with configuration changes\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nApply configuration changes and restart the cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqConfig = new cloudamqp.RabbitConfiguration(\"rabbitmq_config\", {\n    instanceId: instance.id,\n    logExchangeLevel: \"info\",\n});\nconst clusterRestart = new cloudamqp.NodeActions(\"cluster_restart\", {\n    instanceId: instance.id,\n    action: \"cluster.restart\",\n}, {\n    dependsOn: [rabbitmqConfig],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_config = cloudamqp.RabbitConfiguration(\"rabbitmq_config\",\n    instance_id=instance[\"id\"],\n    log_exchange_level=\"info\")\ncluster_restart = cloudamqp.NodeActions(\"cluster_restart\",\n    instance_id=instance[\"id\"],\n    action=\"cluster.restart\",\n    opts = pulumi.ResourceOptions(depends_on=[rabbitmq_config]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqConfig = new CloudAmqp.RabbitConfiguration(\"rabbitmq_config\", new()\n    {\n        InstanceId = instance.Id,\n        LogExchangeLevel = \"info\",\n    });\n\n    var clusterRestart = new CloudAmqp.NodeActions(\"cluster_restart\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"cluster.restart\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            rabbitmqConfig,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trabbitmqConfig, err := cloudamqp.NewRabbitConfiguration(ctx, \"rabbitmq_config\", \u0026cloudamqp.RabbitConfigurationArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tLogExchangeLevel: pulumi.String(\"info\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"cluster_restart\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"cluster.restart\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\trabbitmqConfig,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.RabbitConfiguration;\nimport com.pulumi.cloudamqp.RabbitConfigurationArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqConfig = new RabbitConfiguration(\"rabbitmqConfig\", RabbitConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .logExchangeLevel(\"info\")\n            .build());\n\n        var clusterRestart = new NodeActions(\"clusterRestart\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"cluster.restart\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(rabbitmqConfig)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqConfig:\n    type: cloudamqp:RabbitConfiguration\n    name: rabbitmq_config\n    properties:\n      instanceId: ${instance.id}\n      logExchangeLevel: info\n  clusterRestart:\n    type: cloudamqp:NodeActions\n    name: cluster_restart\n    properties:\n      instanceId: ${instance.id}\n      action: cluster.restart\n    options:\n      dependsOn:\n        - ${rabbitmqConfig}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eLegacy Usage (pre-1.41.0)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nThese examples show the older approach using \u003cspan pulumi-lang-nodejs=\"`nodeName`\" pulumi-lang-dotnet=\"`NodeName`\" pulumi-lang-go=\"`nodeName`\" pulumi-lang-python=\"`node_name`\" pulumi-lang-yaml=\"`nodeName`\" pulumi-lang-java=\"`nodeName`\"\u003e`node_name`\u003c/span\u003e (singular) and chained restarts. While still supported, the cluster-level actions above are recommended for new configurations.\n\n**Single node restart:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst nodeAction = new cloudamqp.NodeActions(\"node_action\", {\n    instanceId: instance.id,\n    nodeName: \"\u003cnode name\u003e\",\n    action: \"restart\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnode_action = cloudamqp.NodeActions(\"node_action\",\n    instance_id=instance[\"id\"],\n    node_name=\"\u003cnode name\u003e\",\n    action=\"restart\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nodeAction = new CloudAmqp.NodeActions(\"node_action\", new()\n    {\n        InstanceId = instance.Id,\n        NodeName = \"\u003cnode name\u003e\",\n        Action = \"restart\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNodeActions(ctx, \"node_action\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tNodeName:   pulumi.String(\"\u003cnode name\u003e\"),\n\t\t\tAction:     pulumi.String(\"restart\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var nodeAction = new NodeActions(\"nodeAction\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .nodeName(\"\u003cnode name\u003e\")\n            .action(\"restart\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  nodeAction:\n    type: cloudamqp:NodeActions\n    name: node_action\n    properties:\n      instanceId: ${instance.id}\n      nodeName: \u003cnode name\u003e\n      action: restart\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Chained multi-node restart:**\n\n\u003e **Note:** This approach restarts nodes sequentially to minimize cluster disruption. Consider using `cluster.restart` for simpler configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst listNodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\nconst restart01 = new cloudamqp.NodeActions(\"restart_01\", {\n    instanceId: instance.id,\n    action: \"restart\",\n    nodeName: listNodes.then(listNodes =\u003e listNodes.nodes?.[0]?.name),\n});\nconst restart02 = new cloudamqp.NodeActions(\"restart_02\", {\n    instanceId: instance.id,\n    action: \"restart\",\n    nodeName: listNodes.then(listNodes =\u003e listNodes.nodes?.[1]?.name),\n}, {\n    dependsOn: [restart01],\n});\nconst restart03 = new cloudamqp.NodeActions(\"restart_03\", {\n    instanceId: instance.id,\n    action: \"restart\",\n    nodeName: listNodes.then(listNodes =\u003e listNodes.nodes?.[2]?.name),\n}, {\n    dependsOn: [\n        restart01,\n        restart02,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nlist_nodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\nrestart01 = cloudamqp.NodeActions(\"restart_01\",\n    instance_id=instance[\"id\"],\n    action=\"restart\",\n    node_name=list_nodes.nodes[0].name)\nrestart02 = cloudamqp.NodeActions(\"restart_02\",\n    instance_id=instance[\"id\"],\n    action=\"restart\",\n    node_name=list_nodes.nodes[1].name,\n    opts = pulumi.ResourceOptions(depends_on=[restart01]))\nrestart03 = cloudamqp.NodeActions(\"restart_03\",\n    instance_id=instance[\"id\"],\n    action=\"restart\",\n    node_name=list_nodes.nodes[2].name,\n    opts = pulumi.ResourceOptions(depends_on=[\n            restart01,\n            restart02,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var listNodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var restart01 = new CloudAmqp.NodeActions(\"restart_01\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"restart\",\n        NodeName = listNodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[0]?.Name),\n    });\n\n    var restart02 = new CloudAmqp.NodeActions(\"restart_02\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"restart\",\n        NodeName = listNodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[1]?.Name),\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            restart01,\n        },\n    });\n\n    var restart03 = new CloudAmqp.NodeActions(\"restart_03\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"restart\",\n        NodeName = listNodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[2]?.Name),\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            restart01,\n            restart02,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tlistNodes, err := cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trestart01, err := cloudamqp.NewNodeActions(ctx, \"restart_01\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"restart\"),\n\t\t\tNodeName:   pulumi.String(listNodes.Nodes[0].Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trestart02, err := cloudamqp.NewNodeActions(ctx, \"restart_02\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"restart\"),\n\t\t\tNodeName:   pulumi.String(listNodes.Nodes[1].Name),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\trestart01,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"restart_03\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"restart\"),\n\t\t\tNodeName:   pulumi.String(listNodes.Nodes[2].Name),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\trestart01,\n\t\t\trestart02,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var listNodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        var restart01 = new NodeActions(\"restart01\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"restart\")\n            .nodeName(listNodes.nodes()[0].name())\n            .build());\n\n        var restart02 = new NodeActions(\"restart02\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"restart\")\n            .nodeName(listNodes.nodes()[1].name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(restart01)\n                .build());\n\n        var restart03 = new NodeActions(\"restart03\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"restart\")\n            .nodeName(listNodes.nodes()[2].name())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    restart01,\n                    restart02)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  restart01:\n    type: cloudamqp:NodeActions\n    name: restart_01\n    properties:\n      instanceId: ${instance.id}\n      action: restart\n      nodeName: ${listNodes.nodes[0].name}\n  restart02:\n    type: cloudamqp:NodeActions\n    name: restart_02\n    properties:\n      instanceId: ${instance.id}\n      action: restart\n      nodeName: ${listNodes.nodes[1].name}\n    options:\n      dependsOn:\n        - ${restart01}\n  restart03:\n    type: cloudamqp:NodeActions\n    name: restart_03\n    properties:\n      instanceId: ${instance.id}\n      action: restart\n      nodeName: ${listNodes.nodes[2].name}\n    options:\n      dependsOn:\n        - ${restart01}\n        - ${restart02}\nvariables:\n  listNodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Action reference\n\nActions are categorized by what they affect:\n\n### Broker Actions\n\nThese actions control the message broker software (RabbitMQ or LavinMQ) on the specified nodes.\n\n| Action  | Info                                      | Applies to        |\n|---------|-------------------------------------------|-------------------|\n| start   | Start the message broker                  | RabbitMQ, LavinMQ |\n| stop    | Stop the message broker                   | RabbitMQ, LavinMQ |\n| restart | Restart the message broker                | RabbitMQ, LavinMQ |\n\n### Management Interface Actions\n\nThese actions control the management interface without affecting the broker itself.\n\n| Action       | Info                                      | Applies to |\n|--------------|-------------------------------------------|------------|\n| mgmt.restart | Restart the RabbitMQ management interface | RabbitMQ   |\n\n### Node Actions\n\nThese actions affect the entire node (VM), not just the broker software.\n\n| Action | Info                                          | Applies to        |\n|--------|-----------------------------------------------|-------------------|\n| reboot | Reboot the entire node (VM)                   | RabbitMQ, LavinMQ |\n\n### Cluster Actions\n\n\u003e **Available from version 1.41.0**\n\nThese actions operate on all nodes in the cluster simultaneously. The \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e attribute can be omitted for these actions.\n\n| Action          | Info                                            | Applies to        |\n|-----------------|-------------------------------------------------|-------------------|\n| cluster.start   | Start the message broker on all cluster nodes   | RabbitMQ, LavinMQ |\n| cluster.stop    | Stop the message broker on all cluster nodes    | RabbitMQ, LavinMQ |\n| cluster.restart | Restart the message broker on all cluster nodes | RabbitMQ, LavinMQ |\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`. For non-cluster actions, it also requires either \u003cspan pulumi-lang-nodejs=\"`nodeName`\" pulumi-lang-dotnet=\"`NodeName`\" pulumi-lang-go=\"`nodeName`\" pulumi-lang-python=\"`node_name`\" pulumi-lang-yaml=\"`nodeName`\" pulumi-lang-java=\"`nodeName`\"\u003e`node_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e to specify which nodes to act upon. Cluster-level actions automatically apply to all nodes in the cluster.\n\n## Import\n\nThis resource cannot be imported.\n\n","properties":{"action":{"type":"string","description":"The action to invoke. See Action reference below for valid values.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"nodeName":{"type":"string","description":"The node name, e.g. `green-guinea-pig-01`. Use \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e instead. This attribute will be removed in a future version.\n","deprecationMessage":"Use\u003cspan pulumi-lang-nodejs=\" nodeNames \" pulumi-lang-dotnet=\" NodeNames \" pulumi-lang-go=\" nodeNames \" pulumi-lang-python=\" node_names \" pulumi-lang-yaml=\" nodeNames \" pulumi-lang-java=\" nodeNames \"\u003e node_names \u003c/span\u003einstead. This attribute will be removed in a future version."},"nodeNames":{"type":"array","items":{"type":"string"},"description":"List of node names to perform the action on, e.g. `[\"green-guinea-pig-01\", \"green-guinea-pig-02\"]`. For cluster-level actions (`cluster.start`, `cluster.stop`, `cluster.restart`), this can be omitted and the action will automatically apply to all nodes.\n"},"sleep":{"type":"integer","description":"Sleep interval in seconds between polling for node status. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"timeout":{"type":"integer","description":"Timeout in seconds for the action to complete. Default: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e (30 minutes).\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`nodeName`\" pulumi-lang-dotnet=\"`NodeName`\" pulumi-lang-go=\"`nodeName`\" pulumi-lang-python=\"`node_name`\" pulumi-lang-yaml=\"`nodeName`\" pulumi-lang-java=\"`nodeName`\"\u003e`node_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e must be specified for non-cluster actions. Cluster actions (`cluster.start`, `cluster.stop`, `cluster.restart`) can omit both and will automatically target all nodes.\n"}},"required":["action","instanceId","sleep","timeout"],"inputProperties":{"action":{"type":"string","description":"The action to invoke. See Action reference below for valid values.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"nodeName":{"type":"string","description":"The node name, e.g. `green-guinea-pig-01`. Use \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e instead. This attribute will be removed in a future version.\n","deprecationMessage":"Use\u003cspan pulumi-lang-nodejs=\" nodeNames \" pulumi-lang-dotnet=\" NodeNames \" pulumi-lang-go=\" nodeNames \" pulumi-lang-python=\" node_names \" pulumi-lang-yaml=\" nodeNames \" pulumi-lang-java=\" nodeNames \"\u003e node_names \u003c/span\u003einstead. This attribute will be removed in a future version."},"nodeNames":{"type":"array","items":{"type":"string"},"description":"List of node names to perform the action on, e.g. `[\"green-guinea-pig-01\", \"green-guinea-pig-02\"]`. For cluster-level actions (`cluster.start`, `cluster.stop`, `cluster.restart`), this can be omitted and the action will automatically apply to all nodes.\n"},"sleep":{"type":"integer","description":"Sleep interval in seconds between polling for node status. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"timeout":{"type":"integer","description":"Timeout in seconds for the action to complete. Default: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e (30 minutes).\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`nodeName`\" pulumi-lang-dotnet=\"`NodeName`\" pulumi-lang-go=\"`nodeName`\" pulumi-lang-python=\"`node_name`\" pulumi-lang-yaml=\"`nodeName`\" pulumi-lang-java=\"`nodeName`\"\u003e`node_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e must be specified for non-cluster actions. Cluster actions (`cluster.start`, `cluster.stop`, `cluster.restart`) can omit both and will automatically target all nodes.\n"}},"requiredInputs":["action","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering NodeActions resources.\n","properties":{"action":{"type":"string","description":"The action to invoke. See Action reference below for valid values.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"nodeName":{"type":"string","description":"The node name, e.g. `green-guinea-pig-01`. Use \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e instead. This attribute will be removed in a future version.\n","deprecationMessage":"Use\u003cspan pulumi-lang-nodejs=\" nodeNames \" pulumi-lang-dotnet=\" NodeNames \" pulumi-lang-go=\" nodeNames \" pulumi-lang-python=\" node_names \" pulumi-lang-yaml=\" nodeNames \" pulumi-lang-java=\" nodeNames \"\u003e node_names \u003c/span\u003einstead. This attribute will be removed in a future version."},"nodeNames":{"type":"array","items":{"type":"string"},"description":"List of node names to perform the action on, e.g. `[\"green-guinea-pig-01\", \"green-guinea-pig-02\"]`. For cluster-level actions (`cluster.start`, `cluster.stop`, `cluster.restart`), this can be omitted and the action will automatically apply to all nodes.\n"},"sleep":{"type":"integer","description":"Sleep interval in seconds between polling for node status. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"timeout":{"type":"integer","description":"Timeout in seconds for the action to complete. Default: \u003cspan pulumi-lang-nodejs=\"`1800`\" pulumi-lang-dotnet=\"`1800`\" pulumi-lang-go=\"`1800`\" pulumi-lang-python=\"`1800`\" pulumi-lang-yaml=\"`1800`\" pulumi-lang-java=\"`1800`\"\u003e`1800`\u003c/span\u003e (30 minutes).\n\n\u003e **Note:** Either \u003cspan pulumi-lang-nodejs=\"`nodeName`\" pulumi-lang-dotnet=\"`NodeName`\" pulumi-lang-go=\"`nodeName`\" pulumi-lang-python=\"`node_name`\" pulumi-lang-yaml=\"`nodeName`\" pulumi-lang-java=\"`nodeName`\"\u003e`node_name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`nodeNames`\" pulumi-lang-dotnet=\"`NodeNames`\" pulumi-lang-go=\"`nodeNames`\" pulumi-lang-python=\"`node_names`\" pulumi-lang-yaml=\"`nodeNames`\" pulumi-lang-java=\"`nodeNames`\"\u003e`node_names`\u003c/span\u003e must be specified for non-cluster actions. Cluster actions (`cluster.start`, `cluster.stop`, `cluster.restart`) can omit both and will automatically target all nodes.\n"}},"type":"object"}},"cloudamqp:index/notification:Notification":{"description":"This resource allows you to create and manage recipients to receive alarm notifications. There will\nalways be a default recipient created upon instance creation. This recipient will use team email and\nreceive notifications from default alarms.\n\nAvailable for all subscription plans.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eEmail recipient\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst emailRecipient = new cloudamqp.Notification(\"email_recipient\", {\n    instanceId: instance.id,\n    type: \"email\",\n    value: \"alarm@example.com\",\n    name: \"alarm\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nemail_recipient = cloudamqp.Notification(\"email_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"email\",\n    value=\"alarm@example.com\",\n    name=\"alarm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var emailRecipient = new CloudAmqp.Notification(\"email_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"email\",\n        Value = \"alarm@example.com\",\n        Name = \"alarm\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"email_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"email\"),\n\t\t\tValue:      pulumi.String(\"alarm@example.com\"),\n\t\t\tName:       pulumi.String(\"alarm\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var emailRecipient = new Notification(\"emailRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"email\")\n            .value(\"alarm@example.com\")\n            .name(\"alarm\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  emailRecipient:\n    type: cloudamqp:Notification\n    name: email_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: email\n      value: alarm@example.com\n      name: alarm\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eOpsGenie recipient with optional responders\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst opsgenieRecipient = new cloudamqp.Notification(\"opsgenie_recipient\", {\n    instanceId: instance.id,\n    type: \"opsgenie\",\n    value: \"\u003capi-key\u003e\",\n    name: \"OpsGenie\",\n    responders: [\n        {\n            type: \"team\",\n            id: \"\u003cteam-uuid\u003e\",\n        },\n        {\n            type: \"user\",\n            username: \"\u003cusername\u003e\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nopsgenie_recipient = cloudamqp.Notification(\"opsgenie_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"opsgenie\",\n    value=\"\u003capi-key\u003e\",\n    name=\"OpsGenie\",\n    responders=[\n        {\n            \"type\": \"team\",\n            \"id\": \"\u003cteam-uuid\u003e\",\n        },\n        {\n            \"type\": \"user\",\n            \"username\": \"\u003cusername\u003e\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var opsgenieRecipient = new CloudAmqp.Notification(\"opsgenie_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"opsgenie\",\n        Value = \"\u003capi-key\u003e\",\n        Name = \"OpsGenie\",\n        Responders = new[]\n        {\n            new CloudAmqp.Inputs.NotificationResponderArgs\n            {\n                Type = \"team\",\n                Id = \"\u003cteam-uuid\u003e\",\n            },\n            new CloudAmqp.Inputs.NotificationResponderArgs\n            {\n                Type = \"user\",\n                Username = \"\u003cusername\u003e\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"opsgenie_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"opsgenie\"),\n\t\t\tValue:      pulumi.String(\"\u003capi-key\u003e\"),\n\t\t\tName:       pulumi.String(\"OpsGenie\"),\n\t\t\tResponders: cloudamqp.NotificationResponderArray{\n\t\t\t\t\u0026cloudamqp.NotificationResponderArgs{\n\t\t\t\t\tType: pulumi.String(\"team\"),\n\t\t\t\t\tId:   pulumi.String(\"\u003cteam-uuid\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.NotificationResponderArgs{\n\t\t\t\t\tType:     pulumi.String(\"user\"),\n\t\t\t\t\tUsername: pulumi.String(\"\u003cusername\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport com.pulumi.cloudamqp.inputs.NotificationResponderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var opsgenieRecipient = new Notification(\"opsgenieRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"opsgenie\")\n            .value(\"\u003capi-key\u003e\")\n            .name(\"OpsGenie\")\n            .responders(            \n                NotificationResponderArgs.builder()\n                    .type(\"team\")\n                    .id(\"\u003cteam-uuid\u003e\")\n                    .build(),\n                NotificationResponderArgs.builder()\n                    .type(\"user\")\n                    .username(\"\u003cusername\u003e\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  opsgenieRecipient:\n    type: cloudamqp:Notification\n    name: opsgenie_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: opsgenie\n      value: \u003capi-key\u003e\n      name: OpsGenie\n      responders:\n        - type: team\n          id: \u003cteam-uuid\u003e\n        - type: user\n          username: \u003cusername\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003ePagerduty recipient with optional dedup key\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst pagerdutyRecipient = new cloudamqp.Notification(\"pagerduty_recipient\", {\n    instanceId: instance.id,\n    type: \"pagerduty\",\n    value: \"\u003cintegration-key\u003e\",\n    name: \"PagerDuty\",\n    options: {\n        dedupkey: \"DEDUPKEY\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\npagerduty_recipient = cloudamqp.Notification(\"pagerduty_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"pagerduty\",\n    value=\"\u003cintegration-key\u003e\",\n    name=\"PagerDuty\",\n    options={\n        \"dedupkey\": \"DEDUPKEY\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pagerdutyRecipient = new CloudAmqp.Notification(\"pagerduty_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"pagerduty\",\n        Value = \"\u003cintegration-key\u003e\",\n        Name = \"PagerDuty\",\n        Options = \n        {\n            { \"dedupkey\", \"DEDUPKEY\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"pagerduty_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"pagerduty\"),\n\t\t\tValue:      pulumi.String(\"\u003cintegration-key\u003e\"),\n\t\t\tName:       pulumi.String(\"PagerDuty\"),\n\t\t\tOptions: pulumi.StringMap{\n\t\t\t\t\"dedupkey\": pulumi.String(\"DEDUPKEY\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var pagerdutyRecipient = new Notification(\"pagerdutyRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"pagerduty\")\n            .value(\"\u003cintegration-key\u003e\")\n            .name(\"PagerDuty\")\n            .options(Map.of(\"dedupkey\", \"DEDUPKEY\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pagerdutyRecipient:\n    type: cloudamqp:Notification\n    name: pagerduty_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: pagerduty\n      value: \u003cintegration-key\u003e\n      name: PagerDuty\n      options:\n        dedupkey: DEDUPKEY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eSignl4 recipient\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst signl4Recipient = new cloudamqp.Notification(\"signl4_recipient\", {\n    instanceId: instance.id,\n    type: \"signl4\",\n    value: \"\u003cteam-secret\u003e\",\n    name: \"Signl4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nsignl4_recipient = cloudamqp.Notification(\"signl4_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"signl4\",\n    value=\"\u003cteam-secret\u003e\",\n    name=\"Signl4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var signl4Recipient = new CloudAmqp.Notification(\"signl4_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"signl4\",\n        Value = \"\u003cteam-secret\u003e\",\n        Name = \"Signl4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"signl4_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"signl4\"),\n\t\t\tValue:      pulumi.String(\"\u003cteam-secret\u003e\"),\n\t\t\tName:       pulumi.String(\"Signl4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var signl4Recipient = new Notification(\"signl4Recipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"signl4\")\n            .value(\"\u003cteam-secret\u003e\")\n            .name(\"Signl4\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  signl4Recipient:\n    type: cloudamqp:Notification\n    name: signl4_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: signl4\n      value: \u003cteam-secret\u003e\n      name: Signl4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eTeams recipient\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst teamsRecipient = new cloudamqp.Notification(\"teams_recipient\", {\n    instanceId: instance.id,\n    type: \"teams\",\n    value: \"\u003cteams-webhook-url\u003e\",\n    name: \"Teams\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nteams_recipient = cloudamqp.Notification(\"teams_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"teams\",\n    value=\"\u003cteams-webhook-url\u003e\",\n    name=\"Teams\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var teamsRecipient = new CloudAmqp.Notification(\"teams_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"teams\",\n        Value = \"\u003cteams-webhook-url\u003e\",\n        Name = \"Teams\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"teams_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"teams\"),\n\t\t\tValue:      pulumi.String(\"\u003cteams-webhook-url\u003e\"),\n\t\t\tName:       pulumi.String(\"Teams\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var teamsRecipient = new Notification(\"teamsRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"teams\")\n            .value(\"\u003cteams-webhook-url\u003e\")\n            .name(\"Teams\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  teamsRecipient:\n    type: cloudamqp:Notification\n    name: teams_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: teams\n      value: \u003cteams-webhook-url\u003e\n      name: Teams\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eVictorops recipient with optional routing key (rk)\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst victoropsRecipient = new cloudamqp.Notification(\"victorops_recipient\", {\n    instanceId: instance.id,\n    type: \"victorops\",\n    value: \"\u003cintegration-key\u003e\",\n    name: \"Victorops\",\n    options: {\n        rk: \"ROUTINGKEY\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvictorops_recipient = cloudamqp.Notification(\"victorops_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"victorops\",\n    value=\"\u003cintegration-key\u003e\",\n    name=\"Victorops\",\n    options={\n        \"rk\": \"ROUTINGKEY\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var victoropsRecipient = new CloudAmqp.Notification(\"victorops_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"victorops\",\n        Value = \"\u003cintegration-key\u003e\",\n        Name = \"Victorops\",\n        Options = \n        {\n            { \"rk\", \"ROUTINGKEY\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"victorops_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"victorops\"),\n\t\t\tValue:      pulumi.String(\"\u003cintegration-key\u003e\"),\n\t\t\tName:       pulumi.String(\"Victorops\"),\n\t\t\tOptions: pulumi.StringMap{\n\t\t\t\t\"rk\": pulumi.String(\"ROUTINGKEY\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var victoropsRecipient = new Notification(\"victoropsRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"victorops\")\n            .value(\"\u003cintegration-key\u003e\")\n            .name(\"Victorops\")\n            .options(Map.of(\"rk\", \"ROUTINGKEY\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  victoropsRecipient:\n    type: cloudamqp:Notification\n    name: victorops_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: victorops\n      value: \u003cintegration-key\u003e\n      name: Victorops\n      options:\n        rk: ROUTINGKEY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eSlack recipient\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst slackRecipient = new cloudamqp.Notification(\"slack_recipient\", {\n    instanceId: instance.id,\n    type: \"slack\",\n    value: \"\u003cslack-webhook-url\u003e\",\n    name: \"Slack webhook recipient\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nslack_recipient = cloudamqp.Notification(\"slack_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"slack\",\n    value=\"\u003cslack-webhook-url\u003e\",\n    name=\"Slack webhook recipient\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var slackRecipient = new CloudAmqp.Notification(\"slack_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"slack\",\n        Value = \"\u003cslack-webhook-url\u003e\",\n        Name = \"Slack webhook recipient\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"slack_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"slack\"),\n\t\t\tValue:      pulumi.String(\"\u003cslack-webhook-url\u003e\"),\n\t\t\tName:       pulumi.String(\"Slack webhook recipient\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var slackRecipient = new Notification(\"slackRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"slack\")\n            .value(\"\u003cslack-webhook-url\u003e\")\n            .name(\"Slack webhook recipient\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  slackRecipient:\n    type: cloudamqp:Notification\n    name: slack_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: slack\n      value: \u003cslack-webhook-url\u003e\n      name: Slack webhook recipient\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003eWebhook recipient\u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst webhookRecipient = new cloudamqp.Notification(\"webhook_recipient\", {\n    instanceId: instance.id,\n    type: \"webhook\",\n    value: \"\u003cwebhook-url\u003e\",\n    name: \"Webhook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nwebhook_recipient = cloudamqp.Notification(\"webhook_recipient\",\n    instance_id=instance[\"id\"],\n    type=\"webhook\",\n    value=\"\u003cwebhook-url\u003e\",\n    name=\"Webhook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhookRecipient = new CloudAmqp.Notification(\"webhook_recipient\", new()\n    {\n        InstanceId = instance.Id,\n        Type = \"webhook\",\n        Value = \"\u003cwebhook-url\u003e\",\n        Name = \"Webhook\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewNotification(ctx, \"webhook_recipient\", \u0026cloudamqp.NotificationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tType:       pulumi.String(\"webhook\"),\n\t\t\tValue:      pulumi.String(\"\u003cwebhook-url\u003e\"),\n\t\t\tName:       pulumi.String(\"Webhook\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Notification;\nimport com.pulumi.cloudamqp.NotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var webhookRecipient = new Notification(\"webhookRecipient\", NotificationArgs.builder()\n            .instanceId(instance.id())\n            .type(\"webhook\")\n            .value(\"\u003cwebhook-url\u003e\")\n            .name(\"Webhook\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  webhookRecipient:\n    type: cloudamqp:Notification\n    name: webhook_recipient\n    properties:\n      instanceId: ${instance.id}\n      type: webhook\n      value: \u003cwebhook-url\u003e\n      name: Webhook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Notification type reference\n\nValid options for notification type.\n\n* email\n* opsgenie\n* opsgenie-eu\n* pagerduty\n* signl4\n* slack\n* teams\n* victorops\n* webhook\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"name":{"type":"string","description":"Name of the responder\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Options argument (e.g. \u003cspan pulumi-lang-nodejs=\"`rk`\" pulumi-lang-dotnet=\"`Rk`\" pulumi-lang-go=\"`rk`\" pulumi-lang-python=\"`rk`\" pulumi-lang-yaml=\"`rk`\" pulumi-lang-java=\"`rk`\"\u003e`rk`\u003c/span\u003e used for VictorOps routing key).\n"},"responders":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/NotificationResponder:NotificationResponder"},"description":"An array of reponders (only for OpsGenie). Each \u003cspan pulumi-lang-nodejs=\"`responders`\" pulumi-lang-dotnet=\"`Responders`\" pulumi-lang-go=\"`responders`\" pulumi-lang-python=\"`responders`\" pulumi-lang-yaml=\"`responders`\" pulumi-lang-java=\"`responders`\"\u003e`responders`\u003c/span\u003e block\nconsists of the field documented below.\n\n___\n\nThe options parameter:\n\n* rk        - (Optional) Routing key to route alarm notification (can be used with Victorops).\n* dedupkey  - (Optional) If multiple alarms are triggered using a recipient with this key, only the\nthe first alarm will trigger a notification (can be used with PagerDuty). Leave blank\nto use the generated dedup key.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`responders`\" pulumi-lang-dotnet=\"`Responders`\" pulumi-lang-go=\"`responders`\" pulumi-lang-python=\"`responders`\" pulumi-lang-yaml=\"`responders`\" pulumi-lang-java=\"`responders`\"\u003e`responders`\u003c/span\u003e block consists of:\n"},"type":{"type":"string","description":"Type of responder. [\u003cspan pulumi-lang-nodejs=\"`team`\" pulumi-lang-dotnet=\"`Team`\" pulumi-lang-go=\"`team`\" pulumi-lang-python=\"`team`\" pulumi-lang-yaml=\"`team`\" pulumi-lang-java=\"`team`\"\u003e`team`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`escalation`\" pulumi-lang-dotnet=\"`Escalation`\" pulumi-lang-go=\"`escalation`\" pulumi-lang-python=\"`escalation`\" pulumi-lang-yaml=\"`escalation`\" pulumi-lang-java=\"`escalation`\"\u003e`escalation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e]\n"},"value":{"type":"string","description":"Integration/API key or endpoint to send the notification.\n"}},"required":["instanceId","name","type","value"],"inputProperties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the responder\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Options argument (e.g. \u003cspan pulumi-lang-nodejs=\"`rk`\" pulumi-lang-dotnet=\"`Rk`\" pulumi-lang-go=\"`rk`\" pulumi-lang-python=\"`rk`\" pulumi-lang-yaml=\"`rk`\" pulumi-lang-java=\"`rk`\"\u003e`rk`\u003c/span\u003e used for VictorOps routing key).\n"},"responders":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/NotificationResponder:NotificationResponder"},"description":"An array of reponders (only for OpsGenie). Each \u003cspan pulumi-lang-nodejs=\"`responders`\" pulumi-lang-dotnet=\"`Responders`\" pulumi-lang-go=\"`responders`\" pulumi-lang-python=\"`responders`\" pulumi-lang-yaml=\"`responders`\" pulumi-lang-java=\"`responders`\"\u003e`responders`\u003c/span\u003e block\nconsists of the field documented below.\n\n___\n\nThe options parameter:\n\n* rk        - (Optional) Routing key to route alarm notification (can be used with Victorops).\n* dedupkey  - (Optional) If multiple alarms are triggered using a recipient with this key, only the\nthe first alarm will trigger a notification (can be used with PagerDuty). Leave blank\nto use the generated dedup key.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`responders`\" pulumi-lang-dotnet=\"`Responders`\" pulumi-lang-go=\"`responders`\" pulumi-lang-python=\"`responders`\" pulumi-lang-yaml=\"`responders`\" pulumi-lang-java=\"`responders`\"\u003e`responders`\u003c/span\u003e block consists of:\n"},"type":{"type":"string","description":"Type of responder. [\u003cspan pulumi-lang-nodejs=\"`team`\" pulumi-lang-dotnet=\"`Team`\" pulumi-lang-go=\"`team`\" pulumi-lang-python=\"`team`\" pulumi-lang-yaml=\"`team`\" pulumi-lang-java=\"`team`\"\u003e`team`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`escalation`\" pulumi-lang-dotnet=\"`Escalation`\" pulumi-lang-go=\"`escalation`\" pulumi-lang-python=\"`escalation`\" pulumi-lang-yaml=\"`escalation`\" pulumi-lang-java=\"`escalation`\"\u003e`escalation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e]\n"},"value":{"type":"string","description":"Integration/API key or endpoint to send the notification.\n"}},"requiredInputs":["instanceId","type","value"],"stateInputs":{"description":"Input properties used for looking up and filtering Notification resources.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the responder\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Options argument (e.g. \u003cspan pulumi-lang-nodejs=\"`rk`\" pulumi-lang-dotnet=\"`Rk`\" pulumi-lang-go=\"`rk`\" pulumi-lang-python=\"`rk`\" pulumi-lang-yaml=\"`rk`\" pulumi-lang-java=\"`rk`\"\u003e`rk`\u003c/span\u003e used for VictorOps routing key).\n"},"responders":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/NotificationResponder:NotificationResponder"},"description":"An array of reponders (only for OpsGenie). Each \u003cspan pulumi-lang-nodejs=\"`responders`\" pulumi-lang-dotnet=\"`Responders`\" pulumi-lang-go=\"`responders`\" pulumi-lang-python=\"`responders`\" pulumi-lang-yaml=\"`responders`\" pulumi-lang-java=\"`responders`\"\u003e`responders`\u003c/span\u003e block\nconsists of the field documented below.\n\n___\n\nThe options parameter:\n\n* rk        - (Optional) Routing key to route alarm notification (can be used with Victorops).\n* dedupkey  - (Optional) If multiple alarms are triggered using a recipient with this key, only the\nthe first alarm will trigger a notification (can be used with PagerDuty). Leave blank\nto use the generated dedup key.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`responders`\" pulumi-lang-dotnet=\"`Responders`\" pulumi-lang-go=\"`responders`\" pulumi-lang-python=\"`responders`\" pulumi-lang-yaml=\"`responders`\" pulumi-lang-java=\"`responders`\"\u003e`responders`\u003c/span\u003e block consists of:\n"},"type":{"type":"string","description":"Type of responder. [\u003cspan pulumi-lang-nodejs=\"`team`\" pulumi-lang-dotnet=\"`Team`\" pulumi-lang-go=\"`team`\" pulumi-lang-python=\"`team`\" pulumi-lang-yaml=\"`team`\" pulumi-lang-java=\"`team`\"\u003e`team`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`escalation`\" pulumi-lang-dotnet=\"`Escalation`\" pulumi-lang-go=\"`escalation`\" pulumi-lang-python=\"`escalation`\" pulumi-lang-yaml=\"`escalation`\" pulumi-lang-java=\"`escalation`\"\u003e`escalation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schedule`\" pulumi-lang-dotnet=\"`Schedule`\" pulumi-lang-go=\"`schedule`\" pulumi-lang-python=\"`schedule`\" pulumi-lang-yaml=\"`schedule`\" pulumi-lang-java=\"`schedule`\"\u003e`schedule`\u003c/span\u003e]\n"},"value":{"type":"string","description":"Integration/API key or endpoint to send the notification.\n"}},"type":"object"}},"cloudamqp:index/oauth2Configuration:Oauth2Configuration":{"description":"This resource allows you to configure OAuth2 authentication for your RabbitMQ instance.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eBasic OAuth2 configuration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst oauth2Config = new cloudamqp.Oauth2Configuration(\"oauth2_config\", {\n    instanceId: instance.id,\n    resourceServerId: \"test-resource-server\",\n    issuer: \"https://test-issuer.example.com\",\n    verifyAud: true,\n    oauthClientId: \"test-client-id\",\n    oauthScopes: [\n        \"read\",\n        \"write\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\noauth2_config = cloudamqp.Oauth2Configuration(\"oauth2_config\",\n    instance_id=instance[\"id\"],\n    resource_server_id=\"test-resource-server\",\n    issuer=\"https://test-issuer.example.com\",\n    verify_aud=True,\n    oauth_client_id=\"test-client-id\",\n    oauth_scopes=[\n        \"read\",\n        \"write\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var oauth2Config = new CloudAmqp.Oauth2Configuration(\"oauth2_config\", new()\n    {\n        InstanceId = instance.Id,\n        ResourceServerId = \"test-resource-server\",\n        Issuer = \"https://test-issuer.example.com\",\n        VerifyAud = true,\n        OauthClientId = \"test-client-id\",\n        OauthScopes = new[]\n        {\n            \"read\",\n            \"write\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewOauth2Configuration(ctx, \"oauth2_config\", \u0026cloudamqp.Oauth2ConfigurationArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tResourceServerId: pulumi.String(\"test-resource-server\"),\n\t\t\tIssuer:           pulumi.String(\"https://test-issuer.example.com\"),\n\t\t\tVerifyAud:        pulumi.Bool(true),\n\t\t\tOauthClientId:    pulumi.String(\"test-client-id\"),\n\t\t\tOauthScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\tpulumi.String(\"write\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Oauth2Configuration;\nimport com.pulumi.cloudamqp.Oauth2ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var oauth2Config = new Oauth2Configuration(\"oauth2Config\", Oauth2ConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .resourceServerId(\"test-resource-server\")\n            .issuer(\"https://test-issuer.example.com\")\n            .verifyAud(true)\n            .oauthClientId(\"test-client-id\")\n            .oauthScopes(            \n                \"read\",\n                \"write\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  oauth2Config:\n    type: cloudamqp:Oauth2Configuration\n    name: oauth2_config\n    properties:\n      instanceId: ${instance.id}\n      resourceServerId: test-resource-server\n      issuer: https://test-issuer.example.com\n      verifyAud: true\n      oauthClientId: test-client-id\n      oauthScopes:\n        - read\n        - write\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eOAuth2 configuration with all optional fields\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst oauth2Config = new cloudamqp.Oauth2Configuration(\"oauth2_config\", {\n    instanceId: instance.id,\n    resourceServerId: \"test-resource-server\",\n    issuer: \"https://test-issuer.example.com\",\n    preferredUsernameClaims: [\n        \"preferred_username\",\n        \"username\",\n    ],\n    additionalScopesKeys: [\"admin\"],\n    scopePrefix: \"cloudamqp\",\n    scopeAliases: {\n        read: \"read:all\",\n        write: \"write:all\",\n    },\n    verifyAud: true,\n    oauthClientId: \"test-client-id\",\n    oauthScopes: [\n        \"read\",\n        \"write\",\n        \"admin\",\n    ],\n    audience: \"https://test-audience.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\noauth2_config = cloudamqp.Oauth2Configuration(\"oauth2_config\",\n    instance_id=instance[\"id\"],\n    resource_server_id=\"test-resource-server\",\n    issuer=\"https://test-issuer.example.com\",\n    preferred_username_claims=[\n        \"preferred_username\",\n        \"username\",\n    ],\n    additional_scopes_keys=[\"admin\"],\n    scope_prefix=\"cloudamqp\",\n    scope_aliases={\n        \"read\": \"read:all\",\n        \"write\": \"write:all\",\n    },\n    verify_aud=True,\n    oauth_client_id=\"test-client-id\",\n    oauth_scopes=[\n        \"read\",\n        \"write\",\n        \"admin\",\n    ],\n    audience=\"https://test-audience.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var oauth2Config = new CloudAmqp.Oauth2Configuration(\"oauth2_config\", new()\n    {\n        InstanceId = instance.Id,\n        ResourceServerId = \"test-resource-server\",\n        Issuer = \"https://test-issuer.example.com\",\n        PreferredUsernameClaims = new[]\n        {\n            \"preferred_username\",\n            \"username\",\n        },\n        AdditionalScopesKeys = new[]\n        {\n            \"admin\",\n        },\n        ScopePrefix = \"cloudamqp\",\n        ScopeAliases = \n        {\n            { \"read\", \"read:all\" },\n            { \"write\", \"write:all\" },\n        },\n        VerifyAud = true,\n        OauthClientId = \"test-client-id\",\n        OauthScopes = new[]\n        {\n            \"read\",\n            \"write\",\n            \"admin\",\n        },\n        Audience = \"https://test-audience.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewOauth2Configuration(ctx, \"oauth2_config\", \u0026cloudamqp.Oauth2ConfigurationArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tResourceServerId: pulumi.String(\"test-resource-server\"),\n\t\t\tIssuer:           pulumi.String(\"https://test-issuer.example.com\"),\n\t\t\tPreferredUsernameClaims: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"preferred_username\"),\n\t\t\t\tpulumi.String(\"username\"),\n\t\t\t},\n\t\t\tAdditionalScopesKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"admin\"),\n\t\t\t},\n\t\t\tScopePrefix: pulumi.String(\"cloudamqp\"),\n\t\t\tScopeAliases: pulumi.StringMap{\n\t\t\t\t\"read\":  pulumi.String(\"read:all\"),\n\t\t\t\t\"write\": pulumi.String(\"write:all\"),\n\t\t\t},\n\t\t\tVerifyAud:     pulumi.Bool(true),\n\t\t\tOauthClientId: pulumi.String(\"test-client-id\"),\n\t\t\tOauthScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\tpulumi.String(\"write\"),\n\t\t\t\tpulumi.String(\"admin\"),\n\t\t\t},\n\t\t\tAudience: pulumi.String(\"https://test-audience.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Oauth2Configuration;\nimport com.pulumi.cloudamqp.Oauth2ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var oauth2Config = new Oauth2Configuration(\"oauth2Config\", Oauth2ConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .resourceServerId(\"test-resource-server\")\n            .issuer(\"https://test-issuer.example.com\")\n            .preferredUsernameClaims(            \n                \"preferred_username\",\n                \"username\")\n            .additionalScopesKeys(\"admin\")\n            .scopePrefix(\"cloudamqp\")\n            .scopeAliases(Map.ofEntries(\n                Map.entry(\"read\", \"read:all\"),\n                Map.entry(\"write\", \"write:all\")\n            ))\n            .verifyAud(true)\n            .oauthClientId(\"test-client-id\")\n            .oauthScopes(            \n                \"read\",\n                \"write\",\n                \"admin\")\n            .audience(\"https://test-audience.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  oauth2Config:\n    type: cloudamqp:Oauth2Configuration\n    name: oauth2_config\n    properties:\n      instanceId: ${instance.id}\n      resourceServerId: test-resource-server\n      issuer: https://test-issuer.example.com\n      preferredUsernameClaims:\n        - preferred_username\n        - username\n      additionalScopesKeys:\n        - admin\n      scopePrefix: cloudamqp\n      scopeAliases:\n        read: read:all\n        write: write:all\n      verifyAud: true\n      oauthClientId: test-client-id\n      oauthScopes:\n        - read\n        - write\n        - admin\n      audience: https://test-audience.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eMinimal OAuth2 configuration\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst oauth2Config = new cloudamqp.Oauth2Configuration(\"oauth2_config\", {\n    instanceId: instance.id,\n    resourceServerId: \"test-resource-server\",\n    issuer: \"https://test-issuer.example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\noauth2_config = cloudamqp.Oauth2Configuration(\"oauth2_config\",\n    instance_id=instance[\"id\"],\n    resource_server_id=\"test-resource-server\",\n    issuer=\"https://test-issuer.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var oauth2Config = new CloudAmqp.Oauth2Configuration(\"oauth2_config\", new()\n    {\n        InstanceId = instance.Id,\n        ResourceServerId = \"test-resource-server\",\n        Issuer = \"https://test-issuer.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewOauth2Configuration(ctx, \"oauth2_config\", \u0026cloudamqp.Oauth2ConfigurationArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tResourceServerId: pulumi.String(\"test-resource-server\"),\n\t\t\tIssuer:           pulumi.String(\"https://test-issuer.example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Oauth2Configuration;\nimport com.pulumi.cloudamqp.Oauth2ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var oauth2Config = new Oauth2Configuration(\"oauth2Config\", Oauth2ConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .resourceServerId(\"test-resource-server\")\n            .issuer(\"https://test-issuer.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  oauth2Config:\n    type: cloudamqp:Oauth2Configuration\n    name: oauth2_config\n    properties:\n      instanceId: ${instance.id}\n      resourceServerId: test-resource-server\n      issuer: https://test-issuer.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Notes\n\n* Changes to \u003cspan pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instance_id`\u003c/span\u003e will force recreation of the resource.\n* OAuth2 configuration changes are applied asynchronously and may take some time to complete. The\n  resource will poll for job completion using the configured \u003cspan pulumi-lang-nodejs=\"`sleep`\" pulumi-lang-dotnet=\"`Sleep`\" pulumi-lang-go=\"`sleep`\" pulumi-lang-python=\"`sleep`\" pulumi-lang-yaml=\"`sleep`\" pulumi-lang-java=\"`sleep`\"\u003e`sleep`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`timeout`\" pulumi-lang-dotnet=\"`Timeout`\" pulumi-lang-go=\"`timeout`\" pulumi-lang-python=\"`timeout`\" pulumi-lang-yaml=\"`timeout`\" pulumi-lang-java=\"`timeout`\"\u003e`timeout`\u003c/span\u003e values.\n* Only one OAuth2 configuration can exist per instance. Creating a new configuration will replace\n  any existing configuration.\n* After a configuration has been applied, a restart of RabbitMQ is required for the changes to take effect.\n\n","properties":{"additionalScopesKeys":{"type":"array","items":{"type":"string"},"description":"List of additional JWT claim keys to extract OAuth2\nscopes from.\n"},"audience":{"type":"string","description":"The audience to be passed along to the Oauth2 provider when\nlogging in to the management interface. Must be configured for Auth0,\ncannot be configured for Entra ID v2.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"issuer":{"type":"string","description":"The issuer URL of the OAuth2 provider. This is typically\nthe base URL of your OAuth2 provider (e.g., Auth0, Keycloak, etc.).\n"},"oauthClientId":{"type":"string","description":"OAuth2 client ID used for token validation.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"List of OAuth2 scopes to request. These scopes will be\nused when obtaining access tokens.\n"},"preferredUsernameClaims":{"type":"array","items":{"type":"string"},"description":"List of JWT claims to use as the preferred username.\nThe first claim found in the token will be used as the username.\n"},"resourceServerId":{"type":"string","description":"Resource server identifier used to identify the resource\nserver in OAuth2 tokens.\n"},"scopeAliases":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of scope aliases to translate scope names. This allows\nmapping OAuth2 scopes to RabbitMQ permission tags.\n"},"scopePrefix":{"type":"string","description":"Prefix to add to scopes. This is useful when scopes in\nthe JWT token need to be prefixed for RabbitMQ permissions.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for\nOAuth2 configuration. Default set to 60 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for OAuth2\nconfiguration. Default set to 3600 seconds.\n"},"verifyAud":{"type":"boolean","description":"Whether to verify the audience claim in the JWT\ntoken. Defaults to true.\n"}},"required":["instanceId","issuer","resourceServerId","sleep","timeout","verifyAud"],"inputProperties":{"additionalScopesKeys":{"type":"array","items":{"type":"string"},"description":"List of additional JWT claim keys to extract OAuth2\nscopes from.\n"},"audience":{"type":"string","description":"The audience to be passed along to the Oauth2 provider when\nlogging in to the management interface. Must be configured for Auth0,\ncannot be configured for Entra ID v2.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"issuer":{"type":"string","description":"The issuer URL of the OAuth2 provider. This is typically\nthe base URL of your OAuth2 provider (e.g., Auth0, Keycloak, etc.).\n"},"oauthClientId":{"type":"string","description":"OAuth2 client ID used for token validation.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"List of OAuth2 scopes to request. These scopes will be\nused when obtaining access tokens.\n"},"preferredUsernameClaims":{"type":"array","items":{"type":"string"},"description":"List of JWT claims to use as the preferred username.\nThe first claim found in the token will be used as the username.\n"},"resourceServerId":{"type":"string","description":"Resource server identifier used to identify the resource\nserver in OAuth2 tokens.\n"},"scopeAliases":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of scope aliases to translate scope names. This allows\nmapping OAuth2 scopes to RabbitMQ permission tags.\n"},"scopePrefix":{"type":"string","description":"Prefix to add to scopes. This is useful when scopes in\nthe JWT token need to be prefixed for RabbitMQ permissions.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for\nOAuth2 configuration. Default set to 60 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for OAuth2\nconfiguration. Default set to 3600 seconds.\n"},"verifyAud":{"type":"boolean","description":"Whether to verify the audience claim in the JWT\ntoken. Defaults to true.\n"}},"requiredInputs":["instanceId","issuer","resourceServerId"],"stateInputs":{"description":"Input properties used for looking up and filtering Oauth2Configuration resources.\n","properties":{"additionalScopesKeys":{"type":"array","items":{"type":"string"},"description":"List of additional JWT claim keys to extract OAuth2\nscopes from.\n"},"audience":{"type":"string","description":"The audience to be passed along to the Oauth2 provider when\nlogging in to the management interface. Must be configured for Auth0,\ncannot be configured for Entra ID v2.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"issuer":{"type":"string","description":"The issuer URL of the OAuth2 provider. This is typically\nthe base URL of your OAuth2 provider (e.g., Auth0, Keycloak, etc.).\n"},"oauthClientId":{"type":"string","description":"OAuth2 client ID used for token validation.\n"},"oauthScopes":{"type":"array","items":{"type":"string"},"description":"List of OAuth2 scopes to request. These scopes will be\nused when obtaining access tokens.\n"},"preferredUsernameClaims":{"type":"array","items":{"type":"string"},"description":"List of JWT claims to use as the preferred username.\nThe first claim found in the token will be used as the username.\n"},"resourceServerId":{"type":"string","description":"Resource server identifier used to identify the resource\nserver in OAuth2 tokens.\n"},"scopeAliases":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of scope aliases to translate scope names. This allows\nmapping OAuth2 scopes to RabbitMQ permission tags.\n"},"scopePrefix":{"type":"string","description":"Prefix to add to scopes. This is useful when scopes in\nthe JWT token need to be prefixed for RabbitMQ permissions.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for\nOAuth2 configuration. Default set to 60 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for OAuth2\nconfiguration. Default set to 3600 seconds.\n"},"verifyAud":{"type":"boolean","description":"Whether to verify the audience claim in the JWT\ntoken. Defaults to true.\n"}},"type":"object"}},"cloudamqp:index/plugin:Plugin":{"description":"This resource allows you to enable or disable Rabbit MQ plugins.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqTop = new cloudamqp.Plugin(\"rabbitmq_top\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_top\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_top = cloudamqp.Plugin(\"rabbitmq_top\",\n    instance_id=instance[\"id\"],\n    name=\"rabbitmq_top\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqTop = new CloudAmqp.Plugin(\"rabbitmq_top\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_top\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewPlugin(ctx, \"rabbitmq_top\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rabbitmq_top\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Plugin;\nimport com.pulumi.cloudamqp.PluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqTop = new Plugin(\"rabbitmqTop\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_top\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqTop:\n    type: cloudamqp:Plugin\n    name: rabbitmq_top\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_top\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable multiple plugins v1.19.1 and older versions\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nRabbit MQ can only change one plugin at a time. It will fail if multiple plugins resources are used,\nunless by creating dependencies with \u003cspan pulumi-lang-nodejs=\"`dependOn`\" pulumi-lang-dotnet=\"`DependOn`\" pulumi-lang-go=\"`dependOn`\" pulumi-lang-python=\"`depend_on`\" pulumi-lang-yaml=\"`dependOn`\" pulumi-lang-java=\"`dependOn`\"\u003e`depend_on`\u003c/span\u003e between the resources. Once one plugin has been\nenabled, the other will continue. See example below.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqTop = new cloudamqp.Plugin(\"rabbitmq_top\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_top\",\n    enabled: true,\n});\nconst rabbitmqAmqp10 = new cloudamqp.Plugin(\"rabbitmq_amqp1_0\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_amqp1_0\",\n    enabled: true,\n}, {\n    dependsOn: [rabbitmqTop],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_top = cloudamqp.Plugin(\"rabbitmq_top\",\n    instance_id=instance[\"id\"],\n    name=\"rabbitmq_top\",\n    enabled=True)\nrabbitmq_amqp10 = cloudamqp.Plugin(\"rabbitmq_amqp1_0\",\n    instance_id=instance[\"id\"],\n    name=\"rabbitmq_amqp1_0\",\n    enabled=True,\n    opts = pulumi.ResourceOptions(depends_on=[rabbitmq_top]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqTop = new CloudAmqp.Plugin(\"rabbitmq_top\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_top\",\n        Enabled = true,\n    });\n\n    var rabbitmqAmqp10 = new CloudAmqp.Plugin(\"rabbitmq_amqp1_0\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_amqp1_0\",\n        Enabled = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            rabbitmqTop,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trabbitmqTop, err := cloudamqp.NewPlugin(ctx, \"rabbitmq_top\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rabbitmq_top\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPlugin(ctx, \"rabbitmq_amqp1_0\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rabbitmq_amqp1_0\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\trabbitmqTop,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Plugin;\nimport com.pulumi.cloudamqp.PluginArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqTop = new Plugin(\"rabbitmqTop\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_top\")\n            .enabled(true)\n            .build());\n\n        var rabbitmqAmqp10 = new Plugin(\"rabbitmqAmqp10\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_amqp1_0\")\n            .enabled(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(rabbitmqTop)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqTop:\n    type: cloudamqp:Plugin\n    name: rabbitmq_top\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_top\n      enabled: true\n  rabbitmqAmqp10:\n    type: cloudamqp:Plugin\n    name: rabbitmq_amqp1_0\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_amqp1_0\n      enabled: true\n    options:\n      dependsOn:\n        - ${rabbitmqTop}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable multiple plugins from \u003c/i\u003e\n      \u003ca href=\"https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.19.2\"\u003ev1.19.2\u003c/a\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nCloudAMQP Terraform provider [v1.19.2] support asynchronous request for plugin actions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqTop = new cloudamqp.Plugin(\"rabbitmq_top\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_top\",\n    enabled: true,\n});\nconst rabbitmqAmqp10 = new cloudamqp.Plugin(\"rabbitmq_amqp1_0\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_amqp1_0\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_top = cloudamqp.Plugin(\"rabbitmq_top\",\n    instance_id=instance[\"id\"],\n    name=\"rabbitmq_top\",\n    enabled=True)\nrabbitmq_amqp10 = cloudamqp.Plugin(\"rabbitmq_amqp1_0\",\n    instance_id=instance[\"id\"],\n    name=\"rabbitmq_amqp1_0\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqTop = new CloudAmqp.Plugin(\"rabbitmq_top\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_top\",\n        Enabled = true,\n    });\n\n    var rabbitmqAmqp10 = new CloudAmqp.Plugin(\"rabbitmq_amqp1_0\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_amqp1_0\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewPlugin(ctx, \"rabbitmq_top\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rabbitmq_top\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPlugin(ctx, \"rabbitmq_amqp1_0\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rabbitmq_amqp1_0\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Plugin;\nimport com.pulumi.cloudamqp.PluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqTop = new Plugin(\"rabbitmqTop\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_top\")\n            .enabled(true)\n            .build());\n\n        var rabbitmqAmqp10 = new Plugin(\"rabbitmqAmqp10\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_amqp1_0\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqTop:\n    type: cloudamqp:Plugin\n    name: rabbitmq_top\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_top\n      enabled: true\n  rabbitmqAmqp10:\n    type: cloudamqp:Plugin\n    name: rabbitmq_amqp1_0\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_amqp1_0\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eFaster instance destroy when running `terraform destroy` from \u003c/i\u003e\n      \u003ca href=\"https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0\"\u003ev1.27.0\u003c/a\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nCloudAMQP Terraform provider [v1.27.0] enables faster \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e destroy when running\n`terraform destroy`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-cloudamqp-instance\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n});\nconst rabbitmqTop = new cloudamqp.Plugin(\"rabbitmq_top\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_top\",\n    enabled: true,\n});\nconst rabbitmqAmqp10 = new cloudamqp.Plugin(\"rabbitmq_amqp1_0\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_amqp1_0\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-cloudamqp-instance\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"])\nrabbitmq_top = cloudamqp.Plugin(\"rabbitmq_top\",\n    instance_id=instance.id,\n    name=\"rabbitmq_top\",\n    enabled=True)\nrabbitmq_amqp10 = cloudamqp.Plugin(\"rabbitmq_amqp1_0\",\n    instance_id=instance.id,\n    name=\"rabbitmq_amqp1_0\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n    var rabbitmqTop = new CloudAmqp.Plugin(\"rabbitmq_top\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_top\",\n        Enabled = true,\n    });\n\n    var rabbitmqAmqp10 = new CloudAmqp.Plugin(\"rabbitmq_amqp1_0\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_amqp1_0\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPlugin(ctx, \"rabbitmq_top\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName:       pulumi.String(\"rabbitmq_top\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPlugin(ctx, \"rabbitmq_amqp1_0\", \u0026cloudamqp.PluginArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName:       pulumi.String(\"rabbitmq_amqp1_0\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.Plugin;\nimport com.pulumi.cloudamqp.PluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .build());\n\n        var rabbitmqTop = new Plugin(\"rabbitmqTop\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_top\")\n            .enabled(true)\n            .build());\n\n        var rabbitmqAmqp10 = new Plugin(\"rabbitmqAmqp10\", PluginArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_amqp1_0\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-cloudamqp-instance\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n  rabbitmqTop:\n    type: cloudamqp:Plugin\n    name: rabbitmq_top\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_top\n      enabled: true\n  rabbitmqAmqp10:\n    type: cloudamqp:Plugin\n    name: rabbitmq_amqp1_0\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_amqp1_0\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\nIf multiple plugins should be enable, create dependencies between the plugin resources. See example\nabove.\n\n## Required plugins\n\nPlugins that is not needed to be managed by the provider since they will always be enabled. We have\nmade \u003cspan pulumi-lang-nodejs=\"`rabbitmqPrometheus`\" pulumi-lang-dotnet=\"`RabbitmqPrometheus`\" pulumi-lang-go=\"`rabbitmqPrometheus`\" pulumi-lang-python=\"`rabbitmq_prometheus`\" pulumi-lang-yaml=\"`rabbitmqPrometheus`\" pulumi-lang-java=\"`rabbitmqPrometheus`\"\u003e`rabbitmq_prometheus`\u003c/span\u003e required for all clusters since RabbitMQ version 3.10.0.\n\n| Name                      | Version |\n|---------------------------|---------|\n|\u003cspan pulumi-lang-nodejs=\" rabbitmqManagement \" pulumi-lang-dotnet=\" RabbitmqManagement \" pulumi-lang-go=\" rabbitmqManagement \" pulumi-lang-python=\" rabbitmq_management \" pulumi-lang-yaml=\" rabbitmqManagement \" pulumi-lang-java=\" rabbitmqManagement \"\u003e rabbitmq_management \u003c/span\u003e      | all     |\n|\u003cspan pulumi-lang-nodejs=\" rabbitmqManagementAgent \" pulumi-lang-dotnet=\" RabbitmqManagementAgent \" pulumi-lang-go=\" rabbitmqManagementAgent \" pulumi-lang-python=\" rabbitmq_management_agent \" pulumi-lang-yaml=\" rabbitmqManagementAgent \" pulumi-lang-java=\" rabbitmqManagementAgent \"\u003e rabbitmq_management_agent \u003c/span\u003e| all     |\n|\u003cspan pulumi-lang-nodejs=\" rabbitmqPrometheus \" pulumi-lang-dotnet=\" RabbitmqPrometheus \" pulumi-lang-go=\" rabbitmqPrometheus \" pulumi-lang-python=\" rabbitmq_prometheus \" pulumi-lang-yaml=\" rabbitmqPrometheus \" pulumi-lang-java=\" rabbitmqPrometheus \"\u003e rabbitmq_prometheus \u003c/span\u003e      | 3.10.0  |\n\n## Enable faster instance destroy\n\nWhen running `terraform destroy` this resource will try to disable the managed plugin before\ndeleting \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e. This is not necessary since the servers will be deleted.\n\nSet \u003cspan pulumi-lang-nodejs=\"`enableFasterInstanceDestroy`\" pulumi-lang-dotnet=\"`EnableFasterInstanceDestroy`\" pulumi-lang-go=\"`enableFasterInstanceDestroy`\" pulumi-lang-python=\"`enable_faster_instance_destroy`\" pulumi-lang-yaml=\"`enableFasterInstanceDestroy`\" pulumi-lang-java=\"`enableFasterInstanceDestroy`\"\u003e`enable_faster_instance_destroy`\u003c/span\u003e to ***true*** in the provider configuration to skip this.\n\n[CloudAMQP API list plugins]: https://docs.cloudamqp.com/instance-api.html#tag/plugins/get/plugins\n[v1.19.2]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.19.2\n[v1.27.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0\n[v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0\n\n","properties":{"description":{"type":"string","description":"The description of the plugin.\n"},"enabled":{"type":"boolean","description":"Enable or disable the plugins.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"name":{"type":"string","description":"The name of the Rabbit MQ plugin.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about plugins. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about plugins. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"version":{"type":"string","description":"The version of the plugin.\n"}},"required":["description","enabled","instanceId","name","version"],"inputProperties":{"enabled":{"type":"boolean","description":"Enable or disable the plugins.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Rabbit MQ plugin.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about plugins. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about plugins. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"}},"requiredInputs":["enabled","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering Plugin resources.\n","properties":{"description":{"type":"string","description":"The description of the plugin.\n"},"enabled":{"type":"boolean","description":"Enable or disable the plugins.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Rabbit MQ plugin.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about plugins. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about plugins. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"version":{"type":"string","description":"The version of the plugin.\n"}},"type":"object"}},"cloudamqp:index/pluginCommunity:PluginCommunity":{"description":"This resource allows you to install or uninstall community plugins. Once installed the plugin will\nbe available in \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Plugin`\" pulumi-lang-dotnet=\"`cloudamqp.Plugin`\" pulumi-lang-go=\"`Plugin`\" pulumi-lang-python=\"`Plugin`\" pulumi-lang-yaml=\"`cloudamqp.Plugin`\" pulumi-lang-java=\"`cloudamqp.Plugin`\"\u003e`cloudamqp.Plugin`\u003c/span\u003e.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqDelayedMessageExchange = new cloudamqp.PluginCommunity(\"rabbitmq_delayed_message_exchange\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_delayed_message_exchange\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_delayed_message_exchange = cloudamqp.PluginCommunity(\"rabbitmq_delayed_message_exchange\",\n    instance_id=instance[\"id\"],\n    name=\"rabbitmq_delayed_message_exchange\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqDelayedMessageExchange = new CloudAmqp.PluginCommunity(\"rabbitmq_delayed_message_exchange\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_delayed_message_exchange\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewPluginCommunity(ctx, \"rabbitmq_delayed_message_exchange\", \u0026cloudamqp.PluginCommunityArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tName:       pulumi.String(\"rabbitmq_delayed_message_exchange\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.PluginCommunity;\nimport com.pulumi.cloudamqp.PluginCommunityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqDelayedMessageExchange = new PluginCommunity(\"rabbitmqDelayedMessageExchange\", PluginCommunityArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_delayed_message_exchange\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqDelayedMessageExchange:\n    type: cloudamqp:PluginCommunity\n    name: rabbitmq_delayed_message_exchange\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_delayed_message_exchange\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eFaster instance destroy when running `terraform destroy` from [v1.27.0]\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nCloudAMQP Terraform provider [v1.27.0] enables faster \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e destroy when running\n`terraform destroy`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-cloudamqp-instance\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n});\nconst rabbitmqDelayedMessageExchange = new cloudamqp.PluginCommunity(\"rabbitmq_delayed_message_exchange\", {\n    instanceId: instance.id,\n    name: \"rabbitmq_delayed_message_exchange\",\n    enabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-cloudamqp-instance\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"])\nrabbitmq_delayed_message_exchange = cloudamqp.PluginCommunity(\"rabbitmq_delayed_message_exchange\",\n    instance_id=instance.id,\n    name=\"rabbitmq_delayed_message_exchange\",\n    enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n    var rabbitmqDelayedMessageExchange = new CloudAmqp.PluginCommunity(\"rabbitmq_delayed_message_exchange\", new()\n    {\n        InstanceId = instance.Id,\n        Name = \"rabbitmq_delayed_message_exchange\",\n        Enabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPluginCommunity(ctx, \"rabbitmq_delayed_message_exchange\", \u0026cloudamqp.PluginCommunityArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tName:       pulumi.String(\"rabbitmq_delayed_message_exchange\"),\n\t\t\tEnabled:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PluginCommunity;\nimport com.pulumi.cloudamqp.PluginCommunityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .build());\n\n        var rabbitmqDelayedMessageExchange = new PluginCommunity(\"rabbitmqDelayedMessageExchange\", PluginCommunityArgs.builder()\n            .instanceId(instance.id())\n            .name(\"rabbitmq_delayed_message_exchange\")\n            .enabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-cloudamqp-instance\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n  rabbitmqDelayedMessageExchange:\n    type: cloudamqp:PluginCommunity\n    name: rabbitmq_delayed_message_exchange\n    properties:\n      instanceId: ${instance.id}\n      name: rabbitmq_delayed_message_exchange\n      enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Enable faster instance destroy\n\nWhen running `terraform destroy` this resource will try to uninstall the managed community plugin\nbefore deleting \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e. This is not necessary since the servers will be deleted.\n\nSet \u003cspan pulumi-lang-nodejs=\"`enableFasterInstanceDestroy`\" pulumi-lang-dotnet=\"`EnableFasterInstanceDestroy`\" pulumi-lang-go=\"`enableFasterInstanceDestroy`\" pulumi-lang-python=\"`enable_faster_instance_destroy`\" pulumi-lang-yaml=\"`enableFasterInstanceDestroy`\" pulumi-lang-java=\"`enableFasterInstanceDestroy`\"\u003e`enable_faster_instance_destroy`\u003c/span\u003e to ***true***  in the provider configuration to skip this.\n\n[CloudAMQP API list community plugins]: https://docs.cloudamqp.com/instance-api.html#tag/plugins/get/plugins/community\n[v1.27.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0\n[v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0\n\n","properties":{"description":{"type":"string","description":"The description of the plugin.\n"},"enabled":{"type":"boolean","description":"Enable or disable the plugins.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"name":{"type":"string","description":"The name of the Rabbit MQ community plugin.\n"},"require":{"type":"string","description":"Required version of RabbitMQ.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about community plugins. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about community plugins. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"}},"required":["description","enabled","instanceId","name","require"],"inputProperties":{"enabled":{"type":"boolean","description":"Enable or disable the plugins.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Rabbit MQ community plugin.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about community plugins. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about community plugins. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"}},"requiredInputs":["enabled","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering PluginCommunity resources.\n","properties":{"description":{"type":"string","description":"The description of the plugin.\n"},"enabled":{"type":"boolean","description":"Enable or disable the plugins.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the Rabbit MQ community plugin.\n"},"require":{"type":"string","description":"Required version of RabbitMQ.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about community plugins. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about community plugins. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"}},"type":"object"}},"cloudamqp:index/privatelinkAws:PrivatelinkAws":{"description":"Enable PrivateLink for a CloudAMQP instance hosted in AWS. If no existing VPC available when enable\nPrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.\n\n\u003e **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet.\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003ci\u003eDefault PrivateLink firewall rule\u003c/i\u003e\n  \u003c/summary\u003e\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance without existing VPC\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [],\n});\nconst privatelink = new cloudamqp.PrivatelinkAws(\"privatelink\", {\n    instanceId: instance.id,\n    allowedPrincipals: [\"arn:aws:iam::aws-account-id:user/user-name\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[])\nprivatelink = cloudamqp.PrivatelinkAws(\"privatelink\",\n    instance_id=instance.id,\n    allowed_principals=[\"arn:aws:iam::aws-account-id:user/user-name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[] {},\n    });\n\n    var privatelink = new CloudAmqp.PrivatelinkAws(\"privatelink\", new()\n    {\n        InstanceId = instance.Id,\n        AllowedPrincipals = new[]\n        {\n            \"arn:aws:iam::aws-account-id:user/user-name\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"Instance 01\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPrivatelinkAws(ctx, \"privatelink\", \u0026cloudamqp.PrivatelinkAwsArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws-account-id:user/user-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PrivatelinkAws;\nimport com.pulumi.cloudamqp.PrivatelinkAwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags()\n            .build());\n\n        var privatelink = new PrivatelinkAws(\"privatelink\", PrivatelinkAwsArgs.builder()\n            .instanceId(instance.id())\n            .allowedPrincipals(\"arn:aws:iam::aws-account-id:user/user-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      tags: []\n  privatelink:\n    type: cloudamqp:PrivatelinkAws\n    properties:\n      instanceId: ${instance.id}\n      allowedPrincipals:\n        - arn:aws:iam::aws-account-id:user/user-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance in an existing VPC\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"amazon-web-services::us-west-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst privatelink = new cloudamqp.PrivatelinkAws(\"privatelink\", {\n    instanceId: instance.id,\n    allowedPrincipals: [\"arn:aws:iam::aws-account-id:user/user-name\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"amazon-web-services::us-west-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nprivatelink = cloudamqp.PrivatelinkAws(\"privatelink\",\n    instance_id=instance.id,\n    allowed_principals=[\"arn:aws:iam::aws-account-id:user/user-name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"amazon-web-services::us-west-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var privatelink = new CloudAmqp.PrivatelinkAws(\"privatelink\", new()\n    {\n        InstanceId = instance.Id,\n        AllowedPrincipals = new[]\n        {\n            \"arn:aws:iam::aws-account-id:user/user-name\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"bunny-1\"),\n\t\t\tRegion:            pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPrivatelinkAws(ctx, \"privatelink\", \u0026cloudamqp.PrivatelinkAwsArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws-account-id:user/user-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PrivatelinkAws;\nimport com.pulumi.cloudamqp.PrivatelinkAwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"amazon-web-services::us-west-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var privatelink = new PrivatelinkAws(\"privatelink\", PrivatelinkAwsArgs.builder()\n            .instanceId(instance.id())\n            .allowedPrincipals(\"arn:aws:iam::aws-account-id:user/user-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: amazon-web-services::us-west-1\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  privatelink:\n    type: cloudamqp:PrivatelinkAws\n    properties:\n      instanceId: ${instance.id}\n      allowedPrincipals:\n        - arn:aws:iam::aws-account-id:user/user-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\n### With Additional Firewall Rules\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance in an existing VPC with managed firewall rules\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"amazon-web-services::us-west-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst privatelink = new cloudamqp.PrivatelinkAws(\"privatelink\", {\n    instanceId: instance.id,\n    allowedPrincipals: [\"arn:aws:iam::aws-account-id:user/user-name\"],\n});\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            description: \"Custom PrivateLink setup\",\n            ip: vpc.subnet,\n            ports: [],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n                \"STREAM\",\n                \"STREAM_SSL\",\n            ],\n        },\n        {\n            description: \"MGMT interface\",\n            ip: \"0.0.0.0/0\",\n            ports: [],\n            services: [\"HTTPS\"],\n        },\n    ],\n}, {\n    dependsOn: [privatelink],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"amazon-web-services::us-west-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nprivatelink = cloudamqp.PrivatelinkAws(\"privatelink\",\n    instance_id=instance.id,\n    allowed_principals=[\"arn:aws:iam::aws-account-id:user/user-name\"])\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance.id,\n    rules=[\n        {\n            \"description\": \"Custom PrivateLink setup\",\n            \"ip\": vpc.subnet,\n            \"ports\": [],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n                \"STREAM\",\n                \"STREAM_SSL\",\n            ],\n        },\n        {\n            \"description\": \"MGMT interface\",\n            \"ip\": \"0.0.0.0/0\",\n            \"ports\": [],\n            \"services\": [\"HTTPS\"],\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[privatelink]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"amazon-web-services::us-west-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var privatelink = new CloudAmqp.PrivatelinkAws(\"privatelink\", new()\n    {\n        InstanceId = instance.Id,\n        AllowedPrincipals = new[]\n        {\n            \"arn:aws:iam::aws-account-id:user/user-name\",\n        },\n    });\n\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Description = \"Custom PrivateLink setup\",\n                Ip = vpc.Subnet,\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                    \"STREAM\",\n                    \"STREAM_SSL\",\n                },\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Description = \"MGMT interface\",\n                Ip = \"0.0.0.0/0\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"HTTPS\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            privatelink,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"bunny-1\"),\n\t\t\tRegion:            pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivatelink, err := cloudamqp.NewPrivatelinkAws(ctx, \"privatelink\", \u0026cloudamqp.PrivatelinkAwsArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws-account-id:user/user-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Custom PrivateLink setup\"),\n\t\t\t\t\tIp:          vpc.Subnet,\n\t\t\t\t\tPorts:       pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tpulumi.String(\"STREAM\"),\n\t\t\t\t\t\tpulumi.String(\"STREAM_SSL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"MGMT interface\"),\n\t\t\t\t\tIp:          pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPorts:       pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprivatelink,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PrivatelinkAws;\nimport com.pulumi.cloudamqp.PrivatelinkAwsArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"amazon-web-services::us-west-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var privatelink = new PrivatelinkAws(\"privatelink\", PrivatelinkAwsArgs.builder()\n            .instanceId(instance.id())\n            .allowedPrincipals(\"arn:aws:iam::aws-account-id:user/user-name\")\n            .build());\n\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .description(\"Custom PrivateLink setup\")\n                    .ip(vpc.subnet())\n                    .ports()\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\",\n                        \"STREAM\",\n                        \"STREAM_SSL\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .description(\"MGMT interface\")\n                    .ip(\"0.0.0.0/0\")\n                    .ports()\n                    .services(\"HTTPS\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(privatelink)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: amazon-web-services::us-west-1\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  privatelink:\n    type: cloudamqp:PrivatelinkAws\n    properties:\n      instanceId: ${instance.id}\n      allowedPrincipals:\n        - arn:aws:iam::aws-account-id:user/user-name\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - description: Custom PrivateLink setup\n          ip: ${vpc.subnet}\n          ports: []\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n            - STREAM\n            - STREAM_SSL\n        - description: MGMT interface\n          ip: 0.0.0.0/0\n          ports: []\n          services:\n            - HTTPS\n    options:\n      dependsOn:\n        - ${privatelink}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n[CloudAMQP API list intances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances\n[CloudAMQP plans]: https://www.cloudamqp.com/plans.html\n[CloudAMQP PrivateLink]: https://www.cloudamqp.com/docs/cloudamqp-privatelink.html#aws-privatelink\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e: ./security_firewall.md\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.VpcConnect]\" pulumi-lang-dotnet=\"[cloudamqp.VpcConnect]\" pulumi-lang-go=\"[VpcConnect]\" pulumi-lang-python=\"[VpcConnect]\" pulumi-lang-yaml=\"[cloudamqp.VpcConnect]\" pulumi-lang-java=\"[cloudamqp.VpcConnect]\"\u003e[cloudamqp.VpcConnect]\u003c/span\u003e: ./vpc_connect.md\n[v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Create PrivateLink with additional firewall rules\n\nTo create a PrivateLink configuration with additional firewall rules, it's required to chain the\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e resource to avoid parallel conflicting resource calls. You can do this\nby making the firewall resource depend on the PrivateLink resource,\n`cloudamqp_privatelink_aws.privatelink`.\n\nFurthermore, since all firewall rules are overwritten, the otherwise automatically added rules for\nthe PrivateLink also needs to be added.\n\n","properties":{"activeZones":{"type":"array","items":{"type":"string"},"description":"Covering availability zones used when creating an Endpoint from other VPC.\n"},"allowedPrincipals":{"type":"array","items":{"type":"string"},"description":"Allowed principals to access the endpoint service.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"serviceName":{"type":"string","description":"Service name of the PrivateLink used when creating the endpoint from other VPC.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable PrivateLink.\nDefault set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"status":{"type":"string","description":"PrivateLink status [enable, pending, disable]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable PrivateLink.\nDefault set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n\nAllowed principals format: \u003cbr\u003e\n`arn:aws:iam::aws-account-id:root` \u003cbr\u003e\n`arn:aws:iam::aws-account-id:user/user-name` \u003cbr\u003e\n`arn:aws:iam::aws-account-id:role/role-name`\n"}},"required":["activeZones","allowedPrincipals","instanceId","serviceName","status"],"inputProperties":{"allowedPrincipals":{"type":"array","items":{"type":"string"},"description":"Allowed principals to access the endpoint service.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n","willReplaceOnChanges":true},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable PrivateLink.\nDefault set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable PrivateLink.\nDefault set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n\nAllowed principals format: \u003cbr\u003e\n`arn:aws:iam::aws-account-id:root` \u003cbr\u003e\n`arn:aws:iam::aws-account-id:user/user-name` \u003cbr\u003e\n`arn:aws:iam::aws-account-id:role/role-name`\n"}},"requiredInputs":["allowedPrincipals","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivatelinkAws resources.\n","properties":{"activeZones":{"type":"array","items":{"type":"string"},"description":"Covering availability zones used when creating an Endpoint from other VPC.\n"},"allowedPrincipals":{"type":"array","items":{"type":"string"},"description":"Allowed principals to access the endpoint service.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name of the PrivateLink used when creating the endpoint from other VPC.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable PrivateLink.\nDefault set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"status":{"type":"string","description":"PrivateLink status [enable, pending, disable]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable PrivateLink.\nDefault set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n\nAllowed principals format: \u003cbr\u003e\n`arn:aws:iam::aws-account-id:root` \u003cbr\u003e\n`arn:aws:iam::aws-account-id:user/user-name` \u003cbr\u003e\n`arn:aws:iam::aws-account-id:role/role-name`\n"}},"type":"object"}},"cloudamqp:index/privatelinkAzure:PrivatelinkAzure":{"description":"Enable PrivateLink for a CloudAMQP instance hosted in Azure. If no existing VPC available when\nenable PrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.\n\n\u003e **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet.\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003ci\u003eDefault PrivateLink firewall rule\u003c/i\u003e\n  \u003c/summary\u003e\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance without existing VPC\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"bunny-1\",\n    region: \"azure-arm::westus\",\n    tags: [],\n});\nconst privatelink = new cloudamqp.PrivatelinkAzure(\"privatelink\", {\n    instanceId: instance.id,\n    approvedSubscriptions: [\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"bunny-1\",\n    region=\"azure-arm::westus\",\n    tags=[])\nprivatelink = cloudamqp.PrivatelinkAzure(\"privatelink\",\n    instance_id=instance.id,\n    approved_subscriptions=[\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"bunny-1\",\n        Region = \"azure-arm::westus\",\n        Tags = new[] {},\n    });\n\n    var privatelink = new CloudAmqp.PrivatelinkAzure(\"privatelink\", new()\n    {\n        InstanceId = instance.Id,\n        ApprovedSubscriptions = new[]\n        {\n            \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"Instance 01\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"azure-arm::westus\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPrivatelinkAzure(ctx, \"privatelink\", \u0026cloudamqp.PrivatelinkAzureArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tApprovedSubscriptions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PrivatelinkAzure;\nimport com.pulumi.cloudamqp.PrivatelinkAzureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"bunny-1\")\n            .region(\"azure-arm::westus\")\n            .tags()\n            .build());\n\n        var privatelink = new PrivatelinkAzure(\"privatelink\", PrivatelinkAzureArgs.builder()\n            .instanceId(instance.id())\n            .approvedSubscriptions(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: bunny-1\n      region: azure-arm::westus\n      tags: []\n  privatelink:\n    type: cloudamqp:PrivatelinkAzure\n    properties:\n      instanceId: ${instance.id}\n      approvedSubscriptions:\n        - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance in an existing VPC\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"azure-arm::westus\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"bunny-1\",\n    region: \"azure-arm::westus\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst privatelink = new cloudamqp.PrivatelinkAzure(\"privatelink\", {\n    instanceId: instance.id,\n    approvedSubscriptions: [\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"azure-arm::westus\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"bunny-1\",\n    region=\"azure-arm::westus\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nprivatelink = cloudamqp.PrivatelinkAzure(\"privatelink\",\n    instance_id=instance.id,\n    approved_subscriptions=[\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"azure-arm::westus\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"bunny-1\",\n        Region = \"azure-arm::westus\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var privatelink = new CloudAmqp.PrivatelinkAzure(\"privatelink\", new()\n    {\n        InstanceId = instance.Id,\n        ApprovedSubscriptions = new[]\n        {\n            \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"azure-arm::westus\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"bunny-1\"),\n\t\t\tRegion:            pulumi.String(\"azure-arm::westus\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewPrivatelinkAzure(ctx, \"privatelink\", \u0026cloudamqp.PrivatelinkAzureArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tApprovedSubscriptions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PrivatelinkAzure;\nimport com.pulumi.cloudamqp.PrivatelinkAzureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"azure-arm::westus\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"bunny-1\")\n            .region(\"azure-arm::westus\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var privatelink = new PrivatelinkAzure(\"privatelink\", PrivatelinkAzureArgs.builder()\n            .instanceId(instance.id())\n            .approvedSubscriptions(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: azure-arm::westus\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: bunny-1\n      region: azure-arm::westus\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  privatelink:\n    type: cloudamqp:PrivatelinkAzure\n    properties:\n      instanceId: ${instance.id}\n      approvedSubscriptions:\n        - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\n### With Additional Firewall Rules\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance in an existing VPC with managed firewall rules\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"azure-arm::westus\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"bunny-1\",\n    region: \"azure-arm::westus\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst privatelink = new cloudamqp.PrivatelinkAzure(\"privatelink\", {\n    instanceId: instance.id,\n    approvedSubscriptions: [\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\n});\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            description: \"Custom PrivateLink setup\",\n            ip: vpc.subnet,\n            ports: [],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n                \"STREAM\",\n                \"STREAM_SSL\",\n            ],\n        },\n        {\n            description: \"MGMT interface\",\n            ip: \"0.0.0.0/0\",\n            ports: [],\n            services: [\"HTTPS\"],\n        },\n    ],\n}, {\n    dependsOn: [privatelink],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"azure-arm::westus\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"bunny-1\",\n    region=\"azure-arm::westus\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nprivatelink = cloudamqp.PrivatelinkAzure(\"privatelink\",\n    instance_id=instance.id,\n    approved_subscriptions=[\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"])\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance.id,\n    rules=[\n        {\n            \"description\": \"Custom PrivateLink setup\",\n            \"ip\": vpc.subnet,\n            \"ports\": [],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n                \"STREAM\",\n                \"STREAM_SSL\",\n            ],\n        },\n        {\n            \"description\": \"MGMT interface\",\n            \"ip\": \"0.0.0.0/0\",\n            \"ports\": [],\n            \"services\": [\"HTTPS\"],\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[privatelink]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"azure-arm::westus\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"bunny-1\",\n        Region = \"azure-arm::westus\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var privatelink = new CloudAmqp.PrivatelinkAzure(\"privatelink\", new()\n    {\n        InstanceId = instance.Id,\n        ApprovedSubscriptions = new[]\n        {\n            \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n        },\n    });\n\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Description = \"Custom PrivateLink setup\",\n                Ip = vpc.Subnet,\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                    \"STREAM\",\n                    \"STREAM_SSL\",\n                },\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Description = \"MGMT interface\",\n                Ip = \"0.0.0.0/0\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"HTTPS\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            privatelink,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"azure-arm::westus\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"bunny-1\"),\n\t\t\tRegion:            pulumi.String(\"azure-arm::westus\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivatelink, err := cloudamqp.NewPrivatelinkAzure(ctx, \"privatelink\", \u0026cloudamqp.PrivatelinkAzureArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tApprovedSubscriptions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Custom PrivateLink setup\"),\n\t\t\t\t\tIp:          vpc.Subnet,\n\t\t\t\t\tPorts:       pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t\tpulumi.String(\"STREAM\"),\n\t\t\t\t\t\tpulumi.String(\"STREAM_SSL\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"MGMT interface\"),\n\t\t\t\t\tIp:          pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPorts:       pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprivatelink,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.PrivatelinkAzure;\nimport com.pulumi.cloudamqp.PrivatelinkAzureArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"azure-arm::westus\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"bunny-1\")\n            .region(\"azure-arm::westus\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var privatelink = new PrivatelinkAzure(\"privatelink\", PrivatelinkAzureArgs.builder()\n            .instanceId(instance.id())\n            .approvedSubscriptions(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n            .build());\n\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .description(\"Custom PrivateLink setup\")\n                    .ip(vpc.subnet())\n                    .ports()\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\",\n                        \"STREAM\",\n                        \"STREAM_SSL\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .description(\"MGMT interface\")\n                    .ip(\"0.0.0.0/0\")\n                    .ports()\n                    .services(\"HTTPS\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(privatelink)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: azure-arm::westus\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: bunny-1\n      region: azure-arm::westus\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  privatelink:\n    type: cloudamqp:PrivatelinkAzure\n    properties:\n      instanceId: ${instance.id}\n      approvedSubscriptions:\n        - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - description: Custom PrivateLink setup\n          ip: ${vpc.subnet}\n          ports: []\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n            - STREAM\n            - STREAM_SSL\n        - description: MGMT interface\n          ip: 0.0.0.0/0\n          ports: []\n          services:\n            - HTTPS\n    options:\n      dependsOn:\n        - ${privatelink}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n[CloudAMQP API list intances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances\n[CloudAMQP plans]: https://www.cloudamqp.com/plans.html\n[CloudAMQP PrivateLink]: https://www.cloudamqp.com/docs/cloudamqp-privatelink.html#azure-privatelink\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e: ./security_firewall.md\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.VpcConnect]\" pulumi-lang-dotnet=\"[cloudamqp.VpcConnect]\" pulumi-lang-go=\"[VpcConnect]\" pulumi-lang-python=\"[VpcConnect]\" pulumi-lang-yaml=\"[cloudamqp.VpcConnect]\" pulumi-lang-java=\"[cloudamqp.VpcConnect]\"\u003e[cloudamqp.VpcConnect]\u003c/span\u003e: ./vpc_connect.md\n[v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Create PrivateLink with additional firewall rules\n\nTo create a PrivateLink configuration with additional firewall rules, it's required to chain the\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e resource to avoid parallel conflicting resource calls. You can do this\nby making the firewall resource depend on the PrivateLink resource\n`cloudamqp_privatelink_azure.privatelink`.\n\nFurthermore, since all firewall rules are overwritten, the otherwise automatically added rules for\nthe PrivateLink also needs to be added.\n\n","properties":{"approvedSubscriptions":{"type":"array","items":{"type":"string"},"description":"Approved subscriptions to access the endpoint service.\nSee format below.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"serverName":{"type":"string","description":"Name of the server having the PrivateLink enabled.\n"},"serviceName":{"type":"string","description":"Service name (alias) of the PrivateLink, needed when creating the endpoint.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable PrivateLink.\nDefault set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"status":{"type":"string","description":"PrivateLink status [enable, pending, disable]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable PrivateLink.\nDefault set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n\nApproved subscriptions format (GUID): \u003cbr\u003e\n`XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`\n"}},"required":["approvedSubscriptions","instanceId","serverName","serviceName","status"],"inputProperties":{"approvedSubscriptions":{"type":"array","items":{"type":"string"},"description":"Approved subscriptions to access the endpoint service.\nSee format below.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n","willReplaceOnChanges":true},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable PrivateLink.\nDefault set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable PrivateLink.\nDefault set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n\nApproved subscriptions format (GUID): \u003cbr\u003e\n`XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`\n"}},"requiredInputs":["approvedSubscriptions","instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivatelinkAzure resources.\n","properties":{"approvedSubscriptions":{"type":"array","items":{"type":"string"},"description":"Approved subscriptions to access the endpoint service.\nSee format below.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n","willReplaceOnChanges":true},"serverName":{"type":"string","description":"Name of the server having the PrivateLink enabled.\n"},"serviceName":{"type":"string","description":"Service name (alias) of the PrivateLink, needed when creating the endpoint.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable PrivateLink.\nDefault set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"status":{"type":"string","description":"PrivateLink status [enable, pending, disable]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable PrivateLink.\nDefault set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n\nApproved subscriptions format (GUID): \u003cbr\u003e\n`XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`\n"}},"type":"object"}},"cloudamqp:index/rabbitConfiguration:RabbitConfiguration":{"description":"This resource allows you update RabbitMQ config.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eRabbitMQ configuration and using 0 values\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nFrom [v1.35.0] and migrating this resource to Terraform plugin Framework.\nIt's now possible to use 0 values in the configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqConfig = new cloudamqp.RabbitConfiguration(\"rabbitmq_config\", {\n    instanceId: instance.id,\n    heartbeat: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_config = cloudamqp.RabbitConfiguration(\"rabbitmq_config\",\n    instance_id=instance[\"id\"],\n    heartbeat=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqConfig = new CloudAmqp.RabbitConfiguration(\"rabbitmq_config\", new()\n    {\n        InstanceId = instance.Id,\n        Heartbeat = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewRabbitConfiguration(ctx, \"rabbitmq_config\", \u0026cloudamqp.RabbitConfigurationArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tHeartbeat:  pulumi.Int(0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.RabbitConfiguration;\nimport com.pulumi.cloudamqp.RabbitConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqConfig = new RabbitConfiguration(\"rabbitmqConfig\", RabbitConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .heartbeat(0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqConfig:\n    type: cloudamqp:RabbitConfiguration\n    name: rabbitmq_config\n    properties:\n      instanceId: ${instance.id}\n      heartbeat: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eRabbitMQ configuration with default values\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqConfig = new cloudamqp.RabbitConfiguration(\"rabbitmq_config\", {\n    instanceId: instance.id,\n    channelMax: 0,\n    connectionMax: -1,\n    consumerTimeout: 7200000,\n    heartbeat: 120,\n    logExchangeLevel: \"error\",\n    maxMessageSize: 134217728,\n    queueIndexEmbedMsgsBelow: 4096,\n    vmMemoryHighWatermark: 0.81,\n    clusterPartitionHandling: \"autoheal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_config = cloudamqp.RabbitConfiguration(\"rabbitmq_config\",\n    instance_id=instance[\"id\"],\n    channel_max=0,\n    connection_max=-1,\n    consumer_timeout=7200000,\n    heartbeat=120,\n    log_exchange_level=\"error\",\n    max_message_size=134217728,\n    queue_index_embed_msgs_below=4096,\n    vm_memory_high_watermark=0.81,\n    cluster_partition_handling=\"autoheal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqConfig = new CloudAmqp.RabbitConfiguration(\"rabbitmq_config\", new()\n    {\n        InstanceId = instance.Id,\n        ChannelMax = 0,\n        ConnectionMax = -1,\n        ConsumerTimeout = 7200000,\n        Heartbeat = 120,\n        LogExchangeLevel = \"error\",\n        MaxMessageSize = 134217728,\n        QueueIndexEmbedMsgsBelow = 4096,\n        VmMemoryHighWatermark = 0.81,\n        ClusterPartitionHandling = \"autoheal\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewRabbitConfiguration(ctx, \"rabbitmq_config\", \u0026cloudamqp.RabbitConfigurationArgs{\n\t\t\tInstanceId:               pulumi.Any(instance.Id),\n\t\t\tChannelMax:               pulumi.Int(0),\n\t\t\tConnectionMax:            pulumi.Int(-1),\n\t\t\tConsumerTimeout:          pulumi.Int(7200000),\n\t\t\tHeartbeat:                pulumi.Int(120),\n\t\t\tLogExchangeLevel:         pulumi.String(\"error\"),\n\t\t\tMaxMessageSize:           pulumi.Int(134217728),\n\t\t\tQueueIndexEmbedMsgsBelow: pulumi.Int(4096),\n\t\t\tVmMemoryHighWatermark:    pulumi.Float64(0.81),\n\t\t\tClusterPartitionHandling: pulumi.String(\"autoheal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.RabbitConfiguration;\nimport com.pulumi.cloudamqp.RabbitConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqConfig = new RabbitConfiguration(\"rabbitmqConfig\", RabbitConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .channelMax(0)\n            .connectionMax(-1)\n            .consumerTimeout(7200000)\n            .heartbeat(120)\n            .logExchangeLevel(\"error\")\n            .maxMessageSize(134217728)\n            .queueIndexEmbedMsgsBelow(4096)\n            .vmMemoryHighWatermark(0.81)\n            .clusterPartitionHandling(\"autoheal\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqConfig:\n    type: cloudamqp:RabbitConfiguration\n    name: rabbitmq_config\n    properties:\n      instanceId: ${instance.id}\n      channelMax: 0\n      connectionMax: -1\n      consumerTimeout: 7.2e+06\n      heartbeat: 120\n      logExchangeLevel: error\n      maxMessageSize: 1.34217728e+08\n      queueIndexEmbedMsgsBelow: 4096\n      vmMemoryHighWatermark: 0.81\n      clusterPartitionHandling: autoheal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eChange log level and combine \u003cspan pulumi-lang-nodejs=\"`cloudamqp.NodeActions`\" pulumi-lang-dotnet=\"`cloudamqp.NodeActions`\" pulumi-lang-go=\"`NodeActions`\" pulumi-lang-python=\"`NodeActions`\" pulumi-lang-yaml=\"`cloudamqp.NodeActions`\" pulumi-lang-java=\"`cloudamqp.NodeActions`\"\u003e`cloudamqp.NodeActions`\u003c/span\u003e for RabbitMQ restart\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqConfig = new cloudamqp.RabbitConfiguration(\"rabbitmq_config\", {\n    instanceId: instance.id,\n    channelMax: 0,\n    connectionMax: -1,\n    consumerTimeout: 7200000,\n    heartbeat: 120,\n    logExchangeLevel: \"info\",\n    maxMessageSize: 134217728,\n    queueIndexEmbedMsgsBelow: 4096,\n    vmMemoryHighWatermark: 0.81,\n    clusterPartitionHandling: \"autoheal\",\n});\nconst listNodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\nconst nodeAction = new cloudamqp.NodeActions(\"node_action\", {\n    instanceId: instance.id,\n    action: \"cluster.restart\",\n}, {\n    dependsOn: [rabbitmqConfig],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_config = cloudamqp.RabbitConfiguration(\"rabbitmq_config\",\n    instance_id=instance[\"id\"],\n    channel_max=0,\n    connection_max=-1,\n    consumer_timeout=7200000,\n    heartbeat=120,\n    log_exchange_level=\"info\",\n    max_message_size=134217728,\n    queue_index_embed_msgs_below=4096,\n    vm_memory_high_watermark=0.81,\n    cluster_partition_handling=\"autoheal\")\nlist_nodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\nnode_action = cloudamqp.NodeActions(\"node_action\",\n    instance_id=instance[\"id\"],\n    action=\"cluster.restart\",\n    opts = pulumi.ResourceOptions(depends_on=[rabbitmq_config]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqConfig = new CloudAmqp.RabbitConfiguration(\"rabbitmq_config\", new()\n    {\n        InstanceId = instance.Id,\n        ChannelMax = 0,\n        ConnectionMax = -1,\n        ConsumerTimeout = 7200000,\n        Heartbeat = 120,\n        LogExchangeLevel = \"info\",\n        MaxMessageSize = 134217728,\n        QueueIndexEmbedMsgsBelow = 4096,\n        VmMemoryHighWatermark = 0.81,\n        ClusterPartitionHandling = \"autoheal\",\n    });\n\n    var listNodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var nodeAction = new CloudAmqp.NodeActions(\"node_action\", new()\n    {\n        InstanceId = instance.Id,\n        Action = \"cluster.restart\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            rabbitmqConfig,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trabbitmqConfig, err := cloudamqp.NewRabbitConfiguration(ctx, \"rabbitmq_config\", \u0026cloudamqp.RabbitConfigurationArgs{\n\t\t\tInstanceId:               pulumi.Any(instance.Id),\n\t\t\tChannelMax:               pulumi.Int(0),\n\t\t\tConnectionMax:            pulumi.Int(-1),\n\t\t\tConsumerTimeout:          pulumi.Int(7200000),\n\t\t\tHeartbeat:                pulumi.Int(120),\n\t\t\tLogExchangeLevel:         pulumi.String(\"info\"),\n\t\t\tMaxMessageSize:           pulumi.Int(134217728),\n\t\t\tQueueIndexEmbedMsgsBelow: pulumi.Int(4096),\n\t\t\tVmMemoryHighWatermark:    pulumi.Float64(0.81),\n\t\t\tClusterPartitionHandling: pulumi.String(\"autoheal\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"node_action\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tAction:     pulumi.String(\"cluster.restart\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\trabbitmqConfig,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.RabbitConfiguration;\nimport com.pulumi.cloudamqp.RabbitConfigurationArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqConfig = new RabbitConfiguration(\"rabbitmqConfig\", RabbitConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .channelMax(0)\n            .connectionMax(-1)\n            .consumerTimeout(7200000)\n            .heartbeat(120)\n            .logExchangeLevel(\"info\")\n            .maxMessageSize(134217728)\n            .queueIndexEmbedMsgsBelow(4096)\n            .vmMemoryHighWatermark(0.81)\n            .clusterPartitionHandling(\"autoheal\")\n            .build());\n\n        final var listNodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        var nodeAction = new NodeActions(\"nodeAction\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .action(\"cluster.restart\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(rabbitmqConfig)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqConfig:\n    type: cloudamqp:RabbitConfiguration\n    name: rabbitmq_config\n    properties:\n      instanceId: ${instance.id}\n      channelMax: 0\n      connectionMax: -1\n      consumerTimeout: 7.2e+06\n      heartbeat: 120\n      logExchangeLevel: info\n      maxMessageSize: 1.34217728e+08\n      queueIndexEmbedMsgsBelow: 4096\n      vmMemoryHighWatermark: 0.81\n      clusterPartitionHandling: autoheal\n  nodeAction:\n    type: cloudamqp:NodeActions\n    name: node_action\n    properties:\n      instanceId: ${instance.id}\n      action: cluster.restart\n    options:\n      dependsOn:\n        - ${rabbitmqConfig}\nvariables:\n  listNodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003e\n        Only change log level for exchange. All other values will be read from the RabbitMQ\n        configuration.\n      \u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitConfig = new cloudamqp.RabbitConfiguration(\"rabbit_config\", {\n    instanceId: instance.id,\n    logExchangeLevel: \"info\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbit_config = cloudamqp.RabbitConfiguration(\"rabbit_config\",\n    instance_id=instance[\"id\"],\n    log_exchange_level=\"info\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitConfig = new CloudAmqp.RabbitConfiguration(\"rabbit_config\", new()\n    {\n        InstanceId = instance.Id,\n        LogExchangeLevel = \"info\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewRabbitConfiguration(ctx, \"rabbit_config\", \u0026cloudamqp.RabbitConfigurationArgs{\n\t\t\tInstanceId:       pulumi.Any(instance.Id),\n\t\t\tLogExchangeLevel: pulumi.String(\"info\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.RabbitConfiguration;\nimport com.pulumi.cloudamqp.RabbitConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitConfig = new RabbitConfiguration(\"rabbitConfig\", RabbitConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .logExchangeLevel(\"info\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitConfig:\n    type: cloudamqp:RabbitConfiguration\n    name: rabbit_config\n    properties:\n      instanceId: ${instance.id}\n      logExchangeLevel: info\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003e\n        MQTT and SSL configuration and combine \u003cspan pulumi-lang-nodejs=\"`cloudamqp.NodeActions`\" pulumi-lang-dotnet=\"`cloudamqp.NodeActions`\" pulumi-lang-go=\"`NodeActions`\" pulumi-lang-python=\"`NodeActions`\" pulumi-lang-yaml=\"`cloudamqp.NodeActions`\" pulumi-lang-java=\"`cloudamqp.NodeActions`\"\u003e`cloudamqp.NodeActions`\u003c/span\u003e for RabbitMQ restart\n      \u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nSSL certificate-based authentication for MQTT connections requires peer certificate verification.\nSet the following when enabling \u003cspan pulumi-lang-nodejs=\"`mqttSslCertLogin`\" pulumi-lang-dotnet=\"`MqttSslCertLogin`\" pulumi-lang-go=\"`mqttSslCertLogin`\" pulumi-lang-python=\"`mqtt_ssl_cert_login`\" pulumi-lang-yaml=\"`mqttSslCertLogin`\" pulumi-lang-java=\"`mqttSslCertLogin`\"\u003e`mqtt_ssl_cert_login`\u003c/span\u003e:\n\n- \u003cspan pulumi-lang-nodejs=\"`sslOptionsFailIfNoPeerCert`\" pulumi-lang-dotnet=\"`SslOptionsFailIfNoPeerCert`\" pulumi-lang-go=\"`sslOptionsFailIfNoPeerCert`\" pulumi-lang-python=\"`ssl_options_fail_if_no_peer_cert`\" pulumi-lang-yaml=\"`sslOptionsFailIfNoPeerCert`\" pulumi-lang-java=\"`sslOptionsFailIfNoPeerCert`\"\u003e`ssl_options_fail_if_no_peer_cert`\u003c/span\u003e = ***true***\n- \u003cspan pulumi-lang-nodejs=\"`sslOptionsVerify`\" pulumi-lang-dotnet=\"`SslOptionsVerify`\" pulumi-lang-go=\"`sslOptionsVerify`\" pulumi-lang-python=\"`ssl_options_verify`\" pulumi-lang-yaml=\"`sslOptionsVerify`\" pulumi-lang-java=\"`sslOptionsVerify`\"\u003e`ssl_options_verify`\u003c/span\u003e = ***verify_peer***\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst rabbitmqConfig = new cloudamqp.RabbitConfiguration(\"rabbitmq_config\", {\n    instanceId: instance.id,\n    mqttVhost: instance.vhost,\n    mqttExchange: \"amq.topic\",\n    mqttSslCertLogin: true,\n    sslOptionsFailIfNoPeerCert: true,\n    sslOptionsVerify: \"verify_peer\",\n});\nconst nodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\nconst nodeAction = new cloudamqp.NodeActions(\"node_action\", {\n    instanceId: instance.id,\n    nodeName: nodes.then(nodes =\u003e nodes.nodes?.[0]?.name),\n    action: \"restart\",\n}, {\n    dependsOn: [rabbitmqConfig],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nrabbitmq_config = cloudamqp.RabbitConfiguration(\"rabbitmq_config\",\n    instance_id=instance[\"id\"],\n    mqtt_vhost=instance[\"vhost\"],\n    mqtt_exchange=\"amq.topic\",\n    mqtt_ssl_cert_login=True,\n    ssl_options_fail_if_no_peer_cert=True,\n    ssl_options_verify=\"verify_peer\")\nnodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\nnode_action = cloudamqp.NodeActions(\"node_action\",\n    instance_id=instance[\"id\"],\n    node_name=nodes.nodes[0].name,\n    action=\"restart\",\n    opts = pulumi.ResourceOptions(depends_on=[rabbitmq_config]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var rabbitmqConfig = new CloudAmqp.RabbitConfiguration(\"rabbitmq_config\", new()\n    {\n        InstanceId = instance.Id,\n        MqttVhost = instance.Vhost,\n        MqttExchange = \"amq.topic\",\n        MqttSslCertLogin = true,\n        SslOptionsFailIfNoPeerCert = true,\n        SslOptionsVerify = \"verify_peer\",\n    });\n\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var nodeAction = new CloudAmqp.NodeActions(\"node_action\", new()\n    {\n        InstanceId = instance.Id,\n        NodeName = nodes.Apply(getNodesResult =\u003e getNodesResult.Nodes[0]?.Name),\n        Action = \"restart\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            rabbitmqConfig,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\trabbitmqConfig, err := cloudamqp.NewRabbitConfiguration(ctx, \"rabbitmq_config\", \u0026cloudamqp.RabbitConfigurationArgs{\n\t\t\tInstanceId:                 pulumi.Any(instance.Id),\n\t\t\tMqttVhost:                  pulumi.Any(instance.Vhost),\n\t\t\tMqttExchange:               pulumi.String(\"amq.topic\"),\n\t\t\tMqttSslCertLogin:           pulumi.Bool(true),\n\t\t\tSslOptionsFailIfNoPeerCert: pulumi.Bool(true),\n\t\t\tSslOptionsVerify:           pulumi.String(\"verify_peer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnodes, err := cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewNodeActions(ctx, \"node_action\", \u0026cloudamqp.NodeActionsArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tNodeName:   pulumi.String(nodes.Nodes[0].Name),\n\t\t\tAction:     pulumi.String(\"restart\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\trabbitmqConfig,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.RabbitConfiguration;\nimport com.pulumi.cloudamqp.RabbitConfigurationArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport com.pulumi.cloudamqp.NodeActions;\nimport com.pulumi.cloudamqp.NodeActionsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var rabbitmqConfig = new RabbitConfiguration(\"rabbitmqConfig\", RabbitConfigurationArgs.builder()\n            .instanceId(instance.id())\n            .mqttVhost(instance.vhost())\n            .mqttExchange(\"amq.topic\")\n            .mqttSslCertLogin(true)\n            .sslOptionsFailIfNoPeerCert(true)\n            .sslOptionsVerify(\"verify_peer\")\n            .build());\n\n        final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        var nodeAction = new NodeActions(\"nodeAction\", NodeActionsArgs.builder()\n            .instanceId(instance.id())\n            .nodeName(nodes.nodes()[0].name())\n            .action(\"restart\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(rabbitmqConfig)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  rabbitmqConfig:\n    type: cloudamqp:RabbitConfiguration\n    name: rabbitmq_config\n    properties:\n      instanceId: ${instance.id}\n      mqttVhost: ${instance.vhost}\n      mqttExchange: amq.topic\n      mqttSslCertLogin: true\n      sslOptionsFailIfNoPeerCert: true\n      sslOptionsVerify: verify_peer\n  nodeAction:\n    type: cloudamqp:NodeActions\n    name: node_action\n    properties:\n      instanceId: ${instance.id}\n      nodeName: ${nodes.nodes[0].name}\n      action: restart\n    options:\n      dependsOn:\n        - ${rabbitmqConfig}\nvariables:\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Argument threshold values\n\n### heartbeat\n\n| Type | Default | Min  | Affect |\n|---|---|---|---|\n| int | 120 | 0 | Only effects new connection |\n\n###\u003cspan pulumi-lang-nodejs=\" connectionMax\n\" pulumi-lang-dotnet=\" ConnectionMax\n\" pulumi-lang-go=\" connectionMax\n\" pulumi-lang-python=\" connection_max\n\" pulumi-lang-yaml=\" connectionMax\n\" pulumi-lang-java=\" connectionMax\n\"\u003e connection_max\n\u003c/span\u003e\n| Type | Default | Min  | Affect |\n|---|---|---|---|\n| int | -1 | 1 | Applied immediately (RabbitMQ restart required before 3.11.13) |\n\nNote: -1 in the provider corresponds to INFINITY in the RabbitMQ config\n\n###\u003cspan pulumi-lang-nodejs=\" channelMax\n\" pulumi-lang-dotnet=\" ChannelMax\n\" pulumi-lang-go=\" channelMax\n\" pulumi-lang-python=\" channel_max\n\" pulumi-lang-yaml=\" channelMax\n\" pulumi-lang-java=\" channelMax\n\"\u003e channel_max\n\u003c/span\u003e\n| Type | Default | Min | Affect |\n|---|---|---|---|\n| int | 128 | 0 | Only effects new connections |\n\nNote: 0 means \"no limit\"\n\n###\u003cspan pulumi-lang-nodejs=\" consumerTimeout\n\" pulumi-lang-dotnet=\" ConsumerTimeout\n\" pulumi-lang-go=\" consumerTimeout\n\" pulumi-lang-python=\" consumer_timeout\n\" pulumi-lang-yaml=\" consumerTimeout\n\" pulumi-lang-java=\" consumerTimeout\n\"\u003e consumer_timeout\n\u003c/span\u003e\n| Type | Default | Min | Max | Unit | Affect |\n|---|---|---|---|---|---|\n| int | 7200000 | 10000 | 86400000 | milliseconds | Only effects new channels |\n\nNote: -1 in the provider corresponds to false (disable) in the RabbitMQ config\n\n###\u003cspan pulumi-lang-nodejs=\" vmMemoryHighWatermark\n\" pulumi-lang-dotnet=\" VmMemoryHighWatermark\n\" pulumi-lang-go=\" vmMemoryHighWatermark\n\" pulumi-lang-python=\" vm_memory_high_watermark\n\" pulumi-lang-yaml=\" vmMemoryHighWatermark\n\" pulumi-lang-java=\" vmMemoryHighWatermark\n\"\u003e vm_memory_high_watermark\n\u003c/span\u003e\n| Type | Default | Min | Max | Affect |\n|---|---|---|---|---|\n | float | 0.81 | 0.4 | 0.9 | Applied immediately |\n\n###\u003cspan pulumi-lang-nodejs=\" queueIndexEmbedMsgsBelow\n\" pulumi-lang-dotnet=\" QueueIndexEmbedMsgsBelow\n\" pulumi-lang-go=\" queueIndexEmbedMsgsBelow\n\" pulumi-lang-python=\" queue_index_embed_msgs_below\n\" pulumi-lang-yaml=\" queueIndexEmbedMsgsBelow\n\" pulumi-lang-java=\" queueIndexEmbedMsgsBelow\n\"\u003e queue_index_embed_msgs_below\n\u003c/span\u003e\n| Type | Default | Min | Max | Unit | Affect |\n|---|---|---|---|---|---|\n| int | 4096 | 0 | 10485760 | bytes | Applied immediately for new queues |\n\nNote: Existing queues requires restart\n\n###\u003cspan pulumi-lang-nodejs=\" maxMessageSize\n\" pulumi-lang-dotnet=\" MaxMessageSize\n\" pulumi-lang-go=\" maxMessageSize\n\" pulumi-lang-python=\" max_message_size\n\" pulumi-lang-yaml=\" maxMessageSize\n\" pulumi-lang-java=\" maxMessageSize\n\"\u003e max_message_size\n\u003c/span\u003e\n| Type | Default | Min | Max | Unit | Affect |\n|---|---|---|---|---|---|\n| int | 134217728 | 1 | 536870912 | bytes | Only effects new channels |\n\n###\u003cspan pulumi-lang-nodejs=\" logExchangeLevel\n\" pulumi-lang-dotnet=\" LogExchangeLevel\n\" pulumi-lang-go=\" logExchangeLevel\n\" pulumi-lang-python=\" log_exchange_level\n\" pulumi-lang-yaml=\" logExchangeLevel\n\" pulumi-lang-java=\" logExchangeLevel\n\"\u003e log_exchange_level\n\u003c/span\u003e\n| Type | Default | Affect | Allowed values |\n|---|---|---| --- |\n| string | error | RabbitMQ restart required | `debug, info, warning, error, critical, none` |\n\n###\u003cspan pulumi-lang-nodejs=\" clusterPartitionHandling\n\" pulumi-lang-dotnet=\" ClusterPartitionHandling\n\" pulumi-lang-go=\" clusterPartitionHandling\n\" pulumi-lang-python=\" cluster_partition_handling\n\" pulumi-lang-yaml=\" clusterPartitionHandling\n\" pulumi-lang-java=\" clusterPartitionHandling\n\"\u003e cluster_partition_handling\n\u003c/span\u003e\n| Type  | Affect | Allowed values |\n|---|---|---|\n| string | Applied immediately | `autoheal, pause_minority, ignore` |\n\nRecommended setting for cluster_partition_handling: \u003cspan pulumi-lang-nodejs=\"`autoheal`\" pulumi-lang-dotnet=\"`Autoheal`\" pulumi-lang-go=\"`autoheal`\" pulumi-lang-python=\"`autoheal`\" pulumi-lang-yaml=\"`autoheal`\" pulumi-lang-java=\"`autoheal`\"\u003e`autoheal`\u003c/span\u003e for cluster with 1-2\nnodes, \u003cspan pulumi-lang-nodejs=\"`pauseMinority`\" pulumi-lang-dotnet=\"`PauseMinority`\" pulumi-lang-go=\"`pauseMinority`\" pulumi-lang-python=\"`pause_minority`\" pulumi-lang-yaml=\"`pauseMinority`\" pulumi-lang-java=\"`pauseMinority`\"\u003e`pause_minority`\u003c/span\u003e for cluster with 3 or more nodes. While \u003cspan pulumi-lang-nodejs=\"`ignore`\" pulumi-lang-dotnet=\"`Ignore`\" pulumi-lang-go=\"`ignore`\" pulumi-lang-python=\"`ignore`\" pulumi-lang-yaml=\"`ignore`\" pulumi-lang-java=\"`ignore`\"\u003e`ignore`\u003c/span\u003e setting is not recommended.\n\n###\u003cspan pulumi-lang-nodejs=\" messageInterceptorsTimestampOverwrite\n\" pulumi-lang-dotnet=\" MessageInterceptorsTimestampOverwrite\n\" pulumi-lang-go=\" messageInterceptorsTimestampOverwrite\n\" pulumi-lang-python=\" message_interceptors_timestamp_overwrite\n\" pulumi-lang-yaml=\" messageInterceptorsTimestampOverwrite\n\" pulumi-lang-java=\" messageInterceptorsTimestampOverwrite\n\"\u003e message_interceptors_timestamp_overwrite\n\u003c/span\u003e\n| Type  | Affect | Allowed values |\n|---|---|---|\n| string | RabbitMQ restart required | `enabled_with_overwrite, enabled, disabled` |\n\nNote: Corresponds to setting `message_interceptors.incoming.set_header_timestamp.overwrite`\n\n###\u003cspan pulumi-lang-nodejs=\" mqttVhost\n\" pulumi-lang-dotnet=\" MqttVhost\n\" pulumi-lang-go=\" mqttVhost\n\" pulumi-lang-python=\" mqtt_vhost\n\" pulumi-lang-yaml=\" mqttVhost\n\" pulumi-lang-java=\" mqttVhost\n\"\u003e mqtt_vhost\n\u003c/span\u003e\n| Type  | Affect |\n| --- | --- |\n| string | Only affects new connections |\n\nNote: A vhost is automatically created when \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e is created. This attribute defaults to that vhost (I.e. `cloudamqp_instance.instance.vhost`).\n\n###\u003cspan pulumi-lang-nodejs=\" mqttExchange\n\" pulumi-lang-dotnet=\" MqttExchange\n\" pulumi-lang-go=\" mqttExchange\n\" pulumi-lang-python=\" mqtt_exchange\n\" pulumi-lang-yaml=\" mqttExchange\n\" pulumi-lang-java=\" mqttExchange\n\"\u003e mqtt_exchange\n\u003c/span\u003e\n| Type  | Affect |\n| --- | --- |\n| string | Only affects new connections |\n\n###\u003cspan pulumi-lang-nodejs=\" mqttSslCertLogin\n\" pulumi-lang-dotnet=\" MqttSslCertLogin\n\" pulumi-lang-go=\" mqttSslCertLogin\n\" pulumi-lang-python=\" mqtt_ssl_cert_login\n\" pulumi-lang-yaml=\" mqttSslCertLogin\n\" pulumi-lang-java=\" mqttSslCertLogin\n\"\u003e mqtt_ssl_cert_login\n\u003c/span\u003e\n| Type  | Affect |\n| --- | --- |\n| bool | RabbitMQ restart required |\n\nNote: When enabled, `rabbit.ssl_options.fail_if_no_peer_cert` should be set to ***true*** and\n`rabbit.ssl_options.verify` should be set to ***verify_peer*** for it to work properly.\n\n###\u003cspan pulumi-lang-nodejs=\" sslCertLoginFrom\n\" pulumi-lang-dotnet=\" SslCertLoginFrom\n\" pulumi-lang-go=\" sslCertLoginFrom\n\" pulumi-lang-python=\" ssl_cert_login_from\n\" pulumi-lang-yaml=\" sslCertLoginFrom\n\" pulumi-lang-java=\" sslCertLoginFrom\n\"\u003e ssl_cert_login_from\n\u003c/span\u003e\n| Type  | Affect | Allowed values |\n| --- | --- | --- |\n| string | Only affects new connections | \u003cspan pulumi-lang-nodejs=\"`commonName`\" pulumi-lang-dotnet=\"`CommonName`\" pulumi-lang-go=\"`commonName`\" pulumi-lang-python=\"`common_name`\" pulumi-lang-yaml=\"`commonName`\" pulumi-lang-java=\"`commonName`\"\u003e`common_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distinguishedName`\" pulumi-lang-dotnet=\"`DistinguishedName`\" pulumi-lang-go=\"`distinguishedName`\" pulumi-lang-python=\"`distinguished_name`\" pulumi-lang-yaml=\"`distinguishedName`\" pulumi-lang-java=\"`distinguishedName`\"\u003e`distinguished_name`\u003c/span\u003e |\n\n###\u003cspan pulumi-lang-nodejs=\" sslOptionsFailIfNoPeerCert\n\" pulumi-lang-dotnet=\" SslOptionsFailIfNoPeerCert\n\" pulumi-lang-go=\" sslOptionsFailIfNoPeerCert\n\" pulumi-lang-python=\" ssl_options_fail_if_no_peer_cert\n\" pulumi-lang-yaml=\" sslOptionsFailIfNoPeerCert\n\" pulumi-lang-java=\" sslOptionsFailIfNoPeerCert\n\"\u003e ssl_options_fail_if_no_peer_cert\n\u003c/span\u003e\n| Type  | Affect |\n| --- | --- |\n| string | RabbitMQ restart required |\n\nNote: When enabled, `rabbit.ssl_options.verify` must be set to ***verify_peer***.\n\n###\u003cspan pulumi-lang-nodejs=\" sslOptionsVerify\n\" pulumi-lang-dotnet=\" SslOptionsVerify\n\" pulumi-lang-go=\" sslOptionsVerify\n\" pulumi-lang-python=\" ssl_options_verify\n\" pulumi-lang-yaml=\" sslOptionsVerify\n\" pulumi-lang-java=\" sslOptionsVerify\n\"\u003e ssl_options_verify\n\u003c/span\u003e\n| Type  | Affect | Allowed values |\n| --- | --- | --- |\n| string | RabbitMQ restart required | \u003cspan pulumi-lang-nodejs=\"`verifyNone`\" pulumi-lang-dotnet=\"`VerifyNone`\" pulumi-lang-go=\"`verifyNone`\" pulumi-lang-python=\"`verify_none`\" pulumi-lang-yaml=\"`verifyNone`\" pulumi-lang-java=\"`verifyNone`\"\u003e`verify_none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`verifyPeer`\" pulumi-lang-dotnet=\"`VerifyPeer`\" pulumi-lang-go=\"`verifyPeer`\" pulumi-lang-python=\"`verify_peer`\" pulumi-lang-yaml=\"`verifyPeer`\" pulumi-lang-java=\"`verifyPeer`\"\u003e`verify_peer`\u003c/span\u003e |\n\nNote: \u003cspan pulumi-lang-nodejs=\"`verifyPeer`\" pulumi-lang-dotnet=\"`VerifyPeer`\" pulumi-lang-go=\"`verifyPeer`\" pulumi-lang-python=\"`verify_peer`\" pulumi-lang-yaml=\"`verifyPeer`\" pulumi-lang-java=\"`verifyPeer`\"\u003e`verify_peer`\u003c/span\u003e validates the client's certificate chain, \u003cspan pulumi-lang-nodejs=\"`verifyNone`\" pulumi-lang-dotnet=\"`VerifyNone`\" pulumi-lang-go=\"`verifyNone`\" pulumi-lang-python=\"`verify_none`\" pulumi-lang-yaml=\"`verifyNone`\" pulumi-lang-java=\"`verifyNone`\"\u003e`verify_none`\u003c/span\u003e disables verification.\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Known issues\n\n\u003cdetails\u003e\n  \u003csummary\u003eCannot set heartbeat=0 when creating this resource\u003c/summary\u003e\n\n\u003e **Note:** This is no longer the case from [v1.35.0].\n\nThe provider is built by older `Terraform Plugin SDK` which doesn't support nullable configuration\nvalues. Instead the values will be set to it's default value based on it's schema primitive type.\n\n* schema.TypeString = \"\"\n* schema.TypeInt = 0\n* schema.TypeFloat = 0.0\n* schema.TypeBool = false\n\nDuring initial create of this resource, we need to exclude all arguments that can take these default\nvalues. Argument such as \u003cspan pulumi-lang-nodejs=\"`hearbeat`\" pulumi-lang-dotnet=\"`Hearbeat`\" pulumi-lang-go=\"`hearbeat`\" pulumi-lang-python=\"`hearbeat`\" pulumi-lang-yaml=\"`hearbeat`\" pulumi-lang-java=\"`hearbeat`\"\u003e`hearbeat`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`channelMax`\" pulumi-lang-dotnet=\"`ChannelMax`\" pulumi-lang-go=\"`channelMax`\" pulumi-lang-python=\"`channel_max`\" pulumi-lang-yaml=\"`channelMax`\" pulumi-lang-java=\"`channelMax`\"\u003e`channel_max`\u003c/span\u003e, etc. cannot be set to its default value, 0 in\nthese cases. Current workaround is to use the default value in the initial create run, then change\nto the wanted value in the re-run.\n\nWill be solved once we migrate the current provider to `Terraform Plugin Framework`.\n\n\u003c/details\u003e\n\n[CloudAMQP API list intances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances\n[v1.35.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.35.0\n\n","properties":{"channelMax":{"type":"integer","description":"Set the maximum permissible number of channels per connection.\n"},"clusterPartitionHandling":{"type":"string","description":"Set how the cluster should handle network partition.\n"},"connectionMax":{"type":"integer","description":"Set the maximum permissible number of connection.\n"},"consumerTimeout":{"type":"integer","description":"A consumer that has received a message and does not acknowledge that message within the timeout in milliseconds\n"},"heartbeat":{"type":"integer","description":"Set the server AMQP 0-9-1 heartbeat timeout in seconds.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"logExchangeLevel":{"type":"string","description":"Log level for the logger used for log integrations and the CloudAMQP Console log view.\n"},"maxMessageSize":{"type":"integer","description":"The largest allowed message payload size in bytes.\n"},"messageInterceptorsTimestampOverwrite":{"type":"string","description":"Sets a timestamp header on incoming messages. ***enabled_with_overwrite*** will overwrite any existing timestamps in the header.\n"},"mqttExchange":{"type":"string","description":"The exchange option determines which exchange messages from MQTT clients are published to.\n"},"mqttSslCertLogin":{"type":"boolean","description":"Enable SSL certificate-based authentication for MQTT connections.\n"},"mqttVhost":{"type":"string","description":"Virtual host for MQTT connections. Default set to newly created vhost, same as `cloudamqp_instance.instance.vhost`.\n"},"queueIndexEmbedMsgsBelow":{"type":"integer","description":"Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.\n"},"sslCertLoginFrom":{"type":"string","description":"Determines which certificate field to use as the username for TLS-based authentication.\n"},"sslOptionsFailIfNoPeerCert":{"type":"boolean","description":"When set to true, TLS connections will fail if the client does not provide a certificate.\n"},"sslOptionsVerify":{"type":"string","description":"Controls peer certificate verification for TLS connections.\n\nConfigure sleep and timeout for API requests retries\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.\n"},"vmMemoryHighWatermark":{"type":"number","description":"When the server will enter memory based flow-control as relative to the maximum available memory.\n"}},"required":["channelMax","clusterPartitionHandling","connectionMax","consumerTimeout","heartbeat","instanceId","logExchangeLevel","maxMessageSize","messageInterceptorsTimestampOverwrite","mqttExchange","mqttSslCertLogin","mqttVhost","queueIndexEmbedMsgsBelow","sleep","sslCertLoginFrom","sslOptionsFailIfNoPeerCert","sslOptionsVerify","timeout","vmMemoryHighWatermark"],"inputProperties":{"channelMax":{"type":"integer","description":"Set the maximum permissible number of channels per connection.\n"},"clusterPartitionHandling":{"type":"string","description":"Set how the cluster should handle network partition.\n"},"connectionMax":{"type":"integer","description":"Set the maximum permissible number of connection.\n"},"consumerTimeout":{"type":"integer","description":"A consumer that has received a message and does not acknowledge that message within the timeout in milliseconds\n"},"heartbeat":{"type":"integer","description":"Set the server AMQP 0-9-1 heartbeat timeout in seconds.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"logExchangeLevel":{"type":"string","description":"Log level for the logger used for log integrations and the CloudAMQP Console log view.\n"},"maxMessageSize":{"type":"integer","description":"The largest allowed message payload size in bytes.\n"},"messageInterceptorsTimestampOverwrite":{"type":"string","description":"Sets a timestamp header on incoming messages. ***enabled_with_overwrite*** will overwrite any existing timestamps in the header.\n"},"mqttExchange":{"type":"string","description":"The exchange option determines which exchange messages from MQTT clients are published to.\n"},"mqttSslCertLogin":{"type":"boolean","description":"Enable SSL certificate-based authentication for MQTT connections.\n"},"mqttVhost":{"type":"string","description":"Virtual host for MQTT connections. Default set to newly created vhost, same as `cloudamqp_instance.instance.vhost`.\n"},"queueIndexEmbedMsgsBelow":{"type":"integer","description":"Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.\n"},"sslCertLoginFrom":{"type":"string","description":"Determines which certificate field to use as the username for TLS-based authentication.\n"},"sslOptionsFailIfNoPeerCert":{"type":"boolean","description":"When set to true, TLS connections will fail if the client does not provide a certificate.\n"},"sslOptionsVerify":{"type":"string","description":"Controls peer certificate verification for TLS connections.\n\nConfigure sleep and timeout for API requests retries\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.\n"},"vmMemoryHighWatermark":{"type":"number","description":"When the server will enter memory based flow-control as relative to the maximum available memory.\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering RabbitConfiguration resources.\n","properties":{"channelMax":{"type":"integer","description":"Set the maximum permissible number of channels per connection.\n"},"clusterPartitionHandling":{"type":"string","description":"Set how the cluster should handle network partition.\n"},"connectionMax":{"type":"integer","description":"Set the maximum permissible number of connection.\n"},"consumerTimeout":{"type":"integer","description":"A consumer that has received a message and does not acknowledge that message within the timeout in milliseconds\n"},"heartbeat":{"type":"integer","description":"Set the server AMQP 0-9-1 heartbeat timeout in seconds.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"logExchangeLevel":{"type":"string","description":"Log level for the logger used for log integrations and the CloudAMQP Console log view.\n"},"maxMessageSize":{"type":"integer","description":"The largest allowed message payload size in bytes.\n"},"messageInterceptorsTimestampOverwrite":{"type":"string","description":"Sets a timestamp header on incoming messages. ***enabled_with_overwrite*** will overwrite any existing timestamps in the header.\n"},"mqttExchange":{"type":"string","description":"The exchange option determines which exchange messages from MQTT clients are published to.\n"},"mqttSslCertLogin":{"type":"boolean","description":"Enable SSL certificate-based authentication for MQTT connections.\n"},"mqttVhost":{"type":"string","description":"Virtual host for MQTT connections. Default set to newly created vhost, same as `cloudamqp_instance.instance.vhost`.\n"},"queueIndexEmbedMsgsBelow":{"type":"integer","description":"Size in bytes below which to embed messages in the queue index. 0 will turn off payload embedding in the queue index.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for RabbitMQ configuration. Default set to 60 seconds.\n"},"sslCertLoginFrom":{"type":"string","description":"Determines which certificate field to use as the username for TLS-based authentication.\n"},"sslOptionsFailIfNoPeerCert":{"type":"boolean","description":"When set to true, TLS connections will fail if the client does not provide a certificate.\n"},"sslOptionsVerify":{"type":"string","description":"Controls peer certificate verification for TLS connections.\n\nConfigure sleep and timeout for API requests retries\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for RabbitMQ configuration. Default set to 3600 seconds.\n"},"vmMemoryHighWatermark":{"type":"number","description":"When the server will enter memory based flow-control as relative to the maximum available memory.\n"}},"type":"object"}},"cloudamqp:index/securityFirewall:SecurityFirewall":{"description":"This resource allows you to configure and manage firewall rules for the CloudAMQP instance.\n\n\u003e **WARNING:** Firewall rules applied with this resource will replace any existing firewall rules.\nMake sure all wanted rules are present to not lose them.\n\n\u003e **NOTE:** From [v1.33.0] when destroying this resource the firewall on the servers will also be\nremoved. I.e. the firewall will be completely closed.\n\nOnly available for dedicated subscription plans.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst _this = new cloudamqp.SecurityFirewall(\"this\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            ip: \"192.168.0.0/24\",\n            ports: [\n                4567,\n                4568,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n        {\n            ip: \"10.56.72.0/24\",\n            ports: [],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n        {\n            ip: \"192.168.1.10/32\",\n            ports: [],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nthis = cloudamqp.SecurityFirewall(\"this\",\n    instance_id=instance[\"id\"],\n    rules=[\n        {\n            \"ip\": \"192.168.0.0/24\",\n            \"ports\": [\n                4567,\n                4568,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n        {\n            \"ip\": \"10.56.72.0/24\",\n            \"ports\": [],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n        {\n            \"ip\": \"192.168.1.10/32\",\n            \"ports\": [],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new CloudAmqp.SecurityFirewall(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"192.168.0.0/24\",\n                Ports = new[]\n                {\n                    4567,\n                    4568,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"10.56.72.0/24\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"192.168.1.10/32\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewSecurityFirewall(ctx, \"this\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(4567),\n\t\t\t\t\t\tpulumi.Int(4568),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"10.56.72.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"192.168.1.10/32\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new SecurityFirewall(\"this\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"192.168.0.0/24\")\n                    .ports(                    \n                        4567,\n                        4568)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"10.56.72.0/24\")\n                    .ports()\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"192.168.1.10/32\")\n                    .ports()\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: cloudamqp:SecurityFirewall\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: 192.168.0.0/24\n          ports:\n            - 4567\n            - 4568\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n        - ip: 10.56.72.0/24\n          ports: []\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n        - ip: 192.168.1.10/32\n          ports: []\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eFaster instance destroy when running `terraform destroy` from \u003c/i\u003e\n      \u003ca href=\"https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0\"\u003ev1.27.0\u003c/a\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nCloudAMQP Terraform provider [v1.27.0] enables faster \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Instance`\" pulumi-lang-dotnet=\"`cloudamqp.Instance`\" pulumi-lang-go=\"`Instance`\" pulumi-lang-python=\"`Instance`\" pulumi-lang-yaml=\"`cloudamqp.Instance`\" pulumi-lang-java=\"`cloudamqp.Instance`\"\u003e`cloudamqp.Instance`\u003c/span\u003e destroy when running\n`terraform destroy`.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-cloudamqp-instance\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [\"terraform\"],\n});\nconst _this = new cloudamqp.SecurityFirewall(\"this\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            ip: \"0.0.0.0/0\",\n            ports: [],\n            services: [\"HTTPS\"],\n            description: \"MGMT interface\",\n        },\n        {\n            ip: \"10.56.72.0/24\",\n            ports: [],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n            description: \"VPC subnet\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-cloudamqp-instance\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[\"terraform\"])\nthis = cloudamqp.SecurityFirewall(\"this\",\n    instance_id=instance.id,\n    rules=[\n        {\n            \"ip\": \"0.0.0.0/0\",\n            \"ports\": [],\n            \"services\": [\"HTTPS\"],\n            \"description\": \"MGMT interface\",\n        },\n        {\n            \"ip\": \"10.56.72.0/24\",\n            \"ports\": [],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n            \"description\": \"VPC subnet\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-cloudamqp-instance\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n    var @this = new CloudAmqp.SecurityFirewall(\"this\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"0.0.0.0/0\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"HTTPS\",\n                },\n                Description = \"MGMT interface\",\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"10.56.72.0/24\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n                Description = \"VPC subnet\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-cloudamqp-instance\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"this\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"MGMT interface\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"10.56.72.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"VPC subnet\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-cloudamqp-instance\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags(\"terraform\")\n            .build());\n\n        var this_ = new SecurityFirewall(\"this\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"0.0.0.0/0\")\n                    .ports()\n                    .services(\"HTTPS\")\n                    .description(\"MGMT interface\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"10.56.72.0/24\")\n                    .ports()\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .description(\"VPC subnet\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-cloudamqp-instance\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags:\n        - terraform\n  this:\n    type: cloudamqp:SecurityFirewall\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: 0.0.0.0/0\n          ports: []\n          services:\n            - HTTPS\n          description: MGMT interface\n        - ip: 10.56.72.0/24\n          ports: []\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n          description: VPC subnet\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\nIf used together with [VPC GPC peering], see additional information.\n\n## Known issues\n\n\u003cdetails\u003e\n  \u003csummary\u003eCustom ports trigger new update every time\u003c/summary\u003e\n\n  Before release v1.15.1 using the custom ports can cause a missmatch upon reading data and\n  trigger a new update every time.\n\n  Reason is that there is a bug in validating the response from the underlying API.\n\n  Update the provider to at least [v1.15.1] to fix the issue.\n \u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eUsing pre-defined service port in ports\u003c/summary\u003e\n\nUsing one of the port from the pre-defined services in ports argument, see example of using port\n5671 instead of the service *AMQPS*.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [{\n        ip: \"192.168.0.0/24\",\n        ports: [5671],\n        services: [],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance[\"id\"],\n    rules=[{\n        \"ip\": \"192.168.0.0/24\",\n        \"ports\": [5671],\n        \"services\": [],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"192.168.0.0/24\",\n                Ports = new[]\n                {\n                    5671,\n                },\n                Services = new() { },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(5671),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(SecurityFirewallRuleArgs.builder()\n                .ip(\"192.168.0.0/24\")\n                .ports(5671)\n                .services()\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: 192.168.0.0/24\n          ports:\n            - 5671\n          services: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nWill still create the firewall rule for the instance, but will trigger a new update each \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e or\n\u003cspan pulumi-lang-nodejs=\"`apply`\" pulumi-lang-dotnet=\"`Apply`\" pulumi-lang-go=\"`apply`\" pulumi-lang-python=\"`apply`\" pulumi-lang-yaml=\"`apply`\" pulumi-lang-java=\"`apply`\"\u003e`apply`\u003c/span\u003e. Due to a missmatch between state file and underlying API response.\n\nTo solve this, edit the configuration file and change port 5671 to service *AMQPS* and run\n`pulumi up -refresh-only` to only update the state file and remove the missmatch.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [{\n        ip: \"192.168.0.0/24\",\n        ports: [],\n        services: [\"AMQPS\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance[\"id\"],\n    rules=[{\n        \"ip\": \"192.168.0.0/24\",\n        \"ports\": [],\n        \"services\": [\"AMQPS\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"192.168.0.0/24\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQPS\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(SecurityFirewallRuleArgs.builder()\n                .ip(\"192.168.0.0/24\")\n                .ports()\n                .services(\"AMQPS\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: 192.168.0.0/24\n          ports: []\n          services:\n            - AMQPS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe provider from [v1.15.2] will start to warn about using this.\n\n \u003c/details\u003e\n\n[CloudAMQP API list intances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances\n[v1.15.1]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.15.1\n[v1.15.2]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.15.2\n[v1.27.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0\n[v1.33.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.33.0\n[VPC GPC peering]: ./vpc_gcp_peering#create-vpc-peering-with-additional-firewall-rules\n\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"rules":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/SecurityFirewallRule:SecurityFirewallRule"},"description":"An array of rules, minimum of 1 needs to be configured. Each \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e\nblock consists of the field documented below.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for firewall\nconfiguration. Default set to 30 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for firewall configuration.\nDefault set to 1800 seconds.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block consists of:\n"}},"required":["instanceId","rules"],"inputProperties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/SecurityFirewallRule:SecurityFirewallRule"},"description":"An array of rules, minimum of 1 needs to be configured. Each \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e\nblock consists of the field documented below.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for firewall\nconfiguration. Default set to 30 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for firewall configuration.\nDefault set to 1800 seconds.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block consists of:\n"}},"requiredInputs":["instanceId","rules"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityFirewall resources.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/cloudamqp:index/SecurityFirewallRule:SecurityFirewallRule"},"description":"An array of rules, minimum of 1 needs to be configured. Each \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e\nblock consists of the field documented below.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for firewall\nconfiguration. Default set to 30 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for firewall configuration.\nDefault set to 1800 seconds.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`rules`\" pulumi-lang-dotnet=\"`Rules`\" pulumi-lang-go=\"`rules`\" pulumi-lang-python=\"`rules`\" pulumi-lang-yaml=\"`rules`\" pulumi-lang-java=\"`rules`\"\u003e`rules`\u003c/span\u003e block consists of:\n"}},"type":"object"}},"cloudamqp:index/trustStore:TrustStore":{"description":"This resource allows you to configure a trust store for your RabbitMQ broker. The trust store\nenables RabbitMQ to fetch and use CA certificates from an external source for validating client\ncertificates, or upload multiple leaf certificates as an allow list.\n\nThe `http.cacert` and `file.certificates` fields use **WriteOnly**, meaning no information is\npresent in plan phase, logs or stored in the state for security purposes. To update these fields,\nincrement either the \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e or update the \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e attribute.\n\n\u003e **Note:** Updates to write-only fields (`http.cacert` or `file.certificates`) are only applied\nwhen \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e is incremented or \u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`key_id`\u003c/span\u003e is changed. This design allows you to manage certificate\nrotation explicitly.\n\n\u003e **Note:** After the trust store has been added, a restart of RabbitMQ is required for the changes to take effect.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eTrust store configuration with HTTP provider\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst trustStore = new cloudamqp.TrustStore(\"trust_store\", {\n    instanceId: instance.id,\n    http: {\n        url: \"https://example.com/trust-store-certs\",\n    },\n    refreshInterval: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ntrust_store = cloudamqp.TrustStore(\"trust_store\",\n    instance_id=instance[\"id\"],\n    http={\n        \"url\": \"https://example.com/trust-store-certs\",\n    },\n    refresh_interval=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var trustStore = new CloudAmqp.TrustStore(\"trust_store\", new()\n    {\n        InstanceId = instance.Id,\n        Http = new CloudAmqp.Inputs.TrustStoreHttpArgs\n        {\n            Url = \"https://example.com/trust-store-certs\",\n        },\n        RefreshInterval = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewTrustStore(ctx, \"trust_store\", \u0026cloudamqp.TrustStoreArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tHttp: \u0026cloudamqp.TrustStoreHttpArgs{\n\t\t\t\tUrl: pulumi.String(\"https://example.com/trust-store-certs\"),\n\t\t\t},\n\t\t\tRefreshInterval: pulumi.Int(30),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.TrustStore;\nimport com.pulumi.cloudamqp.TrustStoreArgs;\nimport com.pulumi.cloudamqp.inputs.TrustStoreHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var trustStore = new TrustStore(\"trustStore\", TrustStoreArgs.builder()\n            .instanceId(instance.id())\n            .http(TrustStoreHttpArgs.builder()\n                .url(\"https://example.com/trust-store-certs\")\n                .build())\n            .refreshInterval(30)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  trustStore:\n    type: cloudamqp:TrustStore\n    name: trust_store\n    properties:\n      instanceId: ${instance.id}\n      http:\n        url: https://example.com/trust-store-certs\n      refreshInterval: 30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eTrust store with HTTP provider and CA certificate\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n","properties":{"file":{"$ref":"#/types/cloudamqp:index/TrustStoreFile:TrustStoreFile","description":"File trust store configuration block. See File Block below.\n"},"http":{"$ref":"#/types/cloudamqp:index/TrustStoreHttp:TrustStoreHttp","description":"HTTP trust store configuration block. See HTTP Block below.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"keyId":{"type":"string","description":"A string identifier to trigger updates of write-only certificate fields.\nChange this value to apply changes to ***http.cacert*** or ***file.certificates*** (default: \"\").\n"},"refreshInterval":{"type":"integer","description":"Interval in seconds for RabbitMQ to refresh the trust\nstore certificates (default: 30).\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for trust store\noperations (default: 10).\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for trust store operations\n(default: 1800).\n\n***Note:*** Either \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e configuration block must be specified, but not both.\n"},"version":{"type":"integer","description":"An integer to trigger updates of write-only certificate fields.\nIncrement this value to apply changes to ***http.cacert*** or ***file.certificates*** (default: 1).\n"}},"required":["instanceId","keyId","refreshInterval","sleep","timeout","version"],"inputProperties":{"file":{"$ref":"#/types/cloudamqp:index/TrustStoreFile:TrustStoreFile","description":"File trust store configuration block. See File Block below.\n"},"http":{"$ref":"#/types/cloudamqp:index/TrustStoreHttp:TrustStoreHttp","description":"HTTP trust store configuration block. See HTTP Block below.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"keyId":{"type":"string","description":"A string identifier to trigger updates of write-only certificate fields.\nChange this value to apply changes to ***http.cacert*** or ***file.certificates*** (default: \"\").\n"},"refreshInterval":{"type":"integer","description":"Interval in seconds for RabbitMQ to refresh the trust\nstore certificates (default: 30).\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for trust store\noperations (default: 10).\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for trust store operations\n(default: 1800).\n\n***Note:*** Either \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e configuration block must be specified, but not both.\n"},"version":{"type":"integer","description":"An integer to trigger updates of write-only certificate fields.\nIncrement this value to apply changes to ***http.cacert*** or ***file.certificates*** (default: 1).\n"}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering TrustStore resources.\n","properties":{"file":{"$ref":"#/types/cloudamqp:index/TrustStoreFile:TrustStoreFile","description":"File trust store configuration block. See File Block below.\n"},"http":{"$ref":"#/types/cloudamqp:index/TrustStoreHttp:TrustStoreHttp","description":"HTTP trust store configuration block. See HTTP Block below.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"keyId":{"type":"string","description":"A string identifier to trigger updates of write-only certificate fields.\nChange this value to apply changes to ***http.cacert*** or ***file.certificates*** (default: \"\").\n"},"refreshInterval":{"type":"integer","description":"Interval in seconds for RabbitMQ to refresh the trust\nstore certificates (default: 30).\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for trust store\noperations (default: 10).\n"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for trust store operations\n(default: 1800).\n\n***Note:*** Either \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\"\u003e`file`\u003c/span\u003e configuration block must be specified, but not both.\n"},"version":{"type":"integer","description":"An integer to trigger updates of write-only certificate fields.\nIncrement this value to apply changes to ***http.cacert*** or ***file.certificates*** (default: 1).\n"}},"type":"object"}},"cloudamqp:index/upgradeLavinmq:UpgradeLavinmq":{"description":"This resource allows you to upgrade LavinMQ version.\n\nOnly available for dedicated subscription plans running ***LavinMQ***.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eUpgrade LavinMQ, specify which version to upgrade to, from [v1.32.0]\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nSpecify the version to upgrade to. List available upgradable versions, use\n[CloudAMQP API available versions].\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"lavinmq-version-upgrade-test\",\n    plan: \"lynx-1\",\n    region: \"amazon-web-services::us-west-1\",\n});\nconst upgrade = new cloudamqp.UpgradeLavinmq(\"upgrade\", {\n    instanceId: instance.id,\n    newVersion: \"1.3.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"lavinmq-version-upgrade-test\",\n    plan=\"lynx-1\",\n    region=\"amazon-web-services::us-west-1\")\nupgrade = cloudamqp.UpgradeLavinmq(\"upgrade\",\n    instance_id=instance.id,\n    new_version=\"1.3.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"lavinmq-version-upgrade-test\",\n        Plan = \"lynx-1\",\n        Region = \"amazon-web-services::us-west-1\",\n    });\n\n    var upgrade = new CloudAmqp.UpgradeLavinmq(\"upgrade\", new()\n    {\n        InstanceId = instance.Id,\n        NewVersion = \"1.3.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"lavinmq-version-upgrade-test\"),\n\t\t\tPlan:   pulumi.String(\"lynx-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewUpgradeLavinmq(ctx, \"upgrade\", \u0026cloudamqp.UpgradeLavinmqArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tNewVersion: pulumi.String(\"1.3.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.UpgradeLavinmq;\nimport com.pulumi.cloudamqp.UpgradeLavinmqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"lavinmq-version-upgrade-test\")\n            .plan(\"lynx-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .build());\n\n        var upgrade = new UpgradeLavinmq(\"upgrade\", UpgradeLavinmqArgs.builder()\n            .instanceId(instance.id())\n            .newVersion(\"1.3.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: lavinmq-version-upgrade-test\n      plan: lynx-1\n      region: amazon-web-services::us-west-1\n  upgrade:\n    type: cloudamqp:UpgradeLavinmq\n    properties:\n      instanceId: ${instance.id}\n      newVersion: 1.3.1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Important Upgrade Information\n\n\u003e * All single node upgrades will require some downtime since LavinMQ needs a restart.\n\u003e * Auto delete queues (queues that are marked AD) will be deleted during the update.\n\n[CloudAMQP API available versions]: https://docs.cloudamqp.com/instance-api.html#tag/nodes/get/nodes/available-versions\n[v1.32.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.32.0\n\n## Import\n\nNot possible to import this resource.\n\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier\n"},"newVersion":{"type":"string","description":"The new version to upgrade to\n"}},"required":["instanceId"],"inputProperties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier\n"},"newVersion":{"type":"string","description":"The new version to upgrade to\n","willReplaceOnChanges":true}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering UpgradeLavinmq resources.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier\n"},"newVersion":{"type":"string","description":"The new version to upgrade to\n","willReplaceOnChanges":true}},"type":"object"}},"cloudamqp:index/upgradeRabbitmq:UpgradeRabbitmq":{"description":"This resource allows you to upgrade RabbitMQ version. Depending on initial versions of RabbitMQ and\nErlang of the CloudAMQP instance, multiple runs may be needed to get to the latest or wanted version.\nReason for this is certain supported RabbitMQ version will also automatically upgrade Erlang version.\n\nThere is three different ways to trigger the version upgrade\n\n\u003e * Specify RabbitMQ version to upgrade to\n\u003e * Upgrade to latest RabbitMQ version\n\u003e * Old behaviour to upgrade to latest RabbitMQ version\n\nSee example below for usage.\n\nOnly available for dedicated subscription plans running ***RabbitMQ***.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eSpecify version upgrade, from [v1.31.0]\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nSpecify the version to upgrade to. List available upgradable versions, use\n[CloudAMQP API available versions].\n\nAfter the upgrade finished, there can still be newer versions available.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"rabbitmq-version-upgrade-test\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n});\nconst upgrade = new cloudamqp.UpgradeRabbitmq(\"upgrade\", {\n    instanceId: instance.id,\n    newVersion: \"3.13.2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"rabbitmq-version-upgrade-test\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\")\nupgrade = cloudamqp.UpgradeRabbitmq(\"upgrade\",\n    instance_id=instance.id,\n    new_version=\"3.13.2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"rabbitmq-version-upgrade-test\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n    });\n\n    var upgrade = new CloudAmqp.UpgradeRabbitmq(\"upgrade\", new()\n    {\n        InstanceId = instance.Id,\n        NewVersion = \"3.13.2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"rabbitmq-version-upgrade-test\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewUpgradeRabbitmq(ctx, \"upgrade\", \u0026cloudamqp.UpgradeRabbitmqArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tNewVersion: pulumi.String(\"3.13.2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.UpgradeRabbitmq;\nimport com.pulumi.cloudamqp.UpgradeRabbitmqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"rabbitmq-version-upgrade-test\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .build());\n\n        var upgrade = new UpgradeRabbitmq(\"upgrade\", UpgradeRabbitmqArgs.builder()\n            .instanceId(instance.id())\n            .newVersion(\"3.13.2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: rabbitmq-version-upgrade-test\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n  upgrade:\n    type: cloudamqp:UpgradeRabbitmq\n    properties:\n      instanceId: ${instance.id}\n      newVersion: 3.13.2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eUpgrade to latest possible version, from [v1.31.0]\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nThis will upgrade RabbitMQ to the latest possible version detected by the data source\n\u003cspan pulumi-lang-nodejs=\"`cloudamqp.getUpgradableVersions`\" pulumi-lang-dotnet=\"`cloudamqp.getUpgradableVersions`\" pulumi-lang-go=\"`getUpgradableVersions`\" pulumi-lang-python=\"`get_upgradable_versions`\" pulumi-lang-yaml=\"`cloudamqp.getUpgradableVersions`\" pulumi-lang-java=\"`cloudamqp.getUpgradableVersions`\"\u003e`cloudamqp.getUpgradableVersions`\u003c/span\u003e. Multiple runs can be needed to upgrade the version even further.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"rabbitmq-version-upgrade-test\",\n    plan: \"bunny-1\",\n    region: \"amazon-web-services::us-west-1\",\n});\nconst upgradableVersions = instance.id.apply(id =\u003e cloudamqp.getUpgradableVersionsOutput({\n    instanceId: id,\n}));\nconst upgrade = new cloudamqp.UpgradeRabbitmq(\"upgrade\", {\n    instanceId: instance.id,\n    currentVersion: instance.rmqVersion,\n    newVersion: upgradableVersions.apply(upgradableVersions =\u003e upgradableVersions.newRabbitmqVersion),\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"rabbitmq-version-upgrade-test\",\n    plan=\"bunny-1\",\n    region=\"amazon-web-services::us-west-1\")\nupgradable_versions = instance.id.apply(lambda id: cloudamqp.get_upgradable_versions_output(instance_id=id))\nupgrade = cloudamqp.UpgradeRabbitmq(\"upgrade\",\n    instance_id=instance.id,\n    current_version=instance.rmq_version,\n    new_version=upgradable_versions.new_rabbitmq_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"rabbitmq-version-upgrade-test\",\n        Plan = \"bunny-1\",\n        Region = \"amazon-web-services::us-west-1\",\n    });\n\n    var upgradableVersions = CloudAmqp.GetUpgradableVersions.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    var upgrade = new CloudAmqp.UpgradeRabbitmq(\"upgrade\", new()\n    {\n        InstanceId = instance.Id,\n        CurrentVersion = instance.RmqVersion,\n        NewVersion = upgradableVersions.Apply(getUpgradableVersionsResult =\u003e getUpgradableVersionsResult.NewRabbitmqVersion),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"rabbitmq-version-upgrade-test\"),\n\t\t\tPlan:   pulumi.String(\"bunny-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tupgradableVersions := instance.ID().ApplyT(func(id string) (cloudamqp.GetUpgradableVersionsResult, error) {\n\t\t\treturn cloudamqp.GetUpgradableVersionsResult(interface{}(cloudamqp.GetUpgradableVersions(ctx, \u0026cloudamqp.GetUpgradableVersionsArgs{\n\t\t\t\tInstanceId: id,\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetUpgradableVersionsResultOutput)\n\t\t_, err = cloudamqp.NewUpgradeRabbitmq(ctx, \"upgrade\", \u0026cloudamqp.UpgradeRabbitmqArgs{\n\t\t\tInstanceId:     instance.ID(),\n\t\t\tCurrentVersion: instance.RmqVersion,\n\t\t\tNewVersion: pulumi.String(upgradableVersions.ApplyT(func(upgradableVersions cloudamqp.GetUpgradableVersionsResult) (*string, error) {\n\t\t\t\treturn \u0026upgradableVersions.NewRabbitmqVersion, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;\nimport com.pulumi.cloudamqp.UpgradeRabbitmq;\nimport com.pulumi.cloudamqp.UpgradeRabbitmqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"rabbitmq-version-upgrade-test\")\n            .plan(\"bunny-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .build());\n\n        final var upgradableVersions = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n        var upgrade = new UpgradeRabbitmq(\"upgrade\", UpgradeRabbitmqArgs.builder()\n            .instanceId(instance.id())\n            .currentVersion(instance.rmqVersion())\n            .newVersion(upgradableVersions.applyValue(_upgradableVersions -\u003e _upgradableVersions.newRabbitmqVersion()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: rabbitmq-version-upgrade-test\n      plan: bunny-1\n      region: amazon-web-services::us-west-1\n  upgrade:\n    type: cloudamqp:UpgradeRabbitmq\n    properties:\n      instanceId: ${instance.id}\n      currentVersion: ${instance.rmqVersion}\n      newVersion: ${upgradableVersions.newRabbitmqVersion}\nvariables:\n  upgradableVersions:\n    fn::invoke:\n      function: cloudamqp:getUpgradableVersions\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eUpgrade to latest possible version, before v1.31.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nOld behaviour of the upgrading the RabbitMQ version. No longer recommended.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Retrieve latest possible upgradable versions for RabbitMQ and Erlang\nconst versions = cloudamqp.getUpgradableVersions({\n    instanceId: instance.id,\n});\n// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\nconst upgrade = new cloudamqp.UpgradeRabbitmq(\"upgrade\", {instanceId: instance.id});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Retrieve latest possible upgradable versions for RabbitMQ and Erlang\nversions = cloudamqp.get_upgradable_versions(instance_id=instance[\"id\"])\n# Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\nupgrade = cloudamqp.UpgradeRabbitmq(\"upgrade\", instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n    var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n    var upgrade = new CloudAmqp.UpgradeRabbitmq(\"upgrade\", new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n\t\t_, err := cloudamqp.GetUpgradableVersions(ctx, \u0026cloudamqp.GetUpgradableVersionsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n\t\t_, err = cloudamqp.NewUpgradeRabbitmq(ctx, \"upgrade\", \u0026cloudamqp.UpgradeRabbitmqArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;\nimport com.pulumi.cloudamqp.UpgradeRabbitmq;\nimport com.pulumi.cloudamqp.UpgradeRabbitmqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n        final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n        var upgrade = new UpgradeRabbitmq(\"upgrade\", UpgradeRabbitmqArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n  upgrade:\n    type: cloudamqp:UpgradeRabbitmq\n    properties:\n      instanceId: ${instance.id}\nvariables:\n  # Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n  versions:\n    fn::invoke:\n      function: cloudamqp:getUpgradableVersions\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Retrieve latest possible upgradable versions for RabbitMQ and Erlang\nconst versions = cloudamqp.getUpgradableVersions({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Retrieve latest possible upgradable versions for RabbitMQ and Erlang\nversions = cloudamqp.get_upgradable_versions(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n    var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n\t\t_, err := cloudamqp.GetUpgradableVersions(ctx, \u0026cloudamqp.GetUpgradableVersionsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n        final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n  versions:\n    fn::invoke:\n      function: cloudamqp:getUpgradableVersions\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nIf newer version is still available to be upgradable in the data source, re-run again.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Retrieve latest possible upgradable versions for RabbitMQ and Erlang\nconst versions = cloudamqp.getUpgradableVersions({\n    instanceId: instance.id,\n});\n// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\nconst upgrade = new cloudamqp.UpgradeRabbitmq(\"upgrade\", {instanceId: instance.id});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Retrieve latest possible upgradable versions for RabbitMQ and Erlang\nversions = cloudamqp.get_upgradable_versions(instance_id=instance[\"id\"])\n# Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\nupgrade = cloudamqp.UpgradeRabbitmq(\"upgrade\", instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n    var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n    var upgrade = new CloudAmqp.UpgradeRabbitmq(\"upgrade\", new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n\t\t_, err := cloudamqp.GetUpgradableVersions(ctx, \u0026cloudamqp.GetUpgradableVersionsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n\t\t_, err = cloudamqp.NewUpgradeRabbitmq(ctx, \"upgrade\", \u0026cloudamqp.UpgradeRabbitmqArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;\nimport com.pulumi.cloudamqp.UpgradeRabbitmq;\nimport com.pulumi.cloudamqp.UpgradeRabbitmqArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n        final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n        // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n        var upgrade = new UpgradeRabbitmq(\"upgrade\", UpgradeRabbitmqArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang\n  upgrade:\n    type: cloudamqp:UpgradeRabbitmq\n    properties:\n      instanceId: ${instance.id}\nvariables:\n  # Retrieve latest possible upgradable versions for RabbitMQ and Erlang\n  versions:\n    fn::invoke:\n      function: cloudamqp:getUpgradableVersions\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Important upgrade information\n\n\u003e * All single node upgrades will require some downtime since RabbitMQ needs a restart.\n\u003e * From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a\n    multi-node cluster are possible without downtime. This means that one node is upgraded at a time\n    while the other nodes are still running. For versions older than 3.9, patch version upgrades\n    (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version\n    upgrades will require downtime.\n\u003e * Auto delete queues (queues that are marked AD) will be deleted during the update.\n\u003e * Any custom plugins support has installed on your behalf will be disabled and you need to contact\n    support@cloudamqp.com and ask to have them re-installed.\n\u003e * TLS 1.0 and 1.1 will not be supported after the update.\n\n## Multiple runs\n\nDepending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be\nneeded to get to the latest or wanted version.\n\nExample steps needed when starting at RabbitMQ version 3.12.2\n\n|  Version         | Supported upgrading versions              | Min version to upgrade Erlang |\n|------------------|-------------------------------------------|-------------------------------|\n| 3.12.2           | 3.12.4, 3.12.6, 3.12.10, 3.12.12, 3.12.13 | 3.12.13                       |\n| 3.12.13          | 3.13.2                                    | 3.13.2                        |\n| 3.13.2           | -                                         | -                             |\n\n[CloudAMQP API available versions]: https://docs.cloudamqp.com/instance-api.html#tag/nodes/get/nodes/available-versions\n[v1.31.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.31.0\n\n## Import\n\nNot possible to import this resource.\n\n","properties":{"currentVersion":{"type":"string","description":"Helper argument to change upgrade behaviour to latest possible\nversion\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier\n"},"newVersion":{"type":"string","description":"The new version to upgrade to\n"}},"required":["instanceId"],"inputProperties":{"currentVersion":{"type":"string","description":"Helper argument to change upgrade behaviour to latest possible\nversion\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier\n"},"newVersion":{"type":"string","description":"The new version to upgrade to\n","willReplaceOnChanges":true}},"requiredInputs":["instanceId"],"stateInputs":{"description":"Input properties used for looking up and filtering UpgradeRabbitmq resources.\n","properties":{"currentVersion":{"type":"string","description":"Helper argument to change upgrade behaviour to latest possible\nversion\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier\n"},"newVersion":{"type":"string","description":"The new version to upgrade to\n","willReplaceOnChanges":true}},"type":"object"}},"cloudamqp:index/vpc:Vpc":{"description":"This resource allows you to manage standalone VPC.\n\nNew Cloudamqp instances can be added to the managed VPC. Set the instance *vpc_id* attribute to the\nmanaged vpc identifier, see example below, when creating the instance.\n\nOnly available for dedicated subscription plans.\n\nPricing is available at [CloudAMQP plans].\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Managed VPC resource\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"\u003cVPC name\u003e\",\n    region: \"amazon-web-services::us-east-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\n//  New instance, need to be created with a vpc\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"\u003cInstance name\u003e\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-east-1\",\n    nodes: 1,\n    tags: [],\n    vpcId: vpcCloudamqVpc.id,\n    keepAssociatedVpc: true,\n});\n// Additional VPC information\nconst vpcInfo = cloudamqp.getVpcInfoOutput({\n    vpcId: vpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Managed VPC resource\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"\u003cVPC name\u003e\",\n    region=\"amazon-web-services::us-east-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\n#  New instance, need to be created with a vpc\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"\u003cInstance name\u003e\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-east-1\",\n    nodes=1,\n    tags=[],\n    vpc_id=vpc_cloudamq_vpc[\"id\"],\n    keep_associated_vpc=True)\n# Additional VPC information\nvpc_info = cloudamqp.get_vpc_info_output(vpc_id=vpc.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Managed VPC resource\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"\u003cVPC name\u003e\",\n        Region = \"amazon-web-services::us-east-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    //  New instance, need to be created with a vpc\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"\u003cInstance name\u003e\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-east-1\",\n        Nodes = 1,\n        Tags = new[] {},\n        VpcId = vpcCloudamqVpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    // Additional VPC information\n    var vpcInfo = CloudAmqp.GetVpcInfo.Invoke(new()\n    {\n        VpcId = vpc.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Managed VPC resource\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"\u003cVPC name\u003e\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// New instance, need to be created with a vpc\n\t\t_, err = cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"\u003cInstance name\u003e\"),\n\t\t\tPlan:              pulumi.String(\"penguin-1\"),\n\t\t\tRegion:            pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tNodes:             pulumi.Int(1),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             pulumi.Any(vpcCloudamqVpc.Id),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Additional VPC information\n\t\t_ = cloudamqp.GetVpcInfoOutput(ctx, cloudamqp.GetVpcInfoOutputArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t}, nil)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Managed VPC resource\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"\u003cVPC name\u003e\")\n            .region(\"amazon-web-services::us-east-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        //  New instance, need to be created with a vpc\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"\u003cInstance name\u003e\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-east-1\")\n            .nodes(1)\n            .tags()\n            .vpcId(vpcCloudamqVpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        // Additional VPC information\n        final var vpcInfo = CloudamqpFunctions.getVpcInfo(GetVpcInfoArgs.builder()\n            .vpcId(vpc.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Managed VPC resource\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: \u003cVPC name\u003e\n      region: amazon-web-services::us-east-1\n      subnet: 10.56.72.0/24\n      tags: []\n  #  New instance, need to be created with a vpc\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: \u003cInstance name\u003e\n      plan: penguin-1\n      region: amazon-web-services::us-east-1\n      nodes: 1\n      tags: []\n      vpcId: ${vpcCloudamqVpc.id}\n      keepAssociatedVpc: true\nvariables:\n  # Additional VPC information\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcInfo\n      arguments:\n        vpcId: ${vpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n","properties":{"name":{"type":"string","description":"The name of the VPC.\n"},"region":{"type":"string","description":"The hosted region for the managed standalone VPC\n"},"subnet":{"type":"string","description":"The VPC subnet\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag the VPC with optional tags\n"},"vpcName":{"type":"string","description":"VPC name given when hosted at the cloud provider\n"}},"required":["name","region","subnet","vpcName"],"inputProperties":{"name":{"type":"string","description":"The name of the VPC.\n"},"region":{"type":"string","description":"The hosted region for the managed standalone VPC\n"},"subnet":{"type":"string","description":"The VPC subnet\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag the VPC with optional tags\n"}},"requiredInputs":["region","subnet"],"stateInputs":{"description":"Input properties used for looking up and filtering Vpc resources.\n","properties":{"name":{"type":"string","description":"The name of the VPC.\n"},"region":{"type":"string","description":"The hosted region for the managed standalone VPC\n"},"subnet":{"type":"string","description":"The VPC subnet\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag the VPC with optional tags\n"},"vpcName":{"type":"string","description":"VPC name given when hosted at the cloud provider\n"}},"type":"object"}},"cloudamqp:index/vpcConnect:VpcConnect":{"description":"This resource is a generic way to handle PrivateLink (AWS and Azure) and Private Service Connect\n(GCP). Communication between resources can be done just as they were living inside a VPC. CloudAMQP\ncreates an Endpoint Service to connect the VPC and creating a new network interface to handle the\ncommunicate.\n\nIf no existing VPC available when enable VPC connect, a new VPC will be created with subnet\n`10.52.72.0/24`.\n\nMore information can be found at: [CloudAMQP VPC Connect]\n\n\u003e **Note:** Enabling VPC Connect will automatically add a firewall rule.\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eDefault PrivateLink firewall rule [AWS, Azure]\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nFor LavinMQ:\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable VPC Connect (PrivateLink) in AWS\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"amazon-web-services::us-west-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst vpcConnect = new cloudamqp.VpcConnect(\"vpc_connect\", {\n    instanceId: instance.id,\n    region: instance.region,\n    allowedPrincipals: [\"arn:aws:iam::aws-account-id:user/user-name\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"amazon-web-services::us-west-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nvpc_connect = cloudamqp.VpcConnect(\"vpc_connect\",\n    instance_id=instance.id,\n    region=instance.region,\n    allowed_principals=[\"arn:aws:iam::aws-account-id:user/user-name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"amazon-web-services::us-west-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var vpcConnect = new CloudAmqp.VpcConnect(\"vpc_connect\", new()\n    {\n        InstanceId = instance.Id,\n        Region = instance.Region,\n        AllowedPrincipals = new[]\n        {\n            \"arn:aws:iam::aws-account-id:user/user-name\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"penguin-1\"),\n\t\t\tRegion:            pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewVpcConnect(ctx, \"vpc_connect\", \u0026cloudamqp.VpcConnectArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRegion:     instance.Region,\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws-account-id:user/user-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.VpcConnect;\nimport com.pulumi.cloudamqp.VpcConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"amazon-web-services::us-west-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var vpcConnect = new VpcConnect(\"vpcConnect\", VpcConnectArgs.builder()\n            .instanceId(instance.id())\n            .region(instance.region())\n            .allowedPrincipals(\"arn:aws:iam::aws-account-id:user/user-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: amazon-web-services::us-west-1\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  vpcConnect:\n    type: cloudamqp:VpcConnect\n    name: vpc_connect\n    properties:\n      instanceId: ${instance.id}\n      region: ${instance.region}\n      allowedPrincipals:\n        - arn:aws:iam::aws-account-id:user/user-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable VPC Connect (PrivateLink) in Azure\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"azure-arm::westus\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"penguin-1\",\n    region: \"azure-arm::westus\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst vpcConnect = new cloudamqp.VpcConnect(\"vpc_connect\", {\n    instanceId: instance.id,\n    region: instance.region,\n    approvedSubscriptions: [\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"azure-arm::westus\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"penguin-1\",\n    region=\"azure-arm::westus\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nvpc_connect = cloudamqp.VpcConnect(\"vpc_connect\",\n    instance_id=instance.id,\n    region=instance.region,\n    approved_subscriptions=[\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"azure-arm::westus\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"penguin-1\",\n        Region = \"azure-arm::westus\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var vpcConnect = new CloudAmqp.VpcConnect(\"vpc_connect\", new()\n    {\n        InstanceId = instance.Id,\n        Region = instance.Region,\n        ApprovedSubscriptions = new[]\n        {\n            \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"azure-arm::westus\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"penguin-1\"),\n\t\t\tRegion:            pulumi.String(\"azure-arm::westus\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewVpcConnect(ctx, \"vpc_connect\", \u0026cloudamqp.VpcConnectArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRegion:     instance.Region,\n\t\t\tApprovedSubscriptions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.VpcConnect;\nimport com.pulumi.cloudamqp.VpcConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"azure-arm::westus\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"penguin-1\")\n            .region(\"azure-arm::westus\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var vpcConnect = new VpcConnect(\"vpcConnect\", VpcConnectArgs.builder()\n            .instanceId(instance.id())\n            .region(instance.region())\n            .approvedSubscriptions(\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: azure-arm::westus\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: penguin-1\n      region: azure-arm::westus\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  vpcConnect:\n    type: cloudamqp:VpcConnect\n    name: vpc_connect\n    properties:\n      instanceId: ${instance.id}\n      region: ${instance.region}\n      approvedSubscriptions:\n        - XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe attribute \u003cspan pulumi-lang-nodejs=\"`serviceName`\" pulumi-lang-dotnet=\"`ServiceName`\" pulumi-lang-go=\"`serviceName`\" pulumi-lang-python=\"`service_name`\" pulumi-lang-yaml=\"`serviceName`\" pulumi-lang-java=\"`serviceName`\"\u003e`service_name`\u003c/span\u003e found in resource \u003cspan pulumi-lang-nodejs=\"`cloudamqp.VpcConnect`\" pulumi-lang-dotnet=\"`cloudamqp.VpcConnect`\" pulumi-lang-go=\"`VpcConnect`\" pulumi-lang-python=\"`VpcConnect`\" pulumi-lang-yaml=\"`cloudamqp.VpcConnect`\" pulumi-lang-java=\"`cloudamqp.VpcConnect`\"\u003e`cloudamqp.VpcConnect`\u003c/span\u003e corresponds to the alias in\nthe resource \u003cspan pulumi-lang-nodejs=\"`azurermPrivateEndpoint`\" pulumi-lang-dotnet=\"`AzurermPrivateEndpoint`\" pulumi-lang-go=\"`azurermPrivateEndpoint`\" pulumi-lang-python=\"`azurerm_private_endpoint`\" pulumi-lang-yaml=\"`azurermPrivateEndpoint`\" pulumi-lang-java=\"`azurermPrivateEndpoint`\"\u003e`azurerm_private_endpoint`\u003c/span\u003e of the Azure provider. This can be used when creating the\nprivate endpoint.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst example = new azurerm.index.PrivateEndpoint(\"example\", {\n    name: \"example-endpoint\",\n    location: exampleAzurermResourceGroup.location,\n    resourceGroupName: exampleAzurermResourceGroup.name,\n    subnetId: subnet.id,\n    privateServiceConnection: [{\n        name: \"example-privateserviceconnection\",\n        privateConnectionResourceAlias: vpcConnect.serviceName,\n        isManualConnection: true,\n        requestMessage: \"PL\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_azurerm as azurerm\n\nexample = azurerm.index.PrivateEndpoint(\"example\",\n    name=example-endpoint,\n    location=example_azurerm_resource_group.location,\n    resource_group_name=example_azurerm_resource_group.name,\n    subnet_id=subnet.id,\n    private_service_connection=[{\n        name: example-privateserviceconnection,\n        privateConnectionResourceAlias: vpc_connect.service_name,\n        isManualConnection: True,\n        requestMessage: PL,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Azurerm.Index.PrivateEndpoint(\"example\", new()\n    {\n        Name = \"example-endpoint\",\n        Location = exampleAzurermResourceGroup.Location,\n        ResourceGroupName = exampleAzurermResourceGroup.Name,\n        SubnetId = subnet.Id,\n        PrivateServiceConnection = new[]\n        {\n            \n            {\n                { \"name\", \"example-privateserviceconnection\" },\n                { \"privateConnectionResourceAlias\", vpcConnect.ServiceName },\n                { \"isManualConnection\", true },\n                { \"requestMessage\", \"PL\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-azurerm/sdk/go/azurerm\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := azurerm.NewPrivateEndpoint(ctx, \"example\", \u0026azurerm.PrivateEndpointArgs{\n\t\t\tName:              \"example-endpoint\",\n\t\t\tLocation:          exampleAzurermResourceGroup.Location,\n\t\t\tResourceGroupName: exampleAzurermResourceGroup.Name,\n\t\t\tSubnetId:          subnet.Id,\n\t\t\tPrivateServiceConnection: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":                           \"example-privateserviceconnection\",\n\t\t\t\t\t\"privateConnectionResourceAlias\": vpcConnect.ServiceName,\n\t\t\t\t\t\"isManualConnection\":             true,\n\t\t\t\t\t\"requestMessage\":                 \"PL\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.azurerm.PrivateEndpoint;\nimport com.pulumi.azurerm.PrivateEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PrivateEndpoint(\"example\", PrivateEndpointArgs.builder()\n            .name(\"example-endpoint\")\n            .location(exampleAzurermResourceGroup.location())\n            .resourceGroupName(exampleAzurermResourceGroup.name())\n            .subnetId(subnet.id())\n            .privateServiceConnection(List.of(Map.ofEntries(\n                Map.entry(\"name\", \"example-privateserviceconnection\"),\n                Map.entry(\"privateConnectionResourceAlias\", vpcConnect.serviceName()),\n                Map.entry(\"isManualConnection\", true),\n                Map.entry(\"requestMessage\", \"PL\")\n            )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: azurerm:PrivateEndpoint\n    properties:\n      name: example-endpoint\n      location: ${exampleAzurermResourceGroup.location}\n      resourceGroupName: ${exampleAzurermResourceGroup.name}\n      subnetId: ${subnet.id}\n      privateServiceConnection:\n        - name: example-privateserviceconnection\n          privateConnectionResourceAlias: ${vpcConnect.serviceName}\n          isManualConnection: true\n          requestMessage: PL\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMore information about the resource and argument can be found here:\n\u003cspan pulumi-lang-nodejs=\"[privateConnectionResourceAlias]\" pulumi-lang-dotnet=\"[PrivateConnectionResourceAlias]\" pulumi-lang-go=\"[privateConnectionResourceAlias]\" pulumi-lang-python=\"[private_connection_resource_alias]\" pulumi-lang-yaml=\"[privateConnectionResourceAlias]\" pulumi-lang-java=\"[privateConnectionResourceAlias]\"\u003e[private_connection_resource_alias]\u003c/span\u003e. Or check their example \"Using a Private Link Service Alias with\nexisting resources\".\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable VPC Connect (Private Service Connect) in GCP\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"google-compute-engine::us-west1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"penguin-1\",\n    region: \"google-compute-engine::us-west1\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst vpcConnect = new cloudamqp.VpcConnect(\"vpc_connect\", {\n    instanceId: instance.id,\n    region: instance.region,\n    allowedProjects: [\"some-project-123456\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"google-compute-engine::us-west1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"penguin-1\",\n    region=\"google-compute-engine::us-west1\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nvpc_connect = cloudamqp.VpcConnect(\"vpc_connect\",\n    instance_id=instance.id,\n    region=instance.region,\n    allowed_projects=[\"some-project-123456\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"google-compute-engine::us-west1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"penguin-1\",\n        Region = \"google-compute-engine::us-west1\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var vpcConnect = new CloudAmqp.VpcConnect(\"vpc_connect\", new()\n    {\n        InstanceId = instance.Id,\n        Region = instance.Region,\n        AllowedProjects = new[]\n        {\n            \"some-project-123456\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"google-compute-engine::us-west1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"penguin-1\"),\n\t\t\tRegion:            pulumi.String(\"google-compute-engine::us-west1\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewVpcConnect(ctx, \"vpc_connect\", \u0026cloudamqp.VpcConnectArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRegion:     instance.Region,\n\t\t\tAllowedProjects: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"some-project-123456\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.VpcConnect;\nimport com.pulumi.cloudamqp.VpcConnectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"google-compute-engine::us-west1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"penguin-1\")\n            .region(\"google-compute-engine::us-west1\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var vpcConnect = new VpcConnect(\"vpcConnect\", VpcConnectArgs.builder()\n            .instanceId(instance.id())\n            .region(instance.region())\n            .allowedProjects(\"some-project-123456\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: google-compute-engine::us-west1\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: penguin-1\n      region: google-compute-engine::us-west1\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  vpcConnect:\n    type: cloudamqp:VpcConnect\n    name: vpc_connect\n    properties:\n      instanceId: ${instance.id}\n      region: ${instance.region}\n      allowedProjects:\n        - some-project-123456\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\n### With Additional Firewall Rules\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eCloudAMQP instance in an existing VPC with managed firewall rules\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"Standalone VPC\",\n    region: \"amazon-web-services::us-west-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"Instance 01\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-west-1\",\n    tags: [],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\nconst vpcConnect = new cloudamqp.VpcConnect(\"vpc_connect\", {\n    instanceId: instance.id,\n    allowedPrincipals: [\"arn:aws:iam::aws-account-id:user/user-name\"],\n});\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            description: \"Custom PrivateLink setup\",\n            ip: vpc.subnet,\n            ports: [],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n        {\n            description: \"MGMT interface\",\n            ip: \"0.0.0.0/0\",\n            ports: [],\n            services: [\"HTTPS\"],\n        },\n    ],\n}, {\n    dependsOn: [vpcConnect],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"Standalone VPC\",\n    region=\"amazon-web-services::us-west-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"Instance 01\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-west-1\",\n    tags=[],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\nvpc_connect = cloudamqp.VpcConnect(\"vpc_connect\",\n    instance_id=instance.id,\n    allowed_principals=[\"arn:aws:iam::aws-account-id:user/user-name\"])\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance.id,\n    rules=[\n        {\n            \"description\": \"Custom PrivateLink setup\",\n            \"ip\": vpc.subnet,\n            \"ports\": [],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n        {\n            \"description\": \"MGMT interface\",\n            \"ip\": \"0.0.0.0/0\",\n            \"ports\": [],\n            \"services\": [\"HTTPS\"],\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[vpc_connect]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"Standalone VPC\",\n        Region = \"amazon-web-services::us-west-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"Instance 01\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-west-1\",\n        Tags = new[] {},\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    var vpcConnect = new CloudAmqp.VpcConnect(\"vpc_connect\", new()\n    {\n        InstanceId = instance.Id,\n        AllowedPrincipals = new[]\n        {\n            \"arn:aws:iam::aws-account-id:user/user-name\",\n        },\n    });\n\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Description = \"Custom PrivateLink setup\",\n                Ip = vpc.Subnet,\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Description = \"MGMT interface\",\n                Ip = \"0.0.0.0/0\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"HTTPS\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcConnect,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"Standalone VPC\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:              pulumi.String(\"Instance 01\"),\n\t\t\tPlan:              pulumi.String(\"penguin-1\"),\n\t\t\tRegion:            pulumi.String(\"amazon-web-services::us-west-1\"),\n\t\t\tTags:              pulumi.StringArray{},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvpcConnect, err := cloudamqp.NewVpcConnect(ctx, \"vpc_connect\", \u0026cloudamqp.VpcConnectArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::aws-account-id:user/user-name\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Custom PrivateLink setup\"),\n\t\t\t\t\tIp:          vpc.Subnet,\n\t\t\t\t\tPorts:       pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tDescription: pulumi.String(\"MGMT interface\"),\n\t\t\t\t\tIp:          pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPorts:       pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcConnect,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.VpcConnect;\nimport com.pulumi.cloudamqp.VpcConnectArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"Standalone VPC\")\n            .region(\"amazon-web-services::us-west-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"Instance 01\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-west-1\")\n            .tags()\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        var vpcConnect = new VpcConnect(\"vpcConnect\", VpcConnectArgs.builder()\n            .instanceId(instance.id())\n            .allowedPrincipals(\"arn:aws:iam::aws-account-id:user/user-name\")\n            .build());\n\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .description(\"Custom PrivateLink setup\")\n                    .ip(vpc.subnet())\n                    .ports()\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .description(\"MGMT interface\")\n                    .ip(\"0.0.0.0/0\")\n                    .ports()\n                    .services(\"HTTPS\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vpcConnect)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: Standalone VPC\n      region: amazon-web-services::us-west-1\n      subnet: 10.56.72.0/24\n      tags: []\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: Instance 01\n      plan: penguin-1\n      region: amazon-web-services::us-west-1\n      tags: []\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  vpcConnect:\n    type: cloudamqp:VpcConnect\n    name: vpc_connect\n    properties:\n      instanceId: ${instance.id}\n      allowedPrincipals:\n        - arn:aws:iam::aws-account-id:user/user-name\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - description: Custom PrivateLink setup\n          ip: ${vpc.subnet}\n          ports: []\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n        - description: MGMT interface\n          ip: 0.0.0.0/0\n          ports: []\n          services:\n            - HTTPS\n    options:\n      dependsOn:\n        - ${vpcConnect}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n[CloudAMQP API list intances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances\n[CloudAMQP VPC Connect]: https://www.cloudamqp.com/docs/cloudamqp-vpc-connect.html\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e: https://registry.terraform.io/providers/cloudamqp/cloudamqp/latest/docs/resources/security_firewall\n[Google docs]: https://cloud.google.com/resource-manager/reference/rest/v1/projects\n\u003cspan pulumi-lang-nodejs=\"[privateConnectionResourceAlias]\" pulumi-lang-dotnet=\"[PrivateConnectionResourceAlias]\" pulumi-lang-go=\"[privateConnectionResourceAlias]\" pulumi-lang-python=\"[private_connection_resource_alias]\" pulumi-lang-yaml=\"[privateConnectionResourceAlias]\" pulumi-lang-java=\"[privateConnectionResourceAlias]\"\u003e[private_connection_resource_alias]\u003c/span\u003e: ./private_endpoint#private_connection_resource_alias-1\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\nSince \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e also is required, suggest to reuse the argument from CloudAMQP instance,\n`cloudamqp_instance.instance.region`.\n\n## Create VPC Connect with additional firewall rules\n\nTo create a PrivateLink/Private Service Connect configuration with additional firewall rules, it's\nrequired to chain the \u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e resource to avoid parallel conflicting resource\ncalls. You can do this by making the firewall resource depend on the VPC Connect resource\n`cloudamqp_vpc_connect.vpc_connect`.\n\nFurthermore, since all firewall rules are overwritten, the otherwise automatically added rules for\nthe VPC Connect also needs to be added.\n\n","properties":{"activeZones":{"type":"array","items":{"type":"string"},"description":"Covering availability zones used when creating an endpoint from other VPC. (AWS)\n"},"allowedPrincipals":{"type":"array","items":{"type":"string"},"description":"List of allowed prinicpals used by AWS, see below table.\n"},"allowedProjects":{"type":"array","items":{"type":"string"},"description":"List of allowed projects used by GCP, see below table.\n"},"approvedSubscriptions":{"type":"array","items":{"type":"string"},"description":"List of approved subscriptions used by Azure, see below\ntable.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"region":{"type":"string","description":"The region where the CloudAMQP instance is hosted.\n"},"serviceName":{"type":"string","description":"Service name (alias for Azure, see example above) of the PrivateLink.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable Private\nService Connect. Default set to 10 seconds.\n"},"status":{"type":"string","description":"Private Service Connect status [enable, pending, disable]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable Private\nService Connect. Default set to 1800 seconds.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`allowedPrincipals`\" pulumi-lang-dotnet=\"`AllowedPrincipals`\" pulumi-lang-go=\"`allowedPrincipals`\" pulumi-lang-python=\"`allowed_principals`\" pulumi-lang-yaml=\"`allowedPrincipals`\" pulumi-lang-java=\"`allowedPrincipals`\"\u003e`allowed_principals`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`approvedSubscriptions`\" pulumi-lang-dotnet=\"`ApprovedSubscriptions`\" pulumi-lang-go=\"`approvedSubscriptions`\" pulumi-lang-python=\"`approved_subscriptions`\" pulumi-lang-yaml=\"`approvedSubscriptions`\" pulumi-lang-java=\"`approvedSubscriptions`\"\u003e`approved_subscriptions`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`allowedProjects`\" pulumi-lang-dotnet=\"`AllowedProjects`\" pulumi-lang-go=\"`allowedProjects`\" pulumi-lang-python=\"`allowed_projects`\" pulumi-lang-yaml=\"`allowedProjects`\" pulumi-lang-java=\"`allowedProjects`\"\u003e`allowed_projects`\u003c/span\u003e data depends on the\nprovider platform:\n\n| Platform | Description | Format |\n|---|---|---|\n| AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root\u003cbr\u003earn:aws:iam::aws-account-id:user/user-name\u003cbr\u003e arn:aws:iam::aws-account-id:role/role-name |\n| Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |\n| GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |\n"}},"required":["activeZones","instanceId","region","serviceName","status"],"inputProperties":{"allowedPrincipals":{"type":"array","items":{"type":"string"},"description":"List of allowed prinicpals used by AWS, see below table.\n"},"allowedProjects":{"type":"array","items":{"type":"string"},"description":"List of allowed projects used by GCP, see below table.\n"},"approvedSubscriptions":{"type":"array","items":{"type":"string"},"description":"List of approved subscriptions used by Azure, see below\ntable.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n","willReplaceOnChanges":true},"region":{"type":"string","description":"The region where the CloudAMQP instance is hosted.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable Private\nService Connect. Default set to 10 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable Private\nService Connect. Default set to 1800 seconds.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`allowedPrincipals`\" pulumi-lang-dotnet=\"`AllowedPrincipals`\" pulumi-lang-go=\"`allowedPrincipals`\" pulumi-lang-python=\"`allowed_principals`\" pulumi-lang-yaml=\"`allowedPrincipals`\" pulumi-lang-java=\"`allowedPrincipals`\"\u003e`allowed_principals`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`approvedSubscriptions`\" pulumi-lang-dotnet=\"`ApprovedSubscriptions`\" pulumi-lang-go=\"`approvedSubscriptions`\" pulumi-lang-python=\"`approved_subscriptions`\" pulumi-lang-yaml=\"`approvedSubscriptions`\" pulumi-lang-java=\"`approvedSubscriptions`\"\u003e`approved_subscriptions`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`allowedProjects`\" pulumi-lang-dotnet=\"`AllowedProjects`\" pulumi-lang-go=\"`allowedProjects`\" pulumi-lang-python=\"`allowed_projects`\" pulumi-lang-yaml=\"`allowedProjects`\" pulumi-lang-java=\"`allowedProjects`\"\u003e`allowed_projects`\u003c/span\u003e data depends on the\nprovider platform:\n\n| Platform | Description | Format |\n|---|---|---|\n| AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root\u003cbr\u003earn:aws:iam::aws-account-id:user/user-name\u003cbr\u003e arn:aws:iam::aws-account-id:role/role-name |\n| Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |\n| GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |\n"}},"requiredInputs":["instanceId","region"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcConnect resources.\n","properties":{"activeZones":{"type":"array","items":{"type":"string"},"description":"Covering availability zones used when creating an endpoint from other VPC. (AWS)\n"},"allowedPrincipals":{"type":"array","items":{"type":"string"},"description":"List of allowed prinicpals used by AWS, see below table.\n"},"allowedProjects":{"type":"array","items":{"type":"string"},"description":"List of allowed projects used by GCP, see below table.\n"},"approvedSubscriptions":{"type":"array","items":{"type":"string"},"description":"List of approved subscriptions used by Azure, see below\ntable.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n","willReplaceOnChanges":true},"region":{"type":"string","description":"The region where the CloudAMQP instance is hosted.\n"},"serviceName":{"type":"string","description":"Service name (alias for Azure, see example above) of the PrivateLink.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) when enable Private\nService Connect. Default set to 10 seconds.\n"},"status":{"type":"string","description":"Private Service Connect status [enable, pending, disable]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) when enable Private\nService Connect. Default set to 1800 seconds.\n\n___\n\nThe \u003cspan pulumi-lang-nodejs=\"`allowedPrincipals`\" pulumi-lang-dotnet=\"`AllowedPrincipals`\" pulumi-lang-go=\"`allowedPrincipals`\" pulumi-lang-python=\"`allowed_principals`\" pulumi-lang-yaml=\"`allowedPrincipals`\" pulumi-lang-java=\"`allowedPrincipals`\"\u003e`allowed_principals`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`approvedSubscriptions`\" pulumi-lang-dotnet=\"`ApprovedSubscriptions`\" pulumi-lang-go=\"`approvedSubscriptions`\" pulumi-lang-python=\"`approved_subscriptions`\" pulumi-lang-yaml=\"`approvedSubscriptions`\" pulumi-lang-java=\"`approvedSubscriptions`\"\u003e`approved_subscriptions`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`allowedProjects`\" pulumi-lang-dotnet=\"`AllowedProjects`\" pulumi-lang-go=\"`allowedProjects`\" pulumi-lang-python=\"`allowed_projects`\" pulumi-lang-yaml=\"`allowedProjects`\" pulumi-lang-java=\"`allowedProjects`\"\u003e`allowed_projects`\u003c/span\u003e data depends on the\nprovider platform:\n\n| Platform | Description | Format |\n|---|---|---|\n| AWS | IAM ARN principals | arn:aws:iam::aws-account-id:root\u003cbr\u003earn:aws:iam::aws-account-id:user/user-name\u003cbr\u003e arn:aws:iam::aws-account-id:role/role-name |\n| Azure | Subscription (GUID) | XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |\n| GCP | Project IDs [Google docs] | 6 to 30 lowercase letters, digits, or hyphens |\n"}},"type":"object"}},"cloudamqp:index/vpcGcpPeering:VpcGcpPeering":{"description":"This resouce creates a VPC peering configuration for the CloudAMQP instance. The configuration will\nconnect to another VPC network hosted on Google Cloud Platform (GCP). See the [GCP documentation]\nfor more information on how to create the VPC peering configuration.\n\n\u003e **Note:** Creating a VPC peering will automatically add firewall rules for the peered subnet.\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003ci\u003eDefault VPC peering firewall rule\u003c/i\u003e\n  \u003c/summary\u003e\n\nFor LavinMQ:\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// CloudAMQP instance\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-vpc-peering\",\n    plan: \"penguin-1\",\n    region: \"google-compute-engine::europe-north1\",\n    tags: [\"terraform\"],\n    vpcSubnet: \"10.40.72.0/24\",\n});\n// VPC information\nconst vpcInfo = instance.id.apply(id =\u003e cloudamqp.getVpcGcpInfoOutput({\n    instanceId: id,\n}));\n// VPC peering configuration\nconst vpcPeeringRequest = new cloudamqp.VpcGcpPeering(\"vpc_peering_request\", {\n    instanceId: instance.id,\n    peerNetworkUri: \"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# CloudAMQP instance\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-vpc-peering\",\n    plan=\"penguin-1\",\n    region=\"google-compute-engine::europe-north1\",\n    tags=[\"terraform\"],\n    vpc_subnet=\"10.40.72.0/24\")\n# VPC information\nvpc_info = instance.id.apply(lambda id: cloudamqp.get_vpc_gcp_info_output(instance_id=id))\n# VPC peering configuration\nvpc_peering_request = cloudamqp.VpcGcpPeering(\"vpc_peering_request\",\n    instance_id=instance.id,\n    peer_network_uri=\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // CloudAMQP instance\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-vpc-peering\",\n        Plan = \"penguin-1\",\n        Region = \"google-compute-engine::europe-north1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcSubnet = \"10.40.72.0/24\",\n    });\n\n    // VPC information\n    var vpcInfo = CloudAmqp.GetVpcGcpInfo.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    // VPC peering configuration\n    var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering(\"vpc_peering_request\", new()\n    {\n        InstanceId = instance.Id,\n        PeerNetworkUri = \"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// CloudAMQP instance\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-vpc-peering\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"google-compute-engine::europe-north1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcSubnet: pulumi.String(\"10.40.72.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// VPC information\n\t\t_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetVpcGcpInfoResult, error) {\n\t\t\treturn cloudamqp.GetVpcGcpInfoResult(interface{}(cloudamqp.GetVpcGcpInfo(ctx, \u0026cloudamqp.GetVpcGcpInfoArgs{\n\t\t\t\tInstanceId: pulumi.IntRef(pulumi.IntRef(int(id))),\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetVpcGcpInfoResultOutput)\n\t\t// VPC peering configuration\n\t\t_, err = cloudamqp.NewVpcGcpPeering(ctx, \"vpc_peering_request\", \u0026cloudamqp.VpcGcpPeeringArgs{\n\t\t\tInstanceId:     instance.ID(),\n\t\t\tPeerNetworkUri: pulumi.String(\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcGcpInfoArgs;\nimport com.pulumi.cloudamqp.VpcGcpPeering;\nimport com.pulumi.cloudamqp.VpcGcpPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // CloudAMQP instance\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-vpc-peering\")\n            .plan(\"penguin-1\")\n            .region(\"google-compute-engine::europe-north1\")\n            .tags(\"terraform\")\n            .vpcSubnet(\"10.40.72.0/24\")\n            .build());\n\n        // VPC information\n        final var vpcInfo = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getVpcGcpInfo(GetVpcGcpInfoArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n        // VPC peering configuration\n        var vpcPeeringRequest = new VpcGcpPeering(\"vpcPeeringRequest\", VpcGcpPeeringArgs.builder()\n            .instanceId(instance.id())\n            .peerNetworkUri(\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # CloudAMQP instance\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-vpc-peering\n      plan: penguin-1\n      region: google-compute-engine::europe-north1\n      tags:\n        - terraform\n      vpcSubnet: 10.40.72.0/24\n  # VPC peering configuration\n  vpcPeeringRequest:\n    type: cloudamqp:VpcGcpPeering\n    name: vpc_peering_request\n    properties:\n      instanceId: ${instance.id}\n      peerNetworkUri: https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\nvariables:\n  # VPC information\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcGcpInfo\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering from [v1.16.0] (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// Managed VPC resource\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"\u003cVPC name\u003e\",\n    region: \"google-compute-engine::europe-north1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [],\n});\n// CloudAMQP instance\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-vpc-peering\",\n    plan: \"penguin-1\",\n    region: \"google-compute-engine::europe-north1\",\n    tags: [\"terraform\"],\n    vpcId: vpc.id,\n});\n// VPC information\nconst vpcInfo = cloudamqp.getVpcGcpInfo({\n    vpcId: vpc.info,\n});\n// VPC peering configuration\nconst vpcPeeringRequest = new cloudamqp.VpcGcpPeering(\"vpc_peering_request\", {\n    vpcId: vpc.id,\n    peerNetworkUri: \"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# Managed VPC resource\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"\u003cVPC name\u003e\",\n    region=\"google-compute-engine::europe-north1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[])\n# CloudAMQP instance\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-vpc-peering\",\n    plan=\"penguin-1\",\n    region=\"google-compute-engine::europe-north1\",\n    tags=[\"terraform\"],\n    vpc_id=vpc.id)\n# VPC information\nvpc_info = cloudamqp.get_vpc_gcp_info(vpc_id=vpc.info)\n# VPC peering configuration\nvpc_peering_request = cloudamqp.VpcGcpPeering(\"vpc_peering_request\",\n    vpc_id=vpc.id,\n    peer_network_uri=\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Managed VPC resource\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"\u003cVPC name\u003e\",\n        Region = \"google-compute-engine::europe-north1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[] {},\n    });\n\n    // CloudAMQP instance\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-vpc-peering\",\n        Plan = \"penguin-1\",\n        Region = \"google-compute-engine::europe-north1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcId = vpc.Id,\n    });\n\n    // VPC information\n    var vpcInfo = CloudAmqp.GetVpcGcpInfo.Invoke(new()\n    {\n        VpcId = vpc.Info,\n    });\n\n    // VPC peering configuration\n    var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering(\"vpc_peering_request\", new()\n    {\n        VpcId = vpc.Id,\n        PeerNetworkUri = \"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Managed VPC resource\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"\u003cVPC name\u003e\"),\n\t\t\tRegion: pulumi.String(\"google-compute-engine::europe-north1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags:   pulumi.StringArray{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP instance\n\t\t_, err = cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-vpc-peering\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"google-compute-engine::europe-north1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcId: vpc.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// VPC information\n\t\t_, err = cloudamqp.GetVpcGcpInfo(ctx, \u0026cloudamqp.GetVpcGcpInfoArgs{\n\t\t\tVpcId: pulumi.StringRef(vpc.Info),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// VPC peering configuration\n\t\t_, err = cloudamqp.NewVpcGcpPeering(ctx, \"vpc_peering_request\", \u0026cloudamqp.VpcGcpPeeringArgs{\n\t\t\tVpcId:          vpc.ID(),\n\t\t\tPeerNetworkUri: pulumi.String(\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcGcpInfoArgs;\nimport com.pulumi.cloudamqp.VpcGcpPeering;\nimport com.pulumi.cloudamqp.VpcGcpPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Managed VPC resource\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"\u003cVPC name\u003e\")\n            .region(\"google-compute-engine::europe-north1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags()\n            .build());\n\n        // CloudAMQP instance\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-vpc-peering\")\n            .plan(\"penguin-1\")\n            .region(\"google-compute-engine::europe-north1\")\n            .tags(\"terraform\")\n            .vpcId(vpc.id())\n            .build());\n\n        // VPC information\n        final var vpcInfo = CloudamqpFunctions.getVpcGcpInfo(GetVpcGcpInfoArgs.builder()\n            .vpcId(vpc.info())\n            .build());\n\n        // VPC peering configuration\n        var vpcPeeringRequest = new VpcGcpPeering(\"vpcPeeringRequest\", VpcGcpPeeringArgs.builder()\n            .vpcId(vpc.id())\n            .peerNetworkUri(\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Managed VPC resource\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: \u003cVPC name\u003e\n      region: google-compute-engine::europe-north1\n      subnet: 10.56.72.0/24\n      tags: []\n  # CloudAMQP instance\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-vpc-peering\n      plan: penguin-1\n      region: google-compute-engine::europe-north1\n      tags:\n        - terraform\n      vpcId: ${vpc.id}\n  # VPC peering configuration\n  vpcPeeringRequest:\n    type: cloudamqp:VpcGcpPeering\n    name: vpc_peering_request\n    properties:\n      vpcId: ${vpc.id}\n      peerNetworkUri: https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\nvariables:\n  # VPC information\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcGcpInfo\n      arguments:\n        vpcId: ${vpc.info}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering from [v1.28.0],\u003cspan pulumi-lang-nodejs=\" waitOnPeeringStatus \" pulumi-lang-dotnet=\" WaitOnPeeringStatus \" pulumi-lang-go=\" waitOnPeeringStatus \" pulumi-lang-python=\" wait_on_peering_status \" pulumi-lang-yaml=\" waitOnPeeringStatus \" pulumi-lang-java=\" waitOnPeeringStatus \"\u003e wait_on_peering_status \u003c/span\u003e\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nDefault peering request, no need to set \u003cspan pulumi-lang-nodejs=\"`waitOnPeeringStatus`\" pulumi-lang-dotnet=\"`WaitOnPeeringStatus`\" pulumi-lang-go=\"`waitOnPeeringStatus`\" pulumi-lang-python=\"`wait_on_peering_status`\" pulumi-lang-yaml=\"`waitOnPeeringStatus`\" pulumi-lang-java=\"`waitOnPeeringStatus`\"\u003e`wait_on_peering_status`\u003c/span\u003e. It's default set to false and will\nnot wait on peering status. Create resource will be considered completed, regardless of the status\nof the state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpcPeeringRequest = new cloudamqp.VpcGcpPeering(\"vpc_peering_request\", {\n    vpcId: vpc.id,\n    peerNetworkUri: \"https://www.googleapis.com/compute/v1/projects/ROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc_peering_request = cloudamqp.VpcGcpPeering(\"vpc_peering_request\",\n    vpc_id=vpc[\"id\"],\n    peer_network_uri=\"https://www.googleapis.com/compute/v1/projects/ROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering(\"vpc_peering_request\", new()\n    {\n        VpcId = vpc.Id,\n        PeerNetworkUri = \"https://www.googleapis.com/compute/v1/projects/ROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewVpcGcpPeering(ctx, \"vpc_peering_request\", \u0026cloudamqp.VpcGcpPeeringArgs{\n\t\t\tVpcId:          pulumi.Any(vpc.Id),\n\t\t\tPeerNetworkUri: pulumi.String(\"https://www.googleapis.com/compute/v1/projects/ROJECT-NAME/global/networks/VPC-NETWORK-NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.VpcGcpPeering;\nimport com.pulumi.cloudamqp.VpcGcpPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcPeeringRequest = new VpcGcpPeering(\"vpcPeeringRequest\", VpcGcpPeeringArgs.builder()\n            .vpcId(vpc.id())\n            .peerNetworkUri(\"https://www.googleapis.com/compute/v1/projects/ROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcPeeringRequest:\n    type: cloudamqp:VpcGcpPeering\n    name: vpc_peering_request\n    properties:\n      vpcId: ${vpc.id}\n      peerNetworkUri: https://www.googleapis.com/compute/v1/projects/ROJECT-NAME/global/networks/VPC-NETWORK-NAME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nPeering request and waiting for peering status of the state to change to ACTIVE before the create\nresource is consider complete. This is done once both side have done the peering.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpcPeeringRequest = new cloudamqp.VpcGcpPeering(\"vpc_peering_request\", {\n    vpcId: vpc.id,\n    waitOnPeeringStatus: true,\n    peerNetworkUri: \"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc_peering_request = cloudamqp.VpcGcpPeering(\"vpc_peering_request\",\n    vpc_id=vpc[\"id\"],\n    wait_on_peering_status=True,\n    peer_network_uri=\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering(\"vpc_peering_request\", new()\n    {\n        VpcId = vpc.Id,\n        WaitOnPeeringStatus = true,\n        PeerNetworkUri = \"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewVpcGcpPeering(ctx, \"vpc_peering_request\", \u0026cloudamqp.VpcGcpPeeringArgs{\n\t\t\tVpcId:               pulumi.Any(vpc.Id),\n\t\t\tWaitOnPeeringStatus: pulumi.Bool(true),\n\t\t\tPeerNetworkUri:      pulumi.String(\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.VpcGcpPeering;\nimport com.pulumi.cloudamqp.VpcGcpPeeringArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var vpcPeeringRequest = new VpcGcpPeering(\"vpcPeeringRequest\", VpcGcpPeeringArgs.builder()\n            .vpcId(vpc.id())\n            .waitOnPeeringStatus(true)\n            .peerNetworkUri(\"https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vpcPeeringRequest:\n    type: cloudamqp:VpcGcpPeering\n    name: vpc_peering_request\n    properties:\n      vpcId: ${vpc.id}\n      waitOnPeeringStatus: true\n      peerNetworkUri: https://www.googleapis.com/compute/v1/projects/PROJECT-NAME/global/networks/VPC-NETWORK-NAME\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\n### With Additional Firewall Rules\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// VPC peering configuration\nconst vpcPeeringRequest = new cloudamqp.VpcGcpPeering(\"vpc_peering_request\", {\n    instanceId: instance.id,\n    peerNetworkUri: peerNetworkUri,\n});\n// Firewall rules\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            ip: peerSubnet,\n            ports: [\n                15672,\n                5552,\n                5551,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            description: \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            ip: \"192.168.0.0/24\",\n            ports: [\n                4567,\n                4568,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n    ],\n}, {\n    dependsOn: [vpcPeeringRequest],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# VPC peering configuration\nvpc_peering_request = cloudamqp.VpcGcpPeering(\"vpc_peering_request\",\n    instance_id=instance[\"id\"],\n    peer_network_uri=peer_network_uri)\n# Firewall rules\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance[\"id\"],\n    rules=[\n        {\n            \"ip\": peer_subnet,\n            \"ports\": [\n                15672,\n                5552,\n                5551,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            \"description\": \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            \"ip\": \"192.168.0.0/24\",\n            \"ports\": [\n                4567,\n                4568,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[vpc_peering_request]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // VPC peering configuration\n    var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering(\"vpc_peering_request\", new()\n    {\n        InstanceId = instance.Id,\n        PeerNetworkUri = peerNetworkUri,\n    });\n\n    // Firewall rules\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = peerSubnet,\n                Ports = new[]\n                {\n                    15672,\n                    5552,\n                    5551,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                },\n                Description = \"VPC peering for \u003cNETWORK\u003e\",\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"192.168.0.0/24\",\n                Ports = new[]\n                {\n                    4567,\n                    4568,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcPeeringRequest,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// VPC peering configuration\n\t\tvpcPeeringRequest, err := cloudamqp.NewVpcGcpPeering(ctx, \"vpc_peering_request\", \u0026cloudamqp.VpcGcpPeeringArgs{\n\t\t\tInstanceId:     pulumi.Any(instance.Id),\n\t\t\tPeerNetworkUri: pulumi.Any(peerNetworkUri),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Firewall rules\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.Any(peerSubnet),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(15672),\n\t\t\t\t\t\tpulumi.Int(5552),\n\t\t\t\t\t\tpulumi.Int(5551),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"VPC peering for \u003cNETWORK\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(4567),\n\t\t\t\t\t\tpulumi.Int(4568),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcPeeringRequest,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.VpcGcpPeering;\nimport com.pulumi.cloudamqp.VpcGcpPeeringArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // VPC peering configuration\n        var vpcPeeringRequest = new VpcGcpPeering(\"vpcPeeringRequest\", VpcGcpPeeringArgs.builder()\n            .instanceId(instance.id())\n            .peerNetworkUri(peerNetworkUri)\n            .build());\n\n        // Firewall rules\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .ip(peerSubnet)\n                    .ports(                    \n                        15672,\n                        5552,\n                        5551)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\")\n                    .description(\"VPC peering for \u003cNETWORK\u003e\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"192.168.0.0/24\")\n                    .ports(                    \n                        4567,\n                        4568)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vpcPeeringRequest)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # VPC peering configuration\n  vpcPeeringRequest:\n    type: cloudamqp:VpcGcpPeering\n    name: vpc_peering_request\n    properties:\n      instanceId: ${instance.id}\n      peerNetworkUri: ${peerNetworkUri}\n  # Firewall rules\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: ${peerSubnet}\n          ports:\n            - 15672\n            - 5552\n            - 5551\n          services:\n            - AMQP\n            - AMQPS\n          description: VPC peering for \u003cNETWORK\u003e\n        - ip: 192.168.0.0/24\n          ports:\n            - 4567\n            - 4568\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n    options:\n      dependsOn:\n        - ${vpcPeeringRequest}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering from [v1.16.0] (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// VPC peering configuration\nconst vpcPeeringRequest = new cloudamqp.VpcGcpPeering(\"vpc_peering_request\", {\n    vpcId: vpc.id,\n    peerNetworkUri: peerNetworkUri,\n});\n// Firewall rules\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            ip: peerSubnet,\n            ports: [\n                15672,\n                5552,\n                5551,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            description: \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            ip: \"0.0.0.0/0\",\n            ports: [],\n            services: [\"HTTPS\"],\n            description: \"MGMT interface\",\n        },\n    ],\n}, {\n    dependsOn: [vpcPeeringRequest],\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\n# VPC peering configuration\nvpc_peering_request = cloudamqp.VpcGcpPeering(\"vpc_peering_request\",\n    vpc_id=vpc[\"id\"],\n    peer_network_uri=peer_network_uri)\n# Firewall rules\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance[\"id\"],\n    rules=[\n        {\n            \"ip\": peer_subnet,\n            \"ports\": [\n                15672,\n                5552,\n                5551,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            \"description\": \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            \"ip\": \"0.0.0.0/0\",\n            \"ports\": [],\n            \"services\": [\"HTTPS\"],\n            \"description\": \"MGMT interface\",\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[vpc_peering_request]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // VPC peering configuration\n    var vpcPeeringRequest = new CloudAmqp.VpcGcpPeering(\"vpc_peering_request\", new()\n    {\n        VpcId = vpc.Id,\n        PeerNetworkUri = peerNetworkUri,\n    });\n\n    // Firewall rules\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = peerSubnet,\n                Ports = new[]\n                {\n                    15672,\n                    5552,\n                    5551,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                },\n                Description = \"VPC peering for \u003cNETWORK\u003e\",\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"0.0.0.0/0\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"HTTPS\",\n                },\n                Description = \"MGMT interface\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcPeeringRequest,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// VPC peering configuration\n\t\tvpcPeeringRequest, err := cloudamqp.NewVpcGcpPeering(ctx, \"vpc_peering_request\", \u0026cloudamqp.VpcGcpPeeringArgs{\n\t\t\tVpcId:          pulumi.Any(vpc.Id),\n\t\t\tPeerNetworkUri: pulumi.Any(peerNetworkUri),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Firewall rules\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.Any(peerSubnet),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(15672),\n\t\t\t\t\t\tpulumi.Int(5552),\n\t\t\t\t\t\tpulumi.Int(5551),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"VPC peering for \u003cNETWORK\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"MGMT interface\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcPeeringRequest,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.VpcGcpPeering;\nimport com.pulumi.cloudamqp.VpcGcpPeeringArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // VPC peering configuration\n        var vpcPeeringRequest = new VpcGcpPeering(\"vpcPeeringRequest\", VpcGcpPeeringArgs.builder()\n            .vpcId(vpc.id())\n            .peerNetworkUri(peerNetworkUri)\n            .build());\n\n        // Firewall rules\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .ip(peerSubnet)\n                    .ports(                    \n                        15672,\n                        5552,\n                        5551)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\")\n                    .description(\"VPC peering for \u003cNETWORK\u003e\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"0.0.0.0/0\")\n                    .ports()\n                    .services(\"HTTPS\")\n                    .description(\"MGMT interface\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vpcPeeringRequest)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # VPC peering configuration\n  vpcPeeringRequest:\n    type: cloudamqp:VpcGcpPeering\n    name: vpc_peering_request\n    properties:\n      vpcId: ${vpc.id}\n      peerNetworkUri: ${peerNetworkUri}\n  # Firewall rules\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: ${peerSubnet}\n          ports:\n            - 15672\n            - 5552\n            - 5551\n          services:\n            - AMQP\n            - AMQPS\n          description: VPC peering for \u003cNETWORK\u003e\n        - ip: 0.0.0.0/0\n          ports: []\n          services:\n            - HTTPS\n          description: MGMT interface\n    options:\n      dependsOn:\n        - ${vpcPeeringRequest}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n[CloudAMQP plans]: https://www.cloudamqp.com/plans.html\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e: https://registry.terraform.io/providers/cloudamqp/cloudamqp/latest/docs/resources/security_firewall\n[GCP documentation]: https://cloud.google.com/vpc/docs/using-vpc-peering\n[v1.16.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.16.0\n[v1.28.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.28.0\n[v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0\n\n## Dependency\n\n***From v1.16.0:***\nThis resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance\nidentifier, `cloudamqp_instance.instance.id`.\n\n***Before v1.16.0:***\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Create VPC peering with additional firewall rules\n\nTo create a VPC peering configuration with additional firewall rules, it's required to chain the\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e resource to avoid parallel conflicting resource calls. This is done by\nadding dependency from the firewall resource to the VPC peering resource.\n\nFurthermore, since all firewall rules are overwritten, the otherwise automatically added rules for\nthe VPC peering also needs to be added.\n\nSee example below.\n\n## Import\n\n***From v1.32.2:***\n\u003cspan pulumi-lang-nodejs=\"`cloudamqp.VpcGcpPeering`\" pulumi-lang-dotnet=\"`cloudamqp.VpcGcpPeering`\" pulumi-lang-go=\"`VpcGcpPeering`\" pulumi-lang-python=\"`VpcGcpPeering`\" pulumi-lang-yaml=\"`cloudamqp.VpcGcpPeering`\" pulumi-lang-java=\"`cloudamqp.VpcGcpPeering`\"\u003e`cloudamqp.VpcGcpPeering`\u003c/span\u003e can be imported while using the resource type, with CloudAMQP VPC\nidentifier or instance identifier together with *peering_network_uri* (CSV seperated).\n\n","properties":{"autoCreateRoutes":{"type":"boolean","description":"VPC peering auto created routes\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"peerNetworkUri":{"type":"string","description":"Network URI of the VPC network to which you will peer with.\nSee examples above for the format.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries when\nrequesting or reading peering. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"state":{"type":"string","description":"VPC peering state\n"},"stateDetails":{"type":"string","description":"VPC peering state details\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) before retries times\nout. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be required in next major version (v2.0)\n"},"waitOnPeeringStatus":{"type":"boolean","description":"Makes the resource wait until the peering is connected.\nDefault set to false.\n\n***Note:*** Available from [v1.28.0]\n"}},"required":["autoCreateRoutes","peerNetworkUri","state","stateDetails"],"inputProperties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"peerNetworkUri":{"type":"string","description":"Network URI of the VPC network to which you will peer with.\nSee examples above for the format.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries when\nrequesting or reading peering. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) before retries times\nout. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be required in next major version (v2.0)\n"},"waitOnPeeringStatus":{"type":"boolean","description":"Makes the resource wait until the peering is connected.\nDefault set to false.\n\n***Note:*** Available from [v1.28.0]\n"}},"requiredInputs":["peerNetworkUri"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcGcpPeering resources.\n","properties":{"autoCreateRoutes":{"type":"boolean","description":"VPC peering auto created routes\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"peerNetworkUri":{"type":"string","description":"Network URI of the VPC network to which you will peer with.\nSee examples above for the format.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries when\nrequesting or reading peering. Default set to 10 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"state":{"type":"string","description":"VPC peering state\n"},"stateDetails":{"type":"string","description":"VPC peering state details\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) before retries times\nout. Default set to 1800 seconds.\n\n***Note:*** Available from [v1.29.0]\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be required in next major version (v2.0)\n"},"waitOnPeeringStatus":{"type":"boolean","description":"Makes the resource wait until the peering is connected.\nDefault set to false.\n\n***Note:*** Available from [v1.28.0]\n"}},"type":"object"}},"cloudamqp:index/vpcPeering:VpcPeering":{"description":"This resouce allows you to accepting VPC peering request from an AWS requester. This is only\navailable for CloudAMQP instance hosted in AWS.\n\n\u003e **Note:** Creating a VPC peering will automatically add firewall rules for the peered subnet.\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003ci\u003eDefault VPC peering firewall rule\u003c/i\u003e\n  \u003c/summary\u003e\n\nFor LavinMQ:\n\n## Example Usage\n\nOne way to manage the vpc peering is to combine CloudAMQP Terraform provider with AWS Terraform\nprovider and run them at the same time.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS VPC peering before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// CloudAMQP - new instance, need to be created with a vpc\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-vpc-accepter\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-east-1\",\n    tags: [\"terraform\"],\n    vpcSubnet: \"10.40.72.0/24\",\n});\n// CloudAMQP - Extract vpc information\nconst vpcInfo = instance.id.apply(id =\u003e cloudamqp.getVpcInfoOutput({\n    instanceId: id,\n}));\n// AWS - retrieve instance to get subnet identifier\nconst awsInstance = aws.index.Instance({\n    instanceTags: {\n        name: awsInstanceName,\n    },\n});\n// AWS - retrieve subnet\nconst subnet = aws.index.Subnet({\n    id: awsInstance.subnetId,\n});\n// AWS - Create peering request\nconst awsVpcPeering = new aws.index.VpcPeeringConnection(\"aws_vpc_peering\", {\n    vpcId: subnet.vpcId,\n    peerVpcId: vpcInfo.id,\n    peerOwnerId: vpcInfo.ownerId,\n    tags: {\n        name: awsPeeringName,\n    },\n});\n// CloudAMQP - accept the peering request\nconst vpcAcceptPeering = new cloudamqp.VpcPeering(\"vpc_accept_peering\", {\n    instanceId: instance.id,\n    peeringId: awsVpcPeering.id,\n});\n// AWS - retrieve the route table created in AWS\nconst routeTable = aws.index.RouteTable({\n    vpcId: subnet.vpcId,\n});\n// AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\nconst accepterRoute = new aws.index.Route(\"accepter_route\", {\n    routeTableId: routeTable.routeTableId,\n    destinationCidrBlock: instance.vpcSubnet,\n    vpcPeeringConnectionId: awsVpcPeering.id,\n}, {\n    dependsOn: [vpcAcceptPeering],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_cloudamqp as cloudamqp\n\n# CloudAMQP - new instance, need to be created with a vpc\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-vpc-accepter\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-east-1\",\n    tags=[\"terraform\"],\n    vpc_subnet=\"10.40.72.0/24\")\n# CloudAMQP - Extract vpc information\nvpc_info = instance.id.apply(lambda id: cloudamqp.get_vpc_info_output(instance_id=id))\n# AWS - retrieve instance to get subnet identifier\naws_instance = aws.index.instance(instance_tags={\n    \"name\": aws_instance_name,\n})\n# AWS - retrieve subnet\nsubnet = aws.index.subnet(id=aws_instance[\"subnetId\"])\n# AWS - Create peering request\naws_vpc_peering = aws.index.VpcPeeringConnection(\"aws_vpc_peering\",\n    vpc_id=subnet.vpc_id,\n    peer_vpc_id=vpc_info.id,\n    peer_owner_id=vpc_info.owner_id,\n    tags={\n        name: aws_peering_name,\n    })\n# CloudAMQP - accept the peering request\nvpc_accept_peering = cloudamqp.VpcPeering(\"vpc_accept_peering\",\n    instance_id=instance.id,\n    peering_id=aws_vpc_peering[\"id\"])\n# AWS - retrieve the route table created in AWS\nroute_table = aws.index.route_table(vpc_id=subnet[\"vpcId\"])\n# AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\naccepter_route = aws.index.Route(\"accepter_route\",\n    route_table_id=route_table.route_table_id,\n    destination_cidr_block=instance.vpc_subnet,\n    vpc_peering_connection_id=aws_vpc_peering.id,\n    opts = pulumi.ResourceOptions(depends_on=[vpc_accept_peering]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // CloudAMQP - new instance, need to be created with a vpc\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-vpc-accepter\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-east-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcSubnet = \"10.40.72.0/24\",\n    });\n\n    // CloudAMQP - Extract vpc information\n    var vpcInfo = CloudAmqp.GetVpcInfo.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n    // AWS - retrieve instance to get subnet identifier\n    var awsInstance = Aws.Index.Instance.Invoke(new()\n    {\n        InstanceTags = \n        {\n            { \"name\", awsInstanceName },\n        },\n    });\n\n    // AWS - retrieve subnet\n    var subnet = Aws.Index.Subnet.Invoke(new()\n    {\n        Id = awsInstance.SubnetId,\n    });\n\n    // AWS - Create peering request\n    var awsVpcPeering = new Aws.Index.VpcPeeringConnection(\"aws_vpc_peering\", new()\n    {\n        VpcId = subnet.VpcId,\n        PeerVpcId = vpcInfo.Apply(getVpcInfoResult =\u003e getVpcInfoResult.Id),\n        PeerOwnerId = vpcInfo.Apply(getVpcInfoResult =\u003e getVpcInfoResult.OwnerId),\n        Tags = \n        {\n            { \"name\", awsPeeringName },\n        },\n    });\n\n    // CloudAMQP - accept the peering request\n    var vpcAcceptPeering = new CloudAmqp.VpcPeering(\"vpc_accept_peering\", new()\n    {\n        InstanceId = instance.Id,\n        PeeringId = awsVpcPeering.Id,\n    });\n\n    // AWS - retrieve the route table created in AWS\n    var routeTable = Aws.Index.RouteTable.Invoke(new()\n    {\n        VpcId = subnet.VpcId,\n    });\n\n    // AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n    var accepterRoute = new Aws.Index.Route(\"accepter_route\", new()\n    {\n        RouteTableId = routeTable.RouteTableId,\n        DestinationCidrBlock = instance.VpcSubnet,\n        VpcPeeringConnectionId = awsVpcPeering.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcAcceptPeering,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// CloudAMQP - new instance, need to be created with a vpc\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-vpc-accepter\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcSubnet: pulumi.String(\"10.40.72.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - Extract vpc information\n\t\tvpcInfo := instance.ID().ApplyT(func(id string) (cloudamqp.GetVpcInfoResult, error) {\n\t\t\treturn cloudamqp.GetVpcInfoResult(interface{}(cloudamqp.GetVpcInfo(ctx, \u0026cloudamqp.GetVpcInfoArgs{\n\t\t\t\tInstanceId: pulumi.IntRef(pulumi.IntRef(int(id))),\n\t\t\t}, nil))), nil\n\t\t}).(cloudamqp.GetVpcInfoResultOutput)\n\t\t// AWS - retrieve instance to get subnet identifier\n\t\tawsInstance, err := aws.Instance(ctx, map[string]interface{}{\n\t\t\t\"instanceTags\": map[string]interface{}{\n\t\t\t\t\"name\": awsInstanceName,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - retrieve subnet\n\t\tsubnet, err := aws.Subnet(ctx, map[string]interface{}{\n\t\t\t\"id\": awsInstance.SubnetId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - Create peering request\n\t\tawsVpcPeering, err := aws.NewVpcPeeringConnection(ctx, \"aws_vpc_peering\", \u0026aws.VpcPeeringConnectionArgs{\n\t\t\tVpcId:       subnet.VpcId,\n\t\t\tPeerVpcId:   vpcInfo.ID(),\n\t\t\tPeerOwnerId: vpcInfo.OwnerId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": awsPeeringName,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - accept the peering request\n\t\tvpcAcceptPeering, err := cloudamqp.NewVpcPeering(ctx, \"vpc_accept_peering\", \u0026cloudamqp.VpcPeeringArgs{\n\t\t\tInstanceId: instance.ID(),\n\t\t\tPeeringId:  awsVpcPeering.Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - retrieve the route table created in AWS\n\t\trouteTable, err := aws.RouteTable(ctx, map[string]interface{}{\n\t\t\t\"vpcId\": subnet.VpcId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n\t\t_, err = aws.NewRoute(ctx, \"accepter_route\", \u0026aws.RouteArgs{\n\t\t\tRouteTableId:           routeTable.RouteTableId,\n\t\t\tDestinationCidrBlock:   instance.VpcSubnet,\n\t\t\tVpcPeeringConnectionId: awsVpcPeering.Id,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcAcceptPeering,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcInfoArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.VpcPeeringConnection;\nimport com.pulumi.aws.VpcPeeringConnectionArgs;\nimport com.pulumi.cloudamqp.VpcPeering;\nimport com.pulumi.cloudamqp.VpcPeeringArgs;\nimport com.pulumi.aws.Route;\nimport com.pulumi.aws.RouteArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // CloudAMQP - new instance, need to be created with a vpc\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-vpc-accepter\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-east-1\")\n            .tags(\"terraform\")\n            .vpcSubnet(\"10.40.72.0/24\")\n            .build());\n\n        // CloudAMQP - Extract vpc information\n        final var vpcInfo = instance.id().applyValue(_id -\u003e CloudamqpFunctions.getVpcInfo(GetVpcInfoArgs.builder()\n            .instanceId(_id)\n            .build()));\n\n        // AWS - retrieve instance to get subnet identifier\n        final var awsInstance = AwsFunctions.Instance(Map.of(\"instanceTags\", Map.of(\"name\", awsInstanceName)));\n\n        // AWS - retrieve subnet\n        final var subnet = AwsFunctions.Subnet(Map.of(\"id\", awsInstance.subnetId()));\n\n        // AWS - Create peering request\n        var awsVpcPeering = new VpcPeeringConnection(\"awsVpcPeering\", VpcPeeringConnectionArgs.builder()\n            .vpcId(subnet.vpcId())\n            .peerVpcId(vpcInfo.id())\n            .peerOwnerId(vpcInfo.ownerId())\n            .tags(Map.of(\"name\", awsPeeringName))\n            .build());\n\n        // CloudAMQP - accept the peering request\n        var vpcAcceptPeering = new VpcPeering(\"vpcAcceptPeering\", VpcPeeringArgs.builder()\n            .instanceId(instance.id())\n            .peeringId(awsVpcPeering.id())\n            .build());\n\n        // AWS - retrieve the route table created in AWS\n        final var routeTable = AwsFunctions.RouteTable(Map.of(\"vpcId\", subnet.vpcId()));\n\n        // AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n        var accepterRoute = new Route(\"accepterRoute\", RouteArgs.builder()\n            .routeTableId(routeTable.routeTableId())\n            .destinationCidrBlock(instance.vpcSubnet())\n            .vpcPeeringConnectionId(awsVpcPeering.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(List.of(vpcAcceptPeering))\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # CloudAMQP - new instance, need to be created with a vpc\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-vpc-accepter\n      plan: penguin-1\n      region: amazon-web-services::us-east-1\n      tags:\n        - terraform\n      vpcSubnet: 10.40.72.0/24\n  # AWS - Create peering request\n  awsVpcPeering:\n    type: aws:VpcPeeringConnection\n    name: aws_vpc_peering\n    properties:\n      vpcId: ${subnet.vpcId}\n      peerVpcId: ${vpcInfo.id}\n      peerOwnerId: ${vpcInfo.ownerId}\n      tags:\n        name: ${awsPeeringName}\n  # CloudAMQP - accept the peering request\n  vpcAcceptPeering:\n    type: cloudamqp:VpcPeering\n    name: vpc_accept_peering\n    properties:\n      instanceId: ${instance.id}\n      peeringId: ${awsVpcPeering.id}\n  # AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n  accepterRoute:\n    type: aws:Route\n    name: accepter_route\n    properties:\n      routeTableId: ${routeTable.routeTableId}\n      destinationCidrBlock: ${instance.vpcSubnet}\n      vpcPeeringConnectionId: ${awsVpcPeering.id}\n    options:\n      dependsOn:\n        - ${vpcAcceptPeering}\nvariables:\n  # CloudAMQP - Extract vpc information\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcInfo\n      arguments:\n        instanceId: ${instance.id}\n  # AWS - retrieve instance to get subnet identifier\n  awsInstance:\n    fn::invoke:\n      function: aws:Instance\n      arguments:\n        instanceTags:\n          name: ${awsInstanceName}\n  # AWS - retrieve subnet\n  subnet:\n    fn::invoke:\n      function: aws:Subnet\n      arguments:\n        id: ${awsInstance.subnetId}\n  # AWS - retrieve the route table created in AWS\n  routeTable:\n    fn::invoke:\n      function: aws:RouteTable\n      arguments:\n        vpcId: ${subnet.vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS VPC peering from [v1.16.0] (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// CloudAMQP - Managed VPC resource\nconst vpc = new cloudamqp.Vpc(\"vpc\", {\n    name: \"\u003cVPC name\u003e\",\n    region: \"amazon-web-services::us-east-1\",\n    subnet: \"10.56.72.0/24\",\n    tags: [\"terraform\"],\n});\n// CloudAMQP - new instance, need to be created with a vpc\nconst instance = new cloudamqp.Instance(\"instance\", {\n    name: \"terraform-vpc-accepter\",\n    plan: \"penguin-1\",\n    region: \"amazon-web-services::us-east-1\",\n    tags: [\"terraform\"],\n    vpcId: vpc.id,\n    keepAssociatedVpc: true,\n});\n// CloudAMQP - Extract vpc information\nconst vpcInfo = cloudamqp.getVpcInfoOutput({\n    vpcId: vpc.id,\n});\n// AWS - retrieve instance to get subnet identifier\nconst awsInstance = aws.index.Instance({\n    instanceTags: {\n        name: awsInstanceName,\n    },\n});\n// AWS - retrieve subnet\nconst subnet = aws.index.Subnet({\n    id: awsInstance.subnetId,\n});\n// AWS - Create peering request\nconst awsVpcPeering = new aws.index.VpcPeeringConnection(\"aws_vpc_peering\", {\n    vpcId: subnet.vpcId,\n    peerVpcId: vpcInfo.id,\n    peerOwnerId: vpcInfo.ownerId,\n    tags: {\n        name: awsPeeringName,\n    },\n});\n// CloudAMQP - accept the peering request\nconst vpcAcceptPeering = new cloudamqp.VpcPeering(\"vpc_accept_peering\", {\n    vpcId: vpc.id,\n    peeringId: awsVpcPeering.id,\n    sleep: 30,\n    timeout: 600,\n});\n// AWS - retrieve the route table created in AWS\nconst routeTable = aws.index.RouteTable({\n    vpcId: subnet.vpcId,\n});\n// AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\nconst accepterRoute = new aws.index.Route(\"accepter_route\", {\n    routeTableId: routeTable.routeTableId,\n    destinationCidrBlock: instance.vpcSubnet,\n    vpcPeeringConnectionId: awsVpcPeering.id,\n}, {\n    dependsOn: [vpcAcceptPeering],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_cloudamqp as cloudamqp\n\n# CloudAMQP - Managed VPC resource\nvpc = cloudamqp.Vpc(\"vpc\",\n    name=\"\u003cVPC name\u003e\",\n    region=\"amazon-web-services::us-east-1\",\n    subnet=\"10.56.72.0/24\",\n    tags=[\"terraform\"])\n# CloudAMQP - new instance, need to be created with a vpc\ninstance = cloudamqp.Instance(\"instance\",\n    name=\"terraform-vpc-accepter\",\n    plan=\"penguin-1\",\n    region=\"amazon-web-services::us-east-1\",\n    tags=[\"terraform\"],\n    vpc_id=vpc.id,\n    keep_associated_vpc=True)\n# CloudAMQP - Extract vpc information\nvpc_info = cloudamqp.get_vpc_info_output(vpc_id=vpc.id)\n# AWS - retrieve instance to get subnet identifier\naws_instance = aws.index.instance(instance_tags={\n    \"name\": aws_instance_name,\n})\n# AWS - retrieve subnet\nsubnet = aws.index.subnet(id=aws_instance[\"subnetId\"])\n# AWS - Create peering request\naws_vpc_peering = aws.index.VpcPeeringConnection(\"aws_vpc_peering\",\n    vpc_id=subnet.vpc_id,\n    peer_vpc_id=vpc_info.id,\n    peer_owner_id=vpc_info.owner_id,\n    tags={\n        name: aws_peering_name,\n    })\n# CloudAMQP - accept the peering request\nvpc_accept_peering = cloudamqp.VpcPeering(\"vpc_accept_peering\",\n    vpc_id=vpc.id,\n    peering_id=aws_vpc_peering[\"id\"],\n    sleep=30,\n    timeout=600)\n# AWS - retrieve the route table created in AWS\nroute_table = aws.index.route_table(vpc_id=subnet[\"vpcId\"])\n# AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\naccepter_route = aws.index.Route(\"accepter_route\",\n    route_table_id=route_table.route_table_id,\n    destination_cidr_block=instance.vpc_subnet,\n    vpc_peering_connection_id=aws_vpc_peering.id,\n    opts = pulumi.ResourceOptions(depends_on=[vpc_accept_peering]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // CloudAMQP - Managed VPC resource\n    var vpc = new CloudAmqp.Vpc(\"vpc\", new()\n    {\n        Name = \"\u003cVPC name\u003e\",\n        Region = \"amazon-web-services::us-east-1\",\n        Subnet = \"10.56.72.0/24\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n    // CloudAMQP - new instance, need to be created with a vpc\n    var instance = new CloudAmqp.Instance(\"instance\", new()\n    {\n        Name = \"terraform-vpc-accepter\",\n        Plan = \"penguin-1\",\n        Region = \"amazon-web-services::us-east-1\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n        VpcId = vpc.Id,\n        KeepAssociatedVpc = true,\n    });\n\n    // CloudAMQP - Extract vpc information\n    var vpcInfo = CloudAmqp.GetVpcInfo.Invoke(new()\n    {\n        VpcId = vpc.Id,\n    });\n\n    // AWS - retrieve instance to get subnet identifier\n    var awsInstance = Aws.Index.Instance.Invoke(new()\n    {\n        InstanceTags = \n        {\n            { \"name\", awsInstanceName },\n        },\n    });\n\n    // AWS - retrieve subnet\n    var subnet = Aws.Index.Subnet.Invoke(new()\n    {\n        Id = awsInstance.SubnetId,\n    });\n\n    // AWS - Create peering request\n    var awsVpcPeering = new Aws.Index.VpcPeeringConnection(\"aws_vpc_peering\", new()\n    {\n        VpcId = subnet.VpcId,\n        PeerVpcId = vpcInfo.Apply(getVpcInfoResult =\u003e getVpcInfoResult.Id),\n        PeerOwnerId = vpcInfo.Apply(getVpcInfoResult =\u003e getVpcInfoResult.OwnerId),\n        Tags = \n        {\n            { \"name\", awsPeeringName },\n        },\n    });\n\n    // CloudAMQP - accept the peering request\n    var vpcAcceptPeering = new CloudAmqp.VpcPeering(\"vpc_accept_peering\", new()\n    {\n        VpcId = vpc.Id,\n        PeeringId = awsVpcPeering.Id,\n        Sleep = 30,\n        Timeout = 600,\n    });\n\n    // AWS - retrieve the route table created in AWS\n    var routeTable = Aws.Index.RouteTable.Invoke(new()\n    {\n        VpcId = subnet.VpcId,\n    });\n\n    // AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n    var accepterRoute = new Aws.Index.Route(\"accepter_route\", new()\n    {\n        RouteTableId = routeTable.RouteTableId,\n        DestinationCidrBlock = instance.VpcSubnet,\n        VpcPeeringConnectionId = awsVpcPeering.Id,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcAcceptPeering,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// CloudAMQP - Managed VPC resource\n\t\tvpc, err := cloudamqp.NewVpc(ctx, \"vpc\", \u0026cloudamqp.VpcArgs{\n\t\t\tName:   pulumi.String(\"\u003cVPC name\u003e\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tSubnet: pulumi.String(\"10.56.72.0/24\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - new instance, need to be created with a vpc\n\t\tinstance, err := cloudamqp.NewInstance(ctx, \"instance\", \u0026cloudamqp.InstanceArgs{\n\t\t\tName:   pulumi.String(\"terraform-vpc-accepter\"),\n\t\t\tPlan:   pulumi.String(\"penguin-1\"),\n\t\t\tRegion: pulumi.String(\"amazon-web-services::us-east-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t\tVpcId:             vpc.ID(),\n\t\t\tKeepAssociatedVpc: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - Extract vpc information\n\t\tvpcInfo := cloudamqp.GetVpcInfoOutput(ctx, cloudamqp.GetVpcInfoOutputArgs{\n\t\t\tVpcId: vpc.ID(),\n\t\t}, nil)\n\t\t// AWS - retrieve instance to get subnet identifier\n\t\tawsInstance, err := aws.Instance(ctx, map[string]interface{}{\n\t\t\t\"instanceTags\": map[string]interface{}{\n\t\t\t\t\"name\": awsInstanceName,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - retrieve subnet\n\t\tsubnet, err := aws.Subnet(ctx, map[string]interface{}{\n\t\t\t\"id\": awsInstance.SubnetId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - Create peering request\n\t\tawsVpcPeering, err := aws.NewVpcPeeringConnection(ctx, \"aws_vpc_peering\", \u0026aws.VpcPeeringConnectionArgs{\n\t\t\tVpcId:       subnet.VpcId,\n\t\t\tPeerVpcId:   vpcInfo.ID(),\n\t\t\tPeerOwnerId: vpcInfo.OwnerId,\n\t\t\tTags: map[string]interface{}{\n\t\t\t\t\"name\": awsPeeringName,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - accept the peering request\n\t\tvpcAcceptPeering, err := cloudamqp.NewVpcPeering(ctx, \"vpc_accept_peering\", \u0026cloudamqp.VpcPeeringArgs{\n\t\t\tVpcId:     vpc.ID(),\n\t\t\tPeeringId: awsVpcPeering.Id,\n\t\t\tSleep:     pulumi.Int(30),\n\t\t\tTimeout:   pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - retrieve the route table created in AWS\n\t\trouteTable, err := aws.RouteTable(ctx, map[string]interface{}{\n\t\t\t\"vpcId\": subnet.VpcId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n\t\t_, err = aws.NewRoute(ctx, \"accepter_route\", \u0026aws.RouteArgs{\n\t\t\tRouteTableId:           routeTable.RouteTableId,\n\t\t\tDestinationCidrBlock:   instance.VpcSubnet,\n\t\t\tVpcPeeringConnectionId: awsVpcPeering.Id,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcAcceptPeering,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Vpc;\nimport com.pulumi.cloudamqp.VpcArgs;\nimport com.pulumi.cloudamqp.Instance;\nimport com.pulumi.cloudamqp.InstanceArgs;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcInfoArgs;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.VpcPeeringConnection;\nimport com.pulumi.aws.VpcPeeringConnectionArgs;\nimport com.pulumi.cloudamqp.VpcPeering;\nimport com.pulumi.cloudamqp.VpcPeeringArgs;\nimport com.pulumi.aws.Route;\nimport com.pulumi.aws.RouteArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // CloudAMQP - Managed VPC resource\n        var vpc = new Vpc(\"vpc\", VpcArgs.builder()\n            .name(\"\u003cVPC name\u003e\")\n            .region(\"amazon-web-services::us-east-1\")\n            .subnet(\"10.56.72.0/24\")\n            .tags(\"terraform\")\n            .build());\n\n        // CloudAMQP - new instance, need to be created with a vpc\n        var instance = new Instance(\"instance\", InstanceArgs.builder()\n            .name(\"terraform-vpc-accepter\")\n            .plan(\"penguin-1\")\n            .region(\"amazon-web-services::us-east-1\")\n            .tags(\"terraform\")\n            .vpcId(vpc.id())\n            .keepAssociatedVpc(true)\n            .build());\n\n        // CloudAMQP - Extract vpc information\n        final var vpcInfo = CloudamqpFunctions.getVpcInfo(GetVpcInfoArgs.builder()\n            .vpcId(vpc.id())\n            .build());\n\n        // AWS - retrieve instance to get subnet identifier\n        final var awsInstance = AwsFunctions.Instance(Map.of(\"instanceTags\", Map.of(\"name\", awsInstanceName)));\n\n        // AWS - retrieve subnet\n        final var subnet = AwsFunctions.Subnet(Map.of(\"id\", awsInstance.subnetId()));\n\n        // AWS - Create peering request\n        var awsVpcPeering = new VpcPeeringConnection(\"awsVpcPeering\", VpcPeeringConnectionArgs.builder()\n            .vpcId(subnet.vpcId())\n            .peerVpcId(vpcInfo.id())\n            .peerOwnerId(vpcInfo.ownerId())\n            .tags(Map.of(\"name\", awsPeeringName))\n            .build());\n\n        // CloudAMQP - accept the peering request\n        var vpcAcceptPeering = new VpcPeering(\"vpcAcceptPeering\", VpcPeeringArgs.builder()\n            .vpcId(vpc.id())\n            .peeringId(awsVpcPeering.id())\n            .sleep(30)\n            .timeout(600)\n            .build());\n\n        // AWS - retrieve the route table created in AWS\n        final var routeTable = AwsFunctions.RouteTable(Map.of(\"vpcId\", subnet.vpcId()));\n\n        // AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n        var accepterRoute = new Route(\"accepterRoute\", RouteArgs.builder()\n            .routeTableId(routeTable.routeTableId())\n            .destinationCidrBlock(instance.vpcSubnet())\n            .vpcPeeringConnectionId(awsVpcPeering.id())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(List.of(vpcAcceptPeering))\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # CloudAMQP - Managed VPC resource\n  vpc:\n    type: cloudamqp:Vpc\n    properties:\n      name: \u003cVPC name\u003e\n      region: amazon-web-services::us-east-1\n      subnet: 10.56.72.0/24\n      tags:\n        - terraform\n  # CloudAMQP - new instance, need to be created with a vpc\n  instance:\n    type: cloudamqp:Instance\n    properties:\n      name: terraform-vpc-accepter\n      plan: penguin-1\n      region: amazon-web-services::us-east-1\n      tags:\n        - terraform\n      vpcId: ${vpc.id}\n      keepAssociatedVpc: true\n  # AWS - Create peering request\n  awsVpcPeering:\n    type: aws:VpcPeeringConnection\n    name: aws_vpc_peering\n    properties:\n      vpcId: ${subnet.vpcId}\n      peerVpcId: ${vpcInfo.id}\n      peerOwnerId: ${vpcInfo.ownerId}\n      tags:\n        name: ${awsPeeringName}\n  # CloudAMQP - accept the peering request\n  vpcAcceptPeering:\n    type: cloudamqp:VpcPeering\n    name: vpc_accept_peering\n    properties:\n      vpcId: ${vpc.id}\n      peeringId: ${awsVpcPeering.id}\n      sleep: 30\n      timeout: 600\n  # AWS - Once the peering request is accepted, configure routing table on accepter to allow traffic\n  accepterRoute:\n    type: aws:Route\n    name: accepter_route\n    properties:\n      routeTableId: ${routeTable.routeTableId}\n      destinationCidrBlock: ${instance.vpcSubnet}\n      vpcPeeringConnectionId: ${awsVpcPeering.id}\n    options:\n      dependsOn:\n        - ${vpcAcceptPeering}\nvariables:\n  # CloudAMQP - Extract vpc information\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcInfo\n      arguments:\n        vpcId: ${vpc.id}\n  # AWS - retrieve instance to get subnet identifier\n  awsInstance:\n    fn::invoke:\n      function: aws:Instance\n      arguments:\n        instanceTags:\n          name: ${awsInstanceName}\n  # AWS - retrieve subnet\n  subnet:\n    fn::invoke:\n      function: aws:Subnet\n      arguments:\n        id: ${awsInstance.subnetId}\n  # AWS - retrieve the route table created in AWS\n  routeTable:\n    fn::invoke:\n      function: aws:RouteTable\n      arguments:\n        vpcId: ${subnet.vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n \u003c/details\u003e\n\n\n### With Additional Firewall Rules\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// AWS - retrieve subnet\nconst subnet = aws.index.Subnet({\n    id: awsInstance.subnetId,\n});\n// CloudAMQP - accept the peering request\nconst vpcAcceptPeering = new cloudamqp.VpcPeering(\"vpc_accept_peering\", {\n    instanceId: instance.id,\n    peeringId: awsVpcPeering.id,\n});\n// Firewall rules\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            ip: awsInstance.subnetId,\n            ports: [\n                15672,\n                5552,\n                5551,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            description: \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            ip: \"192.168.0.0/24\",\n            ports: [\n                4567,\n                4568,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n    ],\n}, {\n    dependsOn: [vpcAcceptPeering],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_cloudamqp as cloudamqp\n\n# AWS - retrieve subnet\nsubnet = aws.index.subnet(id=aws_instance[\"subnetId\"])\n# CloudAMQP - accept the peering request\nvpc_accept_peering = cloudamqp.VpcPeering(\"vpc_accept_peering\",\n    instance_id=instance[\"id\"],\n    peering_id=aws_vpc_peering[\"id\"])\n# Firewall rules\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance[\"id\"],\n    rules=[\n        {\n            \"ip\": aws_instance[\"subnetId\"],\n            \"ports\": [\n                15672,\n                5552,\n                5551,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            \"description\": \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            \"ip\": \"192.168.0.0/24\",\n            \"ports\": [\n                4567,\n                4568,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n                \"HTTPS\",\n            ],\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[vpc_accept_peering]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // AWS - retrieve subnet\n    var subnet = Aws.Index.Subnet.Invoke(new()\n    {\n        Id = awsInstance.SubnetId,\n    });\n\n    // CloudAMQP - accept the peering request\n    var vpcAcceptPeering = new CloudAmqp.VpcPeering(\"vpc_accept_peering\", new()\n    {\n        InstanceId = instance.Id,\n        PeeringId = awsVpcPeering.Id,\n    });\n\n    // Firewall rules\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = awsInstance.SubnetId,\n                Ports = new[]\n                {\n                    15672,\n                    5552,\n                    5551,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                },\n                Description = \"VPC peering for \u003cNETWORK\u003e\",\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"192.168.0.0/24\",\n                Ports = new[]\n                {\n                    4567,\n                    4568,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                    \"HTTPS\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcAcceptPeering,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// AWS - retrieve subnet\n\t\t_, err := aws.Subnet(ctx, map[string]interface{}{\n\t\t\t\"id\": awsInstance.SubnetId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - accept the peering request\n\t\tvpcAcceptPeering, err := cloudamqp.NewVpcPeering(ctx, \"vpc_accept_peering\", \u0026cloudamqp.VpcPeeringArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tPeeringId:  pulumi.Any(awsVpcPeering.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Firewall rules\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.Any(awsInstance.SubnetId),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(15672),\n\t\t\t\t\t\tpulumi.Int(5552),\n\t\t\t\t\t\tpulumi.Int(5551),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"VPC peering for \u003cNETWORK\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.String(\"192.168.0.0/24\"),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(4567),\n\t\t\t\t\t\tpulumi.Int(4568),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcAcceptPeering,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.cloudamqp.VpcPeering;\nimport com.pulumi.cloudamqp.VpcPeeringArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // AWS - retrieve subnet\n        final var subnet = AwsFunctions.Subnet(Map.of(\"id\", awsInstance.subnetId()));\n\n        // CloudAMQP - accept the peering request\n        var vpcAcceptPeering = new VpcPeering(\"vpcAcceptPeering\", VpcPeeringArgs.builder()\n            .instanceId(instance.id())\n            .peeringId(awsVpcPeering.id())\n            .build());\n\n        // Firewall rules\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .ip(awsInstance.subnetId())\n                    .ports(                    \n                        15672,\n                        5552,\n                        5551)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\")\n                    .description(\"VPC peering for \u003cNETWORK\u003e\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"192.168.0.0/24\")\n                    .ports(                    \n                        4567,\n                        4568)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\",\n                        \"HTTPS\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vpcAcceptPeering)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # CloudAMQP - accept the peering request\n  vpcAcceptPeering:\n    type: cloudamqp:VpcPeering\n    name: vpc_accept_peering\n    properties:\n      instanceId: ${instance.id}\n      peeringId: ${awsVpcPeering.id}\n  # Firewall rules\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: ${awsInstance.subnetId}\n          ports:\n            - 15672\n            - 5552\n            - 5551\n          services:\n            - AMQP\n            - AMQPS\n          description: VPC peering for \u003cNETWORK\u003e\n        - ip: 192.168.0.0/24\n          ports:\n            - 4567\n            - 4568\n          services:\n            - AMQP\n            - AMQPS\n            - HTTPS\n    options:\n      dependsOn:\n        - ${vpcAcceptPeering}\nvariables:\n  # AWS - retrieve subnet\n  subnet:\n    fn::invoke:\n      function: aws:Subnet\n      arguments:\n        id: ${awsInstance.subnetId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eVPC peering from [v1.16.0] (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\n// AWS - retrieve subnet\nconst subnet = aws.index.Subnet({\n    id: awsInstance.subnetId,\n});\n// CloudAMQP - accept the peering request\nconst vpcAcceptPeering = new cloudamqp.VpcPeering(\"vpc_accept_peering\", {\n    vpcId: vpc.id,\n    peeringId: awsVpcPeering.id,\n    sleep: 30,\n    timeout: 600,\n});\n// AWS - VPC subnet for peering requester\nconst requesterVpc = aws.index.Vpc({\n    id: subnet.vpcId,\n});\n// CloudAMQP - Managed firewall rules\nconst firewallSettings = new cloudamqp.SecurityFirewall(\"firewall_settings\", {\n    instanceId: instance.id,\n    rules: [\n        {\n            ip: requesterVpc.cidrBlock,\n            ports: [\n                15672,\n                5552,\n                5551,\n            ],\n            services: [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            description: \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            ip: \"0.0.0.0/0\",\n            ports: [],\n            services: [\"HTTPS\"],\n            description: \"MGMT interface\",\n        },\n    ],\n}, {\n    dependsOn: [vpcAcceptPeering],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_cloudamqp as cloudamqp\n\n# AWS - retrieve subnet\nsubnet = aws.index.subnet(id=aws_instance[\"subnetId\"])\n# CloudAMQP - accept the peering request\nvpc_accept_peering = cloudamqp.VpcPeering(\"vpc_accept_peering\",\n    vpc_id=vpc[\"id\"],\n    peering_id=aws_vpc_peering[\"id\"],\n    sleep=30,\n    timeout=600)\n# AWS - VPC subnet for peering requester\nrequester_vpc = aws.index.vpc(id=subnet[\"vpcId\"])\n# CloudAMQP - Managed firewall rules\nfirewall_settings = cloudamqp.SecurityFirewall(\"firewall_settings\",\n    instance_id=instance[\"id\"],\n    rules=[\n        {\n            \"ip\": requester_vpc[\"cidrBlock\"],\n            \"ports\": [\n                15672,\n                5552,\n                5551,\n            ],\n            \"services\": [\n                \"AMQP\",\n                \"AMQPS\",\n            ],\n            \"description\": \"VPC peering for \u003cNETWORK\u003e\",\n        },\n        {\n            \"ip\": \"0.0.0.0/0\",\n            \"ports\": [],\n            \"services\": [\"HTTPS\"],\n            \"description\": \"MGMT interface\",\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[vpc_accept_peering]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // AWS - retrieve subnet\n    var subnet = Aws.Index.Subnet.Invoke(new()\n    {\n        Id = awsInstance.SubnetId,\n    });\n\n    // CloudAMQP - accept the peering request\n    var vpcAcceptPeering = new CloudAmqp.VpcPeering(\"vpc_accept_peering\", new()\n    {\n        VpcId = vpc.Id,\n        PeeringId = awsVpcPeering.Id,\n        Sleep = 30,\n        Timeout = 600,\n    });\n\n    // AWS - VPC subnet for peering requester\n    var requesterVpc = Aws.Index.Vpc.Invoke(new()\n    {\n        Id = subnet.VpcId,\n    });\n\n    // CloudAMQP - Managed firewall rules\n    var firewallSettings = new CloudAmqp.SecurityFirewall(\"firewall_settings\", new()\n    {\n        InstanceId = instance.Id,\n        Rules = new[]\n        {\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = requesterVpc.CidrBlock,\n                Ports = new[]\n                {\n                    15672,\n                    5552,\n                    5551,\n                },\n                Services = new[]\n                {\n                    \"AMQP\",\n                    \"AMQPS\",\n                },\n                Description = \"VPC peering for \u003cNETWORK\u003e\",\n            },\n            new CloudAmqp.Inputs.SecurityFirewallRuleArgs\n            {\n                Ip = \"0.0.0.0/0\",\n                Ports = new() { },\n                Services = new[]\n                {\n                    \"HTTPS\",\n                },\n                Description = \"MGMT interface\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            vpcAcceptPeering,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// AWS - retrieve subnet\n\t\tsubnet, err := aws.Subnet(ctx, map[string]interface{}{\n\t\t\t\"id\": awsInstance.SubnetId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - accept the peering request\n\t\tvpcAcceptPeering, err := cloudamqp.NewVpcPeering(ctx, \"vpc_accept_peering\", \u0026cloudamqp.VpcPeeringArgs{\n\t\t\tVpcId:     pulumi.Any(vpc.Id),\n\t\t\tPeeringId: pulumi.Any(awsVpcPeering.Id),\n\t\t\tSleep:     pulumi.Int(30),\n\t\t\tTimeout:   pulumi.Int(600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// AWS - VPC subnet for peering requester\n\t\trequesterVpc, err := aws.Vpc(ctx, map[string]interface{}{\n\t\t\t\"id\": subnet.VpcId,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// CloudAMQP - Managed firewall rules\n\t\t_, err = cloudamqp.NewSecurityFirewall(ctx, \"firewall_settings\", \u0026cloudamqp.SecurityFirewallArgs{\n\t\t\tInstanceId: pulumi.Any(instance.Id),\n\t\t\tRules: cloudamqp.SecurityFirewallRuleArray{\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp: pulumi.Any(requesterVpc.CidrBlock),\n\t\t\t\t\tPorts: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(15672),\n\t\t\t\t\t\tpulumi.Int(5552),\n\t\t\t\t\t\tpulumi.Int(5551),\n\t\t\t\t\t},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"AMQP\"),\n\t\t\t\t\t\tpulumi.String(\"AMQPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"VPC peering for \u003cNETWORK\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026cloudamqp.SecurityFirewallRuleArgs{\n\t\t\t\t\tIp:    pulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t\tPorts: pulumi.IntArray{},\n\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"HTTPS\"),\n\t\t\t\t\t},\n\t\t\t\t\tDescription: pulumi.String(\"MGMT interface\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tvpcAcceptPeering,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.cloudamqp.VpcPeering;\nimport com.pulumi.cloudamqp.VpcPeeringArgs;\nimport com.pulumi.cloudamqp.SecurityFirewall;\nimport com.pulumi.cloudamqp.SecurityFirewallArgs;\nimport com.pulumi.cloudamqp.inputs.SecurityFirewallRuleArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // AWS - retrieve subnet\n        final var subnet = AwsFunctions.Subnet(Map.of(\"id\", awsInstance.subnetId()));\n\n        // CloudAMQP - accept the peering request\n        var vpcAcceptPeering = new VpcPeering(\"vpcAcceptPeering\", VpcPeeringArgs.builder()\n            .vpcId(vpc.id())\n            .peeringId(awsVpcPeering.id())\n            .sleep(30)\n            .timeout(600)\n            .build());\n\n        // AWS - VPC subnet for peering requester\n        final var requesterVpc = AwsFunctions.Vpc(Map.of(\"id\", subnet.vpcId()));\n\n        // CloudAMQP - Managed firewall rules\n        var firewallSettings = new SecurityFirewall(\"firewallSettings\", SecurityFirewallArgs.builder()\n            .instanceId(instance.id())\n            .rules(            \n                SecurityFirewallRuleArgs.builder()\n                    .ip(requesterVpc.cidrBlock())\n                    .ports(                    \n                        15672,\n                        5552,\n                        5551)\n                    .services(                    \n                        \"AMQP\",\n                        \"AMQPS\")\n                    .description(\"VPC peering for \u003cNETWORK\u003e\")\n                    .build(),\n                SecurityFirewallRuleArgs.builder()\n                    .ip(\"0.0.0.0/0\")\n                    .ports()\n                    .services(\"HTTPS\")\n                    .description(\"MGMT interface\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(vpcAcceptPeering)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # CloudAMQP - accept the peering request\n  vpcAcceptPeering:\n    type: cloudamqp:VpcPeering\n    name: vpc_accept_peering\n    properties:\n      vpcId: ${vpc.id}\n      peeringId: ${awsVpcPeering.id}\n      sleep: 30\n      timeout: 600\n  # CloudAMQP - Managed firewall rules\n  firewallSettings:\n    type: cloudamqp:SecurityFirewall\n    name: firewall_settings\n    properties:\n      instanceId: ${instance.id}\n      rules:\n        - ip: ${requesterVpc.cidrBlock}\n          ports:\n            - 15672\n            - 5552\n            - 5551\n          services:\n            - AMQP\n            - AMQPS\n          description: VPC peering for \u003cNETWORK\u003e\n        - ip: 0.0.0.0/0\n          ports: []\n          services:\n            - HTTPS\n          description: MGMT interface\n    options:\n      dependsOn:\n        - ${vpcAcceptPeering}\nvariables:\n  # AWS - retrieve subnet\n  subnet:\n    fn::invoke:\n      function: aws:Subnet\n      arguments:\n        id: ${awsInstance.subnetId}\n  # AWS - VPC subnet for peering requester\n  requesterVpc:\n    fn::invoke:\n      function: aws:Vpc\n      arguments:\n        id: ${subnet.vpcId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n[CloudAMQP plans]: https://www.cloudamqp.com/plans.html\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e: ./security_firewall.md\n[data source]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/vpc_peering_connection\n[resource]: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_peering_connection\n[v1.16.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.16.0\n[v1.32.2]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.32.2\n\n## Dependency\n\n***Before v1.16.0:***\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n***From [v1.16.0]:***\nThis resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance\nidentifier, `cloudamqp_instance.instance.id`.\n\n## Create VPC Peering with additional firewall rules\n\nTo create a VPC peering configuration with additional firewall rules, it's required to chain the\n\u003cspan pulumi-lang-nodejs=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-dotnet=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-go=\"[SecurityFirewall]\" pulumi-lang-python=\"[SecurityFirewall]\" pulumi-lang-yaml=\"[cloudamqp.SecurityFirewall]\" pulumi-lang-java=\"[cloudamqp.SecurityFirewall]\"\u003e[cloudamqp.SecurityFirewall]\u003c/span\u003e resource to avoid parallel conflicting resource calls. You can do this\nby making the firewall resource depend on the VPC peering resource\n`cloudamqp_vpc_peering.vpc_accept_peering`.\n\nFurthermore, since all firewall rules are overwritten, the otherwise automatically added rules for\nthe VPC peering also needs to be added.\n\nSee example below.\n\n## Import\n\n***Before v1.32.2:***\nNot possible to import this resource.\n\n***From [v1.32.2]:***\n\u003cspan pulumi-lang-nodejs=\"`cloudamqp.VpcPeering`\" pulumi-lang-dotnet=\"`cloudamqp.VpcPeering`\" pulumi-lang-go=\"`VpcPeering`\" pulumi-lang-python=\"`VpcPeering`\" pulumi-lang-yaml=\"`cloudamqp.VpcPeering`\" pulumi-lang-java=\"`cloudamqp.VpcPeering`\"\u003e`cloudamqp.VpcPeering`\u003c/span\u003e can be imported while using the resource type, with CloudAMQP VPC\nidentifier or instance identifier together with *peering_id* (CSV seperated).\n\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"peeringId":{"type":"string","description":"Peering identifier created by AW peering request.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries for accepting or\nremoving peering. Default set to 60 seconds.\n"},"status":{"type":"string","description":"VPC peering status\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for accepting or removing\npeering. Default set to 3600 seconds.\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be required in next major version (v2.0)\n"}},"required":["peeringId","status"],"inputProperties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"peeringId":{"type":"string","description":"Peering identifier created by AW peering request.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries for accepting or\nremoving peering. Default set to 60 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for accepting or removing\npeering. Default set to 3600 seconds.\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be required in next major version (v2.0)\n"}},"requiredInputs":["peeringId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcPeering resources.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"peeringId":{"type":"string","description":"Peering identifier created by AW peering request.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries for accepting or\nremoving peering. Default set to 60 seconds.\n"},"status":{"type":"string","description":"VPC peering status\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for accepting or removing\npeering. Default set to 3600 seconds.\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be required in next major version (v2.0)\n"}},"type":"object"}},"cloudamqp:index/webhook:Webhook":{"description":"This resource allows you to add, update or remove a swebhook for a specific vhost and queue.\n\nOnly available for dedicated subscription plans.\n\n## Example Usage\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable webhook from \u003c/i\u003e\n      \u003ca href=\"https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.30.0\"\u003ev1.30.0\u003c/a\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nSupport to updating the resource which makes the argument no longer require `ForceNew` behaviour.\nThe argument \u003cspan pulumi-lang-nodejs=\"`retryInterval`\" pulumi-lang-dotnet=\"`RetryInterval`\" pulumi-lang-go=\"`retryInterval`\" pulumi-lang-python=\"`retry_interval`\" pulumi-lang-yaml=\"`retryInterval`\" pulumi-lang-java=\"`retryInterval`\"\u003e`retry_interval`\u003c/span\u003e have also been removed.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst webhookQueue = new cloudamqp.Webhook(\"webhook_queue\", {\n    instanceId: instance.id,\n    vhost: instance.vhost,\n    queue: \"webhook-queue\",\n    webhookUri: \"https://example.com/webhook?key=secret\",\n    concurrency: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nwebhook_queue = cloudamqp.Webhook(\"webhook_queue\",\n    instance_id=instance[\"id\"],\n    vhost=instance[\"vhost\"],\n    queue=\"webhook-queue\",\n    webhook_uri=\"https://example.com/webhook?key=secret\",\n    concurrency=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhookQueue = new CloudAmqp.Webhook(\"webhook_queue\", new()\n    {\n        InstanceId = instance.Id,\n        Vhost = instance.Vhost,\n        Queue = \"webhook-queue\",\n        WebhookUri = \"https://example.com/webhook?key=secret\",\n        Concurrency = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewWebhook(ctx, \"webhook_queue\", \u0026cloudamqp.WebhookArgs{\n\t\t\tInstanceId:  pulumi.Any(instance.Id),\n\t\t\tVhost:       pulumi.Any(instance.Vhost),\n\t\t\tQueue:       pulumi.String(\"webhook-queue\"),\n\t\t\tWebhookUri:  pulumi.String(\"https://example.com/webhook?key=secret\"),\n\t\t\tConcurrency: pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Webhook;\nimport com.pulumi.cloudamqp.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var webhookQueue = new Webhook(\"webhookQueue\", WebhookArgs.builder()\n            .instanceId(instance.id())\n            .vhost(instance.vhost())\n            .queue(\"webhook-queue\")\n            .webhookUri(\"https://example.com/webhook?key=secret\")\n            .concurrency(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  webhookQueue:\n    type: cloudamqp:Webhook\n    name: webhook_queue\n    properties:\n      instanceId: ${instance.id}\n      vhost: ${instance.vhost}\n      queue: webhook-queue\n      webhookUri: https://example.com/webhook?key=secret\n      concurrency: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eEnable webhook before v1.30.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\nFor more information see below versions section.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst webhookQueue = new cloudamqp.Webhook(\"webhook_queue\", {\n    instanceId: instance.id,\n    vhost: instance.vhost,\n    queue: \"webhook-queue\",\n    webhookUri: \"https://example.com/webhook?key=secret\",\n    retryInterval: 5,\n    concurrency: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nwebhook_queue = cloudamqp.Webhook(\"webhook_queue\",\n    instance_id=instance[\"id\"],\n    vhost=instance[\"vhost\"],\n    queue=\"webhook-queue\",\n    webhook_uri=\"https://example.com/webhook?key=secret\",\n    retry_interval=5,\n    concurrency=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhookQueue = new CloudAmqp.Webhook(\"webhook_queue\", new()\n    {\n        InstanceId = instance.Id,\n        Vhost = instance.Vhost,\n        Queue = \"webhook-queue\",\n        WebhookUri = \"https://example.com/webhook?key=secret\",\n        RetryInterval = 5,\n        Concurrency = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewWebhook(ctx, \"webhook_queue\", \u0026cloudamqp.WebhookArgs{\n\t\t\tInstanceId:    pulumi.Any(instance.Id),\n\t\t\tVhost:         pulumi.Any(instance.Vhost),\n\t\t\tQueue:         pulumi.String(\"webhook-queue\"),\n\t\t\tWebhookUri:    pulumi.String(\"https://example.com/webhook?key=secret\"),\n\t\t\tRetryInterval: 5,\n\t\t\tConcurrency:   pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Webhook;\nimport com.pulumi.cloudamqp.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var webhookQueue = new Webhook(\"webhookQueue\", WebhookArgs.builder()\n            .instanceId(instance.id())\n            .vhost(instance.vhost())\n            .queue(\"webhook-queue\")\n            .webhookUri(\"https://example.com/webhook?key=secret\")\n            .retryInterval(5)\n            .concurrency(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  webhookQueue:\n    type: cloudamqp:Webhook\n    name: webhook_queue\n    properties:\n      instanceId: ${instance.id}\n      vhost: ${instance.vhost}\n      queue: webhook-queue\n      webhookUri: https://example.com/webhook?key=secret\n      retryInterval: 5\n      concurrency: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Versions\n\nInformation for older versions\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003ci\u003eBefore v1.30.0\u003c/i\u003e\n  \u003c/summary\u003e\n\n  Versions before v1.30.0 doesn't support updating the resource, therefore all arguments using the\n  `ForceNew` behaviour. Any changes to an argument will destroy and re-create the resource. The\n  argument \u003cspan pulumi-lang-nodejs=\"`retryInterval`\" pulumi-lang-dotnet=\"`RetryInterval`\" pulumi-lang-go=\"`retryInterval`\" pulumi-lang-python=\"`retry_interval`\" pulumi-lang-yaml=\"`retryInterval`\" pulumi-lang-java=\"`retryInterval`\"\u003e`retry_interval`\u003c/span\u003e is set to required, even if it's no longer supported in the backend.\n\n  \u003cb\u003eExample Usage\u003c/b\u003e\n  \n  \u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst webhookQueue = new cloudamqp.Webhook(\"webhook_queue\", {\n    instanceId: instance.id,\n    vhost: instance.vhost,\n    queue: \"webhook-queue\",\n    webhookUri: \"https://example.com/webhook?key=secret\",\n    retryInterval: 5,\n    concurrency: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nwebhook_queue = cloudamqp.Webhook(\"webhook_queue\",\n    instance_id=instance[\"id\"],\n    vhost=instance[\"vhost\"],\n    queue=\"webhook-queue\",\n    webhook_uri=\"https://example.com/webhook?key=secret\",\n    retry_interval=5,\n    concurrency=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var webhookQueue = new CloudAmqp.Webhook(\"webhook_queue\", new()\n    {\n        InstanceId = instance.Id,\n        Vhost = instance.Vhost,\n        Queue = \"webhook-queue\",\n        WebhookUri = \"https://example.com/webhook?key=secret\",\n        RetryInterval = 5,\n        Concurrency = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.NewWebhook(ctx, \"webhook_queue\", \u0026cloudamqp.WebhookArgs{\n\t\t\tInstanceId:    pulumi.Any(instance.Id),\n\t\t\tVhost:         pulumi.Any(instance.Vhost),\n\t\t\tQueue:         pulumi.String(\"webhook-queue\"),\n\t\t\tWebhookUri:    pulumi.String(\"https://example.com/webhook?key=secret\"),\n\t\t\tRetryInterval: 5,\n\t\t\tConcurrency:   pulumi.Int(5),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.Webhook;\nimport com.pulumi.cloudamqp.WebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var webhookQueue = new Webhook(\"webhookQueue\", WebhookArgs.builder()\n            .instanceId(instance.id())\n            .vhost(instance.vhost())\n            .queue(\"webhook-queue\")\n            .webhookUri(\"https://example.com/webhook?key=secret\")\n            .retryInterval(5)\n            .concurrency(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  webhookQueue:\n    type: cloudamqp:Webhook\n    name: webhook_queue\n    properties:\n      instanceId: ${instance.id}\n      vhost: ${instance.vhost}\n      queue: webhook-queue\n      webhookUri: https://example.com/webhook?key=secret\n      retryInterval: 5\n      concurrency: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n  **Argument Reference**\n\n  The following arguments are supported:\n\n  \u003e * \u003cspan pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instance_id`\u003c/span\u003e     - (Required/ForceNew) The CloudAMQP instance ID.\n  \u003e * \u003cspan pulumi-lang-nodejs=\"`vhost`\" pulumi-lang-dotnet=\"`Vhost`\" pulumi-lang-go=\"`vhost`\" pulumi-lang-python=\"`vhost`\" pulumi-lang-yaml=\"`vhost`\" pulumi-lang-java=\"`vhost`\"\u003e`vhost`\u003c/span\u003e           - (Required/ForceNew) The vhost the queue resides in.\n  \u003e * \u003cspan pulumi-lang-nodejs=\"`queue`\" pulumi-lang-dotnet=\"`Queue`\" pulumi-lang-go=\"`queue`\" pulumi-lang-python=\"`queue`\" pulumi-lang-yaml=\"`queue`\" pulumi-lang-java=\"`queue`\"\u003e`queue`\u003c/span\u003e           - (Required/ForceNew) A (durable) queue on your RabbitMQ instance.\n  \u003e * \u003cspan pulumi-lang-nodejs=\"`webhookUri`\" pulumi-lang-dotnet=\"`WebhookUri`\" pulumi-lang-go=\"`webhookUri`\" pulumi-lang-python=\"`webhook_uri`\" pulumi-lang-yaml=\"`webhookUri`\" pulumi-lang-java=\"`webhookUri`\"\u003e`webhook_uri`\u003c/span\u003e     - (Required/ForceNew) A POST request will be made for each message in the\n                          queue to this endpoint.\n  \u003e * \u003cspan pulumi-lang-nodejs=\"`retryInterval`\" pulumi-lang-dotnet=\"`RetryInterval`\" pulumi-lang-go=\"`retryInterval`\" pulumi-lang-python=\"`retry_interval`\" pulumi-lang-yaml=\"`retryInterval`\" pulumi-lang-java=\"`retryInterval`\"\u003e`retry_interval`\u003c/span\u003e  - (Required/ForceNew) How often we retry if your endpoint fails (in seconds).\n  \u003e * \u003cspan pulumi-lang-nodejs=\"`concurrency`\" pulumi-lang-dotnet=\"`Concurrency`\" pulumi-lang-go=\"`concurrency`\" pulumi-lang-python=\"`concurrency`\" pulumi-lang-yaml=\"`concurrency`\" pulumi-lang-java=\"`concurrency`\"\u003e`concurrency`\u003c/span\u003e     - (Required/ForceNew) Max simultaneous requests to the endpoint.\n\n\u003c/details\u003e\n\n[CloudAMQP API list webhooks]: https://docs.cloudamqp.com/instance-api.html#tag/webhooks/get/webhooks\n\n","properties":{"concurrency":{"type":"integer","description":"Max simultaneous requests to the endpoint.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"queue":{"type":"string","description":"A (durable) queue on your RabbitMQ instance.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for webhook"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for webhook"},"vhost":{"type":"string","description":"The vhost the queue resides in.\n"},"webhookUri":{"type":"string","description":"A POST request will be made for each message in the queue to this\nendpoint.\n"}},"required":["concurrency","instanceId","queue","sleep","timeout","vhost","webhookUri"],"inputProperties":{"concurrency":{"type":"integer","description":"Max simultaneous requests to the endpoint.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"queue":{"type":"string","description":"A (durable) queue on your RabbitMQ instance.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for webhook"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for webhook"},"vhost":{"type":"string","description":"The vhost the queue resides in.\n"},"webhookUri":{"type":"string","description":"A POST request will be made for each message in the queue to this\nendpoint.\n"}},"requiredInputs":["concurrency","instanceId","queue","vhost","webhookUri"],"stateInputs":{"description":"Input properties used for looking up and filtering Webhook resources.\n","properties":{"concurrency":{"type":"integer","description":"Max simultaneous requests to the endpoint.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance ID.\n"},"queue":{"type":"string","description":"A (durable) queue on your RabbitMQ instance.\n"},"sleep":{"type":"integer","description":"Configurable sleep time in seconds between retries for webhook"},"timeout":{"type":"integer","description":"Configurable timeout time in seconds for webhook"},"vhost":{"type":"string","description":"The vhost the queue resides in.\n"},"webhookUri":{"type":"string","description":"A POST request will be made for each message in the queue to this\nendpoint.\n"}},"type":"object"}}},"functions":{"cloudamqp:index/getAccount:getAccount":{"description":"Use this data source to retrieve basic information about all instances available for an account.\nUses the included apikey in provider configuration, to determine which account to read from.\n\n","outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instances":{"description":"An array of instances. Each \u003cspan pulumi-lang-nodejs=\"`instances`\" pulumi-lang-dotnet=\"`Instances`\" pulumi-lang-go=\"`instances`\" pulumi-lang-python=\"`instances`\" pulumi-lang-yaml=\"`instances`\" pulumi-lang-java=\"`instances`\"\u003e`instances`\u003c/span\u003e block consists of the fields documented\nbelow.\n","items":{"$ref":"#/types/cloudamqp:index/getAccountInstance:getAccountInstance"},"type":"array"}},"required":["instances","id"],"type":"object"}},"cloudamqp:index/getAccountVpcs:getAccountVpcs":{"description":"Use this data source to retrieve basic information about all standalone VPCs available for an\naccount. Uses the included apikey in provider configuration to determine which account to read from.\n\n## Example Usage\n\nCan be used in other resources/data sources when the VPC identifier is unknown, while other\nattributes are known. E.g. find correct VPC using the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e you gave your VPC. Then iterate over\nVPCs to find the matching one and extract the VPC identifier.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst myVpcName = \"\u003cyour VPC name\u003e\";\nconst vpcList = cloudamqp.getAccountVpcs({});\nexport const vpcId = vpcList.then(vpcList =\u003e .filter(vpc =\u003e vpc.name == myVpcName).map(vpc =\u003e (vpc))[0].id);\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nmy_vpc_name = \"\u003cyour VPC name\u003e\"\nvpc_list = cloudamqp.get_account_vpcs()\npulumi.export(\"vpcId\", [vpc for vpc in vpc_list.vpcs if vpc.name == my_vpc_name][0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myVpcName = \"\u003cyour VPC name\u003e\";\n\n    var vpcList = CloudAmqp.GetAccountVpcs.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"vpcId\"] = .Where(vpc =\u003e vpc.Name == myVpcName).Select(vpc =\u003e \n        {\n            return vpc;\n        }).ToList()[0].Id,\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on apikey set in the provider configuration.\n","outputs":{"description":"A collection of values returned by getAccountVpcs.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"vpcs":{"description":"An array of VPCs. Each \u003cspan pulumi-lang-nodejs=\"`vpcs`\" pulumi-lang-dotnet=\"`Vpcs`\" pulumi-lang-go=\"`vpcs`\" pulumi-lang-python=\"`vpcs`\" pulumi-lang-yaml=\"`vpcs`\" pulumi-lang-java=\"`vpcs`\"\u003e`vpcs`\u003c/span\u003e block consists of the fields documented below.\n","items":{"$ref":"#/types/cloudamqp:index/getAccountVpcsVpc:getAccountVpcsVpc"},"type":"array"}},"required":["vpcs","id"],"type":"object"}},"cloudamqp:index/getAlarm:getAlarm":{"description":"Use this data source to retrieve information about default or created alarms. Either use \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e\nor \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e to retrieve the alarm.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst defaultCpuAlarm = cloudamqp.getAlarm({\n    instanceId: instance.id,\n    type: \"cpu\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndefault_cpu_alarm = cloudamqp.get_alarm(instance_id=instance[\"id\"],\n    type=\"cpu\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var defaultCpuAlarm = CloudAmqp.GetAlarm.Invoke(new()\n    {\n        InstanceId = instance.Id,\n        Type = \"cpu\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.LookupAlarm(ctx, \u0026cloudamqp.LookupAlarmArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t\tType:       pulumi.StringRef(\"cpu\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetAlarmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var defaultCpuAlarm = CloudamqpFunctions.getAlarm(GetAlarmArgs.builder()\n            .instanceId(instance.id())\n            .type(\"cpu\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  defaultCpuAlarm:\n    fn::invoke:\n      function: cloudamqp:getAlarm\n      arguments:\n        instanceId: ${instance.id}\n        type: cpu\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Alarm Types\n\n`cpu, memory, disk, queue, connection, flow, consumer, netsplit, server_unreachable, notice`\n","inputs":{"description":"A collection of arguments for invoking getAlarm.\n","properties":{"alarmId":{"type":"integer","description":"The alarm identifier. Either use this or \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e to give\n\u003cspan pulumi-lang-nodejs=\"`cloudamqp.Alarm`\" pulumi-lang-dotnet=\"`cloudamqp.Alarm`\" pulumi-lang-go=\"`Alarm`\" pulumi-lang-python=\"`Alarm`\" pulumi-lang-yaml=\"`cloudamqp.Alarm`\" pulumi-lang-java=\"`cloudamqp.Alarm`\"\u003e`cloudamqp.Alarm`\u003c/span\u003e necessary information to retrieve the alarm.\n"},"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"type":{"type":"string","description":"The alarm type. Either use this or \u003cspan pulumi-lang-nodejs=\"`alarmId`\" pulumi-lang-dotnet=\"`AlarmId`\" pulumi-lang-go=\"`alarmId`\" pulumi-lang-python=\"`alarm_id`\" pulumi-lang-yaml=\"`alarmId`\" pulumi-lang-java=\"`alarmId`\"\u003e`alarm_id`\u003c/span\u003e to give \u003cspan pulumi-lang-nodejs=\"`cloudamqp.Alarm`\" pulumi-lang-dotnet=\"`cloudamqp.Alarm`\" pulumi-lang-go=\"`Alarm`\" pulumi-lang-python=\"`Alarm`\" pulumi-lang-yaml=\"`cloudamqp.Alarm`\" pulumi-lang-java=\"`cloudamqp.Alarm`\"\u003e`cloudamqp.Alarm`\u003c/span\u003e\nnecessary information when retrieve the alarm. Supported\nalarm types.\n"},"valueCalculation":{"type":"string","description":"Disk value threshold calculation, `(fixed, percentage)` of disk space\nremaining.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getAlarm.\n","properties":{"alarmId":{"type":"integer"},"enabled":{"description":"Enable/disable status of the alarm.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"messageType":{"description":"Message type `(total, unacked, ready)` used by queue alarm type.\n","type":"string"},"queueRegex":{"description":"Regular expression for which queue to check.\n","type":"string"},"recipients":{"description":"Identifier for recipient to be notified.\n","items":{"type":"integer"},"type":"array"},"reminderInterval":{"description":"The reminder interval (in seconds) to resend the alarm if not resolved.\nSet to 0 for no reminders.\n","type":"integer"},"timeThreshold":{"description":"The time interval (in seconds) the \u003cspan pulumi-lang-nodejs=\"`valueThreshold`\" pulumi-lang-dotnet=\"`ValueThreshold`\" pulumi-lang-go=\"`valueThreshold`\" pulumi-lang-python=\"`value_threshold`\" pulumi-lang-yaml=\"`valueThreshold`\" pulumi-lang-java=\"`valueThreshold`\"\u003e`value_threshold`\u003c/span\u003e should be active\nbefore trigger an alarm.\n","type":"integer"},"type":{"type":"string"},"valueCalculation":{"description":"Disk value threshold calculation, `(fixed, percentage)` of disk space\nremaining.\n","type":"string"},"valueThreshold":{"description":"The value threshold that triggers the alarm.\n","type":"integer"},"vhostRegex":{"description":"Regular expression for which vhost to check\n","type":"string"}},"required":["enabled","instanceId","messageType","queueRegex","recipients","reminderInterval","timeThreshold","valueThreshold","vhostRegex","id"],"type":"object"}},"cloudamqp:index/getAlarms:getAlarms":{"description":"Use this data source to retrieve a list of default or created alarms.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst queueAlarms = cloudamqp.getAlarms({\n    instanceId: instance.id,\n    type: \"queue\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nqueue_alarms = cloudamqp.get_alarms(instance_id=instance[\"id\"],\n    type=\"queue\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var queueAlarms = CloudAmqp.GetAlarms.Invoke(new()\n    {\n        InstanceId = instance.Id,\n        Type = \"queue\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetAlarms(ctx, \u0026cloudamqp.GetAlarmsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t\tType:       pulumi.StringRef(\"queue\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetAlarmsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var queueAlarms = CloudamqpFunctions.getAlarms(GetAlarmsArgs.builder()\n            .instanceId(instance.id())\n            .type(\"queue\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  queueAlarms:\n    fn::invoke:\n      function: cloudamqp:getAlarms\n      arguments:\n        instanceId: ${instance.id}\n        type: queue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n## Alarm Types\n\n`cpu, memory, disk, queue, connection, flow, consumer, netsplit, server_unreachable, notice`\n","inputs":{"description":"A collection of arguments for invoking getAlarms.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"type":{"type":"string","description":"The alarm type to filter for. Supported\nalarm types.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getAlarms.\n","properties":{"alarms":{"description":"List of alarms (see below for nested schema)\n","items":{"$ref":"#/types/cloudamqp:index/getAlarmsAlarm:getAlarmsAlarm"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"type":{"description":"The type of the alarm.\n","type":"string"}},"required":["alarms","instanceId","id"],"type":"object"}},"cloudamqp:index/getCredentials:getCredentials":{"description":"Use this data source to retrieve information about the credentials of the configured user in\nRabbitMQ. Information is extracted from `cloudamqp_instance.instance.url`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst credentials = cloudamqp.getCredentials({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncredentials = cloudamqp.get_credentials(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var credentials = CloudAmqp.GetCredentials.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetCredentials(ctx, \u0026cloudamqp.GetCredentialsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var credentials = CloudamqpFunctions.getCredentials(GetCredentialsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  credentials:\n    fn::invoke:\n      function: cloudamqp:getCredentials\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getCredentials.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getCredentials.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"password":{"description":"(Sensitive) The password used by the \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e.\n","secret":true,"type":"string"},"username":{"description":"(Sensitive) The username for the configured user in Rabbit MQ.\n","secret":true,"type":"string"}},"required":["instanceId","password","username","id"],"type":"object"}},"cloudamqp:index/getInstance:getInstance":{"description":"Use this data source to retrieve information about an already created CloudAMQP instance. In order\nto retrieve the correct information, the CoudAMQP instance identifier is needed.\n\n","inputs":{"description":"A collection of arguments for invoking getInstance.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getInstance.\n","properties":{"apikey":{"description":"(Sensitive) The API key to secondary API handing alarms, integration etc.\n","secret":true,"type":"string"},"backend":{"description":"Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.\n","type":"string"},"dedicated":{"description":"Information if the CloudAMQP instance is shared or dedicated.\n","type":"boolean"},"host":{"description":"The external hostname for the CloudAMQP instance.\n","type":"string"},"hostInternal":{"description":"The internal hostname for the CloudAMQP instance.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"name":{"description":"The name of the CloudAMQP instance.\n","type":"string"},"noDefaultAlarms":{"type":"boolean"},"nodes":{"description":"Number of nodes in the cluster of the CloudAMQP instance.\n","type":"integer"},"plan":{"description":"The subscription plan for the CloudAMQP instance.\n","type":"string"},"ready":{"type":"boolean"},"region":{"description":"The cloud platform and region that host the CloudAMQP instance,\n`{platform}::{region}`.\n","type":"string"},"rmqVersion":{"description":"The version of installed Rabbit MQ.\n","type":"string"},"tags":{"description":"Tags the CloudAMQP instance with categories.\n","items":{"type":"string"},"type":"array"},"url":{"description":"(Sensitive) The AMQP URL (uses the internal hostname if the instance was created\nwith VPC), used by clients to connect for pub/sub.\n","secret":true,"type":"string"},"vhost":{"description":"The virtual host configured in Rabbit MQ.\n","type":"string"},"vpcId":{"description":"ID of the VPC configured for the CloudAMQP instance.\n","type":"integer"},"vpcSubnet":{"description":"Dedicated VPC subnet configured for the CloudAMQP instance.\n","type":"string"}},"required":["apikey","backend","dedicated","host","hostInternal","instanceId","name","noDefaultAlarms","nodes","plan","ready","region","rmqVersion","tags","url","vhost","vpcId","vpcSubnet","id"],"type":"object"}},"cloudamqp:index/getNodes:getNodes":{"description":"Use this data source to retrieve information about the node(s) created by CloudAMQP instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst nodes = cloudamqp.getNodes({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nnodes = cloudamqp.get_nodes(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nodes = CloudAmqp.GetNodes.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetNodes(ctx, \u0026cloudamqp.GetNodesArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNodesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nodes:\n    fn::invoke:\n      function: cloudamqp:getNodes\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getNodes.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getNodes.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"nodes":{"description":"An array of node information. Each \u003cspan pulumi-lang-nodejs=\"`nodes`\" pulumi-lang-dotnet=\"`Nodes`\" pulumi-lang-go=\"`nodes`\" pulumi-lang-python=\"`nodes`\" pulumi-lang-yaml=\"`nodes`\" pulumi-lang-java=\"`nodes`\"\u003e`nodes`\u003c/span\u003e block consists of the fields documented below.\n","items":{"$ref":"#/types/cloudamqp:index/getNodesNode:getNodesNode"},"type":"array"}},"required":["instanceId","nodes","id"],"type":"object"}},"cloudamqp:index/getNotification:getNotification":{"description":"Use this data source to retrieve information about default or created recipients. The recipient will\nreceive notifications assigned to an alarm that has triggered. To retrieve the recipient either use\n\u003cspan pulumi-lang-nodejs=\"`recipientId`\" pulumi-lang-dotnet=\"`RecipientId`\" pulumi-lang-go=\"`recipientId`\" pulumi-lang-python=\"`recipient_id`\" pulumi-lang-yaml=\"`recipientId`\" pulumi-lang-java=\"`recipientId`\"\u003e`recipient_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst defaultRecipient = cloudamqp.getNotification({\n    instanceId: instance.id,\n    name: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndefault_recipient = cloudamqp.get_notification(instance_id=instance[\"id\"],\n    name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var defaultRecipient = CloudAmqp.GetNotification.Invoke(new()\n    {\n        InstanceId = instance.Id,\n        Name = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.LookupNotification(ctx, \u0026cloudamqp.LookupNotificationArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t\tName:       pulumi.StringRef(\"default\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNotificationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var defaultRecipient = CloudamqpFunctions.getNotification(GetNotificationArgs.builder()\n            .instanceId(instance.id())\n            .name(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  defaultRecipient:\n    fn::invoke:\n      function: cloudamqp:getNotification\n      arguments:\n        instanceId: ${instance.id}\n        name: default\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getNotification.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"name":{"type":"string","description":"The name set for the recipient.\n"},"options":{"type":"object","additionalProperties":{"type":"string"},"description":"Options argument (e.g. \u003cspan pulumi-lang-nodejs=\"`rk`\" pulumi-lang-dotnet=\"`Rk`\" pulumi-lang-go=\"`rk`\" pulumi-lang-python=\"`rk`\" pulumi-lang-yaml=\"`rk`\" pulumi-lang-java=\"`rk`\"\u003e`rk`\u003c/span\u003e used for VictorOps routing key).\n"},"recipientId":{"type":"integer","description":"The recipient identifier.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getNotification.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"name":{"type":"string"},"options":{"additionalProperties":{"type":"string"},"description":"Options argument (e.g. \u003cspan pulumi-lang-nodejs=\"`rk`\" pulumi-lang-dotnet=\"`Rk`\" pulumi-lang-go=\"`rk`\" pulumi-lang-python=\"`rk`\" pulumi-lang-yaml=\"`rk`\" pulumi-lang-java=\"`rk`\"\u003e`rk`\u003c/span\u003e used for VictorOps routing key).\n","type":"object"},"recipientId":{"type":"integer"},"type":{"description":"The type of the recipient.\n","type":"string"},"value":{"description":"The notification endpoint, where to send the notification.\n","type":"string"}},"required":["instanceId","type","value","id"],"type":"object"}},"cloudamqp:index/getNotifications:getNotifications":{"description":"Use this data source to retrieve information about all notification recipients. Each recipient will\nreceive notifications assigned to an alarm that has triggered.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst defaultRecipient = cloudamqp.getNotifications({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ndefault_recipient = cloudamqp.get_notifications(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var defaultRecipient = CloudAmqp.GetNotifications.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetNotifications(ctx, \u0026cloudamqp.GetNotificationsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetNotificationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var defaultRecipient = CloudamqpFunctions.getNotifications(GetNotificationsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  defaultRecipient:\n    fn::invoke:\n      function: cloudamqp:getNotifications\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getNotifications.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getNotifications.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"recipients":{"description":"List of alarms (see below for nested schema)\n","items":{"$ref":"#/types/cloudamqp:index/getNotificationsRecipient:getNotificationsRecipient"},"type":"array"}},"required":["instanceId","recipients","id"],"type":"object"}},"cloudamqp:index/getPlugins:getPlugins":{"description":"Use this data source to retrieve information about installed and available plugins for the CloudAMQP\ninstance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst plugins = cloudamqp.getPlugins({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nplugins = cloudamqp.get_plugins(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var plugins = CloudAmqp.GetPlugins.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetPlugins(ctx, \u0026cloudamqp.GetPluginsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetPluginsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var plugins = CloudamqpFunctions.getPlugins(GetPluginsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  plugins:\n    fn::invoke:\n      function: cloudamqp:getPlugins\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getPlugins.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about plugins. Default set to 10 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about plugins. Default set to 1800 seconds.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getPlugins.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"plugins":{"description":"An array of plugins. Each \u003cspan pulumi-lang-nodejs=\"`plugins`\" pulumi-lang-dotnet=\"`Plugins`\" pulumi-lang-go=\"`plugins`\" pulumi-lang-python=\"`plugins`\" pulumi-lang-yaml=\"`plugins`\" pulumi-lang-java=\"`plugins`\"\u003e`plugins`\u003c/span\u003e block consists of the fields documented below.\n","items":{"$ref":"#/types/cloudamqp:index/getPluginsPlugin:getPluginsPlugin"},"type":"array"},"sleep":{"type":"integer"},"timeout":{"type":"integer"}},"required":["instanceId","plugins","id"],"type":"object"}},"cloudamqp:index/getPluginsCommunity:getPluginsCommunity":{"description":"Use this data source to retrieve information about available community plugins for the CloudAMQP\ninstance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst communitPlugins = cloudamqp.getPluginsCommunity({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\ncommunit_plugins = cloudamqp.get_plugins_community(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var communitPlugins = CloudAmqp.GetPluginsCommunity.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetPluginsCommunity(ctx, \u0026cloudamqp.GetPluginsCommunityArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetPluginsCommunityArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var communitPlugins = CloudamqpFunctions.getPluginsCommunity(GetPluginsCommunityArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  communitPlugins:\n    fn::invoke:\n      function: cloudamqp:getPluginsCommunity\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getPluginsCommunity.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) for retries when requesting\ninformation about community plugins. Default set to 10 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) for retries when requesting\ninformation about community plugins. Default set to 1800 seconds.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getPluginsCommunity.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"plugins":{"description":"An array of community plugins. Each \u003cspan pulumi-lang-nodejs=\"`plugins`\" pulumi-lang-dotnet=\"`Plugins`\" pulumi-lang-go=\"`plugins`\" pulumi-lang-python=\"`plugins`\" pulumi-lang-yaml=\"`plugins`\" pulumi-lang-java=\"`plugins`\"\u003e`plugins`\u003c/span\u003e block consists of the fields documented\nbelow.\n","items":{"$ref":"#/types/cloudamqp:index/getPluginsCommunityPlugin:getPluginsCommunityPlugin"},"type":"array"},"sleep":{"type":"integer"},"timeout":{"type":"integer"}},"required":["instanceId","plugins","id"],"type":"object"}},"cloudamqp:index/getUpgradableVersions:getUpgradableVersions":{"description":"Use this data source to retrieve information about possible upgradable versions for RabbitMQ and\nErlang.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst versions = cloudamqp.getUpgradableVersions({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nversions = cloudamqp.get_upgradable_versions(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetUpgradableVersions(ctx, \u0026cloudamqp.GetUpgradableVersionsArgs{\n\t\t\tInstanceId: instance.Id,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  versions:\n    fn::invoke:\n      function: cloudamqp:getUpgradableVersions\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Dependency\n\nThis data source depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n","inputs":{"description":"A collection of arguments for invoking getUpgradableVersions.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n"}},"type":"object","required":["instanceId"]},"outputs":{"description":"A collection of values returned by getUpgradableVersions.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"newErlangVersion":{"description":"Possible upgradable version for Erlang.\n","type":"string"},"newRabbitmqVersion":{"description":"Possible upgradable version for RabbitMQ.\n","type":"string"}},"required":["instanceId","newErlangVersion","newRabbitmqVersion","id"],"type":"object"}},"cloudamqp:index/getVpcGcpInfo:getVpcGcpInfo":{"description":"Use this data source to retrieve information about VPC for a CloudAMQP instance.\n\n\u003e **Note:** Only available for CloudAMQP instances/VPCs hosted in Google Cloud Platform (GCP).\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS VPC peering before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpcInfo = cloudamqp.getVpcGcpInfo({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc_info = cloudamqp.get_vpc_gcp_info(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcInfo = CloudAmqp.GetVpcGcpInfo.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetVpcGcpInfo(ctx, \u0026cloudamqp.GetVpcGcpInfoArgs{\n\t\t\tInstanceId: pulumi.IntRef(instance.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcGcpInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vpcInfo = CloudamqpFunctions.getVpcGcpInfo(GetVpcGcpInfoArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcGcpInfo\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS VPC peering from [v1.16.0] (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpcInfo = cloudamqp.getVpcGcpInfo({\n    vpcId: vpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc_info = cloudamqp.get_vpc_gcp_info(vpc_id=vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcInfo = CloudAmqp.GetVpcGcpInfo.Invoke(new()\n    {\n        VpcId = vpc.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetVpcGcpInfo(ctx, \u0026cloudamqp.GetVpcGcpInfoArgs{\n\t\t\tVpcId: pulumi.StringRef(vpc.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcGcpInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vpcInfo = CloudamqpFunctions.getVpcGcpInfo(GetVpcGcpInfoArgs.builder()\n            .vpcId(vpc.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcGcpInfo\n      arguments:\n        vpcId: ${vpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\n***Before v1.16.0:***\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n***From [v1.16.0]***\nThis resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance\nidentifier, `cloudamqp_instance.instance.id`.\n\n[v1.16.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.16.0\n","inputs":{"description":"A collection of arguments for invoking getVpcGcpInfo.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"sleep":{"type":"integer","description":"Configurable sleep time (seconds) between retries when reading peering.\nDefault set to 10 seconds.\n"},"timeout":{"type":"integer","description":"Configurable timeout time (seconds) before retries times out. Default\nset to 1800 seconds.\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be removed in next major version (v2.0)\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcGcpInfo.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"name":{"description":"The name of the VPC.\n","type":"string"},"network":{"description":"VPC network uri.\n","type":"string"},"sleep":{"type":"integer"},"timeout":{"type":"integer"},"vpcId":{"type":"string"},"vpcSubnet":{"description":"Dedicated VPC subnet.\n","type":"string"}},"required":["name","network","vpcSubnet","id"],"type":"object"}},"cloudamqp:index/getVpcInfo:getVpcInfo":{"description":"Use this data source to retrieve information about VPC for a CloudAMQP instance.\n\n\u003e **Note:** Only available for CloudAMQP instances/VPCs hosted in AWS.\n\n## Example Usage\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS VPC peering before v1.16.0\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpcInfo = cloudamqp.getVpcInfo({\n    instanceId: instance.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc_info = cloudamqp.get_vpc_info(instance_id=instance[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcInfo = CloudAmqp.GetVpcInfo.Invoke(new()\n    {\n        InstanceId = instance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetVpcInfo(ctx, \u0026cloudamqp.GetVpcInfoArgs{\n\t\t\tInstanceId: pulumi.IntRef(instance.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vpcInfo = CloudamqpFunctions.getVpcInfo(GetVpcInfoArgs.builder()\n            .instanceId(instance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcInfo\n      arguments:\n        instanceId: ${instance.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\n    \u003cb\u003e\n      \u003ci\u003eAWS VPC peering from [v1.16.0] (Managed VPC)\u003c/i\u003e\n    \u003c/b\u003e\n  \u003c/summary\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cloudamqp from \"@pulumi/cloudamqp\";\n\nconst vpcInfo = cloudamqp.getVpcInfo({\n    vpcId: vpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_cloudamqp as cloudamqp\n\nvpc_info = cloudamqp.get_vpc_info(vpc_id=vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CloudAmqp = Pulumi.CloudAmqp;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vpcInfo = CloudAmqp.GetVpcInfo.Invoke(new()\n    {\n        VpcId = vpc.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudamqp.GetVpcInfo(ctx, \u0026cloudamqp.GetVpcInfoArgs{\n\t\t\tVpcId: pulumi.StringRef(vpc.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cloudamqp.CloudamqpFunctions;\nimport com.pulumi.cloudamqp.inputs.GetVpcInfoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vpcInfo = CloudamqpFunctions.getVpcInfo(GetVpcInfoArgs.builder()\n            .vpcId(vpc.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vpcInfo:\n    fn::invoke:\n      function: cloudamqp:getVpcInfo\n      arguments:\n        vpcId: ${vpc.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c/details\u003e\n\n## Dependency\n\n*Before v1.16.0*\nThis resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.\n\n*From [v1.16.0]*\nThis resource depends on CloudAMQP managed VPC identifier, `cloudamqp_vpc.vpc.id` or instance\nidentifier, `cloudamqp_instance.instance.id`.\n\n[v1.16.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.16.0\n","inputs":{"description":"A collection of arguments for invoking getVpcInfo.\n","properties":{"instanceId":{"type":"integer","description":"The CloudAMQP instance identifier.\n\n***Deprecated:*** from [v1.16.0], will be removed in next major version (v2.0)\n"},"vpcId":{"type":"string","description":"The managed VPC identifier.\n\n***Note:*** Available from [v1.16.0], will be removed in next major version (v2.0)\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVpcInfo.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"instanceId":{"type":"integer"},"name":{"description":"The name of the CloudAMQP instance.\n","type":"string"},"ownerId":{"description":"AWS account identifier.\n","type":"string"},"securityGroupId":{"description":"AWS security group identifier.\n","type":"string"},"vpcId":{"type":"string"},"vpcSubnet":{"description":"Dedicated VPC subnet.\n","type":"string"}},"required":["name","ownerId","securityGroupId","vpcSubnet","id"],"type":"object"}},"pulumi:providers:cloudamqp/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:cloudamqp/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}