{
  "name": "vultr",
  "displayName": "Vultr",
  "version": "2.27.1",
  "description": "A Pulumi package for creating and managing Vultr cloud resources.",
  "keywords": [
    "pulumi",
    "vultr",
    "category/utility"
  ],
  "homepage": "https://www.pulumi.com",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`vultr` Terraform Provider](https://github.com/vultr/terraform-provider-vultr).",
  "repository": "https://github.com/dirien/pulumi-vultr",
  "pluginDownloadURL": "github://api.github.com/dirien/pulumi-vultr",
  "publisher": "dirien",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "ediri"
    },
    "go": {
      "importBasePath": "github.com/dirien/pulumi-vultr/sdk/v2/go/vultr",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "nodejs": {
      "packageName": "@ediri/vultr",
      "packageDescription": "A Pulumi package for creating and managing Vultr cloud resources.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/vultr/terraform-provider-vultr)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-vultr` repo](https://github.com/dirien/pulumi-vultr/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-vultr` repo](https://github.com/vultr/terraform-provider-vultr/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "ediri_vultr",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/vultr/terraform-provider-vultr)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-vultr` repo](https://github.com/dirien/pulumi-vultr/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-vultr` repo](https://github.com/vultr/terraform-provider-vultr/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "apiKey": {
        "type": "string",
        "description": "The API Key that allows interaction with the API",
        "defaultInfo": {
          "environment": [
            "VULTR_API_KEY"
          ]
        },
        "secret": true
      },
      "rateLimit": {
        "type": "integer",
        "description": "Allows users to set the speed of API calls to work with the Vultr Rate Limit",
        "default": 500
      },
      "retryLimit": {
        "type": "integer",
        "description": "Allows users to set the maximum number of retries allowed for a failed API call.",
        "default": 3
      }
    },
    "defaults": [
      "apiKey"
    ]
  },
  "types": {
    "vultr:index/DatabaseReadReplica:DatabaseReadReplica": {
      "properties": {
        "backupHour": {
          "type": "string",
          "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "backupMinute": {
          "type": "string",
          "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "clusterTimeZone": {
          "type": "string",
          "description": "The configured time zone for the Managed Database in TZ database format (e.g. `UTC`, `America/New_York`, `Europe/London`).\n"
        },
        "databaseEngine": {
          "type": "string",
          "description": "The database engine of the new managed database.\n"
        },
        "databaseEngineVersion": {
          "type": "string",
          "description": "The database engine version of the new managed database.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the managed database was added to your Vultr account.\n"
        },
        "dbname": {
          "type": "string",
          "description": "The managed database's default logical database.\n"
        },
        "evictionPolicy": {
          "type": "string",
          "description": "The configuration value for the data eviction policy on the managed database (Valkey engine types only - `noeviction`, `allkeys-lru`, `volatile-lru`, `allkeys-random`, `volatile-random`, `volatile-ttl`, `volatile-lfu`, `allkeys-lfu`).\n"
        },
        "ferretdbCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "host": {
          "type": "string",
          "description": "The hostname assigned to the managed database.\n"
        },
        "id": {
          "type": "string",
          "description": "The ID of the managed database.\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the managed database.\n"
        },
        "latestBackup": {
          "type": "string",
          "description": "The date of the latest backup available on the managed database.\n"
        },
        "maintenanceDow": {
          "type": "string",
          "description": "The preferred maintenance day of week for the managed database.\n"
        },
        "maintenanceTime": {
          "type": "string",
          "description": "The preferred maintenance time for the managed database.\n"
        },
        "mysqlLongQueryTime": {
          "type": "integer",
          "description": "The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only).\n"
        },
        "mysqlRequirePrimaryKey": {
          "type": "boolean",
          "description": "The configuration value for whether primary keys are required on the managed database (MySQL engine types only).\n"
        },
        "mysqlSlowQueryLog": {
          "type": "boolean",
          "description": "The configuration value for slow query logging on the managed database (MySQL engine types only).\n"
        },
        "mysqlSqlModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SQL modes to configure for the managed database (MySQL engine types only - `ALLOW_INVALID_DATES`, `ANSI`, `ANSI_QUOTES`, `ERROR_FOR_DIVISION_BY_ZERO`, `HIGH_NOT_PRECEDENCE`, `IGNORE_SPACE`, `NO_AUTO_VALUE_ON_ZERO`, `NO_DIR_IN_CREATE`, `NO_ENGINE_SUBSTITUTION`, `NO_UNSIGNED_SUBTRACTION`, `NO_ZERO_DATE`, `NO_ZERO_IN_DATE`, `ONLY_FULL_GROUP_BY`, `PIPES_AS_CONCAT`, `REAL_AS_FLOAT`, `STRICT_ALL_TABLES`, `STRICT_TRANS_TABLES`, `TIME_TRUNCATE_FRACTIONAL`, `TRADITIONAL`).\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the managed database's primary admin user.\n"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the managed database to subscribe to. [See List Managed Database Plans](https://www.vultr.com/api/#tag/managed-databases/operation/list-database-plans)\n"
        },
        "planDisk": {
          "type": "integer",
          "description": "The description of the disk(s) on the managed database.\n"
        },
        "planRam": {
          "type": "integer",
          "description": "The amount of memory available on the managed database in MB.\n"
        },
        "planReplicas": {
          "type": "integer",
          "description": "The number of standby nodes available on the managed database (excluded for Kafka engine types).\n"
        },
        "planVcpus": {
          "type": "integer",
          "description": "The number of virtual CPUs available on the managed database.\n"
        },
        "port": {
          "type": "string",
          "description": "The connection port for the managed database.\n"
        },
        "publicHost": {
          "type": "string",
          "description": "The public hostname assigned to the managed database (VPC-attached only).\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the managed database is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "status": {
          "type": "string",
          "description": "The current status of the managed database (poweroff, rebuilding, rebalancing, configuring, running).\n"
        },
        "tag": {
          "type": "string",
          "description": "The tag to assign to the managed database.\n"
        },
        "trustedIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of allowed IP addresses for the managed database.\n"
        },
        "user": {
          "type": "string",
          "description": "The primary admin user for the managed database.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC Network to attach to the Managed Database.\n"
        }
      },
      "type": "object",
      "required": [
        "label",
        "region"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backupHour",
            "backupMinute",
            "clusterTimeZone",
            "databaseEngine",
            "databaseEngineVersion",
            "dateCreated",
            "dbname",
            "evictionPolicy",
            "ferretdbCredentials",
            "host",
            "id",
            "label",
            "latestBackup",
            "maintenanceDow",
            "maintenanceTime",
            "mysqlLongQueryTime",
            "mysqlRequirePrimaryKey",
            "mysqlSlowQueryLog",
            "mysqlSqlModes",
            "password",
            "plan",
            "planDisk",
            "planRam",
            "planReplicas",
            "planVcpus",
            "port",
            "publicHost",
            "region",
            "status",
            "tag",
            "trustedIps",
            "user",
            "vpcId"
          ]
        }
      }
    },
    "vultr:index/DatabaseUserAccessControl:DatabaseUserAccessControl": {
      "properties": {
        "aclCategories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of command category rules for this managed database user.\n"
        },
        "aclChannels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of publish/subscribe channel patterns for this managed database user.\n"
        },
        "aclCommands": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of individual command rules for this managed database user.\n"
        },
        "aclKeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of access rules for this managed database user.\n"
        }
      },
      "type": "object",
      "required": [
        "aclCategories",
        "aclChannels",
        "aclCommands",
        "aclKeys"
      ]
    },
    "vultr:index/InstanceBackupsSchedule:InstanceBackupsSchedule": {
      "properties": {
        "dom": {
          "type": "integer",
          "description": "Day of month to run. Use values between 1 and 28.\n"
        },
        "dow": {
          "type": "integer",
          "description": "Day of week to run. `1 = Sunday`, `2 = Monday`, `3 = Tuesday`, `4 = Wednesday`, `5 = Thursday`, `6 = Friday`, `7 = Saturday`\n"
        },
        "hour": {
          "type": "integer",
          "description": "Hour of day to run in UTC.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of backup schedule Possible values are `daily`, `weekly`, `monthly`, `daily_alt_even`, or `daily_alt_odd`.\n"
        }
      },
      "type": "object",
      "required": [
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dom",
            "dow",
            "hour",
            "type"
          ]
        }
      }
    },
    "vultr:index/KubernetesNodePools:KubernetesNodePools": {
      "properties": {
        "autoScaler": {
          "type": "boolean",
          "description": "Enable the auto scaler for the default node pool.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "Date node was created.\n"
        },
        "dateUpdated": {
          "type": "string",
          "description": "Date of node pool updates.\n"
        },
        "id": {
          "type": "string",
          "description": "ID of node.\n"
        },
        "label": {
          "type": "string",
          "description": "The label to be used as a prefix for nodes in this node pool.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of key/value pairs for Kubernetes node labels.\n"
        },
        "maxNodes": {
          "type": "integer",
          "description": "The maximum number of nodes to use with the auto scaler.\n"
        },
        "minNodes": {
          "type": "integer",
          "description": "The minimum number of nodes to use with the auto scaler.\n"
        },
        "nodeQuantity": {
          "type": "integer",
          "description": "The number of nodes in this node pool.\n"
        },
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FKubernetesNodePoolsNode:KubernetesNodePoolsNode"
          },
          "description": "Array that contains information about nodes within this node pool.\n"
        },
        "plan": {
          "type": "string",
          "description": "The plan to be used in this node pool. [See Plans List](https://www.vultr.com/api/#operation/list-plans) Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of node.\n"
        },
        "tag": {
          "type": "string",
          "description": "Tag for node pool.\n"
        },
        "taints": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FKubernetesNodePoolsTaint:KubernetesNodePoolsTaint"
          },
          "description": "Taints to apply to the nodes in the node pool. Should contain `key`, `value` and `effect`.  The `effect` should be one of `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"
        },
        "userData": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "label",
        "nodeQuantity",
        "plan"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dateCreated",
            "dateUpdated",
            "id",
            "label",
            "nodeQuantity",
            "nodes",
            "plan",
            "status",
            "tag"
          ]
        }
      }
    },
    "vultr:index/KubernetesNodePoolsNode:KubernetesNodePoolsNode": {
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "Date node was created.\n"
        },
        "id": {
          "type": "string",
          "description": "ID of node.\n"
        },
        "label": {
          "type": "string",
          "description": "The label to be used as a prefix for nodes in this node pool.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of node.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "dateCreated",
            "id",
            "label",
            "status"
          ]
        }
      }
    },
    "vultr:index/KubernetesNodePoolsTaint:KubernetesNodePoolsTaint": {
      "properties": {
        "effect": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "effect",
        "key",
        "value"
      ]
    },
    "vultr:index/LoadBalancerFirewallRule:LoadBalancerFirewallRule": {
      "properties": {
        "id": {
          "type": "string",
          "description": "The load balancer ID.\n"
        },
        "ipType": {
          "type": "string",
          "description": "The type of ip this rule is - may be either v4 or v6.\n"
        },
        "port": {
          "type": "integer",
          "description": "The assigned port (integer) on the attached instances that the load balancer should check against. Default value is `80`.\n"
        },
        "source": {
          "type": "string",
          "description": "IP address with subnet that is allowed through the firewall. You may also pass in `cloudflare` which will allow only CloudFlares IP range.\n"
        }
      },
      "type": "object",
      "required": [
        "ipType",
        "port",
        "source"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "ipType",
            "port",
            "source"
          ]
        }
      }
    },
    "vultr:index/LoadBalancerForwardingRule:LoadBalancerForwardingRule": {
      "properties": {
        "backendPort": {
          "type": "integer",
          "description": "Port on instance side.\n"
        },
        "backendProtocol": {
          "type": "string",
          "description": "Protocol on instance side. Possible values: \"http\", \"https\", \"tcp\".\n"
        },
        "frontendPort": {
          "type": "integer",
          "description": "Port on load balancer side.\n"
        },
        "frontendProtocol": {
          "type": "string",
          "description": "Protocol on load balancer side. Possible values: \"http\", \"https\", \"tcp\".\n"
        },
        "ruleId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "backendPort",
        "backendProtocol",
        "frontendPort",
        "frontendProtocol"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "backendPort",
            "backendProtocol",
            "frontendPort",
            "frontendProtocol",
            "ruleId"
          ]
        }
      }
    },
    "vultr:index/LoadBalancerHealthCheck:LoadBalancerHealthCheck": {
      "properties": {
        "checkInterval": {
          "type": "integer",
          "description": "Time in seconds to perform health check. Default value is 15.\n"
        },
        "healthyThreshold": {
          "type": "integer",
          "description": "Number of failed attempts encountered before failover. Default value is 5.\n"
        },
        "path": {
          "type": "string",
          "description": "The path on the attached instances that the load balancer should check against. Default value is `/`\n"
        },
        "port": {
          "type": "integer",
          "description": "The assigned port (integer) on the attached instances that the load balancer should check against. Default value is `80`.\n"
        },
        "protocol": {
          "type": "string",
          "description": "The protocol used to traffic requests to the load balancer. Possible values are `http`, or `tcp`. Default value is `http`.\n"
        },
        "responseTimeout": {
          "type": "integer",
          "description": "Time in seconds to wait for a health check response. Default value is 5.\n"
        },
        "unhealthyThreshold": {
          "type": "integer",
          "description": "Number of failed attempts encountered before failover. Default value is 5.\n"
        }
      },
      "type": "object",
      "required": [
        "port",
        "protocol"
      ]
    },
    "vultr:index/LoadBalancerSsl:LoadBalancerSsl": {
      "properties": {
        "certificate": {
          "type": "string",
          "description": "The SSL Certificate.\n"
        },
        "chain": {
          "type": "string",
          "description": "The SSL certificate chain.\n"
        },
        "privateKey": {
          "type": "string",
          "description": "The SSL certificates private key.\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "certificate",
        "privateKey"
      ]
    },
    "vultr:index/VirtualFileSystemStorageAttachment:VirtualFileSystemStorageAttachment": {
      "properties": {
        "instanceId": {
          "type": "string"
        },
        "mount": {
          "type": "integer"
        },
        "state": {
          "type": "string"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "instanceId",
            "mount",
            "state"
          ]
        }
      }
    },
    "vultr:index/getApplicationFilter:getApplicationFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getBackupFilter:getBackupFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getBareMetalPlanFilter:getBareMetalPlanFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getBareMetalServerFilter:getBareMetalServerFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getBlockStorageFilter:getBlockStorageFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getContainerRegistryFilter:getContainerRegistryFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getContainerRegistryRepository:getContainerRegistryRepository": {
      "properties": {
        "artifactCount": {
          "type": "integer",
          "description": "A count of the artifacts in the repository.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "A date-time of when the root user was created.\n"
        },
        "dateModified": {
          "type": "string",
          "description": "The date-time that the repository was last updated.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the repo, if set.\n"
        },
        "image": {
          "type": "string",
          "description": "The image name in the repository.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the repository.\n"
        },
        "pullCount": {
          "type": "integer",
          "description": "A count of the number of pulls against the repository.\n"
        }
      },
      "type": "object",
      "required": [
        "artifactCount",
        "dateCreated",
        "dateModified",
        "description",
        "image",
        "name",
        "pullCount"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getDatabaseFilter:getDatabaseFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getDatabaseReadReplica:getDatabaseReadReplica": {
      "properties": {
        "backupHour": {
          "type": "string",
          "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "backupMinute": {
          "type": "string",
          "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "clusterTimeZone": {
          "type": "string",
          "description": "The configured time zone for the Managed Database in TZ database format.\n"
        },
        "databaseEngine": {
          "type": "string",
          "description": "The database engine of the managed database.\n"
        },
        "databaseEngineVersion": {
          "type": "string",
          "description": "The database engine version of the managed database.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the managed database was added to your Vultr account.\n"
        },
        "dbname": {
          "type": "string",
          "description": "The managed database's default logical database.\n"
        },
        "evictionPolicy": {
          "type": "string",
          "description": "The configuration value for the data eviction policy on the managed database (Valkey engine types only).\n"
        },
        "ferretdbCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "host": {
          "type": "string",
          "description": "The hostname assigned to the managed database.\n"
        },
        "id": {
          "type": "string"
        },
        "label": {
          "type": "string",
          "description": "The managed database's label.\n"
        },
        "latestBackup": {
          "type": "string",
          "description": "The date of the latest backup available on the managed database.\n"
        },
        "maintenanceDow": {
          "type": "string",
          "description": "The preferred maintenance day of week for the managed database.\n"
        },
        "maintenanceTime": {
          "type": "string",
          "description": "The preferred maintenance time for the managed database.\n"
        },
        "mysqlLongQueryTime": {
          "type": "integer",
          "description": "The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only).\n"
        },
        "mysqlRequirePrimaryKey": {
          "type": "boolean",
          "description": "The configuration value for whether primary keys are required on the managed database (MySQL engine types only).\n"
        },
        "mysqlSlowQueryLog": {
          "type": "boolean",
          "description": "The configuration value for slow query logging on the managed database (MySQL engine types only).\n"
        },
        "mysqlSqlModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SQL modes currently configured for the managed database (MySQL engine types only).\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the managed database's primary admin user.\n"
        },
        "plan": {
          "type": "string",
          "description": "The managed database's plan ID.\n"
        },
        "planDisk": {
          "type": "integer",
          "description": "The description of the disk(s) on the managed database.\n"
        },
        "planRam": {
          "type": "integer",
          "description": "The amount of memory available on the managed database in MB.\n"
        },
        "planReplicas": {
          "type": "integer",
          "description": "The number of standby nodes available on the managed database.\n"
        },
        "planVcpus": {
          "type": "integer",
          "description": "The number of virtual CPUs available on the managed database.\n"
        },
        "port": {
          "type": "string",
          "description": "The connection port for the managed database.\n"
        },
        "publicHost": {
          "type": "string",
          "description": "The public hostname assigned to the managed database (VPC-attached only).\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID of the managed database.\n"
        },
        "status": {
          "type": "string",
          "description": "The current status of the managed database (poweroff, rebuilding, rebalancing, configuring, running).\n"
        },
        "tag": {
          "type": "string",
          "description": "The managed database's tag.\n"
        },
        "trustedIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of allowed IP addresses for the managed database.\n"
        },
        "user": {
          "type": "string",
          "description": "The primary admin user for the managed database.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC Network attached to the Managed Database.\n"
        }
      },
      "type": "object",
      "required": [
        "backupHour",
        "backupMinute",
        "clusterTimeZone",
        "databaseEngine",
        "databaseEngineVersion",
        "dateCreated",
        "dbname",
        "evictionPolicy",
        "ferretdbCredentials",
        "host",
        "id",
        "label",
        "latestBackup",
        "maintenanceDow",
        "maintenanceTime",
        "mysqlLongQueryTime",
        "mysqlRequirePrimaryKey",
        "mysqlSlowQueryLog",
        "mysqlSqlModes",
        "password",
        "plan",
        "planDisk",
        "planRam",
        "planReplicas",
        "planVcpus",
        "port",
        "publicHost",
        "region",
        "status",
        "tag",
        "trustedIps",
        "user",
        "vpcId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getFirewallGroupFilter:getFirewallGroupFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getInferenceFilter:getInferenceFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getInstanceFilter:getInstanceFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getInstanceIpv4Filter:getInstanceIpv4Filter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values to filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getInstancesFilter:getInstancesFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getInstancesInstance:getInstancesInstance": {
      "properties": {
        "allowedBandwidth": {
          "type": "integer",
          "description": "The server's allowed bandwidth usage in GB.\n"
        },
        "appId": {
          "type": "integer",
          "description": "The server's application ID.\n"
        },
        "backups": {
          "type": "string"
        },
        "backupsSchedule": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "The current configuration for backups\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the server was added to your Vultr account.\n"
        },
        "disk": {
          "type": "integer",
          "description": "The description of the disk(s) on the server.\n"
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of which features are enabled.\n"
        },
        "firewallGroupId": {
          "type": "string",
          "description": "The ID of the firewall group applied to this server.\n"
        },
        "gatewayV4": {
          "type": "string",
          "description": "The server's IPv4 gateway.\n"
        },
        "hostname": {
          "type": "string",
          "description": "The hostname assigned to the server.\n"
        },
        "id": {
          "type": "string"
        },
        "imageId": {
          "type": "string",
          "description": "The Marketplace ID for this application.\n"
        },
        "internalIp": {
          "type": "string",
          "description": "The server's internal IP address.\n"
        },
        "kvm": {
          "type": "string",
          "description": "The server's current KVM URL. This URL will change periodically. It is not advised to cache this value.\n"
        },
        "label": {
          "type": "string",
          "description": "The server's label.\n"
        },
        "location": {
          "type": "string"
        },
        "mainIp": {
          "type": "string",
          "description": "The server's main IP address.\n"
        },
        "netmaskV4": {
          "type": "string",
          "description": "The server's IPv4 netmask.\n"
        },
        "os": {
          "type": "string",
          "description": "The operating system of the instance.\n"
        },
        "osId": {
          "type": "integer",
          "description": "The server's operating system ID.\n"
        },
        "plan": {
          "type": "string",
          "description": "The server's plan ID.\n"
        },
        "powerStatus": {
          "type": "string",
          "description": "Whether the server is powered on or not.\n"
        },
        "privateNetworkIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ram": {
          "type": "integer",
          "description": "The amount of memory available on the instance in MB.\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID of the server.\n"
        },
        "serverStatus": {
          "type": "string",
          "description": "A more detailed server status (none, locked, installingbooting, isomounting, ok).\n"
        },
        "status": {
          "type": "string",
          "description": "The status of the server's subscription.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags applied to the instance.\n"
        },
        "userScheme": {
          "type": "string",
          "description": "The scheme used for the default user (linux servers only).\n"
        },
        "v6MainIp": {
          "type": "string",
          "description": "The main IPv6 network address.\n"
        },
        "v6Network": {
          "type": "string",
          "description": "The IPv6 subnet.\n"
        },
        "v6NetworkSize": {
          "type": "integer",
          "description": "The IPv6 network size in bits.\n"
        },
        "vcpuCount": {
          "type": "integer",
          "description": "The number of virtual CPUs available on the server.\n"
        },
        "vpcIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "required": [
        "allowedBandwidth",
        "appId",
        "backups",
        "backupsSchedule",
        "dateCreated",
        "disk",
        "features",
        "firewallGroupId",
        "gatewayV4",
        "hostname",
        "id",
        "imageId",
        "internalIp",
        "kvm",
        "label",
        "location",
        "mainIp",
        "netmaskV4",
        "os",
        "osId",
        "plan",
        "powerStatus",
        "privateNetworkIds",
        "ram",
        "region",
        "serverStatus",
        "status",
        "tags",
        "userScheme",
        "v6MainIp",
        "v6Network",
        "v6NetworkSize",
        "vcpuCount",
        "vpcIds"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getIsoPrivateFilter:getIsoPrivateFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getIsoPublicFilter:getIsoPublicFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getKubernetesFilter:getKubernetesFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getKubernetesNodePool:getKubernetesNodePool": {
      "properties": {
        "autoScaler": {
          "type": "boolean",
          "description": "Boolean indicating if the auto scaler for the default node pool is active.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "Date node was created.\n"
        },
        "dateUpdated": {
          "type": "string",
          "description": "Date of node pool updates.\n"
        },
        "id": {
          "type": "string",
          "description": "ID of node.\n"
        },
        "label": {
          "type": "string",
          "description": "Label of node.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Kubernetes node labels applied to the node pool.\n"
        },
        "maxNodes": {
          "type": "integer",
          "description": "The maximum number of nodes used by the auto scaler.\n"
        },
        "minNodes": {
          "type": "integer",
          "description": "The minimum number of nodes used by the auto scaler.\n"
        },
        "nodeQuantity": {
          "type": "integer",
          "description": "Number of nodes within node pool.\n"
        },
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FgetKubernetesNodePoolNode:getKubernetesNodePoolNode"
          },
          "description": "Array that contains information about nodes within this node pool.\n"
        },
        "plan": {
          "type": "string",
          "description": "Node plan that nodes are using within this node pool.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of node.\n"
        },
        "tag": {
          "type": "string",
          "description": "Tag for node pool.\n"
        },
        "taints": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FgetKubernetesNodePoolTaint:getKubernetesNodePoolTaint"
          },
          "description": "Kubernetes node taints applied to the node pool.\n"
        },
        "userData": {
          "type": "string",
          "description": "The base64 encoded string containing the user data applied to nodes in the node pool.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "dateUpdated",
        "id",
        "label",
        "nodeQuantity",
        "nodes",
        "plan",
        "status",
        "tag"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getKubernetesNodePoolNode:getKubernetesNodePoolNode": {
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "Date node was created.\n"
        },
        "id": {
          "type": "string",
          "description": "ID of node.\n"
        },
        "label": {
          "type": "string",
          "description": "Label of node.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of node.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "id",
        "label",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getKubernetesNodePoolTaint:getKubernetesNodePoolTaint": {
      "properties": {
        "effect": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "effect",
        "key",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getLoadBalancerFilter:getLoadBalancerFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getObjectStorageClusterFilter:getObjectStorageClusterFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getObjectStorageFilter:getObjectStorageFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getObjectStorageTierFilter:getObjectStorageTierFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getObjectStorageTierLocation:getObjectStorageTierLocation": {
      "properties": {
        "hostname": {
          "type": "string"
        },
        "id": {
          "type": "integer",
          "description": "The identifying tier ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "region": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "hostname",
        "id",
        "name",
        "region"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getOsFilter:getOsFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getPlanFilter:getPlanFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getRegionFilter:getRegionFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getReservedIpFilter:getReservedIpFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getReverseIpv4Filter:getReverseIpv4Filter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values to filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getReverseIpv6Filter:getReverseIpv6Filter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values to filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getSnapshotFilter:getSnapshotFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getSshKeyFilter:getSshKeyFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getStartupScriptFilter:getStartupScriptFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getUserFilter:getUserFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getVirtualFileSystemStorageAttachment:getVirtualFileSystemStorageAttachment": {
      "properties": {
        "instanceId": {
          "type": "string"
        },
        "mount": {
          "type": "integer"
        },
        "state": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "instanceId",
        "mount",
        "state"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "vultr:index/getVirtualFileSystemStorageFilter:getVirtualFileSystemStorageFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getVpc2Filter:getVpc2Filter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    },
    "vultr:index/getVpcFilter:getVpcFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name to filter with.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "One or more values filter with.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "values"
      ]
    }
  },
  "provider": {
    "description": "The provider type for the vultr 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": "The API Key that allows interaction with the API",
        "secret": true
      }
    },
    "type": "object",
    "inputProperties": {
      "apiKey": {
        "type": "string",
        "description": "The API Key that allows interaction with the API",
        "defaultInfo": {
          "environment": [
            "VULTR_API_KEY"
          ]
        },
        "secret": true
      },
      "rateLimit": {
        "type": "integer",
        "description": "Allows users to set the speed of API calls to work with the Vultr Rate Limit",
        "default": 500
      },
      "retryLimit": {
        "type": "integer",
        "description": "Allows users to set the maximum number of retries allowed for a failed API call.",
        "default": 3
      }
    },
    "methods": {
      "terraformConfig": "pulumi:providers:vultr/terraformConfig"
    }
  },
  "resources": {
    "vultr:index/bareMetalServer:BareMetalServer": {
      "description": "Provides a Vultr bare metal server resource. This can be used to create, read, modify, and delete bare metal servers on your Vultr account.\n\n## Example Usage\n\nCreate a new bare metal server:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myServer = new vultr.BareMetalServer(\"myServer\", {\n    osId: 1743,\n    plan: \"vbm-4c-32gb\",\n    region: \"ewr\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_server = vultr.BareMetalServer(\"myServer\",\n    os_id=1743,\n    plan=\"vbm-4c-32gb\",\n    region=\"ewr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myServer = new Vultr.BareMetalServer(\"myServer\", new()\n    {\n        OsId = 1743,\n        Plan = \"vbm-4c-32gb\",\n        Region = \"ewr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewBareMetalServer(ctx, \"myServer\", &vultr.BareMetalServerArgs{\n\t\t\tOsId:   pulumi.Int(1743),\n\t\t\tPlan:   pulumi.String(\"vbm-4c-32gb\"),\n\t\t\tRegion: pulumi.String(\"ewr\"),\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.vultr.BareMetalServer;\nimport com.pulumi.vultr.BareMetalServerArgs;\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 myServer = new BareMetalServer(\"myServer\", BareMetalServerArgs.builder()\n            .osId(1743)\n            .plan(\"vbm-4c-32gb\")\n            .region(\"ewr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myServer:\n    type: vultr:BareMetalServer\n    properties:\n      osId: 1743\n      plan: vbm-4c-32gb\n      region: ewr\n```\n<!--End PulumiCodeChooser -->\n\nCreate a new bare metal server with options:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myServer = new vultr.BareMetalServer(\"myServer\", {\n    activationEmail: false,\n    enableIpv6: true,\n    hostname: \"my-server-hostname\",\n    label: \"my-server-label\",\n    osId: 1743,\n    plan: \"vbm-4c-32gb\",\n    region: \"ewr\",\n    tags: [\"my-server-tag\"],\n    userData: \"this is my user data\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_server = vultr.BareMetalServer(\"myServer\",\n    activation_email=False,\n    enable_ipv6=True,\n    hostname=\"my-server-hostname\",\n    label=\"my-server-label\",\n    os_id=1743,\n    plan=\"vbm-4c-32gb\",\n    region=\"ewr\",\n    tags=[\"my-server-tag\"],\n    user_data=\"this is my user data\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myServer = new Vultr.BareMetalServer(\"myServer\", new()\n    {\n        ActivationEmail = false,\n        EnableIpv6 = true,\n        Hostname = \"my-server-hostname\",\n        Label = \"my-server-label\",\n        OsId = 1743,\n        Plan = \"vbm-4c-32gb\",\n        Region = \"ewr\",\n        Tags = new[]\n        {\n            \"my-server-tag\",\n        },\n        UserData = \"this is my user data\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewBareMetalServer(ctx, \"myServer\", &vultr.BareMetalServerArgs{\n\t\t\tActivationEmail: pulumi.Bool(false),\n\t\t\tEnableIpv6:      pulumi.Bool(true),\n\t\t\tHostname:        pulumi.String(\"my-server-hostname\"),\n\t\t\tLabel:           pulumi.String(\"my-server-label\"),\n\t\t\tOsId:            pulumi.Int(1743),\n\t\t\tPlan:            pulumi.String(\"vbm-4c-32gb\"),\n\t\t\tRegion:          pulumi.String(\"ewr\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-server-tag\"),\n\t\t\t},\n\t\t\tUserData: pulumi.String(\"this is my user data\"),\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.vultr.BareMetalServer;\nimport com.pulumi.vultr.BareMetalServerArgs;\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 myServer = new BareMetalServer(\"myServer\", BareMetalServerArgs.builder()\n            .activationEmail(false)\n            .enableIpv6(true)\n            .hostname(\"my-server-hostname\")\n            .label(\"my-server-label\")\n            .osId(1743)\n            .plan(\"vbm-4c-32gb\")\n            .region(\"ewr\")\n            .tags(\"my-server-tag\")\n            .userData(\"this is my user data\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myServer:\n    type: vultr:BareMetalServer\n    properties:\n      activationEmail: false\n      enableIpv6: true\n      hostname: my-server-hostname\n      label: my-server-label\n      osId: 1743\n      plan: vbm-4c-32gb\n      region: ewr\n      tags:\n        - my-server-tag\n      userData: this is my user data\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nBare Metal Servers can be imported using the server `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/bareMetalServer:BareMetalServer my_server b6a859c5-b299-49dd-8888-b1abbc517d08\n```\n\n",
      "properties": {
        "activationEmail": {
          "type": "boolean",
          "description": "Whether an activation email will be sent when the server is ready.\n"
        },
        "appId": {
          "type": "integer",
          "description": "The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications)\n"
        },
        "appVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables)\n"
        },
        "cpuCount": {
          "type": "integer",
          "description": "The number of CPUs available on the server.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the server was added to your Vultr account.\n"
        },
        "defaultPassword": {
          "type": "string",
          "description": "The server's default password.\n",
          "secret": true
        },
        "disk": {
          "type": "string",
          "description": "The description of the disk(s) on the server.\n"
        },
        "enableIpv6": {
          "type": "boolean",
          "description": "Whether the server has IPv6 networking activated.\n"
        },
        "gatewayV4": {
          "type": "string",
          "description": "The server's IPv4 gateway.\n"
        },
        "hostname": {
          "type": "string",
          "description": "The hostname to assign to the server.\n"
        },
        "imageId": {
          "type": "string",
          "description": "The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `image_id` not the id.\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the server.\n"
        },
        "macAddress": {
          "type": "integer",
          "description": "The MAC address associated with the server.\n"
        },
        "mainIp": {
          "type": "string",
          "description": "The server's main IP address.\n"
        },
        "mdiskMode": {
          "type": "string"
        },
        "netmaskV4": {
          "type": "string",
          "description": "The server's IPv4 netmask.\n"
        },
        "os": {
          "type": "string",
          "description": "The string description of the operating system installed on the server.\n"
        },
        "osId": {
          "type": "integer",
          "description": "The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os)\n"
        },
        "persistentPxe": {
          "type": "boolean"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the server to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans)\n"
        },
        "ram": {
          "type": "string",
          "description": "The amount of memory available on the server in MB.\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the server is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "reservedIpv4": {
          "type": "string",
          "description": "The ID of the floating IP to use as the main IP of this server. [See Reserved IPs](https://www.vultr.com/api/#operation/list-reserved-ips)\n"
        },
        "scriptId": {
          "type": "string",
          "description": "The ID of the startup script you want added to the server.\n"
        },
        "snapshotId": {
          "type": "string",
          "description": "The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots)\n"
        },
        "sshKeyIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD).\n"
        },
        "status": {
          "type": "string",
          "description": "The status of the server's subscription.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags to apply to the servier.\n"
        },
        "userData": {
          "type": "string",
          "description": "Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.\n"
        },
        "userScheme": {
          "type": "string",
          "description": "The scheme used for the default user. Possible values are `root` or `limited` (linux servers only).\n"
        },
        "v6MainIp": {
          "type": "string",
          "description": "The main IPv6 network address.\n"
        },
        "v6Network": {
          "type": "string",
          "description": "The IPv6 subnet.\n"
        },
        "v6NetworkSize": {
          "type": "integer",
          "description": "The IPv6 network size in bits.\n"
        },
        "vpc2Ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of VPC 2.0 IDs to be attached to the server.\n",
          "deprecationMessage": "VPC2 is deprecated and will be removed in a future release. Use VPC instead"
        },
        "vpcId": {
          "type": "string",
          "description": "The VPC ID to use when creating the server.\n"
        }
      },
      "type": "object",
      "required": [
        "appId",
        "cpuCount",
        "dateCreated",
        "defaultPassword",
        "disk",
        "gatewayV4",
        "imageId",
        "macAddress",
        "mainIp",
        "netmaskV4",
        "os",
        "osId",
        "plan",
        "ram",
        "region",
        "reservedIpv4",
        "status",
        "userData",
        "v6MainIp",
        "v6Network",
        "v6NetworkSize"
      ],
      "inputProperties": {
        "activationEmail": {
          "type": "boolean",
          "description": "Whether an activation email will be sent when the server is ready.\n"
        },
        "appId": {
          "type": "integer",
          "description": "The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications)\n"
        },
        "appVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables)\n",
          "willReplaceOnChanges": true
        },
        "enableIpv6": {
          "type": "boolean",
          "description": "Whether the server has IPv6 networking activated.\n",
          "willReplaceOnChanges": true
        },
        "hostname": {
          "type": "string",
          "description": "The hostname to assign to the server.\n",
          "willReplaceOnChanges": true
        },
        "imageId": {
          "type": "string",
          "description": "The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `image_id` not the id.\n",
          "willReplaceOnChanges": true
        },
        "label": {
          "type": "string",
          "description": "A label for the server.\n"
        },
        "mdiskMode": {
          "type": "string",
          "willReplaceOnChanges": true
        },
        "osId": {
          "type": "integer",
          "description": "The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os)\n"
        },
        "persistentPxe": {
          "type": "boolean",
          "willReplaceOnChanges": true
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the server to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans)\n",
          "willReplaceOnChanges": true
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the server is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n",
          "willReplaceOnChanges": true
        },
        "reservedIpv4": {
          "type": "string",
          "description": "The ID of the floating IP to use as the main IP of this server. [See Reserved IPs](https://www.vultr.com/api/#operation/list-reserved-ips)\n"
        },
        "scriptId": {
          "type": "string",
          "description": "The ID of the startup script you want added to the server.\n",
          "willReplaceOnChanges": true
        },
        "snapshotId": {
          "type": "string",
          "description": "The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots)\n",
          "willReplaceOnChanges": true
        },
        "sshKeyIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD).\n",
          "willReplaceOnChanges": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags to apply to the servier.\n"
        },
        "userData": {
          "type": "string",
          "description": "Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.\n",
          "willReplaceOnChanges": true
        },
        "userScheme": {
          "type": "string",
          "description": "The scheme used for the default user. Possible values are `root` or `limited` (linux servers only).\n",
          "willReplaceOnChanges": true
        },
        "vpc2Ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of VPC 2.0 IDs to be attached to the server.\n",
          "deprecationMessage": "VPC2 is deprecated and will be removed in a future release. Use VPC instead"
        },
        "vpcId": {
          "type": "string",
          "description": "The VPC ID to use when creating the server.\n"
        }
      },
      "requiredInputs": [
        "plan",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering BareMetalServer resources.\n",
        "properties": {
          "activationEmail": {
            "type": "boolean",
            "description": "Whether an activation email will be sent when the server is ready.\n"
          },
          "appId": {
            "type": "integer",
            "description": "The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications)\n"
          },
          "appVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables)\n",
            "willReplaceOnChanges": true
          },
          "cpuCount": {
            "type": "integer",
            "description": "The number of CPUs available on the server.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the server was added to your Vultr account.\n"
          },
          "defaultPassword": {
            "type": "string",
            "description": "The server's default password.\n",
            "secret": true
          },
          "disk": {
            "type": "string",
            "description": "The description of the disk(s) on the server.\n"
          },
          "enableIpv6": {
            "type": "boolean",
            "description": "Whether the server has IPv6 networking activated.\n",
            "willReplaceOnChanges": true
          },
          "gatewayV4": {
            "type": "string",
            "description": "The server's IPv4 gateway.\n"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname to assign to the server.\n",
            "willReplaceOnChanges": true
          },
          "imageId": {
            "type": "string",
            "description": "The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `image_id` not the id.\n",
            "willReplaceOnChanges": true
          },
          "label": {
            "type": "string",
            "description": "A label for the server.\n"
          },
          "macAddress": {
            "type": "integer",
            "description": "The MAC address associated with the server.\n"
          },
          "mainIp": {
            "type": "string",
            "description": "The server's main IP address.\n"
          },
          "mdiskMode": {
            "type": "string",
            "willReplaceOnChanges": true
          },
          "netmaskV4": {
            "type": "string",
            "description": "The server's IPv4 netmask.\n"
          },
          "os": {
            "type": "string",
            "description": "The string description of the operating system installed on the server.\n"
          },
          "osId": {
            "type": "integer",
            "description": "The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os)\n"
          },
          "persistentPxe": {
            "type": "boolean",
            "willReplaceOnChanges": true
          },
          "plan": {
            "type": "string",
            "description": "The ID of the plan that you want the server to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans)\n",
            "willReplaceOnChanges": true
          },
          "ram": {
            "type": "string",
            "description": "The amount of memory available on the server in MB.\n"
          },
          "region": {
            "type": "string",
            "description": "The ID of the region that the server is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n",
            "willReplaceOnChanges": true
          },
          "reservedIpv4": {
            "type": "string",
            "description": "The ID of the floating IP to use as the main IP of this server. [See Reserved IPs](https://www.vultr.com/api/#operation/list-reserved-ips)\n"
          },
          "scriptId": {
            "type": "string",
            "description": "The ID of the startup script you want added to the server.\n",
            "willReplaceOnChanges": true
          },
          "snapshotId": {
            "type": "string",
            "description": "The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots)\n",
            "willReplaceOnChanges": true
          },
          "sshKeyIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD).\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "The status of the server's subscription.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags to apply to the servier.\n"
          },
          "userData": {
            "type": "string",
            "description": "Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.\n",
            "willReplaceOnChanges": true
          },
          "userScheme": {
            "type": "string",
            "description": "The scheme used for the default user. Possible values are `root` or `limited` (linux servers only).\n",
            "willReplaceOnChanges": true
          },
          "v6MainIp": {
            "type": "string",
            "description": "The main IPv6 network address.\n"
          },
          "v6Network": {
            "type": "string",
            "description": "The IPv6 subnet.\n"
          },
          "v6NetworkSize": {
            "type": "integer",
            "description": "The IPv6 network size in bits.\n"
          },
          "vpc2Ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of VPC 2.0 IDs to be attached to the server.\n",
            "deprecationMessage": "VPC2 is deprecated and will be removed in a future release. Use VPC instead"
          },
          "vpcId": {
            "type": "string",
            "description": "The VPC ID to use when creating the server.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/blockStorage:BlockStorage": {
      "description": "Provides a Vultr Block Storage resource. This can be used to create, read, modify, and delete Block Storage.\n\n## Example Usage\n\nCreate a new Block Storage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myBlockstorage = new vultr.BlockStorage(\"myBlockstorage\", {\n    label: \"vultr-block-storage\",\n    region: \"ewr\",\n    sizeGb: 10,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_blockstorage = vultr.BlockStorage(\"myBlockstorage\",\n    label=\"vultr-block-storage\",\n    region=\"ewr\",\n    size_gb=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myBlockstorage = new Vultr.BlockStorage(\"myBlockstorage\", new()\n    {\n        Label = \"vultr-block-storage\",\n        Region = \"ewr\",\n        SizeGb = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewBlockStorage(ctx, \"myBlockstorage\", &vultr.BlockStorageArgs{\n\t\t\tLabel:  pulumi.String(\"vultr-block-storage\"),\n\t\t\tRegion: pulumi.String(\"ewr\"),\n\t\t\tSizeGb: pulumi.Int(10),\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.vultr.BlockStorage;\nimport com.pulumi.vultr.BlockStorageArgs;\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 myBlockstorage = new BlockStorage(\"myBlockstorage\", BlockStorageArgs.builder()\n            .label(\"vultr-block-storage\")\n            .region(\"ewr\")\n            .sizeGb(10)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myBlockstorage:\n    type: vultr:BlockStorage\n    properties:\n      label: vultr-block-storage\n      region: ewr\n      sizeGb: 10\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nBlock Storage can be imported using the Block Storage `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/blockStorage:BlockStorage my_blockstorage e315835e-d466-4e89-9b4c-dfd8788d7685\n```\n\n",
      "properties": {
        "attachedToInstance": {
          "type": "string",
          "description": "VPS ID that you want to have this block storage attached to.\n"
        },
        "blockType": {
          "type": "string",
          "description": "Determines on the type of block storage volume that will be created. Soon to become a required parameter. Options are `high_perf` or `storage_opt`.\n"
        },
        "cost": {
          "type": "number",
          "description": "The monthly cost of this block storage.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date this block storage was created.\n"
        },
        "label": {
          "type": "string",
          "description": "Label that is given to your block storage.\n"
        },
        "live": {
          "type": "boolean",
          "description": "Boolean value that will allow attachment of the volume to an instance without a restart. Default is false.\n"
        },
        "mountId": {
          "type": "string",
          "description": "An ID associated with the instance, when mounted the ID can be found in /dev/disk/by-id prefixed with virtio.\n"
        },
        "region": {
          "type": "string",
          "description": "Region in which this block storage will reside in. (Currently only NJ/NY supported region \"ewr\")\n"
        },
        "sizeGb": {
          "type": "integer",
          "description": "The size of the given block storage.\n"
        },
        "status": {
          "type": "string",
          "description": "Current status of your block storage.\n"
        }
      },
      "type": "object",
      "required": [
        "blockType",
        "cost",
        "dateCreated",
        "mountId",
        "region",
        "sizeGb",
        "status"
      ],
      "inputProperties": {
        "attachedToInstance": {
          "type": "string",
          "description": "VPS ID that you want to have this block storage attached to.\n"
        },
        "blockType": {
          "type": "string",
          "description": "Determines on the type of block storage volume that will be created. Soon to become a required parameter. Options are `high_perf` or `storage_opt`.\n",
          "willReplaceOnChanges": true
        },
        "label": {
          "type": "string",
          "description": "Label that is given to your block storage.\n"
        },
        "live": {
          "type": "boolean",
          "description": "Boolean value that will allow attachment of the volume to an instance without a restart. Default is false.\n"
        },
        "region": {
          "type": "string",
          "description": "Region in which this block storage will reside in. (Currently only NJ/NY supported region \"ewr\")\n",
          "willReplaceOnChanges": true
        },
        "sizeGb": {
          "type": "integer",
          "description": "The size of the given block storage.\n"
        }
      },
      "requiredInputs": [
        "region",
        "sizeGb"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering BlockStorage resources.\n",
        "properties": {
          "attachedToInstance": {
            "type": "string",
            "description": "VPS ID that you want to have this block storage attached to.\n"
          },
          "blockType": {
            "type": "string",
            "description": "Determines on the type of block storage volume that will be created. Soon to become a required parameter. Options are `high_perf` or `storage_opt`.\n",
            "willReplaceOnChanges": true
          },
          "cost": {
            "type": "number",
            "description": "The monthly cost of this block storage.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date this block storage was created.\n"
          },
          "label": {
            "type": "string",
            "description": "Label that is given to your block storage.\n"
          },
          "live": {
            "type": "boolean",
            "description": "Boolean value that will allow attachment of the volume to an instance without a restart. Default is false.\n"
          },
          "mountId": {
            "type": "string",
            "description": "An ID associated with the instance, when mounted the ID can be found in /dev/disk/by-id prefixed with virtio.\n"
          },
          "region": {
            "type": "string",
            "description": "Region in which this block storage will reside in. (Currently only NJ/NY supported region \"ewr\")\n",
            "willReplaceOnChanges": true
          },
          "sizeGb": {
            "type": "integer",
            "description": "The size of the given block storage.\n"
          },
          "status": {
            "type": "string",
            "description": "Current status of your block storage.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/containerRegistry:ContainerRegistry": {
      "description": "Create and update a Vultr container registry.\n\n## Example Usage\n\nCreate a new container registry:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst vcr1 = new vultr.ContainerRegistry(\"vcr1\", {\n    plan: \"start_up\",\n    \"public\": false,\n    region: \"sjc\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nvcr1 = vultr.ContainerRegistry(\"vcr1\",\n    plan=\"start_up\",\n    public=False,\n    region=\"sjc\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var vcr1 = new Vultr.ContainerRegistry(\"vcr1\", new()\n    {\n        Plan = \"start_up\",\n        Public = false,\n        Region = \"sjc\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewContainerRegistry(ctx, \"vcr1\", &vultr.ContainerRegistryArgs{\n\t\t\tPlan:   pulumi.String(\"start_up\"),\n\t\t\tPublic: pulumi.Bool(false),\n\t\t\tRegion: pulumi.String(\"sjc\"),\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.vultr.ContainerRegistry;\nimport com.pulumi.vultr.ContainerRegistryArgs;\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 vcr1 = new ContainerRegistry(\"vcr1\", ContainerRegistryArgs.builder()\n            .plan(\"start_up\")\n            .public_(false)\n            .region(\"sjc\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vcr1:\n    type: vultr:ContainerRegistry\n    properties:\n      plan: start_up\n      public: false\n      region: sjc\n```\n<!--End PulumiCodeChooser -->\n\nThe `name` for container registries must be all lowercase and only contain alphanumeric characters.\n",
      "properties": {
        "containerRegistryURN": {
          "type": "string",
          "description": "The URN of the container registry.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "A date-time of when the root user was created.\n"
        },
        "name": {
          "type": "string",
          "description": "The name for your container registry.  Must be lowercase and only alphanumeric characters.\n"
        },
        "plan": {
          "type": "string",
          "description": "The billing plan for the container registry. [See available plans](https://www.vultr.com/api/#tag/Container-Registry/operation/list-registry-plans)\n"
        },
        "public": {
          "type": "boolean",
          "description": "Boolean indicating if the container registry should be created with public visibility or if it should require credentials.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where your container registry will be deployed. [See available regions](https://www.vultr.com/api/#tag/Container-Registry/operation/list-registry-regions)\n"
        },
        "rootUser": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "The user associated with the container registry.\n"
        },
        "storage": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A listing of current storage usage relevant to the container registry.\n"
        }
      },
      "type": "object",
      "required": [
        "containerRegistryURN",
        "dateCreated",
        "name",
        "plan",
        "public",
        "region",
        "rootUser",
        "storage"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The name for your container registry.  Must be lowercase and only alphanumeric characters.\n"
        },
        "plan": {
          "type": "string",
          "description": "The billing plan for the container registry. [See available plans](https://www.vultr.com/api/#tag/Container-Registry/operation/list-registry-plans)\n"
        },
        "public": {
          "type": "boolean",
          "description": "Boolean indicating if the container registry should be created with public visibility or if it should require credentials.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where your container registry will be deployed. [See available regions](https://www.vultr.com/api/#tag/Container-Registry/operation/list-registry-regions)\n"
        }
      },
      "requiredInputs": [
        "plan",
        "public",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ContainerRegistry resources.\n",
        "properties": {
          "containerRegistryURN": {
            "type": "string",
            "description": "The URN of the container registry.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "A date-time of when the root user was created.\n"
          },
          "name": {
            "type": "string",
            "description": "The name for your container registry.  Must be lowercase and only alphanumeric characters.\n"
          },
          "plan": {
            "type": "string",
            "description": "The billing plan for the container registry. [See available plans](https://www.vultr.com/api/#tag/Container-Registry/operation/list-registry-plans)\n"
          },
          "public": {
            "type": "boolean",
            "description": "Boolean indicating if the container registry should be created with public visibility or if it should require credentials.\n"
          },
          "region": {
            "type": "string",
            "description": "The region where your container registry will be deployed. [See available regions](https://www.vultr.com/api/#tag/Container-Registry/operation/list-registry-regions)\n"
          },
          "rootUser": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The user associated with the container registry.\n"
          },
          "storage": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A listing of current storage usage relevant to the container registry.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/database:Database": {
      "description": "Provides a Vultr database resource. This can be used to create, read, modify, and delete managed databases on your Vultr account.\n\n## Example Usage\n\nCreate a new database:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabase = new vultr.Database(\"myDatabase\", {\n    databaseEngine: \"pg\",\n    databaseEngineVersion: \"15\",\n    label: \"my_database_label\",\n    plan: \"vultr-dbaas-startup-cc-1-55-2\",\n    region: \"ewr\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database = vultr.Database(\"myDatabase\",\n    database_engine=\"pg\",\n    database_engine_version=\"15\",\n    label=\"my_database_label\",\n    plan=\"vultr-dbaas-startup-cc-1-55-2\",\n    region=\"ewr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabase = new Vultr.Database(\"myDatabase\", new()\n    {\n        DatabaseEngine = \"pg\",\n        DatabaseEngineVersion = \"15\",\n        Label = \"my_database_label\",\n        Plan = \"vultr-dbaas-startup-cc-1-55-2\",\n        Region = \"ewr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabase(ctx, \"myDatabase\", &vultr.DatabaseArgs{\n\t\t\tDatabaseEngine:        pulumi.String(\"pg\"),\n\t\t\tDatabaseEngineVersion: pulumi.String(\"15\"),\n\t\t\tLabel:                 pulumi.String(\"my_database_label\"),\n\t\t\tPlan:                  pulumi.String(\"vultr-dbaas-startup-cc-1-55-2\"),\n\t\t\tRegion:                pulumi.String(\"ewr\"),\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.vultr.Database;\nimport com.pulumi.vultr.DatabaseArgs;\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 myDatabase = new Database(\"myDatabase\", DatabaseArgs.builder()\n            .databaseEngine(\"pg\")\n            .databaseEngineVersion(\"15\")\n            .label(\"my_database_label\")\n            .plan(\"vultr-dbaas-startup-cc-1-55-2\")\n            .region(\"ewr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabase:\n    type: vultr:Database\n    properties:\n      databaseEngine: pg\n      databaseEngineVersion: '15'\n      label: my_database_label\n      plan: vultr-dbaas-startup-cc-1-55-2\n      region: ewr\n```\n<!--End PulumiCodeChooser -->\n\nCreate a new database with options:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabase = new vultr.Database(\"myDatabase\", {\n    clusterTimeZone: \"America/New_York\",\n    databaseEngine: \"pg\",\n    databaseEngineVersion: \"15\",\n    label: \"my_database_label\",\n    maintenanceDow: \"sunday\",\n    maintenanceTime: \"01:00\",\n    plan: \"vultr-dbaas-startup-cc-1-55-2\",\n    region: \"ewr\",\n    tag: \"some tag\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database = vultr.Database(\"myDatabase\",\n    cluster_time_zone=\"America/New_York\",\n    database_engine=\"pg\",\n    database_engine_version=\"15\",\n    label=\"my_database_label\",\n    maintenance_dow=\"sunday\",\n    maintenance_time=\"01:00\",\n    plan=\"vultr-dbaas-startup-cc-1-55-2\",\n    region=\"ewr\",\n    tag=\"some tag\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabase = new Vultr.Database(\"myDatabase\", new()\n    {\n        ClusterTimeZone = \"America/New_York\",\n        DatabaseEngine = \"pg\",\n        DatabaseEngineVersion = \"15\",\n        Label = \"my_database_label\",\n        MaintenanceDow = \"sunday\",\n        MaintenanceTime = \"01:00\",\n        Plan = \"vultr-dbaas-startup-cc-1-55-2\",\n        Region = \"ewr\",\n        Tag = \"some tag\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabase(ctx, \"myDatabase\", &vultr.DatabaseArgs{\n\t\t\tClusterTimeZone:       pulumi.String(\"America/New_York\"),\n\t\t\tDatabaseEngine:        pulumi.String(\"pg\"),\n\t\t\tDatabaseEngineVersion: pulumi.String(\"15\"),\n\t\t\tLabel:                 pulumi.String(\"my_database_label\"),\n\t\t\tMaintenanceDow:        pulumi.String(\"sunday\"),\n\t\t\tMaintenanceTime:       pulumi.String(\"01:00\"),\n\t\t\tPlan:                  pulumi.String(\"vultr-dbaas-startup-cc-1-55-2\"),\n\t\t\tRegion:                pulumi.String(\"ewr\"),\n\t\t\tTag:                   pulumi.String(\"some tag\"),\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.vultr.Database;\nimport com.pulumi.vultr.DatabaseArgs;\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 myDatabase = new Database(\"myDatabase\", DatabaseArgs.builder()\n            .clusterTimeZone(\"America/New_York\")\n            .databaseEngine(\"pg\")\n            .databaseEngineVersion(\"15\")\n            .label(\"my_database_label\")\n            .maintenanceDow(\"sunday\")\n            .maintenanceTime(\"01:00\")\n            .plan(\"vultr-dbaas-startup-cc-1-55-2\")\n            .region(\"ewr\")\n            .tag(\"some tag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabase:\n    type: vultr:Database\n    properties:\n      clusterTimeZone: America/New_York\n      databaseEngine: pg\n      databaseEngineVersion: '15'\n      label: my_database_label\n      maintenanceDow: sunday\n      maintenanceTime: 01:00\n      plan: vultr-dbaas-startup-cc-1-55-2\n      region: ewr\n      tag: some tag\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDatabase can be imported using the database `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/database:Database my_database b6a859c5-b299-49dd-8888-b1abbc517d08\n```\n\n",
      "properties": {
        "accessCert": {
          "type": "string",
          "description": "The certificate to authenticate the default user (Kafka engine types only).\n"
        },
        "accessKey": {
          "type": "string",
          "description": "The private key to authenticate the default user (Kafka engine types only).\n"
        },
        "backupHour": {
          "type": "string",
          "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "backupMinute": {
          "type": "string",
          "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "clusterTimeZone": {
          "type": "string",
          "description": "The configured time zone for the Managed Database in TZ database format (e.g. `UTC`, `America/New_York`, `Europe/London`).\n"
        },
        "databaseEngine": {
          "type": "string",
          "description": "The database engine of the new managed database.\n"
        },
        "databaseEngineVersion": {
          "type": "string",
          "description": "The database engine version of the new managed database.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the managed database was added to your Vultr account.\n"
        },
        "dbname": {
          "type": "string",
          "description": "The managed database's default logical database.\n"
        },
        "enableKafkaConnect": {
          "type": "boolean",
          "description": "The configuration value for Kafka Connect support (Kafka engine types only).\n"
        },
        "enableKafkaRest": {
          "type": "boolean",
          "description": "The configuration value for Kafka REST support (Kafka engine types only).\n"
        },
        "enableSchemaRegistry": {
          "type": "boolean",
          "description": "The configuration value for Schema Registry support (Kafka engine types only).\n"
        },
        "evictionPolicy": {
          "type": "string",
          "description": "The configuration value for the data eviction policy on the managed database (Valkey engine types only - `noeviction`, `allkeys-lru`, `volatile-lru`, `allkeys-random`, `volatile-random`, `volatile-ttl`, `volatile-lfu`, `allkeys-lfu`).\n"
        },
        "ferretdbCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "host": {
          "type": "string",
          "description": "The hostname assigned to the managed database.\n"
        },
        "kafkaRestUri": {
          "type": "string",
          "description": "The URI to access the RESTful interface of your Kafka cluster if Kafka REST is enabled (Kafka engine types only).\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the managed database.\n"
        },
        "latestBackup": {
          "type": "string",
          "description": "The date of the latest backup available on the managed database.\n"
        },
        "maintenanceDow": {
          "type": "string",
          "description": "The preferred maintenance day of week for the managed database.\n"
        },
        "maintenanceTime": {
          "type": "string",
          "description": "The preferred maintenance time for the managed database.\n"
        },
        "mysqlLongQueryTime": {
          "type": "integer",
          "description": "The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only).\n"
        },
        "mysqlRequirePrimaryKey": {
          "type": "boolean",
          "description": "The configuration value for whether primary keys are required on the managed database (MySQL engine types only).\n"
        },
        "mysqlSlowQueryLog": {
          "type": "boolean",
          "description": "The configuration value for slow query logging on the managed database (MySQL engine types only).\n"
        },
        "mysqlSqlModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SQL modes to configure for the managed database (MySQL engine types only - `ALLOW_INVALID_DATES`, `ANSI`, `ANSI_QUOTES`, `ERROR_FOR_DIVISION_BY_ZERO`, `HIGH_NOT_PRECEDENCE`, `IGNORE_SPACE`, `NO_AUTO_VALUE_ON_ZERO`, `NO_DIR_IN_CREATE`, `NO_ENGINE_SUBSTITUTION`, `NO_UNSIGNED_SUBTRACTION`, `NO_ZERO_DATE`, `NO_ZERO_IN_DATE`, `ONLY_FULL_GROUP_BY`, `PIPES_AS_CONCAT`, `REAL_AS_FLOAT`, `STRICT_ALL_TABLES`, `STRICT_TRANS_TABLES`, `TIME_TRUNCATE_FRACTIONAL`, `TRADITIONAL`).\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the managed database's primary admin user.\n"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the managed database to subscribe to. [See List Managed Database Plans](https://www.vultr.com/api/#tag/managed-databases/operation/list-database-plans)\n"
        },
        "planBrokers": {
          "type": "integer",
          "description": "The number of brokers available on the managed database (Kafka engine types only).\n"
        },
        "planDisk": {
          "type": "integer",
          "description": "The description of the disk(s) on the managed database.\n"
        },
        "planRam": {
          "type": "integer",
          "description": "The amount of memory available on the managed database in MB.\n"
        },
        "planReplicas": {
          "type": "integer",
          "description": "The number of standby nodes available on the managed database (excluded for Kafka engine types).\n"
        },
        "planVcpus": {
          "type": "integer",
          "description": "The number of virtual CPUs available on the managed database.\n"
        },
        "port": {
          "type": "string",
          "description": "The connection port for the managed database.\n"
        },
        "publicHost": {
          "type": "string",
          "description": "The public hostname assigned to the managed database (VPC-attached only).\n"
        },
        "readReplicas": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FDatabaseReadReplica:DatabaseReadReplica"
          },
          "description": "A list of read replicas attached to the managed database.\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the managed database is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "saslPort": {
          "type": "string",
          "description": "The SASL connection port for the managed database (Kafka engine types only).\n"
        },
        "schemaRegistryUri": {
          "type": "string",
          "description": "The URI to access the Schema Registry service of your Kafka cluster if Schema Registry is enabled (Kafka engine types only).\n"
        },
        "status": {
          "type": "string",
          "description": "The current status of the managed database (poweroff, rebuilding, rebalancing, configuring, running).\n"
        },
        "tag": {
          "type": "string",
          "description": "The tag to assign to the managed database.\n"
        },
        "trustedIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of allowed IP addresses for the managed database.\n"
        },
        "user": {
          "type": "string",
          "description": "The primary admin user for the managed database.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC Network to attach to the Managed Database.\n"
        }
      },
      "type": "object",
      "required": [
        "accessCert",
        "accessKey",
        "clusterTimeZone",
        "databaseEngine",
        "databaseEngineVersion",
        "dateCreated",
        "dbname",
        "evictionPolicy",
        "ferretdbCredentials",
        "host",
        "kafkaRestUri",
        "label",
        "latestBackup",
        "maintenanceDow",
        "maintenanceTime",
        "mysqlLongQueryTime",
        "mysqlSlowQueryLog",
        "password",
        "plan",
        "planBrokers",
        "planDisk",
        "planRam",
        "planReplicas",
        "planVcpus",
        "port",
        "publicHost",
        "readReplicas",
        "region",
        "saslPort",
        "schemaRegistryUri",
        "status",
        "user"
      ],
      "inputProperties": {
        "accessCert": {
          "type": "string",
          "description": "The certificate to authenticate the default user (Kafka engine types only).\n"
        },
        "accessKey": {
          "type": "string",
          "description": "The private key to authenticate the default user (Kafka engine types only).\n"
        },
        "backupHour": {
          "type": "string",
          "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "backupMinute": {
          "type": "string",
          "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "clusterTimeZone": {
          "type": "string",
          "description": "The configured time zone for the Managed Database in TZ database format (e.g. `UTC`, `America/New_York`, `Europe/London`).\n"
        },
        "databaseEngine": {
          "type": "string",
          "description": "The database engine of the new managed database.\n",
          "willReplaceOnChanges": true
        },
        "databaseEngineVersion": {
          "type": "string",
          "description": "The database engine version of the new managed database.\n"
        },
        "enableKafkaConnect": {
          "type": "boolean",
          "description": "The configuration value for Kafka Connect support (Kafka engine types only).\n"
        },
        "enableKafkaRest": {
          "type": "boolean",
          "description": "The configuration value for Kafka REST support (Kafka engine types only).\n"
        },
        "enableSchemaRegistry": {
          "type": "boolean",
          "description": "The configuration value for Schema Registry support (Kafka engine types only).\n"
        },
        "evictionPolicy": {
          "type": "string",
          "description": "The configuration value for the data eviction policy on the managed database (Valkey engine types only - `noeviction`, `allkeys-lru`, `volatile-lru`, `allkeys-random`, `volatile-random`, `volatile-ttl`, `volatile-lfu`, `allkeys-lfu`).\n"
        },
        "ferretdbCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "kafkaRestUri": {
          "type": "string",
          "description": "The URI to access the RESTful interface of your Kafka cluster if Kafka REST is enabled (Kafka engine types only).\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the managed database.\n"
        },
        "maintenanceDow": {
          "type": "string",
          "description": "The preferred maintenance day of week for the managed database.\n"
        },
        "maintenanceTime": {
          "type": "string",
          "description": "The preferred maintenance time for the managed database.\n"
        },
        "mysqlLongQueryTime": {
          "type": "integer",
          "description": "The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only).\n"
        },
        "mysqlRequirePrimaryKey": {
          "type": "boolean",
          "description": "The configuration value for whether primary keys are required on the managed database (MySQL engine types only).\n"
        },
        "mysqlSlowQueryLog": {
          "type": "boolean",
          "description": "The configuration value for slow query logging on the managed database (MySQL engine types only).\n"
        },
        "mysqlSqlModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SQL modes to configure for the managed database (MySQL engine types only - `ALLOW_INVALID_DATES`, `ANSI`, `ANSI_QUOTES`, `ERROR_FOR_DIVISION_BY_ZERO`, `HIGH_NOT_PRECEDENCE`, `IGNORE_SPACE`, `NO_AUTO_VALUE_ON_ZERO`, `NO_DIR_IN_CREATE`, `NO_ENGINE_SUBSTITUTION`, `NO_UNSIGNED_SUBTRACTION`, `NO_ZERO_DATE`, `NO_ZERO_IN_DATE`, `ONLY_FULL_GROUP_BY`, `PIPES_AS_CONCAT`, `REAL_AS_FLOAT`, `STRICT_ALL_TABLES`, `STRICT_TRANS_TABLES`, `TIME_TRUNCATE_FRACTIONAL`, `TRADITIONAL`).\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the managed database's primary admin user.\n"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the managed database to subscribe to. [See List Managed Database Plans](https://www.vultr.com/api/#tag/managed-databases/operation/list-database-plans)\n"
        },
        "planBrokers": {
          "type": "integer",
          "description": "The number of brokers available on the managed database (Kafka engine types only).\n"
        },
        "planDisk": {
          "type": "integer",
          "description": "The description of the disk(s) on the managed database.\n"
        },
        "planReplicas": {
          "type": "integer",
          "description": "The number of standby nodes available on the managed database (excluded for Kafka engine types).\n"
        },
        "publicHost": {
          "type": "string",
          "description": "The public hostname assigned to the managed database (VPC-attached only).\n"
        },
        "readReplicas": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FDatabaseReadReplica:DatabaseReadReplica"
          },
          "description": "A list of read replicas attached to the managed database.\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the managed database is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "saslPort": {
          "type": "string",
          "description": "The SASL connection port for the managed database (Kafka engine types only).\n"
        },
        "schemaRegistryUri": {
          "type": "string",
          "description": "The URI to access the Schema Registry service of your Kafka cluster if Schema Registry is enabled (Kafka engine types only).\n"
        },
        "tag": {
          "type": "string",
          "description": "The tag to assign to the managed database.\n"
        },
        "trustedIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of allowed IP addresses for the managed database.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC Network to attach to the Managed Database.\n"
        }
      },
      "requiredInputs": [
        "databaseEngine",
        "databaseEngineVersion",
        "label",
        "plan",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Database resources.\n",
        "properties": {
          "accessCert": {
            "type": "string",
            "description": "The certificate to authenticate the default user (Kafka engine types only).\n"
          },
          "accessKey": {
            "type": "string",
            "description": "The private key to authenticate the default user (Kafka engine types only).\n"
          },
          "backupHour": {
            "type": "string",
            "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
          },
          "backupMinute": {
            "type": "string",
            "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
          },
          "clusterTimeZone": {
            "type": "string",
            "description": "The configured time zone for the Managed Database in TZ database format (e.g. `UTC`, `America/New_York`, `Europe/London`).\n"
          },
          "databaseEngine": {
            "type": "string",
            "description": "The database engine of the new managed database.\n",
            "willReplaceOnChanges": true
          },
          "databaseEngineVersion": {
            "type": "string",
            "description": "The database engine version of the new managed database.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the managed database was added to your Vultr account.\n"
          },
          "dbname": {
            "type": "string",
            "description": "The managed database's default logical database.\n"
          },
          "enableKafkaConnect": {
            "type": "boolean",
            "description": "The configuration value for Kafka Connect support (Kafka engine types only).\n"
          },
          "enableKafkaRest": {
            "type": "boolean",
            "description": "The configuration value for Kafka REST support (Kafka engine types only).\n"
          },
          "enableSchemaRegistry": {
            "type": "boolean",
            "description": "The configuration value for Schema Registry support (Kafka engine types only).\n"
          },
          "evictionPolicy": {
            "type": "string",
            "description": "The configuration value for the data eviction policy on the managed database (Valkey engine types only - `noeviction`, `allkeys-lru`, `volatile-lru`, `allkeys-random`, `volatile-random`, `volatile-ttl`, `volatile-lfu`, `allkeys-lfu`).\n"
          },
          "ferretdbCredentials": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "host": {
            "type": "string",
            "description": "The hostname assigned to the managed database.\n"
          },
          "kafkaRestUri": {
            "type": "string",
            "description": "The URI to access the RESTful interface of your Kafka cluster if Kafka REST is enabled (Kafka engine types only).\n"
          },
          "label": {
            "type": "string",
            "description": "A label for the managed database.\n"
          },
          "latestBackup": {
            "type": "string",
            "description": "The date of the latest backup available on the managed database.\n"
          },
          "maintenanceDow": {
            "type": "string",
            "description": "The preferred maintenance day of week for the managed database.\n"
          },
          "maintenanceTime": {
            "type": "string",
            "description": "The preferred maintenance time for the managed database.\n"
          },
          "mysqlLongQueryTime": {
            "type": "integer",
            "description": "The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only).\n"
          },
          "mysqlRequirePrimaryKey": {
            "type": "boolean",
            "description": "The configuration value for whether primary keys are required on the managed database (MySQL engine types only).\n"
          },
          "mysqlSlowQueryLog": {
            "type": "boolean",
            "description": "The configuration value for slow query logging on the managed database (MySQL engine types only).\n"
          },
          "mysqlSqlModes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of SQL modes to configure for the managed database (MySQL engine types only - `ALLOW_INVALID_DATES`, `ANSI`, `ANSI_QUOTES`, `ERROR_FOR_DIVISION_BY_ZERO`, `HIGH_NOT_PRECEDENCE`, `IGNORE_SPACE`, `NO_AUTO_VALUE_ON_ZERO`, `NO_DIR_IN_CREATE`, `NO_ENGINE_SUBSTITUTION`, `NO_UNSIGNED_SUBTRACTION`, `NO_ZERO_DATE`, `NO_ZERO_IN_DATE`, `ONLY_FULL_GROUP_BY`, `PIPES_AS_CONCAT`, `REAL_AS_FLOAT`, `STRICT_ALL_TABLES`, `STRICT_TRANS_TABLES`, `TIME_TRUNCATE_FRACTIONAL`, `TRADITIONAL`).\n"
          },
          "password": {
            "type": "string",
            "description": "The password for the managed database's primary admin user.\n"
          },
          "plan": {
            "type": "string",
            "description": "The ID of the plan that you want the managed database to subscribe to. [See List Managed Database Plans](https://www.vultr.com/api/#tag/managed-databases/operation/list-database-plans)\n"
          },
          "planBrokers": {
            "type": "integer",
            "description": "The number of brokers available on the managed database (Kafka engine types only).\n"
          },
          "planDisk": {
            "type": "integer",
            "description": "The description of the disk(s) on the managed database.\n"
          },
          "planRam": {
            "type": "integer",
            "description": "The amount of memory available on the managed database in MB.\n"
          },
          "planReplicas": {
            "type": "integer",
            "description": "The number of standby nodes available on the managed database (excluded for Kafka engine types).\n"
          },
          "planVcpus": {
            "type": "integer",
            "description": "The number of virtual CPUs available on the managed database.\n"
          },
          "port": {
            "type": "string",
            "description": "The connection port for the managed database.\n"
          },
          "publicHost": {
            "type": "string",
            "description": "The public hostname assigned to the managed database (VPC-attached only).\n"
          },
          "readReplicas": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FDatabaseReadReplica:DatabaseReadReplica"
            },
            "description": "A list of read replicas attached to the managed database.\n"
          },
          "region": {
            "type": "string",
            "description": "The ID of the region that the managed database is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
          },
          "saslPort": {
            "type": "string",
            "description": "The SASL connection port for the managed database (Kafka engine types only).\n"
          },
          "schemaRegistryUri": {
            "type": "string",
            "description": "The URI to access the Schema Registry service of your Kafka cluster if Schema Registry is enabled (Kafka engine types only).\n"
          },
          "status": {
            "type": "string",
            "description": "The current status of the managed database (poweroff, rebuilding, rebalancing, configuring, running).\n"
          },
          "tag": {
            "type": "string",
            "description": "The tag to assign to the managed database.\n"
          },
          "trustedIps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of allowed IP addresses for the managed database.\n"
          },
          "user": {
            "type": "string",
            "description": "The primary admin user for the managed database.\n"
          },
          "vpcId": {
            "type": "string",
            "description": "The ID of the VPC Network to attach to the Managed Database.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseConnectionPool:DatabaseConnectionPool": {
      "description": "Provides a Vultr database connection pool resource. This can be used to create, read, modify, and delete connection pools for a PostgreSQL managed database on your Vultr account.\n\n## Example Usage\n\nCreate a new database connection pool:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseConnectionPool = new vultr.DatabaseConnectionPool(\"myDatabaseConnectionPool\", {\n    databaseId: vultr_database.my_database.id,\n    database: \"defaultdb\",\n    username: \"vultradmin\",\n    mode: \"transaction\",\n    size: 3,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database_connection_pool = vultr.DatabaseConnectionPool(\"myDatabaseConnectionPool\",\n    database_id=vultr_database[\"my_database\"][\"id\"],\n    database=\"defaultdb\",\n    username=\"vultradmin\",\n    mode=\"transaction\",\n    size=3)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseConnectionPool = new Vultr.DatabaseConnectionPool(\"myDatabaseConnectionPool\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n        Database = \"defaultdb\",\n        Username = \"vultradmin\",\n        Mode = \"transaction\",\n        Size = 3,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabaseConnectionPool(ctx, \"myDatabaseConnectionPool\", &vultr.DatabaseConnectionPoolArgs{\n\t\t\tDatabaseId: pulumi.Any(vultr_database.My_database.Id),\n\t\t\tDatabase:   pulumi.String(\"defaultdb\"),\n\t\t\tUsername:   pulumi.String(\"vultradmin\"),\n\t\t\tMode:       pulumi.String(\"transaction\"),\n\t\t\tSize:       pulumi.Int(3),\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.vultr.DatabaseConnectionPool;\nimport com.pulumi.vultr.DatabaseConnectionPoolArgs;\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 myDatabaseConnectionPool = new DatabaseConnectionPool(\"myDatabaseConnectionPool\", DatabaseConnectionPoolArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .database(\"defaultdb\")\n            .username(\"vultradmin\")\n            .mode(\"transaction\")\n            .size(3)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseConnectionPool:\n    type: vultr:DatabaseConnectionPool\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n      database: defaultdb\n      username: vultradmin\n      mode: transaction\n      size: 3\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "database": {
          "type": "string",
          "description": "The logical database to use for the new managed database connection pool.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this connection pool to.\n"
        },
        "mode": {
          "type": "string",
          "description": "The mode to configure for the new managed database connection pool (`session`, `transaction`, `statement`).\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the new managed database connection pool.\n"
        },
        "size": {
          "type": "integer",
          "description": "The size of the new managed database connection pool.\n"
        },
        "username": {
          "type": "string",
          "description": "The database user to use for the new managed database connection pool.\n"
        }
      },
      "type": "object",
      "required": [
        "database",
        "databaseId",
        "mode",
        "name",
        "size",
        "username"
      ],
      "inputProperties": {
        "database": {
          "type": "string",
          "description": "The logical database to use for the new managed database connection pool.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this connection pool to.\n",
          "willReplaceOnChanges": true
        },
        "mode": {
          "type": "string",
          "description": "The mode to configure for the new managed database connection pool (`session`, `transaction`, `statement`).\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the new managed database connection pool.\n",
          "willReplaceOnChanges": true
        },
        "size": {
          "type": "integer",
          "description": "The size of the new managed database connection pool.\n"
        },
        "username": {
          "type": "string",
          "description": "The database user to use for the new managed database connection pool.\n"
        }
      },
      "requiredInputs": [
        "database",
        "databaseId",
        "mode",
        "size",
        "username"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseConnectionPool resources.\n",
        "properties": {
          "database": {
            "type": "string",
            "description": "The logical database to use for the new managed database connection pool.\n"
          },
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this connection pool to.\n",
            "willReplaceOnChanges": true
          },
          "mode": {
            "type": "string",
            "description": "The mode to configure for the new managed database connection pool (`session`, `transaction`, `statement`).\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the new managed database connection pool.\n",
            "willReplaceOnChanges": true
          },
          "size": {
            "type": "integer",
            "description": "The size of the new managed database connection pool.\n"
          },
          "username": {
            "type": "string",
            "description": "The database user to use for the new managed database connection pool.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseConnector:DatabaseConnector": {
      "description": "Provides a Vultr database connector resource. This can be used to create, read, modify, and delete connectors for a managed database on your Vultr account. Note: The managed database must be configured with `enable_kafka_connect = true`.\n\n## Example Usage\n\nCreate a new database connector:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseConnector = new vultr.DatabaseConnector(\"myDatabaseConnector\", {\n    databaseId: vultr_database.my_database.id,\n    name: \"my_database_connector\",\n    \"class\": \"com.couchbase.connect.kafka.CouchbaseSinkConnector\",\n    topics: \"my_database_topic\",\n    config: JSON.stringify({\n        \"couchbase.seed.nodes\": \"3\",\n        \"couchbase.username\": \"some_username\",\n        \"couchbase.password\": \"some_password\",\n    }),\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\nimport json\n\nmy_database_connector = vultr.DatabaseConnector(\"myDatabaseConnector\",\n    database_id=vultr_database[\"my_database\"][\"id\"],\n    name=\"my_database_connector\",\n    class_=\"com.couchbase.connect.kafka.CouchbaseSinkConnector\",\n    topics=\"my_database_topic\",\n    config=json.dumps({\n        \"couchbase.seed.nodes\": \"3\",\n        \"couchbase.username\": \"some_username\",\n        \"couchbase.password\": \"some_password\",\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseConnector = new Vultr.DatabaseConnector(\"myDatabaseConnector\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n        Name = \"my_database_connector\",\n        Class = \"com.couchbase.connect.kafka.CouchbaseSinkConnector\",\n        Topics = \"my_database_topic\",\n        Config = JsonSerializer.Serialize(new Dictionary<string, object?>\n        {\n            [\"couchbase.seed.nodes\"] = \"3\",\n            [\"couchbase.username\"] = \"some_username\",\n            [\"couchbase.password\"] = \"some_password\",\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"couchbase.seed.nodes\": \"3\",\n\t\t\t\"couchbase.username\":   \"some_username\",\n\t\t\t\"couchbase.password\":   \"some_password\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = vultr.NewDatabaseConnector(ctx, \"myDatabaseConnector\", &vultr.DatabaseConnectorArgs{\n\t\t\tDatabaseId: pulumi.Any(vultr_database.My_database.Id),\n\t\t\tName:       pulumi.String(\"my_database_connector\"),\n\t\t\tClass:      pulumi.String(\"com.couchbase.connect.kafka.CouchbaseSinkConnector\"),\n\t\t\tTopics:     pulumi.String(\"my_database_topic\"),\n\t\t\tConfig:     pulumi.String(json0),\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.vultr.DatabaseConnector;\nimport com.pulumi.vultr.DatabaseConnectorArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 myDatabaseConnector = new DatabaseConnector(\"myDatabaseConnector\", DatabaseConnectorArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .name(\"my_database_connector\")\n            .class_(\"com.couchbase.connect.kafka.CouchbaseSinkConnector\")\n            .topics(\"my_database_topic\")\n            .config(serializeJson(\n                jsonObject(\n                    jsonProperty(\"couchbase.seed.nodes\", \"3\"),\n                    jsonProperty(\"couchbase.username\", \"some_username\"),\n                    jsonProperty(\"couchbase.password\", \"some_password\")\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseConnector:\n    type: vultr:DatabaseConnector\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n      name: my_database_connector\n      class: com.couchbase.connect.kafka.CouchbaseSinkConnector\n      topics: my_database_topic\n      config:\n        fn::toJSON:\n          couchbase.seed.nodes: '3'\n          couchbase.username: some_username\n          couchbase.password: some_password\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "class": {
          "type": "string",
          "description": "The class for the new managed database connector.\n"
        },
        "config": {
          "type": "string",
          "description": "A JSON string containing the configuration properties you wish to use with the new managed database connector.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this connector to.\n"
        },
        "name": {
          "type": "string",
          "description": "The name for the new managed database connector.\n"
        },
        "topics": {
          "type": "string",
          "description": "A comma-separated list of topics to use with the new managed database connector.\n"
        }
      },
      "type": "object",
      "required": [
        "class",
        "databaseId",
        "name",
        "topics"
      ],
      "inputProperties": {
        "class": {
          "type": "string",
          "description": "The class for the new managed database connector.\n",
          "willReplaceOnChanges": true
        },
        "config": {
          "type": "string",
          "description": "A JSON string containing the configuration properties you wish to use with the new managed database connector.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this connector to.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name for the new managed database connector.\n",
          "willReplaceOnChanges": true
        },
        "topics": {
          "type": "string",
          "description": "A comma-separated list of topics to use with the new managed database connector.\n"
        }
      },
      "requiredInputs": [
        "class",
        "databaseId",
        "name",
        "topics"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseConnector resources.\n",
        "properties": {
          "class": {
            "type": "string",
            "description": "The class for the new managed database connector.\n",
            "willReplaceOnChanges": true
          },
          "config": {
            "type": "string",
            "description": "A JSON string containing the configuration properties you wish to use with the new managed database connector.\n"
          },
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this connector to.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The name for the new managed database connector.\n",
            "willReplaceOnChanges": true
          },
          "topics": {
            "type": "string",
            "description": "A comma-separated list of topics to use with the new managed database connector.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseDb:DatabaseDb": {
      "description": "Provides a Vultr database DB resource. This can be used to create, read, and delete logical DBs for a managed database on your Vultr account.\n\n## Example Usage\n\nCreate a new database DB:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseDb = new vultr.DatabaseDb(\"myDatabaseDb\", {databaseId: vultr_database.my_database.id});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database_db = vultr.DatabaseDb(\"myDatabaseDb\", database_id=vultr_database[\"my_database\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseDb = new Vultr.DatabaseDb(\"myDatabaseDb\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabaseDb(ctx, \"myDatabaseDb\", &vultr.DatabaseDbArgs{\n\t\t\tDatabaseId: pulumi.Any(vultr_database.My_database.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.vultr.DatabaseDb;\nimport com.pulumi.vultr.DatabaseDbArgs;\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 myDatabaseDb = new DatabaseDb(\"myDatabaseDb\", DatabaseDbArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseDb:\n    type: vultr:DatabaseDb\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this logical DB to.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the new managed database logical DB.\n"
        }
      },
      "type": "object",
      "required": [
        "databaseId",
        "name"
      ],
      "inputProperties": {
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this logical DB to.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name of the new managed database logical DB.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "databaseId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseDb resources.\n",
        "properties": {
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this logical DB to.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The name of the new managed database logical DB.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseQuota:DatabaseQuota": {
      "description": "Provides a Vultr database quota resource. This can be used to create, read, modify, and delete quotas for a managed database on your Vultr account.\n\n## Example Usage\n\nCreate a new database quota:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseQuota = new vultr.DatabaseQuota(\"myDatabaseQuota\", {\n    databaseId: vultr_database.my_database.id,\n    clientId: \"my_database_quota\",\n    consumerByteRate: 3,\n    producerByteRate: 2,\n    requestPercentage: 120,\n    user: \"my_database_user\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database_quota = vultr.DatabaseQuota(\"myDatabaseQuota\",\n    database_id=vultr_database[\"my_database\"][\"id\"],\n    client_id=\"my_database_quota\",\n    consumer_byte_rate=3,\n    producer_byte_rate=2,\n    request_percentage=120,\n    user=\"my_database_user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseQuota = new Vultr.DatabaseQuota(\"myDatabaseQuota\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n        ClientId = \"my_database_quota\",\n        ConsumerByteRate = 3,\n        ProducerByteRate = 2,\n        RequestPercentage = 120,\n        User = \"my_database_user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabaseQuota(ctx, \"myDatabaseQuota\", &vultr.DatabaseQuotaArgs{\n\t\t\tDatabaseId:        pulumi.Any(vultr_database.My_database.Id),\n\t\t\tClientId:          pulumi.String(\"my_database_quota\"),\n\t\t\tConsumerByteRate:  pulumi.Int(3),\n\t\t\tProducerByteRate:  pulumi.Int(2),\n\t\t\tRequestPercentage: pulumi.Int(120),\n\t\t\tUser:              pulumi.String(\"my_database_user\"),\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.vultr.DatabaseQuota;\nimport com.pulumi.vultr.DatabaseQuotaArgs;\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 myDatabaseQuota = new DatabaseQuota(\"myDatabaseQuota\", DatabaseQuotaArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .clientId(\"my_database_quota\")\n            .consumerByteRate(3)\n            .producerByteRate(2)\n            .requestPercentage(120)\n            .user(\"my_database_user\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseQuota:\n    type: vultr:DatabaseQuota\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n      clientId: my_database_quota\n      consumerByteRate: '3'\n      producerByteRate: '2'\n      requestPercentage: '120'\n      user: my_database_user\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "clientId": {
          "type": "string",
          "description": "The client ID for the new database quota.\n"
        },
        "consumerByteRate": {
          "type": "integer",
          "description": "The consumer byte rate for the new managed database quota.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this quota to.\n"
        },
        "producerByteRate": {
          "type": "integer",
          "description": "The producer byte rate for the new managed database quota.\n"
        },
        "requestPercentage": {
          "type": "integer",
          "description": "The CPU request percentage for the new managed database quota.\n"
        },
        "user": {
          "type": "string",
          "description": "The user for the new managed database quota.\n"
        }
      },
      "type": "object",
      "required": [
        "clientId",
        "consumerByteRate",
        "databaseId",
        "producerByteRate",
        "requestPercentage",
        "user"
      ],
      "inputProperties": {
        "clientId": {
          "type": "string",
          "description": "The client ID for the new database quota.\n",
          "willReplaceOnChanges": true
        },
        "consumerByteRate": {
          "type": "integer",
          "description": "The consumer byte rate for the new managed database quota.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this quota to.\n",
          "willReplaceOnChanges": true
        },
        "producerByteRate": {
          "type": "integer",
          "description": "The producer byte rate for the new managed database quota.\n"
        },
        "requestPercentage": {
          "type": "integer",
          "description": "The CPU request percentage for the new managed database quota.\n"
        },
        "user": {
          "type": "string",
          "description": "The user for the new managed database quota.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "clientId",
        "consumerByteRate",
        "databaseId",
        "producerByteRate",
        "requestPercentage",
        "user"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseQuota resources.\n",
        "properties": {
          "clientId": {
            "type": "string",
            "description": "The client ID for the new database quota.\n",
            "willReplaceOnChanges": true
          },
          "consumerByteRate": {
            "type": "integer",
            "description": "The consumer byte rate for the new managed database quota.\n"
          },
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this quota to.\n",
            "willReplaceOnChanges": true
          },
          "producerByteRate": {
            "type": "integer",
            "description": "The producer byte rate for the new managed database quota.\n"
          },
          "requestPercentage": {
            "type": "integer",
            "description": "The CPU request percentage for the new managed database quota.\n"
          },
          "user": {
            "type": "string",
            "description": "The user for the new managed database quota.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseReplica:DatabaseReplica": {
      "description": "Provides a Vultr database replica resource. This can be used to create, read, modify, and delete managed database read replicas on your Vultr account.\n\n## Example Usage\n\nCreate a new database replica:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseReplica = new vultr.DatabaseReplica(\"myDatabaseReplica\", {\n    databaseId: vultr_database.my_database.id,\n    region: \"sea\",\n    label: \"my_database_replica_label\",\n    tag: \"test tag\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database_replica = vultr.DatabaseReplica(\"myDatabaseReplica\",\n    database_id=vultr_database[\"my_database\"][\"id\"],\n    region=\"sea\",\n    label=\"my_database_replica_label\",\n    tag=\"test tag\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseReplica = new Vultr.DatabaseReplica(\"myDatabaseReplica\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n        Region = \"sea\",\n        Label = \"my_database_replica_label\",\n        Tag = \"test tag\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabaseReplica(ctx, \"myDatabaseReplica\", &vultr.DatabaseReplicaArgs{\n\t\t\tDatabaseId: pulumi.Any(vultr_database.My_database.Id),\n\t\t\tRegion:     pulumi.String(\"sea\"),\n\t\t\tLabel:      pulumi.String(\"my_database_replica_label\"),\n\t\t\tTag:        pulumi.String(\"test tag\"),\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.vultr.DatabaseReplica;\nimport com.pulumi.vultr.DatabaseReplicaArgs;\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 myDatabaseReplica = new DatabaseReplica(\"myDatabaseReplica\", DatabaseReplicaArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .region(\"sea\")\n            .label(\"my_database_replica_label\")\n            .tag(\"test tag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseReplica:\n    type: vultr:DatabaseReplica\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n      region: sea\n      label: my_database_replica_label\n      tag: test tag\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "backupHour": {
          "type": "string",
          "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "backupMinute": {
          "type": "string",
          "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "clusterTimeZone": {
          "type": "string",
          "description": "The configured time zone for the managed database read replica in TZ database format.\n"
        },
        "databaseEngine": {
          "type": "string",
          "description": "The database engine of the managed database read replica.\n"
        },
        "databaseEngineVersion": {
          "type": "string",
          "description": "The database engine version of the managed database read replica.\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this replica to.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the managed database read replica was added to your Vultr account.\n"
        },
        "dbname": {
          "type": "string",
          "description": "The managed database read replica's default logical database.\n"
        },
        "evictionPolicy": {
          "type": "string",
          "description": "The configuration value for the data eviction policy on the managed database read replica (Valkey engine types only).\n"
        },
        "ferretdbCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "host": {
          "type": "string",
          "description": "The hostname assigned to the managed database read replica.\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the managed database read replica.\n"
        },
        "latestBackup": {
          "type": "string",
          "description": "The date of the latest backup available on the managed database read replica.\n"
        },
        "maintenanceDow": {
          "type": "string",
          "description": "The preferred maintenance day of week for the managed database read replica.\n"
        },
        "maintenanceTime": {
          "type": "string",
          "description": "The preferred maintenance time for the managed database read replica.\n"
        },
        "mysqlLongQueryTime": {
          "type": "integer",
          "description": "The configuration value for the long query time (in seconds) on the managed database read replica (MySQL engine types only).\n"
        },
        "mysqlRequirePrimaryKey": {
          "type": "boolean",
          "description": "The configuration value for whether primary keys are required on the managed database read replica (MySQL engine types only).\n"
        },
        "mysqlSlowQueryLog": {
          "type": "boolean",
          "description": "The configuration value for slow query logging on the managed database read replica (MySQL engine types only).\n"
        },
        "mysqlSqlModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SQL modes currently configured for the managed database read replica (MySQL engine types only).\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the managed database read replica's primary admin user.\n"
        },
        "plan": {
          "type": "string",
          "description": "The managed database read replica's plan ID.\n"
        },
        "planDisk": {
          "type": "integer",
          "description": "The description of the disk(s) on the managed database read replica.\n"
        },
        "planRam": {
          "type": "integer",
          "description": "The amount of memory available on the managed database read replica in MB.\n"
        },
        "planReplicas": {
          "type": "integer",
          "description": "The number of standby nodes available on the managed database read replica.\n"
        },
        "planVcpus": {
          "type": "integer",
          "description": "The number of virtual CPUs available on the managed database read replica.\n"
        },
        "port": {
          "type": "string",
          "description": "The connection port for the managed database read replica.\n"
        },
        "publicHost": {
          "type": "string",
          "description": "The public hostname assigned to the managed database read replica (VPC-attached only).\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the managed database read replica is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "status": {
          "type": "string",
          "description": "The current status of the managed database read replica (poweroff, rebuilding, rebalancing, configuring, running).\n"
        },
        "tag": {
          "type": "string",
          "description": "The tag to assign to the managed database read replica.\n"
        },
        "trustedIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of allowed IP addresses for the managed database read replica.\n"
        },
        "user": {
          "type": "string",
          "description": "The primary admin user for the managed database read replica.\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC Network attached to the managed database read replica.\n"
        }
      },
      "type": "object",
      "required": [
        "backupHour",
        "backupMinute",
        "clusterTimeZone",
        "databaseEngine",
        "databaseEngineVersion",
        "databaseId",
        "dateCreated",
        "dbname",
        "evictionPolicy",
        "ferretdbCredentials",
        "host",
        "label",
        "latestBackup",
        "maintenanceDow",
        "maintenanceTime",
        "mysqlLongQueryTime",
        "mysqlRequirePrimaryKey",
        "mysqlSlowQueryLog",
        "mysqlSqlModes",
        "password",
        "plan",
        "planDisk",
        "planRam",
        "planReplicas",
        "planVcpus",
        "port",
        "publicHost",
        "region",
        "status",
        "tag",
        "trustedIps",
        "user",
        "vpcId"
      ],
      "inputProperties": {
        "backupHour": {
          "type": "string",
          "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "backupMinute": {
          "type": "string",
          "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this replica to.\n",
          "willReplaceOnChanges": true
        },
        "evictionPolicy": {
          "type": "string",
          "description": "The configuration value for the data eviction policy on the managed database read replica (Valkey engine types only).\n"
        },
        "ferretdbCredentials": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "label": {
          "type": "string",
          "description": "A label for the managed database read replica.\n"
        },
        "mysqlLongQueryTime": {
          "type": "integer",
          "description": "The configuration value for the long query time (in seconds) on the managed database read replica (MySQL engine types only).\n"
        },
        "mysqlRequirePrimaryKey": {
          "type": "boolean",
          "description": "The configuration value for whether primary keys are required on the managed database read replica (MySQL engine types only).\n"
        },
        "mysqlSlowQueryLog": {
          "type": "boolean",
          "description": "The configuration value for slow query logging on the managed database read replica (MySQL engine types only).\n"
        },
        "mysqlSqlModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SQL modes currently configured for the managed database read replica (MySQL engine types only).\n"
        },
        "planDisk": {
          "type": "integer",
          "description": "The description of the disk(s) on the managed database read replica.\n"
        },
        "publicHost": {
          "type": "string",
          "description": "The public hostname assigned to the managed database read replica (VPC-attached only).\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the managed database read replica is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "tag": {
          "type": "string",
          "description": "The tag to assign to the managed database read replica.\n"
        },
        "trustedIps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of allowed IP addresses for the managed database read replica.\n"
        }
      },
      "requiredInputs": [
        "databaseId",
        "label",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseReplica resources.\n",
        "properties": {
          "backupHour": {
            "type": "string",
            "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n"
          },
          "backupMinute": {
            "type": "string",
            "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n"
          },
          "clusterTimeZone": {
            "type": "string",
            "description": "The configured time zone for the managed database read replica in TZ database format.\n"
          },
          "databaseEngine": {
            "type": "string",
            "description": "The database engine of the managed database read replica.\n"
          },
          "databaseEngineVersion": {
            "type": "string",
            "description": "The database engine version of the managed database read replica.\n"
          },
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this replica to.\n",
            "willReplaceOnChanges": true
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the managed database read replica was added to your Vultr account.\n"
          },
          "dbname": {
            "type": "string",
            "description": "The managed database read replica's default logical database.\n"
          },
          "evictionPolicy": {
            "type": "string",
            "description": "The configuration value for the data eviction policy on the managed database read replica (Valkey engine types only).\n"
          },
          "ferretdbCredentials": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "host": {
            "type": "string",
            "description": "The hostname assigned to the managed database read replica.\n"
          },
          "label": {
            "type": "string",
            "description": "A label for the managed database read replica.\n"
          },
          "latestBackup": {
            "type": "string",
            "description": "The date of the latest backup available on the managed database read replica.\n"
          },
          "maintenanceDow": {
            "type": "string",
            "description": "The preferred maintenance day of week for the managed database read replica.\n"
          },
          "maintenanceTime": {
            "type": "string",
            "description": "The preferred maintenance time for the managed database read replica.\n"
          },
          "mysqlLongQueryTime": {
            "type": "integer",
            "description": "The configuration value for the long query time (in seconds) on the managed database read replica (MySQL engine types only).\n"
          },
          "mysqlRequirePrimaryKey": {
            "type": "boolean",
            "description": "The configuration value for whether primary keys are required on the managed database read replica (MySQL engine types only).\n"
          },
          "mysqlSlowQueryLog": {
            "type": "boolean",
            "description": "The configuration value for slow query logging on the managed database read replica (MySQL engine types only).\n"
          },
          "mysqlSqlModes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of SQL modes currently configured for the managed database read replica (MySQL engine types only).\n"
          },
          "password": {
            "type": "string",
            "description": "The password for the managed database read replica's primary admin user.\n"
          },
          "plan": {
            "type": "string",
            "description": "The managed database read replica's plan ID.\n"
          },
          "planDisk": {
            "type": "integer",
            "description": "The description of the disk(s) on the managed database read replica.\n"
          },
          "planRam": {
            "type": "integer",
            "description": "The amount of memory available on the managed database read replica in MB.\n"
          },
          "planReplicas": {
            "type": "integer",
            "description": "The number of standby nodes available on the managed database read replica.\n"
          },
          "planVcpus": {
            "type": "integer",
            "description": "The number of virtual CPUs available on the managed database read replica.\n"
          },
          "port": {
            "type": "string",
            "description": "The connection port for the managed database read replica.\n"
          },
          "publicHost": {
            "type": "string",
            "description": "The public hostname assigned to the managed database read replica (VPC-attached only).\n"
          },
          "region": {
            "type": "string",
            "description": "The ID of the region that the managed database read replica is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
          },
          "status": {
            "type": "string",
            "description": "The current status of the managed database read replica (poweroff, rebuilding, rebalancing, configuring, running).\n"
          },
          "tag": {
            "type": "string",
            "description": "The tag to assign to the managed database read replica.\n"
          },
          "trustedIps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of allowed IP addresses for the managed database read replica.\n"
          },
          "user": {
            "type": "string",
            "description": "The primary admin user for the managed database read replica.\n"
          },
          "vpcId": {
            "type": "string",
            "description": "The ID of the VPC Network attached to the managed database read replica.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseTopic:DatabaseTopic": {
      "description": "Provides a Vultr database topic resource. This can be used to create, read, modify, and delete topics for a managed database on your Vultr account.\n\n## Example Usage\n\nCreate a new database topic:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseTopic = new vultr.DatabaseTopic(\"myDatabaseTopic\", {\n    databaseId: vultr_database.my_database.id,\n    name: \"my_database_topic\",\n    partitions: 3,\n    replication: 2,\n    retentionHours: 120,\n    retentionBytes: -1,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database_topic = vultr.DatabaseTopic(\"myDatabaseTopic\",\n    database_id=vultr_database[\"my_database\"][\"id\"],\n    name=\"my_database_topic\",\n    partitions=3,\n    replication=2,\n    retention_hours=120,\n    retention_bytes=-1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseTopic = new Vultr.DatabaseTopic(\"myDatabaseTopic\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n        Name = \"my_database_topic\",\n        Partitions = 3,\n        Replication = 2,\n        RetentionHours = 120,\n        RetentionBytes = -1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabaseTopic(ctx, \"myDatabaseTopic\", &vultr.DatabaseTopicArgs{\n\t\t\tDatabaseId:     pulumi.Any(vultr_database.My_database.Id),\n\t\t\tName:           pulumi.String(\"my_database_topic\"),\n\t\t\tPartitions:     pulumi.Int(3),\n\t\t\tReplication:    pulumi.Int(2),\n\t\t\tRetentionHours: pulumi.Int(120),\n\t\t\tRetentionBytes: pulumi.Int(-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.vultr.DatabaseTopic;\nimport com.pulumi.vultr.DatabaseTopicArgs;\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 myDatabaseTopic = new DatabaseTopic(\"myDatabaseTopic\", DatabaseTopicArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .name(\"my_database_topic\")\n            .partitions(3)\n            .replication(2)\n            .retentionHours(120)\n            .retentionBytes(-1)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseTopic:\n    type: vultr:DatabaseTopic\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n      name: my_database_topic\n      partitions: '3'\n      replication: '2'\n      retentionHours: '120'\n      retentionBytes: '-1'\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this topic to.\n"
        },
        "name": {
          "type": "string",
          "description": "The name for the new managed database topic.\n"
        },
        "partitions": {
          "type": "integer",
          "description": "The number of partitions for the new managed database topic.\n"
        },
        "replication": {
          "type": "integer",
          "description": "The replication factor for the new managed database topic.\n"
        },
        "retentionBytes": {
          "type": "integer",
          "description": "The retention bytes for the new managed database topic.\n"
        },
        "retentionHours": {
          "type": "integer",
          "description": "The retention hours for the new managed database topic.\n"
        }
      },
      "type": "object",
      "required": [
        "databaseId",
        "name",
        "partitions",
        "replication",
        "retentionBytes",
        "retentionHours"
      ],
      "inputProperties": {
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this topic to.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name for the new managed database topic.\n"
        },
        "partitions": {
          "type": "integer",
          "description": "The number of partitions for the new managed database topic.\n"
        },
        "replication": {
          "type": "integer",
          "description": "The replication factor for the new managed database topic.\n"
        },
        "retentionBytes": {
          "type": "integer",
          "description": "The retention bytes for the new managed database topic.\n"
        },
        "retentionHours": {
          "type": "integer",
          "description": "The retention hours for the new managed database topic.\n"
        }
      },
      "requiredInputs": [
        "databaseId",
        "name",
        "partitions",
        "replication",
        "retentionBytes",
        "retentionHours"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseTopic resources.\n",
        "properties": {
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this topic to.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The name for the new managed database topic.\n"
          },
          "partitions": {
            "type": "integer",
            "description": "The number of partitions for the new managed database topic.\n"
          },
          "replication": {
            "type": "integer",
            "description": "The replication factor for the new managed database topic.\n"
          },
          "retentionBytes": {
            "type": "integer",
            "description": "The retention bytes for the new managed database topic.\n"
          },
          "retentionHours": {
            "type": "integer",
            "description": "The retention hours for the new managed database topic.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/databaseUser:DatabaseUser": {
      "description": "Provides a Vultr database user resource. This can be used to create, read, modify, and delete users for a managed database on your Vultr account.\n\n## Example Usage\n\nCreate a new database user:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabaseUser = new vultr.DatabaseUser(\"myDatabaseUser\", {\n    databaseId: vultr_database.my_database.id,\n    username: \"my_database_user\",\n    password: \"randomTestPW40298\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_database_user = vultr.DatabaseUser(\"myDatabaseUser\",\n    database_id=vultr_database[\"my_database\"][\"id\"],\n    username=\"my_database_user\",\n    password=\"randomTestPW40298\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDatabaseUser = new Vultr.DatabaseUser(\"myDatabaseUser\", new()\n    {\n        DatabaseId = vultr_database.My_database.Id,\n        Username = \"my_database_user\",\n        Password = \"randomTestPW40298\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDatabaseUser(ctx, \"myDatabaseUser\", &vultr.DatabaseUserArgs{\n\t\t\tDatabaseId: pulumi.Any(vultr_database.My_database.Id),\n\t\t\tUsername:   pulumi.String(\"my_database_user\"),\n\t\t\tPassword:   pulumi.String(\"randomTestPW40298\"),\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.vultr.DatabaseUser;\nimport com.pulumi.vultr.DatabaseUserArgs;\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 myDatabaseUser = new DatabaseUser(\"myDatabaseUser\", DatabaseUserArgs.builder()\n            .databaseId(vultr_database.my_database().id())\n            .username(\"my_database_user\")\n            .password(\"randomTestPW40298\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDatabaseUser:\n    type: vultr:DatabaseUser\n    properties:\n      databaseId: ${vultr_database.my_database.id}\n      username: my_database_user\n      password: randomTestPW40298\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "accessCert": {
          "type": "string"
        },
        "accessControl": {
          "$ref": "#/types/vultr:index%2FDatabaseUserAccessControl:DatabaseUserAccessControl"
        },
        "accessKey": {
          "type": "string"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this user to.\n"
        },
        "encryption": {
          "type": "string",
          "description": "The encryption type of the new managed database user's password (MySQL engine types only - `caching_sha2_password`, `mysql_native_password`).\n"
        },
        "password": {
          "type": "string",
          "description": "The password of the new managed database user.\n"
        },
        "permission": {
          "type": "string",
          "description": "The permission level for the database user (Kafka engine types only - `admin`, `read`, `write`, `readwrite`).\n"
        },
        "username": {
          "type": "string",
          "description": "The username of the new managed database user.\n"
        }
      },
      "type": "object",
      "required": [
        "accessCert",
        "accessControl",
        "accessKey",
        "databaseId",
        "encryption",
        "password",
        "permission",
        "username"
      ],
      "inputProperties": {
        "accessControl": {
          "$ref": "#/types/vultr:index%2FDatabaseUserAccessControl:DatabaseUserAccessControl"
        },
        "databaseId": {
          "type": "string",
          "description": "The managed database ID you want to attach this user to.\n",
          "willReplaceOnChanges": true
        },
        "encryption": {
          "type": "string",
          "description": "The encryption type of the new managed database user's password (MySQL engine types only - `caching_sha2_password`, `mysql_native_password`).\n"
        },
        "password": {
          "type": "string",
          "description": "The password of the new managed database user.\n"
        },
        "permission": {
          "type": "string",
          "description": "The permission level for the database user (Kafka engine types only - `admin`, `read`, `write`, `readwrite`).\n"
        },
        "username": {
          "type": "string",
          "description": "The username of the new managed database user.\n"
        }
      },
      "requiredInputs": [
        "databaseId",
        "username"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DatabaseUser resources.\n",
        "properties": {
          "accessCert": {
            "type": "string"
          },
          "accessControl": {
            "$ref": "#/types/vultr:index%2FDatabaseUserAccessControl:DatabaseUserAccessControl"
          },
          "accessKey": {
            "type": "string"
          },
          "databaseId": {
            "type": "string",
            "description": "The managed database ID you want to attach this user to.\n",
            "willReplaceOnChanges": true
          },
          "encryption": {
            "type": "string",
            "description": "The encryption type of the new managed database user's password (MySQL engine types only - `caching_sha2_password`, `mysql_native_password`).\n"
          },
          "password": {
            "type": "string",
            "description": "The password of the new managed database user.\n"
          },
          "permission": {
            "type": "string",
            "description": "The permission level for the database user (Kafka engine types only - `admin`, `read`, `write`, `readwrite`).\n"
          },
          "username": {
            "type": "string",
            "description": "The username of the new managed database user.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/dnsDomain:DnsDomain": {
      "description": "Provides a Vultr DNS Domain resource. This can be used to create, read, modify, and delete DNS Domains.\n\n## Example Usage\n\nCreate a new DNS Domain\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDomain = new vultr.DnsDomain(\"myDomain\", {\n    domain: \"domain.com\",\n    ip: \"66.42.94.227\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_domain = vultr.DnsDomain(\"myDomain\",\n    domain=\"domain.com\",\n    ip=\"66.42.94.227\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDomain = new Vultr.DnsDomain(\"myDomain\", new()\n    {\n        Domain = \"domain.com\",\n        Ip = \"66.42.94.227\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewDnsDomain(ctx, \"myDomain\", &vultr.DnsDomainArgs{\n\t\t\tDomain: pulumi.String(\"domain.com\"),\n\t\t\tIp:     pulumi.String(\"66.42.94.227\"),\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.vultr.DnsDomain;\nimport com.pulumi.vultr.DnsDomainArgs;\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 myDomain = new DnsDomain(\"myDomain\", DnsDomainArgs.builder()\n            .domain(\"domain.com\")\n            .ip(\"66.42.94.227\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDomain:\n    type: vultr:DnsDomain\n    properties:\n      domain: domain.com\n      ip: 66.42.94.227\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDNS Domains can be imported using the Dns Domain `domain`, e.g.\n\n```sh\n$ pulumi import vultr:index/dnsDomain:DnsDomain name domain.com\n```\n\n",
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "The date the domain was added to your account.\n"
        },
        "dnsSec": {
          "type": "string",
          "description": "The Domain's DNSSEC status. Valid options are `enabled` or `disabled`. Note `disabled` is default\n"
        },
        "domain": {
          "type": "string",
          "description": "Name of domain.\n"
        },
        "ip": {
          "type": "string",
          "description": "Instance IP you want associated to domain. If omitted this will create a domain with no records.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "domain"
      ],
      "inputProperties": {
        "dnsSec": {
          "type": "string",
          "description": "The Domain's DNSSEC status. Valid options are `enabled` or `disabled`. Note `disabled` is default\n"
        },
        "domain": {
          "type": "string",
          "description": "Name of domain.\n",
          "willReplaceOnChanges": true
        },
        "ip": {
          "type": "string",
          "description": "Instance IP you want associated to domain. If omitted this will create a domain with no records.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "domain"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DnsDomain resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string",
            "description": "The date the domain was added to your account.\n"
          },
          "dnsSec": {
            "type": "string",
            "description": "The Domain's DNSSEC status. Valid options are `enabled` or `disabled`. Note `disabled` is default\n"
          },
          "domain": {
            "type": "string",
            "description": "Name of domain.\n",
            "willReplaceOnChanges": true
          },
          "ip": {
            "type": "string",
            "description": "Instance IP you want associated to domain. If omitted this will create a domain with no records.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/dnsRecord:DnsRecord": {
      "description": "Provides a Vultr DNS Record resource. This can be used to create, read, modify, and delete DNS Records.\n\n## Example Usage\n\nCreate a new DNS Record\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDomain = new vultr.DnsDomain(\"myDomain\", {\n    domain: \"domain.com\",\n    ip: \"66.42.94.227\",\n});\nconst myRecord = new vultr.DnsRecord(\"myRecord\", {\n    data: \"66.42.94.227\",\n    domain: myDomain.id,\n    type: \"A\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_domain = vultr.DnsDomain(\"myDomain\",\n    domain=\"domain.com\",\n    ip=\"66.42.94.227\")\nmy_record = vultr.DnsRecord(\"myRecord\",\n    data=\"66.42.94.227\",\n    domain=my_domain.id,\n    type=\"A\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myDomain = new Vultr.DnsDomain(\"myDomain\", new()\n    {\n        Domain = \"domain.com\",\n        Ip = \"66.42.94.227\",\n    });\n\n    var myRecord = new Vultr.DnsRecord(\"myRecord\", new()\n    {\n        Data = \"66.42.94.227\",\n        Domain = myDomain.Id,\n        Type = \"A\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyDomain, err := vultr.NewDnsDomain(ctx, \"myDomain\", &vultr.DnsDomainArgs{\n\t\t\tDomain: pulumi.String(\"domain.com\"),\n\t\t\tIp:     pulumi.String(\"66.42.94.227\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vultr.NewDnsRecord(ctx, \"myRecord\", &vultr.DnsRecordArgs{\n\t\t\tData:   pulumi.String(\"66.42.94.227\"),\n\t\t\tDomain: myDomain.ID(),\n\t\t\tType:   pulumi.String(\"A\"),\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.vultr.DnsDomain;\nimport com.pulumi.vultr.DnsDomainArgs;\nimport com.pulumi.vultr.DnsRecord;\nimport com.pulumi.vultr.DnsRecordArgs;\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 myDomain = new DnsDomain(\"myDomain\", DnsDomainArgs.builder()\n            .domain(\"domain.com\")\n            .ip(\"66.42.94.227\")\n            .build());\n\n        var myRecord = new DnsRecord(\"myRecord\", DnsRecordArgs.builder()\n            .data(\"66.42.94.227\")\n            .domain(myDomain.id())\n            .type(\"A\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myDomain:\n    type: vultr:DnsDomain\n    properties:\n      domain: domain.com\n      ip: 66.42.94.227\n  myRecord:\n    type: vultr:DnsRecord\n    properties:\n      data: 66.42.94.227\n      domain: ${myDomain.id}\n      type: A\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nDNS Records can be imported using the Dns Domain `domain` and DNS Record `ID` e.g.\n\n```sh\n$ pulumi import vultr:index/dnsRecord:DnsRecord rec domain.com,1a0019bd-7645-4310-81bd-03bc5906940f\n```\n\n",
      "properties": {
        "data": {
          "type": "string",
          "description": "IP Address of the instance the domain is associated with.\n"
        },
        "domain": {
          "type": "string",
          "description": "Name of the DNS Domain this record will belong to.\n"
        },
        "name": {
          "type": "string",
          "description": "Name (subdomain) for this record.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of this record (only required for MX and SRV).\n"
        },
        "ttl": {
          "type": "integer",
          "description": "The time to live of this record.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of record.\n"
        }
      },
      "type": "object",
      "required": [
        "data",
        "domain",
        "name",
        "type"
      ],
      "inputProperties": {
        "data": {
          "type": "string",
          "description": "IP Address of the instance the domain is associated with.\n"
        },
        "domain": {
          "type": "string",
          "description": "Name of the DNS Domain this record will belong to.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "Name (subdomain) for this record.\n"
        },
        "priority": {
          "type": "integer",
          "description": "Priority of this record (only required for MX and SRV).\n"
        },
        "ttl": {
          "type": "integer",
          "description": "The time to live of this record.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of record.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "data",
        "domain",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering DnsRecord resources.\n",
        "properties": {
          "data": {
            "type": "string",
            "description": "IP Address of the instance the domain is associated with.\n"
          },
          "domain": {
            "type": "string",
            "description": "Name of the DNS Domain this record will belong to.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "Name (subdomain) for this record.\n"
          },
          "priority": {
            "type": "integer",
            "description": "Priority of this record (only required for MX and SRV).\n"
          },
          "ttl": {
            "type": "integer",
            "description": "The time to live of this record.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of record.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/firewallGroup:FirewallGroup": {
      "description": "Provides a Vultr Firewall Group resource. This can be used to create, read, modify, and delete Firewall Group.\n\n## Example Usage\n\nCreate a new Firewall group\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myFirewallgroup = new vultr.FirewallGroup(\"myFirewallgroup\", {description: \"base firewall\"});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_firewallgroup = vultr.FirewallGroup(\"myFirewallgroup\", description=\"base firewall\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myFirewallgroup = new Vultr.FirewallGroup(\"myFirewallgroup\", new()\n    {\n        Description = \"base firewall\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewFirewallGroup(ctx, \"myFirewallgroup\", &vultr.FirewallGroupArgs{\n\t\t\tDescription: pulumi.String(\"base firewall\"),\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.vultr.FirewallGroup;\nimport com.pulumi.vultr.FirewallGroupArgs;\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 myFirewallgroup = new FirewallGroup(\"myFirewallgroup\", FirewallGroupArgs.builder()\n            .description(\"base firewall\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myFirewallgroup:\n    type: vultr:FirewallGroup\n    properties:\n      description: base firewall\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Groups can be imported using the Firewall Group `FIREWALLGROUPID`, e.g.\n\n```sh\n$ pulumi import vultr:index/firewallGroup:FirewallGroup my_firewallgroup c342f929\n```\n\n",
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "The date the firewall group was created.\n"
        },
        "dateModified": {
          "type": "string",
          "description": "The date the firewall group was modified.\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the firewall group.\n"
        },
        "instanceCount": {
          "type": "integer",
          "description": "The number of instances that are currently using this firewall group.\n"
        },
        "maxRuleCount": {
          "type": "integer",
          "description": "The number of max firewall rules this group can have.\n"
        },
        "ruleCount": {
          "type": "integer",
          "description": "The number of firewall rules this group currently has.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "dateModified",
        "instanceCount",
        "maxRuleCount",
        "ruleCount"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description of the firewall group.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallGroup resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string",
            "description": "The date the firewall group was created.\n"
          },
          "dateModified": {
            "type": "string",
            "description": "The date the firewall group was modified.\n"
          },
          "description": {
            "type": "string",
            "description": "Description of the firewall group.\n"
          },
          "instanceCount": {
            "type": "integer",
            "description": "The number of instances that are currently using this firewall group.\n"
          },
          "maxRuleCount": {
            "type": "integer",
            "description": "The number of max firewall rules this group can have.\n"
          },
          "ruleCount": {
            "type": "integer",
            "description": "The number of firewall rules this group currently has.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/firewallRule:FirewallRule": {
      "description": "Provides a Vultr Firewall Rule resource. This can be used to create, read, modify, and delete Firewall rules.\n\n## Example Usage\n\nCreate a Firewall Rule\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myFirewallgroup = new vultr.FirewallGroup(\"myFirewallgroup\", {description: \"base firewall\"});\nconst myFirewallrule = new vultr.FirewallRule(\"myFirewallrule\", {\n    firewallGroupId: myFirewallgroup.id,\n    protocol: \"tcp\",\n    ipType: \"v4\",\n    subnet: \"0.0.0.0\",\n    subnetSize: 0,\n    port: \"8090\",\n    notes: \"my firewall rule\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_firewallgroup = vultr.FirewallGroup(\"myFirewallgroup\", description=\"base firewall\")\nmy_firewallrule = vultr.FirewallRule(\"myFirewallrule\",\n    firewall_group_id=my_firewallgroup.id,\n    protocol=\"tcp\",\n    ip_type=\"v4\",\n    subnet=\"0.0.0.0\",\n    subnet_size=0,\n    port=\"8090\",\n    notes=\"my firewall rule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myFirewallgroup = new Vultr.FirewallGroup(\"myFirewallgroup\", new()\n    {\n        Description = \"base firewall\",\n    });\n\n    var myFirewallrule = new Vultr.FirewallRule(\"myFirewallrule\", new()\n    {\n        FirewallGroupId = myFirewallgroup.Id,\n        Protocol = \"tcp\",\n        IpType = \"v4\",\n        Subnet = \"0.0.0.0\",\n        SubnetSize = 0,\n        Port = \"8090\",\n        Notes = \"my firewall rule\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyFirewallgroup, err := vultr.NewFirewallGroup(ctx, \"myFirewallgroup\", &vultr.FirewallGroupArgs{\n\t\t\tDescription: pulumi.String(\"base firewall\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vultr.NewFirewallRule(ctx, \"myFirewallrule\", &vultr.FirewallRuleArgs{\n\t\t\tFirewallGroupId: myFirewallgroup.ID(),\n\t\t\tProtocol:        pulumi.String(\"tcp\"),\n\t\t\tIpType:          pulumi.String(\"v4\"),\n\t\t\tSubnet:          pulumi.String(\"0.0.0.0\"),\n\t\t\tSubnetSize:      pulumi.Int(0),\n\t\t\tPort:            pulumi.String(\"8090\"),\n\t\t\tNotes:           pulumi.String(\"my firewall rule\"),\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.vultr.FirewallGroup;\nimport com.pulumi.vultr.FirewallGroupArgs;\nimport com.pulumi.vultr.FirewallRule;\nimport com.pulumi.vultr.FirewallRuleArgs;\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 myFirewallgroup = new FirewallGroup(\"myFirewallgroup\", FirewallGroupArgs.builder()\n            .description(\"base firewall\")\n            .build());\n\n        var myFirewallrule = new FirewallRule(\"myFirewallrule\", FirewallRuleArgs.builder()\n            .firewallGroupId(myFirewallgroup.id())\n            .protocol(\"tcp\")\n            .ipType(\"v4\")\n            .subnet(\"0.0.0.0\")\n            .subnetSize(0)\n            .port(\"8090\")\n            .notes(\"my firewall rule\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myFirewallgroup:\n    type: vultr:FirewallGroup\n    properties:\n      description: base firewall\n  myFirewallrule:\n    type: vultr:FirewallRule\n    properties:\n      firewallGroupId: ${myFirewallgroup.id}\n      protocol: tcp\n      ipType: v4\n      subnet: 0.0.0.0\n      subnetSize: 0\n      port: '8090'\n      notes: my firewall rule\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nFirewall Rules can be imported using the Firewall Group `ID` and Firewall Rule `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/firewallRule:FirewallRule my_rule b6a859c5-b299-49dd-8888-b1abbc517d08,1\n```\n\n",
      "properties": {
        "firewallGroupId": {
          "type": "string",
          "description": "The firewall group that the firewall rule will belong to.\n"
        },
        "ipType": {
          "type": "string",
          "description": "The type of ip for this firewall rule. Possible values (v4, v6) **Note** they must be lowercase\n"
        },
        "notes": {
          "type": "string",
          "description": "A simple note for a given firewall rule\n"
        },
        "port": {
          "type": "string",
          "description": "TCP/UDP only. This field can be a specific port or a colon separated port range.\n"
        },
        "protocol": {
          "type": "string",
          "description": "The type of protocol for this firewall rule. Possible values (icmp, tcp, udp, gre, esp, ah) **Note** they must be lowercase\n"
        },
        "source": {
          "type": "string",
          "description": "Possible values (\"\", cloudflare)\n"
        },
        "subnet": {
          "type": "string",
          "description": "IP address that you want to define for this firewall rule.\n"
        },
        "subnetSize": {
          "type": "integer",
          "description": "The number of bits for the subnet in CIDR notation. Example: 32.\n"
        }
      },
      "type": "object",
      "required": [
        "firewallGroupId",
        "ipType",
        "protocol",
        "subnet",
        "subnetSize"
      ],
      "inputProperties": {
        "firewallGroupId": {
          "type": "string",
          "description": "The firewall group that the firewall rule will belong to.\n",
          "willReplaceOnChanges": true
        },
        "ipType": {
          "type": "string",
          "description": "The type of ip for this firewall rule. Possible values (v4, v6) **Note** they must be lowercase\n",
          "willReplaceOnChanges": true
        },
        "notes": {
          "type": "string",
          "description": "A simple note for a given firewall rule\n",
          "willReplaceOnChanges": true
        },
        "port": {
          "type": "string",
          "description": "TCP/UDP only. This field can be a specific port or a colon separated port range.\n",
          "willReplaceOnChanges": true
        },
        "protocol": {
          "type": "string",
          "description": "The type of protocol for this firewall rule. Possible values (icmp, tcp, udp, gre, esp, ah) **Note** they must be lowercase\n",
          "willReplaceOnChanges": true
        },
        "source": {
          "type": "string",
          "description": "Possible values (\"\", cloudflare)\n",
          "willReplaceOnChanges": true
        },
        "subnet": {
          "type": "string",
          "description": "IP address that you want to define for this firewall rule.\n",
          "willReplaceOnChanges": true
        },
        "subnetSize": {
          "type": "integer",
          "description": "The number of bits for the subnet in CIDR notation. Example: 32.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "firewallGroupId",
        "ipType",
        "protocol",
        "subnet",
        "subnetSize"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FirewallRule resources.\n",
        "properties": {
          "firewallGroupId": {
            "type": "string",
            "description": "The firewall group that the firewall rule will belong to.\n",
            "willReplaceOnChanges": true
          },
          "ipType": {
            "type": "string",
            "description": "The type of ip for this firewall rule. Possible values (v4, v6) **Note** they must be lowercase\n",
            "willReplaceOnChanges": true
          },
          "notes": {
            "type": "string",
            "description": "A simple note for a given firewall rule\n",
            "willReplaceOnChanges": true
          },
          "port": {
            "type": "string",
            "description": "TCP/UDP only. This field can be a specific port or a colon separated port range.\n",
            "willReplaceOnChanges": true
          },
          "protocol": {
            "type": "string",
            "description": "The type of protocol for this firewall rule. Possible values (icmp, tcp, udp, gre, esp, ah) **Note** they must be lowercase\n",
            "willReplaceOnChanges": true
          },
          "source": {
            "type": "string",
            "description": "Possible values (\"\", cloudflare)\n",
            "willReplaceOnChanges": true
          },
          "subnet": {
            "type": "string",
            "description": "IP address that you want to define for this firewall rule.\n",
            "willReplaceOnChanges": true
          },
          "subnetSize": {
            "type": "integer",
            "description": "The number of bits for the subnet in CIDR notation. Example: 32.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/inference:Inference": {
      "description": "Provides a Vultr Serverless Inference resource. This can be used to create, read, modify, and delete managed inference subscriptions on your Vultr account.\n\n## Example Usage\n\nCreate a new inference subscription:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInferenceSubscription = new vultr.Inference(\"myInferenceSubscription\", {label: \"my_inference_label\"});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_inference_subscription = vultr.Inference(\"myInferenceSubscription\", label=\"my_inference_label\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myInferenceSubscription = new Vultr.Inference(\"myInferenceSubscription\", new()\n    {\n        Label = \"my_inference_label\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewInference(ctx, \"myInferenceSubscription\", &vultr.InferenceArgs{\n\t\t\tLabel: pulumi.String(\"my_inference_label\"),\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.vultr.Inference;\nimport com.pulumi.vultr.InferenceArgs;\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 myInferenceSubscription = new Inference(\"myInferenceSubscription\", InferenceArgs.builder()\n            .label(\"my_inference_label\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myInferenceSubscription:\n    type: vultr:Inference\n    properties:\n      label: my_inference_label\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nInference subscriptions can be imported using the subscription's `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/inference:Inference my_inference_subscription b6a859c5-b299-49dd-8888-b1abbc517d08\n```\n\n",
      "properties": {
        "apiKey": {
          "type": "string",
          "description": "The inference subscription's API key for accessing the Vultr Inference API.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the inference subscription was added to your Vultr account.\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the inference subscription.\n"
        },
        "usage": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "required": [
        "apiKey",
        "dateCreated",
        "label",
        "usage"
      ],
      "inputProperties": {
        "label": {
          "type": "string",
          "description": "A label for the inference subscription.\n"
        }
      },
      "requiredInputs": [
        "label"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Inference resources.\n",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "The inference subscription's API key for accessing the Vultr Inference API.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the inference subscription was added to your Vultr account.\n"
          },
          "label": {
            "type": "string",
            "description": "A label for the inference subscription.\n"
          },
          "usage": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "type": "object"
      }
    },
    "vultr:index/instance:Instance": {
      "description": "Provides a Vultr instance resource. This can be used to create, read, modify, and delete instances on your Vultr account.\n\n## Example Usage\n\nCreate a new instance:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstance = new vultr.Instance(\"myInstance\", {\n    osId: 1743,\n    plan: \"vc2-1c-2gb\",\n    region: \"sea\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_instance = vultr.Instance(\"myInstance\",\n    os_id=1743,\n    plan=\"vc2-1c-2gb\",\n    region=\"sea\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myInstance = new Vultr.Instance(\"myInstance\", new()\n    {\n        OsId = 1743,\n        Plan = \"vc2-1c-2gb\",\n        Region = \"sea\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewInstance(ctx, \"myInstance\", &vultr.InstanceArgs{\n\t\t\tOsId:   pulumi.Int(1743),\n\t\t\tPlan:   pulumi.String(\"vc2-1c-2gb\"),\n\t\t\tRegion: pulumi.String(\"sea\"),\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.vultr.Instance;\nimport com.pulumi.vultr.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 myInstance = new Instance(\"myInstance\", InstanceArgs.builder()\n            .osId(1743)\n            .plan(\"vc2-1c-2gb\")\n            .region(\"sea\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myInstance:\n    type: vultr:Instance\n    properties:\n      osId: 1743\n      plan: vc2-1c-2gb\n      region: sea\n```\n<!--End PulumiCodeChooser -->\n\nCreate a new instance with options:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstance = new vultr.Instance(\"myInstance\", {\n    activationEmail: false,\n    backups: \"enabled\",\n    backupsSchedule: {\n        type: \"daily\",\n    },\n    ddosProtection: true,\n    disablePublicIpv4: true,\n    enableIpv6: true,\n    hostname: \"my-instance-hostname\",\n    label: \"my-instance-label\",\n    osId: 1743,\n    plan: \"vc2-1c-2gb\",\n    region: \"sea\",\n    tags: [\"my-instance-tag\"],\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_instance = vultr.Instance(\"myInstance\",\n    activation_email=False,\n    backups=\"enabled\",\n    backups_schedule={\n        \"type\": \"daily\",\n    },\n    ddos_protection=True,\n    disable_public_ipv4=True,\n    enable_ipv6=True,\n    hostname=\"my-instance-hostname\",\n    label=\"my-instance-label\",\n    os_id=1743,\n    plan=\"vc2-1c-2gb\",\n    region=\"sea\",\n    tags=[\"my-instance-tag\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myInstance = new Vultr.Instance(\"myInstance\", new()\n    {\n        ActivationEmail = false,\n        Backups = \"enabled\",\n        BackupsSchedule = new Vultr.Inputs.InstanceBackupsScheduleArgs\n        {\n            Type = \"daily\",\n        },\n        DdosProtection = true,\n        DisablePublicIpv4 = true,\n        EnableIpv6 = true,\n        Hostname = \"my-instance-hostname\",\n        Label = \"my-instance-label\",\n        OsId = 1743,\n        Plan = \"vc2-1c-2gb\",\n        Region = \"sea\",\n        Tags = new[]\n        {\n            \"my-instance-tag\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewInstance(ctx, \"myInstance\", &vultr.InstanceArgs{\n\t\t\tActivationEmail: pulumi.Bool(false),\n\t\t\tBackups:         pulumi.String(\"enabled\"),\n\t\t\tBackupsSchedule: &vultr.InstanceBackupsScheduleArgs{\n\t\t\t\tType: pulumi.String(\"daily\"),\n\t\t\t},\n\t\t\tDdosProtection:    pulumi.Bool(true),\n\t\t\tDisablePublicIpv4: pulumi.Bool(true),\n\t\t\tEnableIpv6:        pulumi.Bool(true),\n\t\t\tHostname:          pulumi.String(\"my-instance-hostname\"),\n\t\t\tLabel:             pulumi.String(\"my-instance-label\"),\n\t\t\tOsId:              pulumi.Int(1743),\n\t\t\tPlan:              pulumi.String(\"vc2-1c-2gb\"),\n\t\t\tRegion:            pulumi.String(\"sea\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-instance-tag\"),\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.vultr.Instance;\nimport com.pulumi.vultr.InstanceArgs;\nimport com.pulumi.vultr.inputs.InstanceBackupsScheduleArgs;\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 myInstance = new Instance(\"myInstance\", InstanceArgs.builder()\n            .activationEmail(false)\n            .backups(\"enabled\")\n            .backupsSchedule(InstanceBackupsScheduleArgs.builder()\n                .type(\"daily\")\n                .build())\n            .ddosProtection(true)\n            .disablePublicIpv4(true)\n            .enableIpv6(true)\n            .hostname(\"my-instance-hostname\")\n            .label(\"my-instance-label\")\n            .osId(1743)\n            .plan(\"vc2-1c-2gb\")\n            .region(\"sea\")\n            .tags(\"my-instance-tag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myInstance:\n    type: vultr:Instance\n    properties:\n      activationEmail: false\n      backups: enabled\n      backupsSchedule:\n        type: daily\n      ddosProtection: true\n      disablePublicIpv4: true\n      enableIpv6: true\n      hostname: my-instance-hostname\n      label: my-instance-label\n      osId: 1743\n      plan: vc2-1c-2gb\n      region: sea\n      tags:\n        - my-instance-tag\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nInstances can be imported using the instance `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/instance:Instance my_instance b6a859c5-b299-49dd-8888-b1abbc517d08\n```\n\n",
      "properties": {
        "activationEmail": {
          "type": "boolean",
          "description": "Whether an activation email will be sent when the server is ready.\n"
        },
        "allowedBandwidth": {
          "type": "integer",
          "description": "The server's allowed bandwidth usage in GB.\n"
        },
        "appId": {
          "type": "integer",
          "description": "The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications)\n"
        },
        "appVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables)\n"
        },
        "backups": {
          "type": "string",
          "description": "Whether automatic backups will be enabled for this server (these have an extra charge associated with them). Values can be enabled or disabled.\n"
        },
        "backupsSchedule": {
          "$ref": "#/types/vultr:index%2FInstanceBackupsSchedule:InstanceBackupsSchedule",
          "description": "A block that defines the way backups should be scheduled. While this is an optional field if `backups` are `enabled` this field is mandatory. The configuration of a `backups_schedule` is listed below.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the server was added to your Vultr account.\n"
        },
        "ddosProtection": {
          "type": "boolean",
          "description": "Whether DDOS protection will be enabled on the server (there is an additional charge for this).\n"
        },
        "defaultPassword": {
          "type": "string",
          "description": "The server's default password.\n",
          "secret": true
        },
        "disablePublicIpv4": {
          "type": "boolean",
          "description": "Whether the server has a public IPv4 address assigned (only possible with `enable_ipv6` set to `true`)\n"
        },
        "disk": {
          "type": "integer",
          "description": "The description of the disk(s) on the server.\n"
        },
        "enableIpv6": {
          "type": "boolean",
          "description": "Whether the server has IPv6 networking activated.\n"
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of which features are enabled.\n"
        },
        "firewallGroupId": {
          "type": "string",
          "description": "The ID of the firewall group to assign to the server.\n"
        },
        "gatewayV4": {
          "type": "string",
          "description": "The server's IPv4 gateway.\n"
        },
        "hostname": {
          "type": "string",
          "description": "The hostname to assign to the server.\n"
        },
        "imageId": {
          "type": "string",
          "description": "The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `image_id` not the id.\n"
        },
        "internalIp": {
          "type": "string",
          "description": "The server's internal IP address.\n"
        },
        "ipxeChainUrl": {
          "type": "string",
          "description": "The URL location of the iPXE chainloader.\n"
        },
        "isoId": {
          "type": "string",
          "description": "The ID of the ISO file to be installed on the server. [See List ISO](https://www.vultr.com/api/#operation/list-isos)\n"
        },
        "kvm": {
          "type": "string",
          "description": "The server's current KVM URL. This URL will change periodically. It is not advised to cache this value.\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the server.\n"
        },
        "mainIp": {
          "type": "string",
          "description": "The server's main IP address.\n"
        },
        "netmaskV4": {
          "type": "string",
          "description": "The server's IPv4 netmask.\n"
        },
        "os": {
          "type": "string",
          "description": "The string description of the operating system installed on the server.\n"
        },
        "osId": {
          "type": "integer",
          "description": "The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os)\n"
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the instance to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans)\n"
        },
        "powerStatus": {
          "type": "string",
          "description": "Whether the server is powered on or not.\n"
        },
        "ram": {
          "type": "integer",
          "description": "The amount of memory available on the server in MB.\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the instance is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n"
        },
        "reservedIpId": {
          "type": "string",
          "description": "ID of the floating IP to use as the main IP of this server.\n"
        },
        "scriptId": {
          "type": "string",
          "description": "The ID of the startup script you want added to the server.\n"
        },
        "serverStatus": {
          "type": "string",
          "description": "A more detailed server status (none, locked, installingbooting, isomounting, ok).\n"
        },
        "snapshotId": {
          "type": "string",
          "description": "The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots)\n"
        },
        "sshKeyIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD).\n"
        },
        "status": {
          "type": "string",
          "description": "The status of the server's subscription.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags to apply to the instance.\n"
        },
        "userData": {
          "type": "string",
          "description": "Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.\n"
        },
        "userScheme": {
          "type": "string",
          "description": "The scheme used for the default user. Possible values are `root` or `limited` (linux servers only).\n"
        },
        "v6MainIp": {
          "type": "string",
          "description": "The main IPv6 network address.\n"
        },
        "v6Network": {
          "type": "string",
          "description": "The IPv6 subnet.\n"
        },
        "v6NetworkSize": {
          "type": "integer",
          "description": "The IPv6 network size in bits.\n"
        },
        "vcpuCount": {
          "type": "integer",
          "description": "The number of virtual CPUs available on the server.\n"
        },
        "vpc2Ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of VPC 2.0 IDs to be attached to the server.\n",
          "deprecationMessage": "VPC2 is deprecated and will not be supported in a future release.  Use VPC instead"
        },
        "vpcIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of VPC IDs to be attached to the server.\n"
        }
      },
      "type": "object",
      "required": [
        "allowedBandwidth",
        "appId",
        "dateCreated",
        "defaultPassword",
        "disk",
        "features",
        "firewallGroupId",
        "gatewayV4",
        "hostname",
        "imageId",
        "internalIp",
        "kvm",
        "label",
        "mainIp",
        "netmaskV4",
        "os",
        "osId",
        "plan",
        "powerStatus",
        "ram",
        "region",
        "reservedIpId",
        "scriptId",
        "serverStatus",
        "snapshotId",
        "status",
        "userData",
        "v6MainIp",
        "v6Network",
        "v6NetworkSize",
        "vcpuCount",
        "vpcIds"
      ],
      "inputProperties": {
        "activationEmail": {
          "type": "boolean",
          "description": "Whether an activation email will be sent when the server is ready.\n"
        },
        "appId": {
          "type": "integer",
          "description": "The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications)\n",
          "willReplaceOnChanges": true
        },
        "appVariables": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables)\n",
          "willReplaceOnChanges": true
        },
        "backups": {
          "type": "string",
          "description": "Whether automatic backups will be enabled for this server (these have an extra charge associated with them). Values can be enabled or disabled.\n"
        },
        "backupsSchedule": {
          "$ref": "#/types/vultr:index%2FInstanceBackupsSchedule:InstanceBackupsSchedule",
          "description": "A block that defines the way backups should be scheduled. While this is an optional field if `backups` are `enabled` this field is mandatory. The configuration of a `backups_schedule` is listed below.\n"
        },
        "ddosProtection": {
          "type": "boolean",
          "description": "Whether DDOS protection will be enabled on the server (there is an additional charge for this).\n"
        },
        "disablePublicIpv4": {
          "type": "boolean",
          "description": "Whether the server has a public IPv4 address assigned (only possible with `enable_ipv6` set to `true`)\n",
          "willReplaceOnChanges": true
        },
        "enableIpv6": {
          "type": "boolean",
          "description": "Whether the server has IPv6 networking activated.\n"
        },
        "firewallGroupId": {
          "type": "string",
          "description": "The ID of the firewall group to assign to the server.\n"
        },
        "hostname": {
          "type": "string",
          "description": "The hostname to assign to the server.\n",
          "willReplaceOnChanges": true
        },
        "imageId": {
          "type": "string",
          "description": "The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `image_id` not the id.\n",
          "willReplaceOnChanges": true
        },
        "ipxeChainUrl": {
          "type": "string",
          "description": "The URL location of the iPXE chainloader.\n",
          "willReplaceOnChanges": true
        },
        "isoId": {
          "type": "string",
          "description": "The ID of the ISO file to be installed on the server. [See List ISO](https://www.vultr.com/api/#operation/list-isos)\n"
        },
        "label": {
          "type": "string",
          "description": "A label for the server.\n"
        },
        "osId": {
          "type": "integer",
          "description": "The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os)\n",
          "willReplaceOnChanges": true
        },
        "plan": {
          "type": "string",
          "description": "The ID of the plan that you want the instance to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans)\n"
        },
        "region": {
          "type": "string",
          "description": "The ID of the region that the instance is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n",
          "willReplaceOnChanges": true
        },
        "reservedIpId": {
          "type": "string",
          "description": "ID of the floating IP to use as the main IP of this server.\n",
          "willReplaceOnChanges": true
        },
        "scriptId": {
          "type": "string",
          "description": "The ID of the startup script you want added to the server.\n",
          "willReplaceOnChanges": true
        },
        "snapshotId": {
          "type": "string",
          "description": "The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots)\n",
          "willReplaceOnChanges": true
        },
        "sshKeyIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD).\n",
          "willReplaceOnChanges": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags to apply to the instance.\n"
        },
        "userData": {
          "type": "string",
          "description": "Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.\n",
          "willReplaceOnChanges": true
        },
        "userScheme": {
          "type": "string",
          "description": "The scheme used for the default user. Possible values are `root` or `limited` (linux servers only).\n",
          "willReplaceOnChanges": true
        },
        "vpc2Ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of VPC 2.0 IDs to be attached to the server.\n",
          "deprecationMessage": "VPC2 is deprecated and will not be supported in a future release.  Use VPC instead"
        },
        "vpcIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of VPC IDs to be attached to the server.\n"
        }
      },
      "requiredInputs": [
        "plan",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Instance resources.\n",
        "properties": {
          "activationEmail": {
            "type": "boolean",
            "description": "Whether an activation email will be sent when the server is ready.\n"
          },
          "allowedBandwidth": {
            "type": "integer",
            "description": "The server's allowed bandwidth usage in GB.\n"
          },
          "appId": {
            "type": "integer",
            "description": "The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications)\n",
            "willReplaceOnChanges": true
          },
          "appVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables)\n",
            "willReplaceOnChanges": true
          },
          "backups": {
            "type": "string",
            "description": "Whether automatic backups will be enabled for this server (these have an extra charge associated with them). Values can be enabled or disabled.\n"
          },
          "backupsSchedule": {
            "$ref": "#/types/vultr:index%2FInstanceBackupsSchedule:InstanceBackupsSchedule",
            "description": "A block that defines the way backups should be scheduled. While this is an optional field if `backups` are `enabled` this field is mandatory. The configuration of a `backups_schedule` is listed below.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the server was added to your Vultr account.\n"
          },
          "ddosProtection": {
            "type": "boolean",
            "description": "Whether DDOS protection will be enabled on the server (there is an additional charge for this).\n"
          },
          "defaultPassword": {
            "type": "string",
            "description": "The server's default password.\n",
            "secret": true
          },
          "disablePublicIpv4": {
            "type": "boolean",
            "description": "Whether the server has a public IPv4 address assigned (only possible with `enable_ipv6` set to `true`)\n",
            "willReplaceOnChanges": true
          },
          "disk": {
            "type": "integer",
            "description": "The description of the disk(s) on the server.\n"
          },
          "enableIpv6": {
            "type": "boolean",
            "description": "Whether the server has IPv6 networking activated.\n"
          },
          "features": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of which features are enabled.\n"
          },
          "firewallGroupId": {
            "type": "string",
            "description": "The ID of the firewall group to assign to the server.\n"
          },
          "gatewayV4": {
            "type": "string",
            "description": "The server's IPv4 gateway.\n"
          },
          "hostname": {
            "type": "string",
            "description": "The hostname to assign to the server.\n",
            "willReplaceOnChanges": true
          },
          "imageId": {
            "type": "string",
            "description": "The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `image_id` not the id.\n",
            "willReplaceOnChanges": true
          },
          "internalIp": {
            "type": "string",
            "description": "The server's internal IP address.\n"
          },
          "ipxeChainUrl": {
            "type": "string",
            "description": "The URL location of the iPXE chainloader.\n",
            "willReplaceOnChanges": true
          },
          "isoId": {
            "type": "string",
            "description": "The ID of the ISO file to be installed on the server. [See List ISO](https://www.vultr.com/api/#operation/list-isos)\n"
          },
          "kvm": {
            "type": "string",
            "description": "The server's current KVM URL. This URL will change periodically. It is not advised to cache this value.\n"
          },
          "label": {
            "type": "string",
            "description": "A label for the server.\n"
          },
          "mainIp": {
            "type": "string",
            "description": "The server's main IP address.\n"
          },
          "netmaskV4": {
            "type": "string",
            "description": "The server's IPv4 netmask.\n"
          },
          "os": {
            "type": "string",
            "description": "The string description of the operating system installed on the server.\n"
          },
          "osId": {
            "type": "integer",
            "description": "The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os)\n",
            "willReplaceOnChanges": true
          },
          "plan": {
            "type": "string",
            "description": "The ID of the plan that you want the instance to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans)\n"
          },
          "powerStatus": {
            "type": "string",
            "description": "Whether the server is powered on or not.\n"
          },
          "ram": {
            "type": "integer",
            "description": "The amount of memory available on the server in MB.\n"
          },
          "region": {
            "type": "string",
            "description": "The ID of the region that the instance is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions)\n",
            "willReplaceOnChanges": true
          },
          "reservedIpId": {
            "type": "string",
            "description": "ID of the floating IP to use as the main IP of this server.\n",
            "willReplaceOnChanges": true
          },
          "scriptId": {
            "type": "string",
            "description": "The ID of the startup script you want added to the server.\n",
            "willReplaceOnChanges": true
          },
          "serverStatus": {
            "type": "string",
            "description": "A more detailed server status (none, locked, installingbooting, isomounting, ok).\n"
          },
          "snapshotId": {
            "type": "string",
            "description": "The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots)\n",
            "willReplaceOnChanges": true
          },
          "sshKeyIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD).\n",
            "willReplaceOnChanges": true
          },
          "status": {
            "type": "string",
            "description": "The status of the server's subscription.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags to apply to the instance.\n"
          },
          "userData": {
            "type": "string",
            "description": "Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary.\n",
            "willReplaceOnChanges": true
          },
          "userScheme": {
            "type": "string",
            "description": "The scheme used for the default user. Possible values are `root` or `limited` (linux servers only).\n",
            "willReplaceOnChanges": true
          },
          "v6MainIp": {
            "type": "string",
            "description": "The main IPv6 network address.\n"
          },
          "v6Network": {
            "type": "string",
            "description": "The IPv6 subnet.\n"
          },
          "v6NetworkSize": {
            "type": "integer",
            "description": "The IPv6 network size in bits.\n"
          },
          "vcpuCount": {
            "type": "integer",
            "description": "The number of virtual CPUs available on the server.\n"
          },
          "vpc2Ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of VPC 2.0 IDs to be attached to the server.\n",
            "deprecationMessage": "VPC2 is deprecated and will not be supported in a future release.  Use VPC instead"
          },
          "vpcIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of VPC IDs to be attached to the server.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/instanceIpv4:InstanceIpv4": {
      "description": "Provides a Vultr instance IPv4 resource. This can be used to create, read, and\nmodify a IPv4 address. instance is rebooted by default.\n\n## Example Usage\n\nCreate a new IPv4 address for a instance:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstance = new vultr.Instance(\"myInstance\", {\n    enableIpv6: true,\n    osId: 167,\n    plan: \"vc2-1c-1gb\",\n    region: \"ewr\",\n});\nconst myInstanceIpv4 = new vultr.InstanceIpv4(\"myInstanceIpv4\", {\n    instanceId: myInstance.id,\n    reboot: false,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_instance = vultr.Instance(\"myInstance\",\n    enable_ipv6=True,\n    os_id=167,\n    plan=\"vc2-1c-1gb\",\n    region=\"ewr\")\nmy_instance_ipv4 = vultr.InstanceIpv4(\"myInstanceIpv4\",\n    instance_id=my_instance.id,\n    reboot=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myInstance = new Vultr.Instance(\"myInstance\", new()\n    {\n        EnableIpv6 = true,\n        OsId = 167,\n        Plan = \"vc2-1c-1gb\",\n        Region = \"ewr\",\n    });\n\n    var myInstanceIpv4 = new Vultr.InstanceIpv4(\"myInstanceIpv4\", new()\n    {\n        InstanceId = myInstance.Id,\n        Reboot = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyInstance, err := vultr.NewInstance(ctx, \"myInstance\", &vultr.InstanceArgs{\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tOsId:       pulumi.Int(167),\n\t\t\tPlan:       pulumi.String(\"vc2-1c-1gb\"),\n\t\t\tRegion:     pulumi.String(\"ewr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vultr.NewInstanceIpv4(ctx, \"myInstanceIpv4\", &vultr.InstanceIpv4Args{\n\t\t\tInstanceId: myInstance.ID(),\n\t\t\tReboot:     pulumi.Bool(false),\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.vultr.Instance;\nimport com.pulumi.vultr.InstanceArgs;\nimport com.pulumi.vultr.InstanceIpv4;\nimport com.pulumi.vultr.InstanceIpv4Args;\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 myInstance = new Instance(\"myInstance\", InstanceArgs.builder()\n            .enableIpv6(true)\n            .osId(167)\n            .plan(\"vc2-1c-1gb\")\n            .region(\"ewr\")\n            .build());\n\n        var myInstanceIpv4 = new InstanceIpv4(\"myInstanceIpv4\", InstanceIpv4Args.builder()\n            .instanceId(myInstance.id())\n            .reboot(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myInstance:\n    type: vultr:Instance\n    properties:\n      enableIpv6: true\n      osId: 167\n      plan: vc2-1c-1gb\n      region: ewr\n  myInstanceIpv4:\n    type: vultr:InstanceIpv4\n    properties:\n      instanceId: ${myInstance.id}\n      reboot: false\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "gateway": {
          "type": "string",
          "description": "The gateway IP address.\n"
        },
        "instanceId": {
          "type": "string",
          "description": "The ID of the instance to be assigned the IPv4 address.\n"
        },
        "ip": {
          "type": "string",
          "description": "The IPv4 address in canonical format.\n"
        },
        "netmask": {
          "type": "string",
          "description": "The IPv4 netmask in dot-decimal notation.\n"
        },
        "reboot": {
          "type": "boolean",
          "description": "Default true. Determines whether or not the server is rebooted after adding the IPv4 address.\n"
        },
        "reverse": {
          "type": "string",
          "description": "The reverse DNS information for this IP address.\n"
        }
      },
      "type": "object",
      "required": [
        "gateway",
        "instanceId",
        "ip",
        "netmask",
        "reverse"
      ],
      "inputProperties": {
        "instanceId": {
          "type": "string",
          "description": "The ID of the instance to be assigned the IPv4 address.\n",
          "willReplaceOnChanges": true
        },
        "reboot": {
          "type": "boolean",
          "description": "Default true. Determines whether or not the server is rebooted after adding the IPv4 address.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "instanceId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering InstanceIpv4 resources.\n",
        "properties": {
          "gateway": {
            "type": "string",
            "description": "The gateway IP address.\n"
          },
          "instanceId": {
            "type": "string",
            "description": "The ID of the instance to be assigned the IPv4 address.\n",
            "willReplaceOnChanges": true
          },
          "ip": {
            "type": "string",
            "description": "The IPv4 address in canonical format.\n"
          },
          "netmask": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation.\n"
          },
          "reboot": {
            "type": "boolean",
            "description": "Default true. Determines whether or not the server is rebooted after adding the IPv4 address.\n",
            "willReplaceOnChanges": true
          },
          "reverse": {
            "type": "string",
            "description": "The reverse DNS information for this IP address.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/isoPrivate:IsoPrivate": {
      "properties": {
        "dateCreated": {
          "type": "string"
        },
        "filename": {
          "type": "string"
        },
        "md5sum": {
          "type": "string"
        },
        "sha512sum": {
          "type": "string"
        },
        "size": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "filename",
        "md5sum",
        "sha512sum",
        "size",
        "status",
        "url"
      ],
      "inputProperties": {
        "url": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "url"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering IsoPrivate resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "md5sum": {
            "type": "string"
          },
          "sha512sum": {
            "type": "string"
          },
          "size": {
            "type": "integer"
          },
          "status": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/kubernetes:Kubernetes": {
      "description": "## Example Usage\n\nCreate a new VKE cluster:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst k8 = new vultr.Kubernetes(\"k8\", {\n    label: \"vke-test\",\n    nodePools: {\n        autoScaler: true,\n        label: \"vke-nodepool\",\n        labels: {\n            \"my-label\": \"a-label-on-all-nodes\",\n            \"my-second-label\": \"another-label-on-all-nodes\",\n        },\n        maxNodes: 2,\n        minNodes: 1,\n        nodeQuantity: 1,\n        plan: \"vc2-1c-2gb\",\n        taints: [{\n            effect: \"NoExecute\",\n            key: \"a-taint\",\n            value: \"is-tainted\",\n        }],\n    },\n    region: \"ewr\",\n    version: \"v1.28.2+1\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nk8 = vultr.Kubernetes(\"k8\",\n    label=\"vke-test\",\n    node_pools={\n        \"auto_scaler\": True,\n        \"label\": \"vke-nodepool\",\n        \"labels\": {\n            \"my-label\": \"a-label-on-all-nodes\",\n            \"my-second-label\": \"another-label-on-all-nodes\",\n        },\n        \"max_nodes\": 2,\n        \"min_nodes\": 1,\n        \"node_quantity\": 1,\n        \"plan\": \"vc2-1c-2gb\",\n        \"taints\": [{\n            \"effect\": \"NoExecute\",\n            \"key\": \"a-taint\",\n            \"value\": \"is-tainted\",\n        }],\n    },\n    region=\"ewr\",\n    version=\"v1.28.2+1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var k8 = new Vultr.Kubernetes(\"k8\", new()\n    {\n        Label = \"vke-test\",\n        NodePools = new Vultr.Inputs.KubernetesNodePoolsArgs\n        {\n            AutoScaler = true,\n            Label = \"vke-nodepool\",\n            Labels = \n            {\n                { \"my-label\", \"a-label-on-all-nodes\" },\n                { \"my-second-label\", \"another-label-on-all-nodes\" },\n            },\n            MaxNodes = 2,\n            MinNodes = 1,\n            NodeQuantity = 1,\n            Plan = \"vc2-1c-2gb\",\n            Taints = new[]\n            {\n                new Vultr.Inputs.KubernetesNodePoolsTaintArgs\n                {\n                    Effect = \"NoExecute\",\n                    Key = \"a-taint\",\n                    Value = \"is-tainted\",\n                },\n            },\n        },\n        Region = \"ewr\",\n        Version = \"v1.28.2+1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewKubernetes(ctx, \"k8\", &vultr.KubernetesArgs{\n\t\t\tLabel: pulumi.String(\"vke-test\"),\n\t\t\tNodePools: &vultr.KubernetesNodePoolsTypeArgs{\n\t\t\t\tAutoScaler: pulumi.Bool(true),\n\t\t\t\tLabel:      pulumi.String(\"vke-nodepool\"),\n\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\"my-label\":        pulumi.String(\"a-label-on-all-nodes\"),\n\t\t\t\t\t\"my-second-label\": pulumi.String(\"another-label-on-all-nodes\"),\n\t\t\t\t},\n\t\t\t\tMaxNodes:     pulumi.Int(2),\n\t\t\t\tMinNodes:     pulumi.Int(1),\n\t\t\t\tNodeQuantity: pulumi.Int(1),\n\t\t\t\tPlan:         pulumi.String(\"vc2-1c-2gb\"),\n\t\t\t\tTaints: vultr.KubernetesNodePoolsTaintArray{\n\t\t\t\t\t&vultr.KubernetesNodePoolsTaintArgs{\n\t\t\t\t\t\tEffect: pulumi.String(\"NoExecute\"),\n\t\t\t\t\t\tKey:    pulumi.String(\"a-taint\"),\n\t\t\t\t\t\tValue:  pulumi.String(\"is-tainted\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegion:  pulumi.String(\"ewr\"),\n\t\t\tVersion: pulumi.String(\"v1.28.2+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.vultr.Kubernetes;\nimport com.pulumi.vultr.KubernetesArgs;\nimport com.pulumi.vultr.inputs.KubernetesNodePoolsArgs;\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 k8 = new Kubernetes(\"k8\", KubernetesArgs.builder()\n            .label(\"vke-test\")\n            .nodePools(KubernetesNodePoolsArgs.builder()\n                .autoScaler(true)\n                .label(\"vke-nodepool\")\n                .labels(Map.ofEntries(\n                    Map.entry(\"my-label\", \"a-label-on-all-nodes\"),\n                    Map.entry(\"my-second-label\", \"another-label-on-all-nodes\")\n                ))\n                .maxNodes(2)\n                .minNodes(1)\n                .nodeQuantity(1)\n                .plan(\"vc2-1c-2gb\")\n                .taints(KubernetesNodePoolsTaintArgs.builder()\n                    .effect(\"NoExecute\")\n                    .key(\"a-taint\")\n                    .value(\"is-tainted\")\n                    .build())\n                .build())\n            .region(\"ewr\")\n            .version(\"v1.28.2+1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  k8:\n    type: vultr:Kubernetes\n    properties:\n      label: vke-test\n      nodePools:\n        autoScaler: true\n        label: vke-nodepool\n        labels:\n          my-label: a-label-on-all-nodes\n          my-second-label: another-label-on-all-nodes\n        maxNodes: 2\n        minNodes: 1\n        nodeQuantity: 1\n        plan: vc2-1c-2gb\n        taints:\n          - effect: NoExecute\n            key: a-taint\n            value: is-tainted\n      region: ewr\n      version: v1.28.2+1\n```\n<!--End PulumiCodeChooser -->\n\nA default node pool is required when first creating the resource but it can be removed at a later point so long as there is a separate `vultr.KubernetesNodePools` resource attached. For example:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst k8 = new vultr.Kubernetes(\"k8\", {\n    region: \"ewr\",\n    label: \"vke-test\",\n    version: \"v1.28.2+1\",\n});\n// This resource must be created and attached to the cluster\n// before removing the default node from the vultr_kubernetes resource\nconst np = new vultr.KubernetesNodePools(\"np\", {\n    clusterId: k8.id,\n    nodeQuantity: 1,\n    plan: \"vc2-1c-2gb\",\n    label: \"vke-nodepool\",\n    autoScaler: true,\n    minNodes: 1,\n    maxNodes: 2,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nk8 = vultr.Kubernetes(\"k8\",\n    region=\"ewr\",\n    label=\"vke-test\",\n    version=\"v1.28.2+1\")\n# This resource must be created and attached to the cluster\n# before removing the default node from the vultr_kubernetes resource\nnp = vultr.KubernetesNodePools(\"np\",\n    cluster_id=k8.id,\n    node_quantity=1,\n    plan=\"vc2-1c-2gb\",\n    label=\"vke-nodepool\",\n    auto_scaler=True,\n    min_nodes=1,\n    max_nodes=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var k8 = new Vultr.Kubernetes(\"k8\", new()\n    {\n        Region = \"ewr\",\n        Label = \"vke-test\",\n        Version = \"v1.28.2+1\",\n    });\n\n    // This resource must be created and attached to the cluster\n    // before removing the default node from the vultr_kubernetes resource\n    var np = new Vultr.KubernetesNodePools(\"np\", new()\n    {\n        ClusterId = k8.Id,\n        NodeQuantity = 1,\n        Plan = \"vc2-1c-2gb\",\n        Label = \"vke-nodepool\",\n        AutoScaler = true,\n        MinNodes = 1,\n        MaxNodes = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tk8, err := vultr.NewKubernetes(ctx, \"k8\", &vultr.KubernetesArgs{\n\t\t\tRegion:  pulumi.String(\"ewr\"),\n\t\t\tLabel:   pulumi.String(\"vke-test\"),\n\t\t\tVersion: pulumi.String(\"v1.28.2+1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// This resource must be created and attached to the cluster\n\t\t// before removing the default node from the vultr_kubernetes resource\n\t\t_, err = vultr.NewKubernetesNodePools(ctx, \"np\", &vultr.KubernetesNodePoolsArgs{\n\t\t\tClusterId:    k8.ID(),\n\t\t\tNodeQuantity: pulumi.Int(1),\n\t\t\tPlan:         pulumi.String(\"vc2-1c-2gb\"),\n\t\t\tLabel:        pulumi.String(\"vke-nodepool\"),\n\t\t\tAutoScaler:   pulumi.Bool(true),\n\t\t\tMinNodes:     pulumi.Int(1),\n\t\t\tMaxNodes:     pulumi.Int(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.vultr.Kubernetes;\nimport com.pulumi.vultr.KubernetesArgs;\nimport com.pulumi.vultr.KubernetesNodePools;\nimport com.pulumi.vultr.KubernetesNodePoolsArgs;\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 k8 = new Kubernetes(\"k8\", KubernetesArgs.builder()\n            .region(\"ewr\")\n            .label(\"vke-test\")\n            .version(\"v1.28.2+1\")\n            .build());\n\n        // This resource must be created and attached to the cluster\n        // before removing the default node from the vultr_kubernetes resource\n        var np = new KubernetesNodePools(\"np\", KubernetesNodePoolsArgs.builder()\n            .clusterId(k8.id())\n            .nodeQuantity(1)\n            .plan(\"vc2-1c-2gb\")\n            .label(\"vke-nodepool\")\n            .autoScaler(true)\n            .minNodes(1)\n            .maxNodes(2)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  k8:\n    type: vultr:Kubernetes\n    properties:\n      region: ewr\n      label: vke-test\n      version: v1.28.2+1\n  # This resource must be created and attached to the cluster\n  # before removing the default node from the vultr_kubernetes resource\n  np:\n    type: vultr:KubernetesNodePools\n    properties:\n      clusterId: ${k8.id}\n      nodeQuantity: 1\n      plan: vc2-1c-2gb\n      label: vke-nodepool\n      autoScaler: true\n      minNodes: 1\n      maxNodes: 2\n```\n<!--End PulumiCodeChooser -->\n\nThere is still a requirement that there be one node pool attached to the cluster but this should allow more flexibility about which node pool that is.\n\n## Import\n\nA kubernetes cluster created outside of terraform can be imported into the\n\nterraform state using the UUID.  One thing to note is that all kubernetes\n\nresources have a default node pool with a tag of `tf-vke-default`. In order to\n\navoid errors, ensure that there is a node pool with that tag set.\n\n```sh\n$ pulumi import vultr:index/kubernetes:Kubernetes my-k8s 7365a98b-5a43-450f-bd27-d768827100e5\n```\n\n",
      "properties": {
        "clientCertificate": {
          "type": "string",
          "description": "The base64 encoded public certificate used by clients to access the cluster.\n",
          "secret": true
        },
        "clientKey": {
          "type": "string",
          "description": "The base64 encoded private key used by clients to access the cluster.\n",
          "secret": true
        },
        "clusterCaCertificate": {
          "type": "string",
          "description": "The base64 encoded public certificate for the cluster's certificate authority.\n",
          "secret": true
        },
        "clusterSubnet": {
          "type": "string",
          "description": "IP range that your pods will run on in this cluster.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "Date node was created.\n"
        },
        "enableFirewall": {
          "type": "boolean",
          "description": "Boolean indicating if the cluster should be created with a managed firewall.\n"
        },
        "endpoint": {
          "type": "string",
          "description": "Domain for your Kubernetes clusters control plane.\n"
        },
        "firewallGroupId": {
          "type": "string",
          "description": "The ID of the firewall group managed by this cluster.\n"
        },
        "haControlplanes": {
          "type": "boolean",
          "description": "Boolean indicating if the cluster should be created with multiple, highly available controlplanes.\n"
        },
        "ip": {
          "type": "string",
          "description": "IP address of VKE cluster control plane.\n"
        },
        "kubeConfig": {
          "type": "string",
          "description": "Base64 encoded Kubeconfig for this VKE cluster.\n",
          "secret": true
        },
        "label": {
          "type": "string",
          "description": "The VKE clusters label.\n"
        },
        "nodePools": {
          "$ref": "#/types/vultr:index%2FKubernetesNodePools:KubernetesNodePools",
          "description": "Contains the default node pool that was deployed.\n"
        },
        "region": {
          "type": "string",
          "description": "The region your VKE cluster will be deployed in.\n"
        },
        "serviceSubnet": {
          "type": "string",
          "description": "IP range that services will run on this cluster.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of node.\n"
        },
        "version": {
          "type": "string",
          "description": "The version your VKE cluster you want deployed. [See Available Version](https://www.vultr.com/api/#operation/get-kubernetes-versions)\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC to use when creating the cluster. If not provided a new VPC will be created instead.\n"
        }
      },
      "type": "object",
      "required": [
        "clientCertificate",
        "clientKey",
        "clusterCaCertificate",
        "clusterSubnet",
        "dateCreated",
        "endpoint",
        "firewallGroupId",
        "ip",
        "kubeConfig",
        "label",
        "region",
        "serviceSubnet",
        "status",
        "version"
      ],
      "inputProperties": {
        "enableFirewall": {
          "type": "boolean",
          "description": "Boolean indicating if the cluster should be created with a managed firewall.\n",
          "willReplaceOnChanges": true
        },
        "haControlplanes": {
          "type": "boolean",
          "description": "Boolean indicating if the cluster should be created with multiple, highly available controlplanes.\n",
          "willReplaceOnChanges": true
        },
        "label": {
          "type": "string",
          "description": "The VKE clusters label.\n"
        },
        "nodePools": {
          "$ref": "#/types/vultr:index%2FKubernetesNodePools:KubernetesNodePools",
          "description": "Contains the default node pool that was deployed.\n"
        },
        "region": {
          "type": "string",
          "description": "The region your VKE cluster will be deployed in.\n",
          "willReplaceOnChanges": true
        },
        "version": {
          "type": "string",
          "description": "The version your VKE cluster you want deployed. [See Available Version](https://www.vultr.com/api/#operation/get-kubernetes-versions)\n"
        },
        "vpcId": {
          "type": "string",
          "description": "The ID of the VPC to use when creating the cluster. If not provided a new VPC will be created instead.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "label",
        "region",
        "version"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Kubernetes resources.\n",
        "properties": {
          "clientCertificate": {
            "type": "string",
            "description": "The base64 encoded public certificate used by clients to access the cluster.\n",
            "secret": true
          },
          "clientKey": {
            "type": "string",
            "description": "The base64 encoded private key used by clients to access the cluster.\n",
            "secret": true
          },
          "clusterCaCertificate": {
            "type": "string",
            "description": "The base64 encoded public certificate for the cluster's certificate authority.\n",
            "secret": true
          },
          "clusterSubnet": {
            "type": "string",
            "description": "IP range that your pods will run on in this cluster.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "Date node was created.\n"
          },
          "enableFirewall": {
            "type": "boolean",
            "description": "Boolean indicating if the cluster should be created with a managed firewall.\n",
            "willReplaceOnChanges": true
          },
          "endpoint": {
            "type": "string",
            "description": "Domain for your Kubernetes clusters control plane.\n"
          },
          "firewallGroupId": {
            "type": "string",
            "description": "The ID of the firewall group managed by this cluster.\n"
          },
          "haControlplanes": {
            "type": "boolean",
            "description": "Boolean indicating if the cluster should be created with multiple, highly available controlplanes.\n",
            "willReplaceOnChanges": true
          },
          "ip": {
            "type": "string",
            "description": "IP address of VKE cluster control plane.\n"
          },
          "kubeConfig": {
            "type": "string",
            "description": "Base64 encoded Kubeconfig for this VKE cluster.\n",
            "secret": true
          },
          "label": {
            "type": "string",
            "description": "The VKE clusters label.\n"
          },
          "nodePools": {
            "$ref": "#/types/vultr:index%2FKubernetesNodePools:KubernetesNodePools",
            "description": "Contains the default node pool that was deployed.\n"
          },
          "region": {
            "type": "string",
            "description": "The region your VKE cluster will be deployed in.\n",
            "willReplaceOnChanges": true
          },
          "serviceSubnet": {
            "type": "string",
            "description": "IP range that services will run on this cluster.\n"
          },
          "status": {
            "type": "string",
            "description": "Status of node.\n"
          },
          "version": {
            "type": "string",
            "description": "The version your VKE cluster you want deployed. [See Available Version](https://www.vultr.com/api/#operation/get-kubernetes-versions)\n"
          },
          "vpcId": {
            "type": "string",
            "description": "The ID of the VPC to use when creating the cluster. If not provided a new VPC will be created instead.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/kubernetesNodePools:KubernetesNodePools": {
      "description": "Deploy additional node pools to an existing Vultr Kubernetes Engine (VKE) cluster.\n\n## Import\n\nNode pool resources are able to be imported into terraform state like other\n\nresources, however, since they rely on a kubernetes cluster, the import state\n\nrequires the UUID of the cluster as well. With that in mind, format the second\n\nargument to the `pulumi import` command as a space delimited string of\n\nUUIDs, the first is the cluster ID, the second is the node pool ID. It will\n\nlook like this:\n\n\"clusterID nodePoolID\"\n\n```sh\n$ pulumi import vultr:index/kubernetesNodePools:KubernetesNodePools my-k8s-np \"7365a98b-5a43-450f-bd27-d768827100e5 ec330340-4f50-4526-858f-a39199f568ac\"\n```\n\n",
      "properties": {
        "autoScaler": {
          "type": "boolean",
          "description": "Enable the auto scaler for the default node pool.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The VKE cluster ID you want to attach this nodepool to.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "Date node was created.\n"
        },
        "dateUpdated": {
          "type": "string",
          "description": "Date of node pool updates.\n"
        },
        "label": {
          "type": "string",
          "description": "The label to be used as a prefix for nodes in this node pool.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of key/value pairs for Kubernetes node labels.\n"
        },
        "maxNodes": {
          "type": "integer",
          "description": "The maximum number of nodes to use with the auto scaler.\n"
        },
        "minNodes": {
          "type": "integer",
          "description": "The minimum number of nodes to use with the auto scaler.\n"
        },
        "nodeQuantity": {
          "type": "integer",
          "description": "The number of nodes in this node pool.\n"
        },
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FKubernetesNodePoolsNode:KubernetesNodePoolsNode"
          },
          "description": "Array that contains information about nodes within this node pool.\n"
        },
        "plan": {
          "type": "string",
          "description": "The plan to be used in this node pool. [See Plans List](https://www.vultr.com/api/#operation/list-plans) Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.\n"
        },
        "status": {
          "type": "string",
          "description": "Status of node.\n"
        },
        "tag": {
          "type": "string",
          "description": "A tag that is assigned to this node pool.\n"
        },
        "taints": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FKubernetesNodePoolsTaint:KubernetesNodePoolsTaint"
          },
          "description": "Taints to apply to the nodes in the node pool. Should contain `key`, `value` and `effect`.  The `effect` should be one of `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"
        },
        "userData": {
          "type": "string",
          "description": "A base64 encoded string containing the user data to apply to nodes in the node pool.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "dateCreated",
        "dateUpdated",
        "label",
        "nodeQuantity",
        "nodes",
        "plan",
        "status"
      ],
      "inputProperties": {
        "autoScaler": {
          "type": "boolean",
          "description": "Enable the auto scaler for the default node pool.\n"
        },
        "clusterId": {
          "type": "string",
          "description": "The VKE cluster ID you want to attach this nodepool to.\n",
          "willReplaceOnChanges": true
        },
        "label": {
          "type": "string",
          "description": "The label to be used as a prefix for nodes in this node pool.\n"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "A map of key/value pairs for Kubernetes node labels.\n"
        },
        "maxNodes": {
          "type": "integer",
          "description": "The maximum number of nodes to use with the auto scaler.\n"
        },
        "minNodes": {
          "type": "integer",
          "description": "The minimum number of nodes to use with the auto scaler.\n"
        },
        "nodeQuantity": {
          "type": "integer",
          "description": "The number of nodes in this node pool.\n"
        },
        "plan": {
          "type": "string",
          "description": "The plan to be used in this node pool. [See Plans List](https://www.vultr.com/api/#operation/list-plans) Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.\n"
        },
        "tag": {
          "type": "string",
          "description": "A tag that is assigned to this node pool.\n"
        },
        "taints": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FKubernetesNodePoolsTaint:KubernetesNodePoolsTaint"
          },
          "description": "Taints to apply to the nodes in the node pool. Should contain `key`, `value` and `effect`.  The `effect` should be one of `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"
        },
        "userData": {
          "type": "string",
          "description": "A base64 encoded string containing the user data to apply to nodes in the node pool.\n"
        }
      },
      "requiredInputs": [
        "clusterId",
        "label",
        "nodeQuantity",
        "plan"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering KubernetesNodePools resources.\n",
        "properties": {
          "autoScaler": {
            "type": "boolean",
            "description": "Enable the auto scaler for the default node pool.\n"
          },
          "clusterId": {
            "type": "string",
            "description": "The VKE cluster ID you want to attach this nodepool to.\n",
            "willReplaceOnChanges": true
          },
          "dateCreated": {
            "type": "string",
            "description": "Date node was created.\n"
          },
          "dateUpdated": {
            "type": "string",
            "description": "Date of node pool updates.\n"
          },
          "label": {
            "type": "string",
            "description": "The label to be used as a prefix for nodes in this node pool.\n"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "A map of key/value pairs for Kubernetes node labels.\n"
          },
          "maxNodes": {
            "type": "integer",
            "description": "The maximum number of nodes to use with the auto scaler.\n"
          },
          "minNodes": {
            "type": "integer",
            "description": "The minimum number of nodes to use with the auto scaler.\n"
          },
          "nodeQuantity": {
            "type": "integer",
            "description": "The number of nodes in this node pool.\n"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FKubernetesNodePoolsNode:KubernetesNodePoolsNode"
            },
            "description": "Array that contains information about nodes within this node pool.\n"
          },
          "plan": {
            "type": "string",
            "description": "The plan to be used in this node pool. [See Plans List](https://www.vultr.com/api/#operation/list-plans) Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.\n"
          },
          "status": {
            "type": "string",
            "description": "Status of node.\n"
          },
          "tag": {
            "type": "string",
            "description": "A tag that is assigned to this node pool.\n"
          },
          "taints": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FKubernetesNodePoolsTaint:KubernetesNodePoolsTaint"
            },
            "description": "Taints to apply to the nodes in the node pool. Should contain `key`, `value` and `effect`.  The `effect` should be one of `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"
          },
          "userData": {
            "type": "string",
            "description": "A base64 encoded string containing the user data to apply to nodes in the node pool.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/loadBalancer:LoadBalancer": {
      "description": "Get information about a Vultr load balancer.\n\n## Example Usage\n\nCreate a new load balancer:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst lb = new vultr.LoadBalancer(\"lb\", {\n    balancingAlgorithm: \"roundrobin\",\n    forwardingRules: [{\n        backendPort: 81,\n        backendProtocol: \"http\",\n        frontendPort: 82,\n        frontendProtocol: \"http\",\n    }],\n    healthCheck: {\n        checkInterval: 3,\n        healthyThreshold: 4,\n        path: \"/test\",\n        port: 8080,\n        protocol: \"http\",\n        responseTimeout: 1,\n        unhealthyThreshold: 2,\n    },\n    label: \"vultr-load-balancer\",\n    region: \"ewr\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nlb = vultr.LoadBalancer(\"lb\",\n    balancing_algorithm=\"roundrobin\",\n    forwarding_rules=[{\n        \"backend_port\": 81,\n        \"backend_protocol\": \"http\",\n        \"frontend_port\": 82,\n        \"frontend_protocol\": \"http\",\n    }],\n    health_check={\n        \"check_interval\": 3,\n        \"healthy_threshold\": 4,\n        \"path\": \"/test\",\n        \"port\": 8080,\n        \"protocol\": \"http\",\n        \"response_timeout\": 1,\n        \"unhealthy_threshold\": 2,\n    },\n    label=\"vultr-load-balancer\",\n    region=\"ewr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var lb = new Vultr.LoadBalancer(\"lb\", new()\n    {\n        BalancingAlgorithm = \"roundrobin\",\n        ForwardingRules = new[]\n        {\n            new Vultr.Inputs.LoadBalancerForwardingRuleArgs\n            {\n                BackendPort = 81,\n                BackendProtocol = \"http\",\n                FrontendPort = 82,\n                FrontendProtocol = \"http\",\n            },\n        },\n        HealthCheck = new Vultr.Inputs.LoadBalancerHealthCheckArgs\n        {\n            CheckInterval = 3,\n            HealthyThreshold = 4,\n            Path = \"/test\",\n            Port = 8080,\n            Protocol = \"http\",\n            ResponseTimeout = 1,\n            UnhealthyThreshold = 2,\n        },\n        Label = \"vultr-load-balancer\",\n        Region = \"ewr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewLoadBalancer(ctx, \"lb\", &vultr.LoadBalancerArgs{\n\t\t\tBalancingAlgorithm: pulumi.String(\"roundrobin\"),\n\t\t\tForwardingRules: vultr.LoadBalancerForwardingRuleArray{\n\t\t\t\t&vultr.LoadBalancerForwardingRuleArgs{\n\t\t\t\t\tBackendPort:      pulumi.Int(81),\n\t\t\t\t\tBackendProtocol:  pulumi.String(\"http\"),\n\t\t\t\t\tFrontendPort:     pulumi.Int(82),\n\t\t\t\t\tFrontendProtocol: pulumi.String(\"http\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHealthCheck: &vultr.LoadBalancerHealthCheckArgs{\n\t\t\t\tCheckInterval:      pulumi.Int(3),\n\t\t\t\tHealthyThreshold:   pulumi.Int(4),\n\t\t\t\tPath:               pulumi.String(\"/test\"),\n\t\t\t\tPort:               pulumi.Int(8080),\n\t\t\t\tProtocol:           pulumi.String(\"http\"),\n\t\t\t\tResponseTimeout:    pulumi.Int(1),\n\t\t\t\tUnhealthyThreshold: pulumi.Int(2),\n\t\t\t},\n\t\t\tLabel:  pulumi.String(\"vultr-load-balancer\"),\n\t\t\tRegion: pulumi.String(\"ewr\"),\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.vultr.LoadBalancer;\nimport com.pulumi.vultr.LoadBalancerArgs;\nimport com.pulumi.vultr.inputs.LoadBalancerForwardingRuleArgs;\nimport com.pulumi.vultr.inputs.LoadBalancerHealthCheckArgs;\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 lb = new LoadBalancer(\"lb\", LoadBalancerArgs.builder()\n            .balancingAlgorithm(\"roundrobin\")\n            .forwardingRules(LoadBalancerForwardingRuleArgs.builder()\n                .backendPort(81)\n                .backendProtocol(\"http\")\n                .frontendPort(82)\n                .frontendProtocol(\"http\")\n                .build())\n            .healthCheck(LoadBalancerHealthCheckArgs.builder()\n                .checkInterval(3)\n                .healthyThreshold(4)\n                .path(\"/test\")\n                .port(8080)\n                .protocol(\"http\")\n                .responseTimeout(1)\n                .unhealthyThreshold(2)\n                .build())\n            .label(\"vultr-load-balancer\")\n            .region(\"ewr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  lb:\n    type: vultr:LoadBalancer\n    properties:\n      balancingAlgorithm: roundrobin\n      forwardingRules:\n        - backendPort: 81\n          backendProtocol: http\n          frontendPort: 82\n          frontendProtocol: http\n      healthCheck:\n        checkInterval: 3\n        healthyThreshold: 4\n        path: /test\n        port: 8080\n        protocol: http\n        responseTimeout: 1\n        unhealthyThreshold: 2\n      label: vultr-load-balancer\n      region: ewr\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nLoad Balancers can be imported using the load balancer `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/loadBalancer:LoadBalancer lb b6a859c5-b299-49dd-8888-b1abbc517d08\n```\n\n",
      "properties": {
        "attachedInstances": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of instances that are currently attached to the load balancer.\n"
        },
        "balancingAlgorithm": {
          "type": "string",
          "description": "The balancing algorithm for your load balancer. Options are `roundrobin` or `leastconn`. Default value is `roundrobin`\n"
        },
        "cookieName": {
          "type": "string",
          "description": "Name for your given sticky session.\n"
        },
        "firewallRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FLoadBalancerFirewallRule:LoadBalancerFirewallRule"
          },
          "description": "Defines the firewall rules for a load balancer.\n"
        },
        "forwardingRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FLoadBalancerForwardingRule:LoadBalancerForwardingRule"
          },
          "description": "List of forwarding rules for a load balancer. The configuration of a `forwarding_rules` is listened below.\n"
        },
        "hasSsl": {
          "type": "boolean",
          "description": "Boolean value that indicates if SSL is enabled.\n"
        },
        "healthCheck": {
          "$ref": "#/types/vultr:index%2FLoadBalancerHealthCheck:LoadBalancerHealthCheck",
          "description": "A block that defines the way load balancers should check for health. The configuration of a `health_check` is listed below.\n"
        },
        "ipv4": {
          "type": "string",
          "description": "IPv4 address for your load balancer.\n"
        },
        "ipv6": {
          "type": "string",
          "description": "IPv6 address for your load balancer.\n"
        },
        "label": {
          "type": "string",
          "description": "The load balancer's label.\n"
        },
        "proxyProtocol": {
          "type": "boolean",
          "description": "Boolean value that indicates if Proxy Protocol is enabled.\n"
        },
        "region": {
          "type": "string",
          "description": "The region your load balancer is deployed in.\n"
        },
        "ssl": {
          "$ref": "#/types/vultr:index%2FLoadBalancerSsl:LoadBalancerSsl",
          "description": "A block that supplies your ssl configuration to be used with HTTPS. The configuration of a `ssl` is listed below.\n"
        },
        "sslRedirect": {
          "type": "boolean",
          "description": "Boolean value that indicates if HTTP calls will be redirected to HTTPS.\n"
        },
        "status": {
          "type": "string",
          "description": "Current status for the load balancer\n"
        },
        "vpc": {
          "type": "string",
          "description": "A VPC ID that the load balancer should be attached to.\n"
        }
      },
      "type": "object",
      "required": [
        "attachedInstances",
        "balancingAlgorithm",
        "forwardingRules",
        "hasSsl",
        "healthCheck",
        "ipv4",
        "ipv6",
        "region",
        "status"
      ],
      "inputProperties": {
        "attachedInstances": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Array of instances that are currently attached to the load balancer.\n"
        },
        "balancingAlgorithm": {
          "type": "string",
          "description": "The balancing algorithm for your load balancer. Options are `roundrobin` or `leastconn`. Default value is `roundrobin`\n"
        },
        "cookieName": {
          "type": "string",
          "description": "Name for your given sticky session.\n"
        },
        "firewallRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FLoadBalancerFirewallRule:LoadBalancerFirewallRule"
          },
          "description": "Defines the firewall rules for a load balancer.\n"
        },
        "forwardingRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FLoadBalancerForwardingRule:LoadBalancerForwardingRule"
          },
          "description": "List of forwarding rules for a load balancer. The configuration of a `forwarding_rules` is listened below.\n"
        },
        "healthCheck": {
          "$ref": "#/types/vultr:index%2FLoadBalancerHealthCheck:LoadBalancerHealthCheck",
          "description": "A block that defines the way load balancers should check for health. The configuration of a `health_check` is listed below.\n"
        },
        "label": {
          "type": "string",
          "description": "The load balancer's label.\n"
        },
        "proxyProtocol": {
          "type": "boolean",
          "description": "Boolean value that indicates if Proxy Protocol is enabled.\n"
        },
        "region": {
          "type": "string",
          "description": "The region your load balancer is deployed in.\n",
          "willReplaceOnChanges": true
        },
        "ssl": {
          "$ref": "#/types/vultr:index%2FLoadBalancerSsl:LoadBalancerSsl",
          "description": "A block that supplies your ssl configuration to be used with HTTPS. The configuration of a `ssl` is listed below.\n"
        },
        "sslRedirect": {
          "type": "boolean",
          "description": "Boolean value that indicates if HTTP calls will be redirected to HTTPS.\n"
        },
        "vpc": {
          "type": "string",
          "description": "A VPC ID that the load balancer should be attached to.\n"
        }
      },
      "requiredInputs": [
        "forwardingRules",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering LoadBalancer resources.\n",
        "properties": {
          "attachedInstances": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of instances that are currently attached to the load balancer.\n"
          },
          "balancingAlgorithm": {
            "type": "string",
            "description": "The balancing algorithm for your load balancer. Options are `roundrobin` or `leastconn`. Default value is `roundrobin`\n"
          },
          "cookieName": {
            "type": "string",
            "description": "Name for your given sticky session.\n"
          },
          "firewallRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FLoadBalancerFirewallRule:LoadBalancerFirewallRule"
            },
            "description": "Defines the firewall rules for a load balancer.\n"
          },
          "forwardingRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FLoadBalancerForwardingRule:LoadBalancerForwardingRule"
            },
            "description": "List of forwarding rules for a load balancer. The configuration of a `forwarding_rules` is listened below.\n"
          },
          "hasSsl": {
            "type": "boolean",
            "description": "Boolean value that indicates if SSL is enabled.\n"
          },
          "healthCheck": {
            "$ref": "#/types/vultr:index%2FLoadBalancerHealthCheck:LoadBalancerHealthCheck",
            "description": "A block that defines the way load balancers should check for health. The configuration of a `health_check` is listed below.\n"
          },
          "ipv4": {
            "type": "string",
            "description": "IPv4 address for your load balancer.\n"
          },
          "ipv6": {
            "type": "string",
            "description": "IPv6 address for your load balancer.\n"
          },
          "label": {
            "type": "string",
            "description": "The load balancer's label.\n"
          },
          "proxyProtocol": {
            "type": "boolean",
            "description": "Boolean value that indicates if Proxy Protocol is enabled.\n"
          },
          "region": {
            "type": "string",
            "description": "The region your load balancer is deployed in.\n",
            "willReplaceOnChanges": true
          },
          "ssl": {
            "$ref": "#/types/vultr:index%2FLoadBalancerSsl:LoadBalancerSsl",
            "description": "A block that supplies your ssl configuration to be used with HTTPS. The configuration of a `ssl` is listed below.\n"
          },
          "sslRedirect": {
            "type": "boolean",
            "description": "Boolean value that indicates if HTTP calls will be redirected to HTTPS.\n"
          },
          "status": {
            "type": "string",
            "description": "Current status for the load balancer\n"
          },
          "vpc": {
            "type": "string",
            "description": "A VPC ID that the load balancer should be attached to.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/objectStorage:ObjectStorage": {
      "description": "Provides a Vultr private object storage resource. This can be used to create, read, update and delete object storage resources on your Vultr account.\n\n## Example Usage\n\nCreate a new object storage subscription.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst tf = new vultr.ObjectStorage(\"tf\", {\n    clusterId: 9,\n    label: \"vultr-object-storage\",\n    tierId: 4,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\ntf = vultr.ObjectStorage(\"tf\",\n    cluster_id=9,\n    label=\"vultr-object-storage\",\n    tier_id=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var tf = new Vultr.ObjectStorage(\"tf\", new()\n    {\n        ClusterId = 9,\n        Label = \"vultr-object-storage\",\n        TierId = 4,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewObjectStorage(ctx, \"tf\", &vultr.ObjectStorageArgs{\n\t\t\tClusterId: pulumi.Int(9),\n\t\t\tLabel:     pulumi.String(\"vultr-object-storage\"),\n\t\t\tTierId:    pulumi.Int(4),\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.vultr.ObjectStorage;\nimport com.pulumi.vultr.ObjectStorageArgs;\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 tf = new ObjectStorage(\"tf\", ObjectStorageArgs.builder()\n            .clusterId(9)\n            .label(\"vultr-object-storage\")\n            .tierId(4)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tf:\n    type: vultr:ObjectStorage\n    properties:\n      clusterId: 9\n      label: vultr-object-storage\n      tierId: 4\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nObject Storage can be imported using the object storage `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/objectStorage:ObjectStorage my_s3 0e04f918-575e-41cb-86f6-d729b354a5a1\n```\n\n",
      "properties": {
        "clusterId": {
          "type": "integer",
          "description": "The ID of the region that you want the object storage to be deployed in.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "Date of creation for the object storage subscription.\n"
        },
        "label": {
          "type": "string",
          "description": "The description you want to give your object storage.\n"
        },
        "location": {
          "type": "string",
          "description": "The location which this subscription resides in.\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID of the object storage subscription.\n"
        },
        "s3AccessKey": {
          "type": "string",
          "description": "Your access key.\n",
          "secret": true
        },
        "s3Hostname": {
          "type": "string",
          "description": "The hostname for this subscription.\n"
        },
        "s3SecretKey": {
          "type": "string",
          "description": "Your secret key.\n",
          "secret": true
        },
        "status": {
          "type": "string",
          "description": "Current status of this object storage subscription.\n"
        },
        "tierId": {
          "type": "integer",
          "description": "The ID of the tier to deploy the storage under.\n"
        }
      },
      "type": "object",
      "required": [
        "clusterId",
        "dateCreated",
        "location",
        "region",
        "s3AccessKey",
        "s3Hostname",
        "s3SecretKey",
        "status",
        "tierId"
      ],
      "inputProperties": {
        "clusterId": {
          "type": "integer",
          "description": "The ID of the region that you want the object storage to be deployed in.\n",
          "willReplaceOnChanges": true
        },
        "label": {
          "type": "string",
          "description": "The description you want to give your object storage.\n"
        },
        "tierId": {
          "type": "integer",
          "description": "The ID of the tier to deploy the storage under.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "clusterId",
        "tierId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ObjectStorage resources.\n",
        "properties": {
          "clusterId": {
            "type": "integer",
            "description": "The ID of the region that you want the object storage to be deployed in.\n",
            "willReplaceOnChanges": true
          },
          "dateCreated": {
            "type": "string",
            "description": "Date of creation for the object storage subscription.\n"
          },
          "label": {
            "type": "string",
            "description": "The description you want to give your object storage.\n"
          },
          "location": {
            "type": "string",
            "description": "The location which this subscription resides in.\n"
          },
          "region": {
            "type": "string",
            "description": "The region ID of the object storage subscription.\n"
          },
          "s3AccessKey": {
            "type": "string",
            "description": "Your access key.\n",
            "secret": true
          },
          "s3Hostname": {
            "type": "string",
            "description": "The hostname for this subscription.\n"
          },
          "s3SecretKey": {
            "type": "string",
            "description": "Your secret key.\n",
            "secret": true
          },
          "status": {
            "type": "string",
            "description": "Current status of this object storage subscription.\n"
          },
          "tierId": {
            "type": "integer",
            "description": "The ID of the tier to deploy the storage under.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/reservedIp:ReservedIp": {
      "description": "Provides a Vultr reserved IP resource. This can be used to create, read, modify, and delete reserved IP addresses on your Vultr account.\n\n## Example Usage\n\nCreate a new reserved IP:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myReservedIp = new vultr.ReservedIp(\"myReservedIp\", {\n    ipType: \"v4\",\n    label: \"my-reserved-ip\",\n    region: \"sea\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_reserved_ip = vultr.ReservedIp(\"myReservedIp\",\n    ip_type=\"v4\",\n    label=\"my-reserved-ip\",\n    region=\"sea\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myReservedIp = new Vultr.ReservedIp(\"myReservedIp\", new()\n    {\n        IpType = \"v4\",\n        Label = \"my-reserved-ip\",\n        Region = \"sea\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewReservedIp(ctx, \"myReservedIp\", &vultr.ReservedIpArgs{\n\t\t\tIpType: pulumi.String(\"v4\"),\n\t\t\tLabel:  pulumi.String(\"my-reserved-ip\"),\n\t\t\tRegion: pulumi.String(\"sea\"),\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.vultr.ReservedIp;\nimport com.pulumi.vultr.ReservedIpArgs;\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 myReservedIp = new ReservedIp(\"myReservedIp\", ReservedIpArgs.builder()\n            .ipType(\"v4\")\n            .label(\"my-reserved-ip\")\n            .region(\"sea\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myReservedIp:\n    type: vultr:ReservedIp\n    properties:\n      ipType: v4\n      label: my-reserved-ip\n      region: sea\n```\n<!--End PulumiCodeChooser -->\n\nAttach a reserved IP to a instance:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myReservedIp = new vultr.ReservedIp(\"myReservedIp\", {\n    instanceId: \"b9cc6fad-70b1-40ee-ab6a-4d622858962f\",\n    ipType: \"v4\",\n    label: \"my-reserved-ip\",\n    region: \"sea\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_reserved_ip = vultr.ReservedIp(\"myReservedIp\",\n    instance_id=\"b9cc6fad-70b1-40ee-ab6a-4d622858962f\",\n    ip_type=\"v4\",\n    label=\"my-reserved-ip\",\n    region=\"sea\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myReservedIp = new Vultr.ReservedIp(\"myReservedIp\", new()\n    {\n        InstanceId = \"b9cc6fad-70b1-40ee-ab6a-4d622858962f\",\n        IpType = \"v4\",\n        Label = \"my-reserved-ip\",\n        Region = \"sea\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewReservedIp(ctx, \"myReservedIp\", &vultr.ReservedIpArgs{\n\t\t\tInstanceId: pulumi.String(\"b9cc6fad-70b1-40ee-ab6a-4d622858962f\"),\n\t\t\tIpType:     pulumi.String(\"v4\"),\n\t\t\tLabel:      pulumi.String(\"my-reserved-ip\"),\n\t\t\tRegion:     pulumi.String(\"sea\"),\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.vultr.ReservedIp;\nimport com.pulumi.vultr.ReservedIpArgs;\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 myReservedIp = new ReservedIp(\"myReservedIp\", ReservedIpArgs.builder()\n            .instanceId(\"b9cc6fad-70b1-40ee-ab6a-4d622858962f\")\n            .ipType(\"v4\")\n            .label(\"my-reserved-ip\")\n            .region(\"sea\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myReservedIp:\n    type: vultr:ReservedIp\n    properties:\n      instanceId: b9cc6fad-70b1-40ee-ab6a-4d622858962f\n      ipType: v4\n      label: my-reserved-ip\n      region: sea\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nReserved IPs can be imported using the reserved IP `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/reservedIp:ReservedIp my_reserved_ip b9cc6fad-70b1-40ee-ab6a-4d622858962f\n```\n\n",
      "properties": {
        "instanceId": {
          "type": "string",
          "description": "The VPS ID you want this reserved IP to be attached to.\n"
        },
        "ipType": {
          "type": "string",
          "description": "The type of reserved IP that you want. Either \"v4\" or \"v6\".\n"
        },
        "label": {
          "type": "string",
          "description": "The label you want to give your reserved IP.\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID that you want the reserved IP to be created in.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The reserved IP's subnet.\n"
        },
        "subnetSize": {
          "type": "integer",
          "description": "The reserved IP's subnet size.\n"
        }
      },
      "type": "object",
      "required": [
        "instanceId",
        "ipType",
        "region",
        "subnet",
        "subnetSize"
      ],
      "inputProperties": {
        "instanceId": {
          "type": "string",
          "description": "The VPS ID you want this reserved IP to be attached to.\n"
        },
        "ipType": {
          "type": "string",
          "description": "The type of reserved IP that you want. Either \"v4\" or \"v6\".\n",
          "willReplaceOnChanges": true
        },
        "label": {
          "type": "string",
          "description": "The label you want to give your reserved IP.\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID that you want the reserved IP to be created in.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "ipType",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ReservedIp resources.\n",
        "properties": {
          "instanceId": {
            "type": "string",
            "description": "The VPS ID you want this reserved IP to be attached to.\n"
          },
          "ipType": {
            "type": "string",
            "description": "The type of reserved IP that you want. Either \"v4\" or \"v6\".\n",
            "willReplaceOnChanges": true
          },
          "label": {
            "type": "string",
            "description": "The label you want to give your reserved IP.\n"
          },
          "region": {
            "type": "string",
            "description": "The region ID that you want the reserved IP to be created in.\n",
            "willReplaceOnChanges": true
          },
          "subnet": {
            "type": "string",
            "description": "The reserved IP's subnet.\n"
          },
          "subnetSize": {
            "type": "integer",
            "description": "The reserved IP's subnet size.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/reverseIpv4:ReverseIpv4": {
      "description": "Provides a Vultr Reverse IPv4 resource. This can be used to create, read, and\nmodify reverse DNS records for IPv4 addresses. Upon success, DNS\nchanges may take 6-12 hours to become active.\n\n## Example Usage\n\nCreate a new reverse DNS record for an IPv4 address:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstance = new vultr.Instance(\"myInstance\", {\n    enableIpv6: true,\n    osId: 477,\n    plan: \"vc2-1c-2gb\",\n    region: \"ewr\",\n});\nconst myReverseIpv4 = new vultr.ReverseIpv4(\"myReverseIpv4\", {\n    instanceId: myInstance.id,\n    ip: myInstance.mainIp,\n    reverse: \"host.example.com\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_instance = vultr.Instance(\"myInstance\",\n    enable_ipv6=True,\n    os_id=477,\n    plan=\"vc2-1c-2gb\",\n    region=\"ewr\")\nmy_reverse_ipv4 = vultr.ReverseIpv4(\"myReverseIpv4\",\n    instance_id=my_instance.id,\n    ip=my_instance.main_ip,\n    reverse=\"host.example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myInstance = new Vultr.Instance(\"myInstance\", new()\n    {\n        EnableIpv6 = true,\n        OsId = 477,\n        Plan = \"vc2-1c-2gb\",\n        Region = \"ewr\",\n    });\n\n    var myReverseIpv4 = new Vultr.ReverseIpv4(\"myReverseIpv4\", new()\n    {\n        InstanceId = myInstance.Id,\n        Ip = myInstance.MainIp,\n        Reverse = \"host.example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyInstance, err := vultr.NewInstance(ctx, \"myInstance\", &vultr.InstanceArgs{\n\t\t\tEnableIpv6: pulumi.Bool(true),\n\t\t\tOsId:       pulumi.Int(477),\n\t\t\tPlan:       pulumi.String(\"vc2-1c-2gb\"),\n\t\t\tRegion:     pulumi.String(\"ewr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vultr.NewReverseIpv4(ctx, \"myReverseIpv4\", &vultr.ReverseIpv4Args{\n\t\t\tInstanceId: myInstance.ID(),\n\t\t\tIp:         myInstance.MainIp,\n\t\t\tReverse:    pulumi.String(\"host.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.vultr.Instance;\nimport com.pulumi.vultr.InstanceArgs;\nimport com.pulumi.vultr.ReverseIpv4;\nimport com.pulumi.vultr.ReverseIpv4Args;\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 myInstance = new Instance(\"myInstance\", InstanceArgs.builder()\n            .enableIpv6(true)\n            .osId(477)\n            .plan(\"vc2-1c-2gb\")\n            .region(\"ewr\")\n            .build());\n\n        var myReverseIpv4 = new ReverseIpv4(\"myReverseIpv4\", ReverseIpv4Args.builder()\n            .instanceId(myInstance.id())\n            .ip(myInstance.mainIp())\n            .reverse(\"host.example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myInstance:\n    type: vultr:Instance\n    properties:\n      enableIpv6: true\n      osId: 477\n      plan: vc2-1c-2gb\n      region: ewr\n  myReverseIpv4:\n    type: vultr:ReverseIpv4\n    properties:\n      instanceId: ${myInstance.id}\n      ip: ${myInstance.mainIp}\n      reverse: host.example.com\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "gateway": {
          "type": "string",
          "description": "The gateway IP address.\n"
        },
        "instanceId": {
          "type": "string",
          "description": "The ID of the instance you want to set an IPv4\nreverse DNS record for.\n"
        },
        "ip": {
          "type": "string",
          "description": "The IPv4 address used in the reverse DNS record.\n"
        },
        "netmask": {
          "type": "string",
          "description": "The IPv4 netmask in dot-decimal notation.\n"
        },
        "reverse": {
          "type": "string",
          "description": "The hostname used in the IPv4 reverse DNS record.\n"
        }
      },
      "type": "object",
      "required": [
        "gateway",
        "instanceId",
        "ip",
        "netmask",
        "reverse"
      ],
      "inputProperties": {
        "instanceId": {
          "type": "string",
          "description": "The ID of the instance you want to set an IPv4\nreverse DNS record for.\n",
          "willReplaceOnChanges": true
        },
        "ip": {
          "type": "string",
          "description": "The IPv4 address used in the reverse DNS record.\n",
          "willReplaceOnChanges": true
        },
        "reverse": {
          "type": "string",
          "description": "The hostname used in the IPv4 reverse DNS record.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "instanceId",
        "ip",
        "reverse"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ReverseIpv4 resources.\n",
        "properties": {
          "gateway": {
            "type": "string",
            "description": "The gateway IP address.\n"
          },
          "instanceId": {
            "type": "string",
            "description": "The ID of the instance you want to set an IPv4\nreverse DNS record for.\n",
            "willReplaceOnChanges": true
          },
          "ip": {
            "type": "string",
            "description": "The IPv4 address used in the reverse DNS record.\n",
            "willReplaceOnChanges": true
          },
          "netmask": {
            "type": "string",
            "description": "The IPv4 netmask in dot-decimal notation.\n"
          },
          "reverse": {
            "type": "string",
            "description": "The hostname used in the IPv4 reverse DNS record.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/reverseIpv6:ReverseIpv6": {
      "description": "Provides a Vultr Reverse IPv6 resource. This can be used to create, read,\nmodify, and delete reverse DNS records for IPv6 addresses. Upon success, DNS\nchanges may take 6-12 hours to become active.\n\n",
      "properties": {
        "instanceId": {
          "type": "string",
          "description": "The ID of the server you want to set an IPv6\nreverse DNS record for.\n"
        },
        "ip": {
          "type": "string",
          "description": "The IPv6 address used in the reverse DNS record.\n"
        },
        "reverse": {
          "type": "string",
          "description": "The hostname used in the IPv6 reverse DNS record.\n"
        }
      },
      "type": "object",
      "required": [
        "instanceId",
        "ip",
        "reverse"
      ],
      "inputProperties": {
        "instanceId": {
          "type": "string",
          "description": "The ID of the server you want to set an IPv6\nreverse DNS record for.\n",
          "willReplaceOnChanges": true
        },
        "ip": {
          "type": "string",
          "description": "The IPv6 address used in the reverse DNS record.\n",
          "willReplaceOnChanges": true
        },
        "reverse": {
          "type": "string",
          "description": "The hostname used in the IPv6 reverse DNS record.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "instanceId",
        "ip",
        "reverse"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ReverseIpv6 resources.\n",
        "properties": {
          "instanceId": {
            "type": "string",
            "description": "The ID of the server you want to set an IPv6\nreverse DNS record for.\n",
            "willReplaceOnChanges": true
          },
          "ip": {
            "type": "string",
            "description": "The IPv6 address used in the reverse DNS record.\n",
            "willReplaceOnChanges": true
          },
          "reverse": {
            "type": "string",
            "description": "The hostname used in the IPv6 reverse DNS record.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/sSHKey:SSHKey": {
      "description": "Provides a Vultr SSH key resource. This can be used to create, read, modify, and delete SSH keys.\n\n## Example Usage\n\nCreate an SSH key\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst mySshKey = new vultr.SSHKey(\"mySshKey\", {sshKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname\"});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_ssh_key = vultr.SSHKey(\"mySshKey\", ssh_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var mySshKey = new Vultr.SSHKey(\"mySshKey\", new()\n    {\n        SshKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewSSHKey(ctx, \"mySshKey\", &vultr.SSHKeyArgs{\n\t\t\tSshKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname\"),\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.vultr.SSHKey;\nimport com.pulumi.vultr.SSHKeyArgs;\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 mySshKey = new SSHKey(\"mySshKey\", SSHKeyArgs.builder()\n            .sshKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mySshKey:\n    type: vultr:SSHKey\n    properties:\n      sshKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSSH keys can be imported using the SSH key `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/sSHKey:SSHKey my_key 6b0876a7-f709-41ba-aed8-abed9d38ae45\n```\n\n",
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "The date the SSH key was added to your Vultr account.\n"
        },
        "name": {
          "type": "string",
          "description": "The name/label of the SSH key.\n"
        },
        "sshKey": {
          "type": "string",
          "description": "The public SSH key.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "name",
        "sshKey"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The name/label of the SSH key.\n"
        },
        "sshKey": {
          "type": "string",
          "description": "The public SSH key.\n"
        }
      },
      "requiredInputs": [
        "sshKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SSHKey resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string",
            "description": "The date the SSH key was added to your Vultr account.\n"
          },
          "name": {
            "type": "string",
            "description": "The name/label of the SSH key.\n"
          },
          "sshKey": {
            "type": "string",
            "description": "The public SSH key.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/snapshot:Snapshot": {
      "description": "Provides a Vultr Snapshot resource. This can be used to create, read, modify, and delete Snapshot.\n\n## Example Usage\n\nCreate a new Snapshot\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstance = new vultr.Instance(\"myInstance\", {\n    label: \"my_instance\",\n    osId: 167,\n    plan: \"201\",\n    region: \"ewr\",\n});\nconst mySnapshot = new vultr.Snapshot(\"mySnapshot\", {\n    description: \"my instances snapshot\",\n    instanceId: myInstance.id,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_instance = vultr.Instance(\"myInstance\",\n    label=\"my_instance\",\n    os_id=167,\n    plan=\"201\",\n    region=\"ewr\")\nmy_snapshot = vultr.Snapshot(\"mySnapshot\",\n    description=\"my instances snapshot\",\n    instance_id=my_instance.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myInstance = new Vultr.Instance(\"myInstance\", new()\n    {\n        Label = \"my_instance\",\n        OsId = 167,\n        Plan = \"201\",\n        Region = \"ewr\",\n    });\n\n    var mySnapshot = new Vultr.Snapshot(\"mySnapshot\", new()\n    {\n        Description = \"my instances snapshot\",\n        InstanceId = myInstance.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyInstance, err := vultr.NewInstance(ctx, \"myInstance\", &vultr.InstanceArgs{\n\t\t\tLabel:  pulumi.String(\"my_instance\"),\n\t\t\tOsId:   pulumi.Int(167),\n\t\t\tPlan:   pulumi.String(\"201\"),\n\t\t\tRegion: pulumi.String(\"ewr\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = vultr.NewSnapshot(ctx, \"mySnapshot\", &vultr.SnapshotArgs{\n\t\t\tDescription: pulumi.String(\"my instances snapshot\"),\n\t\t\tInstanceId:  myInstance.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.vultr.Instance;\nimport com.pulumi.vultr.InstanceArgs;\nimport com.pulumi.vultr.Snapshot;\nimport com.pulumi.vultr.SnapshotArgs;\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 myInstance = new Instance(\"myInstance\", InstanceArgs.builder()\n            .label(\"my_instance\")\n            .osId(167)\n            .plan(\"201\")\n            .region(\"ewr\")\n            .build());\n\n        var mySnapshot = new Snapshot(\"mySnapshot\", SnapshotArgs.builder()\n            .description(\"my instances snapshot\")\n            .instanceId(myInstance.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myInstance:\n    type: vultr:Instance\n    properties:\n      label: my_instance\n      osId: 167\n      plan: 201\n      region: ewr\n  mySnapshot:\n    type: vultr:Snapshot\n    properties:\n      description: my instances snapshot\n      instanceId: ${myInstance.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSnapshots can be imported using the Snapshot `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/snapshot:Snapshot my_snapshot 283941e8-0783-410e-9540-71c86b833992\n```\n\n",
      "properties": {
        "appId": {
          "type": "integer",
          "description": "The app id which the snapshot is associated with.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the snapshot was created.\n"
        },
        "description": {
          "type": "string",
          "description": "The description for the given snapshot.\n\nSnapshots often exceed the default timeout built in to all create requests in\nthe provider. In order to customize that, you may specify a custome value in a\n`timeouts` block of the resource definition\n"
        },
        "instanceId": {
          "type": "string",
          "description": "ID of a given instance that you want to create a snapshot from.\n"
        },
        "osId": {
          "type": "integer",
          "description": "The os id which the snapshot is associated with.\n"
        },
        "size": {
          "type": "integer",
          "description": "The size of the snapshot in Bytes.\n"
        },
        "status": {
          "type": "string",
          "description": "The status for the given snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "appId",
        "dateCreated",
        "instanceId",
        "osId",
        "size",
        "status"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description for the given snapshot.\n\nSnapshots often exceed the default timeout built in to all create requests in\nthe provider. In order to customize that, you may specify a custome value in a\n`timeouts` block of the resource definition\n",
          "willReplaceOnChanges": true
        },
        "instanceId": {
          "type": "string",
          "description": "ID of a given instance that you want to create a snapshot from.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "instanceId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Snapshot resources.\n",
        "properties": {
          "appId": {
            "type": "integer",
            "description": "The app id which the snapshot is associated with.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the snapshot was created.\n"
          },
          "description": {
            "type": "string",
            "description": "The description for the given snapshot.\n\nSnapshots often exceed the default timeout built in to all create requests in\nthe provider. In order to customize that, you may specify a custome value in a\n`timeouts` block of the resource definition\n",
            "willReplaceOnChanges": true
          },
          "instanceId": {
            "type": "string",
            "description": "ID of a given instance that you want to create a snapshot from.\n",
            "willReplaceOnChanges": true
          },
          "osId": {
            "type": "integer",
            "description": "The os id which the snapshot is associated with.\n"
          },
          "size": {
            "type": "integer",
            "description": "The size of the snapshot in Bytes.\n"
          },
          "status": {
            "type": "string",
            "description": "The status for the given snapshot.\n"
          }
        },
        "type": "object"
      }
    },
    "vultr:index/snapshotFromUrl:SnapshotFromUrl": {
      "description": "Provides a Vultr Snapshots from URL resource. This can be used to create, read, modify, and delete Snapshots from URL.\n\n## Example Usage\n\nCreate a new Snapshots from URL\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst mySnapshot = new vultr.SnapshotFromUrl(\"mySnapshot\", {\n    url: \"http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.1-x86_64.iso\",\n    useUefi: true,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_snapshot = vultr.SnapshotFromUrl(\"mySnapshot\",\n    url=\"http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.1-x86_64.iso\",\n    use_uefi=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var mySnapshot = new Vultr.SnapshotFromUrl(\"mySnapshot\", new()\n    {\n        Url = \"http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.1-x86_64.iso\",\n        UseUefi = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewSnapshotFromUrl(ctx, \"mySnapshot\", &vultr.SnapshotFromUrlArgs{\n\t\t\tUrl:     pulumi.String(\"http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.1-x86_64.iso\"),\n\t\t\tUseUefi: 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.vultr.SnapshotFromUrl;\nimport com.pulumi.vultr.SnapshotFromUrlArgs;\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 mySnapshot = new SnapshotFromUrl(\"mySnapshot\", SnapshotFromUrlArgs.builder()\n            .url(\"http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.1-x86_64.iso\")\n            .useUefi(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mySnapshot:\n    type: vultr:SnapshotFromUrl\n    properties:\n      url: http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86_64/alpine-virt-3.9.1-x86_64.iso\n      useUefi: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nSnapshots from Url can be imported using the Snapshot `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/snapshotFromUrl:SnapshotFromUrl my_snapshot e60dc0a2-9313-4bab-bffc-57ffe33d99f6\n```\n\n",
      "properties": {
        "appId": {
          "type": "integer",
          "description": "The app id which the snapshot is associated with.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the snapshot was created.\n"
        },
        "description": {
          "type": "string",
          "description": "The description for the given snapshot.\n"
        },
        "osId": {
          "type": "integer",
          "description": "The os id which the snapshot is associated with.\n"
        },
        "size": {
          "type": "integer",
          "description": "The size of the snapshot in Bytes.\n"
        },
        "status": {
          "type": "string",
          "description": "The status for the given snapshot.\n"
        },
        "url": {
          "type": "string",
          "description": "URL of the given resource you want to create a snapshot from.\n"
        },
        "useUefi": {
          "type": "boolean",
          "description": "Whether or not to use UEFI when creating the snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "appId",
        "dateCreated",
        "description",
        "osId",
        "size",
        "status",
        "url"
      ],
      "inputProperties": {
        "url": {
          "type": "string",
          "description": "URL of the given resource you want to create a snapshot from.\n",
          "willReplaceOnChanges": true
        },
        "useUefi": {
          "type": "boolean",
          "description": "Whether or not to use UEFI when creating the snapshot.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "url"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SnapshotFromUrl resources.\n",
        "properties": {
          "appId": {
            "type": "integer",
            "description": "The app id which the snapshot is associated with.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the snapshot was created.\n"
          },
          "description": {
            "type": "string",
            "description": "The description for the given snapshot.\n"
          },
          "osId": {
            "type": "integer",
            "description": "The os id which the snapshot is associated with.\n"
          },
          "size": {
            "type": "integer",
            "description": "The size of the snapshot in Bytes.\n"
          },
          "status": {
            "type": "string",
            "description": "The status for the given snapshot.\n"
          },
          "url": {
            "type": "string",
            "description": "URL of the given resource you want to create a snapshot from.\n",
            "willReplaceOnChanges": true
          },
          "useUefi": {
            "type": "boolean",
            "description": "Whether or not to use UEFI when creating the snapshot.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/startupScript:StartupScript": {
      "description": "Provides a Vultr Startup Script resource. This can be used to create, read, modify, and delete Startup Scripts.\n\n## Example Usage\n\nCreate a new Startup Script\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myScript = new vultr.StartupScript(\"myScript\", {script: \"ZWNobyAkUEFUSAo=\"});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_script = vultr.StartupScript(\"myScript\", script=\"ZWNobyAkUEFUSAo=\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myScript = new Vultr.StartupScript(\"myScript\", new()\n    {\n        Script = \"ZWNobyAkUEFUSAo=\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewStartupScript(ctx, \"myScript\", &vultr.StartupScriptArgs{\n\t\t\tScript: pulumi.String(\"ZWNobyAkUEFUSAo=\"),\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.vultr.StartupScript;\nimport com.pulumi.vultr.StartupScriptArgs;\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 myScript = new StartupScript(\"myScript\", StartupScriptArgs.builder()\n            .script(\"ZWNobyAkUEFUSAo=\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myScript:\n    type: vultr:StartupScript\n    properties:\n      script: ZWNobyAkUEFUSAo=\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nStartup Scripts can be imported using the Startup Scripts `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/startupScript:StartupScript my_script ff8f36a8-eb86-4b8d-8667-b9d5459b6390\n```\n\n",
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "Date the script was created.\n"
        },
        "dateModified": {
          "type": "string",
          "description": "Date the script was last modified.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the given script.\n"
        },
        "script": {
          "type": "string",
          "description": "Contents of the startup script base64 encoded.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of startup script. Possible values are boot or pxe - default is boot.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "dateModified",
        "name",
        "script"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Name of the given script.\n"
        },
        "script": {
          "type": "string",
          "description": "Contents of the startup script base64 encoded.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of startup script. Possible values are boot or pxe - default is boot.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "script"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering StartupScript resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string",
            "description": "Date the script was created.\n"
          },
          "dateModified": {
            "type": "string",
            "description": "Date the script was last modified.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the given script.\n"
          },
          "script": {
            "type": "string",
            "description": "Contents of the startup script base64 encoded.\n"
          },
          "type": {
            "type": "string",
            "description": "Type of startup script. Possible values are boot or pxe - default is boot.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/user:User": {
      "description": "Provides a Vultr User resource. This can be used to create, read, modify, and delete Users.\n\n## Example Usage\n\nCreate a new User without any ACLs\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myUser = new vultr.User(\"myUser\", {\n    apiEnabled: true,\n    email: \"user@vultr.com\",\n    password: \"myP@ssw0rd\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_user = vultr.User(\"myUser\",\n    api_enabled=True,\n    email=\"user@vultr.com\",\n    password=\"myP@ssw0rd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myUser = new Vultr.User(\"myUser\", new()\n    {\n        ApiEnabled = true,\n        Email = \"user@vultr.com\",\n        Password = \"myP@ssw0rd\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewUser(ctx, \"myUser\", &vultr.UserArgs{\n\t\t\tApiEnabled: pulumi.Bool(true),\n\t\t\tEmail:      pulumi.String(\"user@vultr.com\"),\n\t\t\tPassword:   pulumi.String(\"myP@ssw0rd\"),\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.vultr.User;\nimport com.pulumi.vultr.UserArgs;\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 myUser = new User(\"myUser\", UserArgs.builder()\n            .apiEnabled(true)\n            .email(\"user@vultr.com\")\n            .password(\"myP@ssw0rd\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myUser:\n    type: vultr:User\n    properties:\n      apiEnabled: true\n      email: user@vultr.com\n      password: myP@ssw0rd\n```\n<!--End PulumiCodeChooser -->\n\nCreate a new User with all ACLs\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myUser = new vultr.User(\"myUser\", {\n    acls: [\n        \"manage_users\",\n        \"subscriptions\",\n        \"provisioning\",\n        \"billing\",\n        \"support\",\n        \"abuse\",\n        \"dns\",\n        \"upgrade\",\n    ],\n    apiEnabled: true,\n    email: \"user@vultr.com\",\n    password: \"myP@ssw0rd\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_user = vultr.User(\"myUser\",\n    acls=[\n        \"manage_users\",\n        \"subscriptions\",\n        \"provisioning\",\n        \"billing\",\n        \"support\",\n        \"abuse\",\n        \"dns\",\n        \"upgrade\",\n    ],\n    api_enabled=True,\n    email=\"user@vultr.com\",\n    password=\"myP@ssw0rd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myUser = new Vultr.User(\"myUser\", new()\n    {\n        Acls = new[]\n        {\n            \"manage_users\",\n            \"subscriptions\",\n            \"provisioning\",\n            \"billing\",\n            \"support\",\n            \"abuse\",\n            \"dns\",\n            \"upgrade\",\n        },\n        ApiEnabled = true,\n        Email = \"user@vultr.com\",\n        Password = \"myP@ssw0rd\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewUser(ctx, \"myUser\", &vultr.UserArgs{\n\t\t\tAcls: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"manage_users\"),\n\t\t\t\tpulumi.String(\"subscriptions\"),\n\t\t\t\tpulumi.String(\"provisioning\"),\n\t\t\t\tpulumi.String(\"billing\"),\n\t\t\t\tpulumi.String(\"support\"),\n\t\t\t\tpulumi.String(\"abuse\"),\n\t\t\t\tpulumi.String(\"dns\"),\n\t\t\t\tpulumi.String(\"upgrade\"),\n\t\t\t},\n\t\t\tApiEnabled: pulumi.Bool(true),\n\t\t\tEmail:      pulumi.String(\"user@vultr.com\"),\n\t\t\tPassword:   pulumi.String(\"myP@ssw0rd\"),\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.vultr.User;\nimport com.pulumi.vultr.UserArgs;\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 myUser = new User(\"myUser\", UserArgs.builder()\n            .acls(            \n                \"manage_users\",\n                \"subscriptions\",\n                \"provisioning\",\n                \"billing\",\n                \"support\",\n                \"abuse\",\n                \"dns\",\n                \"upgrade\")\n            .apiEnabled(true)\n            .email(\"user@vultr.com\")\n            .password(\"myP@ssw0rd\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myUser:\n    type: vultr:User\n    properties:\n      acls:\n        - manage_users\n        - subscriptions\n        - provisioning\n        - billing\n        - support\n        - abuse\n        - dns\n        - upgrade\n      apiEnabled: true\n      email: user@vultr.com\n      password: myP@ssw0rd\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nUsers can be imported using the User `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/user:User myuser 1345fef0-8ed3-4a66-bd8c-822a7b7bd05a\n```\n\n",
      "properties": {
        "acls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The access control list for the user.\n"
        },
        "apiEnabled": {
          "type": "boolean",
          "description": "Whether API is enabled for the user. Default behavior is set to enabled.\n"
        },
        "apiKey": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "description": "Email for this user.\n"
        },
        "name": {
          "type": "string",
          "description": "Name for this user.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for this user.\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "apiKey",
        "email",
        "name",
        "password"
      ],
      "inputProperties": {
        "acls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The access control list for the user.\n"
        },
        "apiEnabled": {
          "type": "boolean",
          "description": "Whether API is enabled for the user. Default behavior is set to enabled.\n"
        },
        "email": {
          "type": "string",
          "description": "Email for this user.\n"
        },
        "name": {
          "type": "string",
          "description": "Name for this user.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for this user.\n",
          "secret": true
        }
      },
      "requiredInputs": [
        "email",
        "password"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering User resources.\n",
        "properties": {
          "acls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The access control list for the user.\n"
          },
          "apiEnabled": {
            "type": "boolean",
            "description": "Whether API is enabled for the user. Default behavior is set to enabled.\n"
          },
          "apiKey": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "description": "Email for this user.\n"
          },
          "name": {
            "type": "string",
            "description": "Name for this user.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for this user.\n",
            "secret": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/virtualFileSystemStorage:VirtualFileSystemStorage": {
      "description": "Provides a Vultr virtual file system storage resource. This can be used to create, read, modify and delete a virtual file system storage.\n\n## Example Usage\n\nDefine a virtual file system storage resource:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVfsStorage = new vultr.VirtualFileSystemStorage(\"myVfsStorage\", {\n    label: \"vultr-vfs-storage\",\n    region: \"ewr\",\n    sizeGb: 10,\n    tags: [\n        \"terraform\",\n        \"important\",\n    ],\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_vfs_storage = vultr.VirtualFileSystemStorage(\"myVfsStorage\",\n    label=\"vultr-vfs-storage\",\n    region=\"ewr\",\n    size_gb=10,\n    tags=[\n        \"terraform\",\n        \"important\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myVfsStorage = new Vultr.VirtualFileSystemStorage(\"myVfsStorage\", new()\n    {\n        Label = \"vultr-vfs-storage\",\n        Region = \"ewr\",\n        SizeGb = 10,\n        Tags = new[]\n        {\n            \"terraform\",\n            \"important\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewVirtualFileSystemStorage(ctx, \"myVfsStorage\", &vultr.VirtualFileSystemStorageArgs{\n\t\t\tLabel:  pulumi.String(\"vultr-vfs-storage\"),\n\t\t\tRegion: pulumi.String(\"ewr\"),\n\t\t\tSizeGb: pulumi.Int(10),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\tpulumi.String(\"important\"),\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.vultr.VirtualFileSystemStorage;\nimport com.pulumi.vultr.VirtualFileSystemStorageArgs;\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 myVfsStorage = new VirtualFileSystemStorage(\"myVfsStorage\", VirtualFileSystemStorageArgs.builder()\n            .label(\"vultr-vfs-storage\")\n            .region(\"ewr\")\n            .sizeGb(10)\n            .tags(            \n                \"terraform\",\n                \"important\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myVfsStorage:\n    type: vultr:VirtualFileSystemStorage\n    properties:\n      label: vultr-vfs-storage\n      region: ewr\n      sizeGb: 10\n      tags:\n        - terraform\n        - important\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVirtual file system storage can be imported using the `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/virtualFileSystemStorage:VirtualFileSystemStorage my_vfs_storage 79210a84-bc58-494f-8dd1-953685654f7f\n```\n\n",
      "properties": {
        "attachedInstances": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of UUIDs to attach to the virtual file system storage subscription.\n"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/types/vultr:index%2FVirtualFileSystemStorageAttachment:VirtualFileSystemStorageAttachment"
          },
          "description": "A list of attchment states for instances currently attached to the virtual file system storage.\n"
        },
        "charges": {
          "type": "number",
          "description": "The current pending charges for the virtual file system storage subscription in USD.\n"
        },
        "cost": {
          "type": "number",
          "description": "The cost per month of the virtual file system storage subscription in USD.\n"
        },
        "dateCreated": {
          "type": "string",
          "description": "The date the virtual file system storage subscription was added to your Vultr account.\n"
        },
        "diskType": {
          "type": "string",
          "description": "The underlying disk type to use for the virtual file system storage.  Default is `nvme`.\n"
        },
        "label": {
          "type": "string",
          "description": "The label to give to the virtual file system storage subscription.\n"
        },
        "region": {
          "type": "string",
          "description": "The region in which this virtual file system storage will reside.\n"
        },
        "sizeGb": {
          "type": "integer",
          "description": "The size of the given virtual file system storage subscription.\n"
        },
        "status": {
          "type": "string",
          "description": "The status of the virtual file system storage subscription.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags to be used on the virtual file system storage subscription.\n"
        }
      },
      "type": "object",
      "required": [
        "attachments",
        "charges",
        "cost",
        "dateCreated",
        "label",
        "region",
        "sizeGb",
        "status"
      ],
      "inputProperties": {
        "attachedInstances": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of UUIDs to attach to the virtual file system storage subscription.\n"
        },
        "diskType": {
          "type": "string",
          "description": "The underlying disk type to use for the virtual file system storage.  Default is `nvme`.\n"
        },
        "label": {
          "type": "string",
          "description": "The label to give to the virtual file system storage subscription.\n"
        },
        "region": {
          "type": "string",
          "description": "The region in which this virtual file system storage will reside.\n",
          "willReplaceOnChanges": true
        },
        "sizeGb": {
          "type": "integer",
          "description": "The size of the given virtual file system storage subscription.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of tags to be used on the virtual file system storage subscription.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "label",
        "region",
        "sizeGb"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering VirtualFileSystemStorage resources.\n",
        "properties": {
          "attachedInstances": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of UUIDs to attach to the virtual file system storage subscription.\n"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FVirtualFileSystemStorageAttachment:VirtualFileSystemStorageAttachment"
            },
            "description": "A list of attchment states for instances currently attached to the virtual file system storage.\n"
          },
          "charges": {
            "type": "number",
            "description": "The current pending charges for the virtual file system storage subscription in USD.\n"
          },
          "cost": {
            "type": "number",
            "description": "The cost per month of the virtual file system storage subscription in USD.\n"
          },
          "dateCreated": {
            "type": "string",
            "description": "The date the virtual file system storage subscription was added to your Vultr account.\n"
          },
          "diskType": {
            "type": "string",
            "description": "The underlying disk type to use for the virtual file system storage.  Default is `nvme`.\n"
          },
          "label": {
            "type": "string",
            "description": "The label to give to the virtual file system storage subscription.\n"
          },
          "region": {
            "type": "string",
            "description": "The region in which this virtual file system storage will reside.\n",
            "willReplaceOnChanges": true
          },
          "sizeGb": {
            "type": "integer",
            "description": "The size of the given virtual file system storage subscription.\n"
          },
          "status": {
            "type": "string",
            "description": "The status of the virtual file system storage subscription.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of tags to be used on the virtual file system storage subscription.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/vpc2:Vpc2": {
      "description": "** Deprecated: Use `vultr.Vpc` instead **\n\nProvides a Vultr VPC 2.0 resource. This can be used to create, read, and delete VPCs 2.0 on your Vultr account.\n\n## Example Usage\n\nCreate a new VPC 2.0 with an automatically generated CIDR block:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVpc2 = new vultr.Vpc2(\"myVpc2\", {\n    description: \"my vpc2\",\n    region: \"ewr\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_vpc2 = vultr.Vpc2(\"myVpc2\",\n    description=\"my vpc2\",\n    region=\"ewr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myVpc2 = new Vultr.Vpc2(\"myVpc2\", new()\n    {\n        Description = \"my vpc2\",\n        Region = \"ewr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewVpc2(ctx, \"myVpc2\", &vultr.Vpc2Args{\n\t\t\tDescription: pulumi.String(\"my vpc2\"),\n\t\t\tRegion:      pulumi.String(\"ewr\"),\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.vultr.Vpc2;\nimport com.pulumi.vultr.Vpc2Args;\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 myVpc2 = new Vpc2(\"myVpc2\", Vpc2Args.builder()\n            .description(\"my vpc2\")\n            .region(\"ewr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myVpc2:\n    type: vultr:Vpc2\n    properties:\n      description: my vpc2\n      region: ewr\n```\n<!--End PulumiCodeChooser -->\n\nCreate a new VPC 2.0 with a specified CIDR block:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVpc2 = new vultr.Vpc2(\"myVpc2\", {\n    description: \"my private vpc2\",\n    ipBlock: \"10.0.0.0\",\n    prefixLength: 24,\n    region: \"ewr\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_vpc2 = vultr.Vpc2(\"myVpc2\",\n    description=\"my private vpc2\",\n    ip_block=\"10.0.0.0\",\n    prefix_length=24,\n    region=\"ewr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myVpc2 = new Vultr.Vpc2(\"myVpc2\", new()\n    {\n        Description = \"my private vpc2\",\n        IpBlock = \"10.0.0.0\",\n        PrefixLength = 24,\n        Region = \"ewr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewVpc2(ctx, \"myVpc2\", &vultr.Vpc2Args{\n\t\t\tDescription:  pulumi.String(\"my private vpc2\"),\n\t\t\tIpBlock:      pulumi.String(\"10.0.0.0\"),\n\t\t\tPrefixLength: pulumi.Int(24),\n\t\t\tRegion:       pulumi.String(\"ewr\"),\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.vultr.Vpc2;\nimport com.pulumi.vultr.Vpc2Args;\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 myVpc2 = new Vpc2(\"myVpc2\", Vpc2Args.builder()\n            .description(\"my private vpc2\")\n            .ipBlock(\"10.0.0.0\")\n            .prefixLength(24)\n            .region(\"ewr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myVpc2:\n    type: vultr:Vpc2\n    properties:\n      description: my private vpc2\n      ipBlock: 10.0.0.0\n      prefixLength: 24\n      region: ewr\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVPCs 2.0 can be imported using the VPC 2.0 `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/vpc2:Vpc2 my_vpc2 0e04f918-575e-41cb-86f6-d729b354a5a1\n```\n\n",
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "The date that the VPC 2.0 was added to your Vultr account.\n"
        },
        "description": {
          "type": "string",
          "description": "The description you want to give your VPC 2.0.\n"
        },
        "ipBlock": {
          "type": "string",
          "description": "The IPv4 subnet to be used when attaching instances to this VPC 2.0.\n"
        },
        "ipType": {
          "type": "string",
          "description": "Accepted values: `v4`.\n"
        },
        "prefixLength": {
          "type": "integer",
          "description": "The number of bits for the netmask in CIDR notation. Example: 32\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID that you want the VPC 2.0 to be created in.\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "ipBlock",
        "ipType",
        "prefixLength",
        "region"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description you want to give your VPC 2.0.\n"
        },
        "ipBlock": {
          "type": "string",
          "description": "The IPv4 subnet to be used when attaching instances to this VPC 2.0.\n",
          "willReplaceOnChanges": true
        },
        "ipType": {
          "type": "string",
          "description": "Accepted values: `v4`.\n",
          "willReplaceOnChanges": true
        },
        "prefixLength": {
          "type": "integer",
          "description": "The number of bits for the netmask in CIDR notation. Example: 32\n",
          "willReplaceOnChanges": true
        },
        "region": {
          "type": "string",
          "description": "The region ID that you want the VPC 2.0 to be created in.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vpc2 resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string",
            "description": "The date that the VPC 2.0 was added to your Vultr account.\n"
          },
          "description": {
            "type": "string",
            "description": "The description you want to give your VPC 2.0.\n"
          },
          "ipBlock": {
            "type": "string",
            "description": "The IPv4 subnet to be used when attaching instances to this VPC 2.0.\n",
            "willReplaceOnChanges": true
          },
          "ipType": {
            "type": "string",
            "description": "Accepted values: `v4`.\n",
            "willReplaceOnChanges": true
          },
          "prefixLength": {
            "type": "integer",
            "description": "The number of bits for the netmask in CIDR notation. Example: 32\n",
            "willReplaceOnChanges": true
          },
          "region": {
            "type": "string",
            "description": "The region ID that you want the VPC 2.0 to be created in.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "vultr:index/vpc:Vpc": {
      "description": "Provides a Vultr VPC resource. This can be used to create, read, and delete VPCs on your Vultr account.\n\n## Example Usage\n\nCreate a new VPC with an automatically generated CIDR block:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVpc = new vultr.Vpc(\"myVpc\", {\n    description: \"my vpc\",\n    region: \"ewr\",\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_vpc = vultr.Vpc(\"myVpc\",\n    description=\"my vpc\",\n    region=\"ewr\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myVpc = new Vultr.Vpc(\"myVpc\", new()\n    {\n        Description = \"my vpc\",\n        Region = \"ewr\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewVpc(ctx, \"myVpc\", &vultr.VpcArgs{\n\t\t\tDescription: pulumi.String(\"my vpc\"),\n\t\t\tRegion:      pulumi.String(\"ewr\"),\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.vultr.Vpc;\nimport com.pulumi.vultr.VpcArgs;\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 myVpc = new Vpc(\"myVpc\", VpcArgs.builder()\n            .description(\"my vpc\")\n            .region(\"ewr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myVpc:\n    type: vultr:Vpc\n    properties:\n      description: my vpc\n      region: ewr\n```\n<!--End PulumiCodeChooser -->\n\nCreate a new VPC with a specified CIDR block:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVpc = new vultr.Vpc(\"myVpc\", {\n    description: \"my private vpc\",\n    region: \"ewr\",\n    v4Subnet: \"10.0.0.0\",\n    v4SubnetMask: 24,\n});\n```\n```python\nimport pulumi\nimport ediri_vultr as vultr\n\nmy_vpc = vultr.Vpc(\"myVpc\",\n    description=\"my private vpc\",\n    region=\"ewr\",\n    v4_subnet=\"10.0.0.0\",\n    v4_subnet_mask=24)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = ediri.Vultr;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myVpc = new Vultr.Vpc(\"myVpc\", new()\n    {\n        Description = \"my private vpc\",\n        Region = \"ewr\",\n        V4Subnet = \"10.0.0.0\",\n        V4SubnetMask = 24,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.NewVpc(ctx, \"myVpc\", &vultr.VpcArgs{\n\t\t\tDescription:  pulumi.String(\"my private vpc\"),\n\t\t\tRegion:       pulumi.String(\"ewr\"),\n\t\t\tV4Subnet:     pulumi.String(\"10.0.0.0\"),\n\t\t\tV4SubnetMask: pulumi.Int(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.vultr.Vpc;\nimport com.pulumi.vultr.VpcArgs;\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 myVpc = new Vpc(\"myVpc\", VpcArgs.builder()\n            .description(\"my private vpc\")\n            .region(\"ewr\")\n            .v4Subnet(\"10.0.0.0\")\n            .v4SubnetMask(24)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myVpc:\n    type: vultr:Vpc\n    properties:\n      description: my private vpc\n      region: ewr\n      v4Subnet: 10.0.0.0\n      v4SubnetMask: 24\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nVPCs can be imported using the VPC `ID`, e.g.\n\n```sh\n$ pulumi import vultr:index/vpc:Vpc my_vpc 0e04f918-575e-41cb-86f6-d729b354a5a1\n```\n\n",
      "properties": {
        "dateCreated": {
          "type": "string",
          "description": "The date that the VPC was added to your Vultr account.\n"
        },
        "description": {
          "type": "string",
          "description": "The description you want to give your VPC.\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID that you want the VPC to be created in.\n"
        },
        "v4Subnet": {
          "type": "string",
          "description": "The IPv4 subnet to be used when attaching instances to this VPC.\n"
        },
        "v4SubnetMask": {
          "type": "integer",
          "description": "The number of bits for the netmask in CIDR notation. Example: 32\n"
        }
      },
      "type": "object",
      "required": [
        "dateCreated",
        "region",
        "v4Subnet",
        "v4SubnetMask"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description you want to give your VPC.\n"
        },
        "region": {
          "type": "string",
          "description": "The region ID that you want the VPC to be created in.\n",
          "willReplaceOnChanges": true
        },
        "v4Subnet": {
          "type": "string",
          "description": "The IPv4 subnet to be used when attaching instances to this VPC.\n",
          "willReplaceOnChanges": true
        },
        "v4SubnetMask": {
          "type": "integer",
          "description": "The number of bits for the netmask in CIDR notation. Example: 32\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Vpc resources.\n",
        "properties": {
          "dateCreated": {
            "type": "string",
            "description": "The date that the VPC was added to your Vultr account.\n"
          },
          "description": {
            "type": "string",
            "description": "The description you want to give your VPC.\n"
          },
          "region": {
            "type": "string",
            "description": "The region ID that you want the VPC to be created in.\n",
            "willReplaceOnChanges": true
          },
          "v4Subnet": {
            "type": "string",
            "description": "The IPv4 subnet to be used when attaching instances to this VPC.\n",
            "willReplaceOnChanges": true
          },
          "v4SubnetMask": {
            "type": "integer",
            "description": "The number of bits for the netmask in CIDR notation. Example: 32\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "pulumi:providers:vultr/terraformConfig": {
      "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.",
      "inputs": {
        "properties": {
          "__self__": {
            "$ref": "#/resources/pulumi:providers:vultr"
          }
        },
        "type": "object",
        "required": [
          "__self__"
        ]
      },
      "outputs": {
        "properties": {
          "result": {
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "type": "object"
          }
        },
        "required": [
          "result"
        ],
        "type": "object"
      }
    },
    "vultr:index/getAccount:getAccount": {
      "description": "Get information about your Vultr account. This data source provides the balance, pending charges, last payment date, and last payment amount for your Vultr account.\n\n## Example Usage\n\nGet the information for an account:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myAccount = vultr.getAccount({});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_account = vultr.get_account()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myAccount = Vultr.GetAccount.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetAccount(ctx, map[string]interface{}{}, 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.vultr.VultrFunctions;\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 myAccount = VultrFunctions.getAccount(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);\n\n    }\n}\n```\n```yaml\nvariables:\n  myAccount:\n    fn::invoke:\n      function: vultr:getAccount\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getAccount.\n",
        "properties": {
          "acls": {
            "description": "The access control list on your Vultr account.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "balance": {
            "description": "The current balance on your Vultr account.\n",
            "type": "number"
          },
          "email": {
            "description": "The email address on your Vultr account.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "lastPaymentAmount": {
            "description": "The amount of the last payment made on your Vultr account.\n",
            "type": "number"
          },
          "lastPaymentDate": {
            "description": "The date of the last payment made on your Vultr account.\n",
            "type": "string"
          },
          "name": {
            "description": "The name on your Vultr account.\n",
            "type": "string"
          },
          "pendingCharges": {
            "description": "The pending charges on your Vultr account.\n",
            "type": "number"
          }
        },
        "required": [
          "acls",
          "balance",
          "email",
          "id",
          "lastPaymentAmount",
          "lastPaymentDate",
          "name",
          "pendingCharges"
        ],
        "type": "object"
      }
    },
    "vultr:index/getApplication:getApplication": {
      "description": "Get information about applications that can be launched when creating a Vultr VPS.\n\n## Example Usage\n\nGet the information for an application by `deploy_name`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst docker = vultr.getApplication({\n    filters: [{\n        name: \"deploy_name\",\n        values: [\"Docker on CentOS 7 x64\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\ndocker = vultr.get_application(filters=[{\n    \"name\": \"deploy_name\",\n    \"values\": [\"Docker on CentOS 7 x64\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var docker = Vultr.GetApplication.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetApplicationFilterInputArgs\n            {\n                Name = \"deploy_name\",\n                Values = new[]\n                {\n                    \"Docker on CentOS 7 x64\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetApplication(ctx, \u0026vultr.GetApplicationArgs{\n\t\t\tFilters: []vultr.GetApplicationFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"deploy_name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"Docker on CentOS 7 x64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetApplicationArgs;\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 docker = VultrFunctions.getApplication(GetApplicationArgs.builder()\n            .filters(GetApplicationFilterArgs.builder()\n                .name(\"deploy_name\")\n                .values(\"Docker on CentOS 7 x64\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  docker:\n    fn::invoke:\n      function: vultr:getApplication\n      arguments:\n        filters:\n          - name: deploy_name\n            values:\n              - Docker on CentOS 7 x64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getApplication.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetApplicationFilter:getApplicationFilter"
            },
            "description": "Query parameters for finding applications.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getApplication.\n",
        "properties": {
          "deployName": {
            "description": "The deploy name of the application.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetApplicationFilter:getApplicationFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "imageId": {
            "description": "The Marketplace ID for this application.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the application.\n",
            "type": "string"
          },
          "shortName": {
            "description": "The short name of the application.\n",
            "type": "string"
          },
          "type": {
            "description": "This defines if an application is `one-click` or `marketplace` .\n",
            "type": "string"
          },
          "vendor": {
            "description": "The vendor who authored the application.\n",
            "type": "string"
          }
        },
        "required": [
          "deployName",
          "id",
          "imageId",
          "name",
          "shortName",
          "type",
          "vendor"
        ],
        "type": "object"
      }
    },
    "vultr:index/getBackup:getBackup": {
      "description": "Get information about a Vultr backup. This data source provides a list of backups which contain the description, size, status, and the creation date for your Vultr backup.\n\n## Example Usage\n\nGet the information for a backup by `description`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myBackup = vultr.getBackup({\n    filters: [{\n        name: \"description\",\n        values: [\"my-backup-description\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_backup = vultr.get_backup(filters=[{\n    \"name\": \"description\",\n    \"values\": [\"my-backup-description\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myBackup = Vultr.GetBackup.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetBackupFilterInputArgs\n            {\n                Name = \"description\",\n                Values = new[]\n                {\n                    \"my-backup-description\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetBackup(ctx, \u0026vultr.GetBackupArgs{\n\t\t\tFilters: []vultr.GetBackupFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-backup-description\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetBackupArgs;\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 myBackup = VultrFunctions.getBackup(GetBackupArgs.builder()\n            .filters(GetBackupFilterArgs.builder()\n                .name(\"description\")\n                .values(\"my-backup-description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myBackup:\n    fn::invoke:\n      function: vultr:getBackup\n      arguments:\n        filters:\n          - name: description\n            values:\n              - my-backup-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBackup.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetBackupFilter:getBackupFilter"
            },
            "description": "Query parameters for finding backups.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getBackup.\n",
        "properties": {
          "backups": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetBackupFilter:getBackupFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          }
        },
        "required": [
          "backups",
          "id"
        ],
        "type": "object"
      }
    },
    "vultr:index/getBareMetalPlan:getBareMetalPlan": {
      "description": "Get information about a Vultr bare metal server plan.\n\n## Example Usage\n\nGet the information for a plan by `id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myPlan = vultr.getBareMetalPlan({\n    filters: [{\n        name: \"id\",\n        values: [\"vbm-4c-32gb\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_plan = vultr.get_bare_metal_plan(filters=[{\n    \"name\": \"id\",\n    \"values\": [\"vbm-4c-32gb\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myPlan = Vultr.GetBareMetalPlan.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetBareMetalPlanFilterInputArgs\n            {\n                Name = \"id\",\n                Values = new[]\n                {\n                    \"vbm-4c-32gb\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetBareMetalPlan(ctx, \u0026vultr.GetBareMetalPlanArgs{\n\t\t\tFilters: []vultr.GetBareMetalPlanFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vbm-4c-32gb\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetBareMetalPlanArgs;\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 myPlan = VultrFunctions.getBareMetalPlan(GetBareMetalPlanArgs.builder()\n            .filters(GetBareMetalPlanFilterArgs.builder()\n                .name(\"id\")\n                .values(\"vbm-4c-32gb\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myPlan:\n    fn::invoke:\n      function: vultr:getBareMetalPlan\n      arguments:\n        filters:\n          - name: id\n            values:\n              - vbm-4c-32gb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBareMetalPlan.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetBareMetalPlanFilter:getBareMetalPlanFilter"
            },
            "description": "Query parameters for finding plans.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getBareMetalPlan.\n",
        "properties": {
          "bandwidth": {
            "description": "The bandwidth available on the plan.\n",
            "type": "integer"
          },
          "cpuCount": {
            "description": "The number of CPUs available on the plan.\n",
            "type": "integer"
          },
          "cpuModel": {
            "description": "The CPU model of the plan.\n",
            "type": "string"
          },
          "cpuThreads": {
            "description": "The number of CPU threads.\n",
            "type": "integer"
          },
          "disk": {
            "description": "The description of the disk(s) on the plan.\n",
            "type": "integer"
          },
          "diskCount": {
            "description": "The number of disks that this plan offers.\n",
            "type": "integer"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetBareMetalPlanFilter:getBareMetalPlanFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "locations": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "monthlyCost": {
            "description": "The price per month of the plan in USD.\n",
            "type": "integer"
          },
          "ram": {
            "description": "The amount of memory available on the plan in MB.\n",
            "type": "integer"
          },
          "type": {
            "description": "The type of plan it is.\n",
            "type": "string"
          }
        },
        "required": [
          "bandwidth",
          "cpuCount",
          "cpuModel",
          "cpuThreads",
          "disk",
          "diskCount",
          "id",
          "locations",
          "monthlyCost",
          "ram",
          "type"
        ],
        "type": "object"
      }
    },
    "vultr:index/getBareMetalServer:getBareMetalServer": {
      "description": "Get information about a Vultr bare metal server.\n\n## Example Usage\n\nGet the information for a server by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myServer = vultr.getBareMetalServer({\n    filters: [{\n        name: \"label\",\n        values: [\"my-server-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_server = vultr.get_bare_metal_server(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-server-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myServer = Vultr.GetBareMetalServer.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetBareMetalServerFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-server-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupBareMetalServer(ctx, \u0026vultr.LookupBareMetalServerArgs{\n\t\t\tFilters: []vultr.GetBareMetalServerFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-server-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetBareMetalServerArgs;\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 myServer = VultrFunctions.getBareMetalServer(GetBareMetalServerArgs.builder()\n            .filters(GetBareMetalServerFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-server-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myServer:\n    fn::invoke:\n      function: vultr:getBareMetalServer\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-server-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBareMetalServer.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetBareMetalServerFilter:getBareMetalServerFilter"
            },
            "description": "Query parameters for finding servers.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getBareMetalServer.\n",
        "properties": {
          "appId": {
            "description": "The server's application ID.\n",
            "type": "integer"
          },
          "cpuCount": {
            "description": "The number of CPUs available on the server.\n",
            "type": "integer"
          },
          "dateCreated": {
            "description": "The date the server was added to your Vultr account.\n",
            "type": "string"
          },
          "disk": {
            "description": "The description of the disk(s) on the server.\n",
            "type": "string"
          },
          "features": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetBareMetalServerFilter:getBareMetalServerFilter"
            },
            "type": "array"
          },
          "gatewayV4": {
            "description": "The server's IPv4 gateway.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "imageId": {
            "description": "The Marketplace ID for this application.\n",
            "type": "string"
          },
          "label": {
            "description": "The server's label.\n",
            "type": "string"
          },
          "macAddress": {
            "type": "integer"
          },
          "mainIp": {
            "description": "The server's main IP address.\n",
            "type": "string"
          },
          "netmaskV4": {
            "description": "The server's IPv4 netmask.\n",
            "type": "string"
          },
          "os": {
            "description": "The operating system of the server.\n",
            "type": "string"
          },
          "osId": {
            "description": "The server's operating system ID.\n",
            "type": "integer"
          },
          "plan": {
            "description": "The server's plan ID.\n",
            "type": "string"
          },
          "ram": {
            "description": "The amount of memory available on the server in MB.\n",
            "type": "string"
          },
          "region": {
            "description": "The region ID of the server.\n",
            "type": "string"
          },
          "status": {
            "description": "The status of the server's subscription.\n",
            "type": "string"
          },
          "tags": {
            "description": "A list of tags applied to the server.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "userScheme": {
            "description": "The scheme used for the default user (linux servers only).\n",
            "type": "string"
          },
          "v6MainIp": {
            "type": "string"
          },
          "v6Network": {
            "type": "string"
          },
          "v6NetworkSize": {
            "type": "integer"
          },
          "vpc2Ids": {
            "description": "(Deprecated) A list of VPC 2.0 IDs attached to the server.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vpcId": {
            "description": "The ID of the VPC which is attached to the bare metal server.\n",
            "type": "string"
          }
        },
        "required": [
          "appId",
          "cpuCount",
          "dateCreated",
          "disk",
          "features",
          "gatewayV4",
          "id",
          "imageId",
          "label",
          "macAddress",
          "mainIp",
          "netmaskV4",
          "os",
          "osId",
          "plan",
          "ram",
          "region",
          "status",
          "tags",
          "userScheme",
          "v6MainIp",
          "v6Network",
          "v6NetworkSize",
          "vpc2Ids",
          "vpcId"
        ],
        "type": "object"
      }
    },
    "vultr:index/getBlockStorage:getBlockStorage": {
      "description": "Get information about a Vultr block storage subscription.\n\n## Example Usage\n\nGet the information for a block storage subscription by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myBlockStorage = vultr.getBlockStorage({\n    filters: [{\n        name: \"label\",\n        values: [\"my-block-storage-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_block_storage = vultr.get_block_storage(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-block-storage-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myBlockStorage = Vultr.GetBlockStorage.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetBlockStorageFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-block-storage-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupBlockStorage(ctx, \u0026vultr.LookupBlockStorageArgs{\n\t\t\tFilters: []vultr.GetBlockStorageFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-block-storage-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetBlockStorageArgs;\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 myBlockStorage = VultrFunctions.getBlockStorage(GetBlockStorageArgs.builder()\n            .filters(GetBlockStorageFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-block-storage-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myBlockStorage:\n    fn::invoke:\n      function: vultr:getBlockStorage\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-block-storage-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getBlockStorage.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetBlockStorageFilter:getBlockStorageFilter"
            },
            "description": "Query parameters for finding block storage subscriptions.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getBlockStorage.\n",
        "properties": {
          "attachedToInstance": {
            "description": "The ID of the VPS the block storage subscription is attached to.\n",
            "type": "string"
          },
          "blockType": {
            "description": "The type of block storage volume.\n",
            "type": "string"
          },
          "cost": {
            "description": "The cost per month of the block storage subscription in USD.\n",
            "type": "integer"
          },
          "dateCreated": {
            "description": "The date the block storage subscription was added to your Vultr account.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetBlockStorageFilter:getBlockStorageFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "label": {
            "description": "The label of the block storage subscription.\n",
            "type": "string"
          },
          "mountId": {
            "description": "An ID associated with the instance, when mounted the ID can be found in /dev/disk/by-id prefixed with virtio.\n",
            "type": "string"
          },
          "region": {
            "description": "The region ID of the block storage subscription.\n",
            "type": "string"
          },
          "sizeGb": {
            "description": "The size of the block storage subscription in GB.\n",
            "type": "integer"
          },
          "status": {
            "description": "The status of the block storage subscription.\n",
            "type": "string"
          }
        },
        "required": [
          "attachedToInstance",
          "blockType",
          "cost",
          "dateCreated",
          "id",
          "label",
          "mountId",
          "region",
          "sizeGb",
          "status"
        ],
        "type": "object"
      }
    },
    "vultr:index/getContainerRegistry:getContainerRegistry": {
      "description": "Get information about a Vultr container registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst vcr_ds = vultr.getContainerRegistry({\n    filters: [{\n        name: \"name\",\n        values: [\"examplecontainerregistry\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nvcr_ds = vultr.get_container_registry(filters=[{\n    \"name\": \"name\",\n    \"values\": [\"examplecontainerregistry\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vcr_ds = Vultr.GetContainerRegistry.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetContainerRegistryFilterInputArgs\n            {\n                Name = \"name\",\n                Values = new[]\n                {\n                    \"examplecontainerregistry\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupContainerRegistry(ctx, \u0026vultr.LookupContainerRegistryArgs{\n\t\t\tFilters: []vultr.GetContainerRegistryFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"examplecontainerregistry\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetContainerRegistryArgs;\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 vcr-ds = VultrFunctions.getContainerRegistry(GetContainerRegistryArgs.builder()\n            .filters(GetContainerRegistryFilterArgs.builder()\n                .name(\"name\")\n                .values(\"examplecontainerregistry\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  vcr-ds:\n    fn::invoke:\n      function: vultr:getContainerRegistry\n      arguments:\n        filters:\n          - name: name\n            values:\n              - examplecontainerregistry\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getContainerRegistry.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetContainerRegistryFilter:getContainerRegistryFilter"
            },
            "description": "Query parameters for finding the container registry.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getContainerRegistry.\n",
        "properties": {
          "dateCreated": {
            "description": "A date-time of when the root user was created.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetContainerRegistryFilter:getContainerRegistryFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "name": {
            "description": "The name of the repository.\n",
            "type": "string"
          },
          "public": {
            "description": "Boolean indicating whether or not the requires login credentials.\n",
            "type": "boolean"
          },
          "repositories": {
            "description": "Listing of the repositories created within the registry and their metadata.\n",
            "items": {
              "$ref": "#/types/vultr:index%2FgetContainerRegistryRepository:getContainerRegistryRepository"
            },
            "type": "array"
          },
          "rootUser": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The user associated with the container registry.\n",
            "type": "object"
          },
          "storage": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "A listing of current storage usage relevant to the container registry.\n",
            "type": "object"
          },
          "urn": {
            "description": "The URN of the container registry.\n",
            "type": "string"
          }
        },
        "required": [
          "dateCreated",
          "id",
          "name",
          "public",
          "repositories",
          "rootUser",
          "storage",
          "urn"
        ],
        "type": "object"
      }
    },
    "vultr:index/getDatabase:getDatabase": {
      "description": "Get information about a Vultr database.\n\n## Example Usage\n\nGet the information for a database by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDatabase = vultr.getDatabase({\n    filters: [{\n        name: \"label\",\n        values: [\"my-database-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_database = vultr.get_database(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-database-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myDatabase = Vultr.GetDatabase.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetDatabaseFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-database-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupDatabase(ctx, \u0026vultr.LookupDatabaseArgs{\n\t\t\tFilters: []vultr.GetDatabaseFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-database-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetDatabaseArgs;\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 myDatabase = VultrFunctions.getDatabase(GetDatabaseArgs.builder()\n            .filters(GetDatabaseFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-database-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myDatabase:\n    fn::invoke:\n      function: vultr:getDatabase\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-database-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDatabase.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetDatabaseFilter:getDatabaseFilter"
            },
            "description": "Query parameters for finding databases.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getDatabase.\n",
        "properties": {
          "accessCert": {
            "description": "The certificate to authenticate the default user (Kafka engine types only).\n",
            "type": "string"
          },
          "accessKey": {
            "description": "The private key to authenticate the default user (Kafka engine types only).\n",
            "type": "string"
          },
          "backupHour": {
            "description": "The preferred hour of the day (UTC) for daily backups to take place (unavailable for Kafka engine types).\n",
            "type": "string"
          },
          "backupMinute": {
            "description": "The preferred minute of the backup hour for daily backups to take place (unavailable for Kafka engine types).\n",
            "type": "string"
          },
          "clusterTimeZone": {
            "description": "The configured time zone for the Managed Database in TZ database format.\n",
            "type": "string"
          },
          "databaseEngine": {
            "description": "The database engine of the managed database.\n",
            "type": "string"
          },
          "databaseEngineVersion": {
            "description": "The database engine version of the managed database.\n",
            "type": "string"
          },
          "dateCreated": {
            "description": "The date the managed database was added to your Vultr account.\n",
            "type": "string"
          },
          "dbname": {
            "description": "The managed database's default logical database.\n",
            "type": "string"
          },
          "enableKafkaConnect": {
            "description": "The configuration value for Kafka Connect support (Kafka engine types only).\n",
            "type": "boolean"
          },
          "enableKafkaRest": {
            "description": "The configuration value for Kafka REST support (Kafka engine types only).\n",
            "type": "boolean"
          },
          "enableSchemaRegistry": {
            "description": "The configuration value for Schema Registry support (Kafka engine types only).\n",
            "type": "boolean"
          },
          "evictionPolicy": {
            "description": "The configuration value for the data eviction policy on the managed database (Valkey engine types only).\n",
            "type": "string"
          },
          "ferretdbCredentials": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetDatabaseFilter:getDatabaseFilter"
            },
            "type": "array"
          },
          "host": {
            "description": "The hostname assigned to the managed database.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "kafkaRestUri": {
            "description": "The URI to access the RESTful interface of your Kafka cluster if Kafka REST is enabled (Kafka engine types only).\n",
            "type": "string"
          },
          "label": {
            "description": "The managed database's label.\n",
            "type": "string"
          },
          "latestBackup": {
            "description": "The date of the latest backup available on the managed database.\n",
            "type": "string"
          },
          "maintenanceDow": {
            "description": "The preferred maintenance day of week for the managed database.\n",
            "type": "string"
          },
          "maintenanceTime": {
            "description": "The preferred maintenance time for the managed database.\n",
            "type": "string"
          },
          "mysqlLongQueryTime": {
            "description": "The configuration value for the long query time (in seconds) on the managed database (MySQL engine types only).\n",
            "type": "integer"
          },
          "mysqlRequirePrimaryKey": {
            "description": "The configuration value for whether primary keys are required on the managed database (MySQL engine types only).\n",
            "type": "boolean"
          },
          "mysqlSlowQueryLog": {
            "description": "The configuration value for slow query logging on the managed database (MySQL engine types only).\n",
            "type": "boolean"
          },
          "mysqlSqlModes": {
            "description": "A list of SQL modes currently configured for the managed database (MySQL engine types only).\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "password": {
            "description": "The password for the managed database's primary admin user.\n",
            "type": "string"
          },
          "plan": {
            "description": "The managed database's plan ID.\n",
            "type": "string"
          },
          "planBrokers": {
            "type": "integer"
          },
          "planDisk": {
            "description": "The description of the disk(s) on the managed database.\n",
            "type": "integer"
          },
          "planRam": {
            "description": "The amount of memory available on the managed database in MB.\n",
            "type": "integer"
          },
          "planReplicas": {
            "description": "The number of standby nodes available on the managed database.\n",
            "type": "integer"
          },
          "planVcpus": {
            "description": "The number of virtual CPUs available on the managed database.\n",
            "type": "integer"
          },
          "port": {
            "description": "The connection port for the managed database.\n",
            "type": "string"
          },
          "publicHost": {
            "description": "The public hostname assigned to the managed database (VPC-attached only).\n",
            "type": "string"
          },
          "readReplicas": {
            "description": "A list of read replicas attached to the managed database.\n",
            "items": {
              "$ref": "#/types/vultr:index%2FgetDatabaseReadReplica:getDatabaseReadReplica"
            },
            "type": "array"
          },
          "region": {
            "description": "The region ID of the managed database.\n",
            "type": "string"
          },
          "saslPort": {
            "description": "The SASL connection port for the managed database (Kafka engine types only).\n",
            "type": "string"
          },
          "schemaRegistryUri": {
            "description": "The URI to access the Schema Registry service of your Kafka cluster if Schema Registry is enabled (Kafka engine types only).\n",
            "type": "string"
          },
          "status": {
            "description": "The current status of the managed database (poweroff, rebuilding, rebalancing, configuring, running).\n",
            "type": "string"
          },
          "tag": {
            "description": "The managed database's tag.\n",
            "type": "string"
          },
          "trustedIps": {
            "description": "A list of allowed IP addresses for the managed database.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "user": {
            "description": "The primary admin user for the managed database.\n",
            "type": "string"
          },
          "vpcId": {
            "description": "The ID of the VPC Network attached to the Managed Database.\n",
            "type": "string"
          }
        },
        "required": [
          "accessCert",
          "accessKey",
          "backupHour",
          "backupMinute",
          "clusterTimeZone",
          "databaseEngine",
          "databaseEngineVersion",
          "dateCreated",
          "dbname",
          "enableKafkaConnect",
          "enableKafkaRest",
          "enableSchemaRegistry",
          "evictionPolicy",
          "ferretdbCredentials",
          "host",
          "id",
          "kafkaRestUri",
          "label",
          "latestBackup",
          "maintenanceDow",
          "maintenanceTime",
          "mysqlLongQueryTime",
          "mysqlRequirePrimaryKey",
          "mysqlSlowQueryLog",
          "mysqlSqlModes",
          "password",
          "plan",
          "planBrokers",
          "planDisk",
          "planRam",
          "planReplicas",
          "planVcpus",
          "port",
          "publicHost",
          "readReplicas",
          "region",
          "saslPort",
          "schemaRegistryUri",
          "status",
          "tag",
          "trustedIps",
          "user",
          "vpcId"
        ],
        "type": "object"
      }
    },
    "vultr:index/getDnsDomain:getDnsDomain": {
      "description": "Get information about a DNS domain associated with your Vultr account.\n\n## Example Usage\n\nGet the information for a DNS domain:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myDomain = vultr.getDnsDomain({\n    domain: \"example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_domain = vultr.get_dns_domain(domain=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myDomain = Vultr.GetDnsDomain.Invoke(new()\n    {\n        Domain = \"example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupDnsDomain(ctx, \u0026vultr.LookupDnsDomainArgs{\n\t\t\tDomain: \"example.com\",\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetDnsDomainArgs;\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 myDomain = VultrFunctions.getDnsDomain(GetDnsDomainArgs.builder()\n            .domain(\"example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myDomain:\n    fn::invoke:\n      function: vultr:getDnsDomain\n      arguments:\n        domain: example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getDnsDomain.\n",
        "properties": {
          "domain": {
            "type": "string",
            "description": "The name you're searching for.\n"
          }
        },
        "type": "object",
        "required": [
          "domain"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getDnsDomain.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the DNS domain was added to your Vultr account.\n",
            "type": "string"
          },
          "dnsSec": {
            "description": "The Domain's DNSSEC status\n",
            "type": "string"
          },
          "domain": {
            "description": "Name of domain.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          }
        },
        "required": [
          "dateCreated",
          "dnsSec",
          "domain",
          "id"
        ],
        "type": "object"
      }
    },
    "vultr:index/getFirewallGroup:getFirewallGroup": {
      "description": "Get information about a firewall group on your Vultr account.\n\n## Example Usage\n\nGet the information for a firewall group by `description`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myFwg = vultr.getFirewallGroup({\n    filters: [{\n        name: \"description\",\n        values: [\"fwg-description\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_fwg = vultr.get_firewall_group(filters=[{\n    \"name\": \"description\",\n    \"values\": [\"fwg-description\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myFwg = Vultr.GetFirewallGroup.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetFirewallGroupFilterInputArgs\n            {\n                Name = \"description\",\n                Values = new[]\n                {\n                    \"fwg-description\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupFirewallGroup(ctx, \u0026vultr.LookupFirewallGroupArgs{\n\t\t\tFilters: []vultr.GetFirewallGroupFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"fwg-description\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetFirewallGroupArgs;\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 myFwg = VultrFunctions.getFirewallGroup(GetFirewallGroupArgs.builder()\n            .filters(GetFirewallGroupFilterArgs.builder()\n                .name(\"description\")\n                .values(\"fwg-description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myFwg:\n    fn::invoke:\n      function: vultr:getFirewallGroup\n      arguments:\n        filters:\n          - name: description\n            values:\n              - fwg-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFirewallGroup.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetFirewallGroupFilter:getFirewallGroupFilter"
            },
            "description": "Query parameters for finding firewall groups.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getFirewallGroup.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the firewall group was added to your Vultr account.\n",
            "type": "string"
          },
          "dateModified": {
            "description": "The date the firewall group was last modified.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the firewall group.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetFirewallGroupFilter:getFirewallGroupFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "instanceCount": {
            "description": "The number of instances this firewall group is applied to.\n",
            "type": "integer"
          },
          "maxRuleCount": {
            "description": "The maximum number of rules this firewall group can have.\n",
            "type": "integer"
          },
          "ruleCount": {
            "description": "The number of rules added to this firewall group.\n",
            "type": "integer"
          }
        },
        "required": [
          "dateCreated",
          "dateModified",
          "description",
          "id",
          "instanceCount",
          "maxRuleCount",
          "ruleCount"
        ],
        "type": "object"
      }
    },
    "vultr:index/getInference:getInference": {
      "description": "Get information about a Vultr Serverless Inference subscription.\n\n## Example Usage\n\nGet the information for an inference subscription by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst exampleInference = vultr.getInference({\n    filters: [{\n        name: \"label\",\n        values: [\"my_inference_label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nexample_inference = vultr.get_inference(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my_inference_label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleInference = Vultr.GetInference.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetInferenceFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my_inference_label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupInference(ctx, \u0026vultr.LookupInferenceArgs{\n\t\t\tFilters: []vultr.GetInferenceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my_inference_label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetInferenceArgs;\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 exampleInference = VultrFunctions.getInference(GetInferenceArgs.builder()\n            .filters(GetInferenceFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my_inference_label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleInference:\n    fn::invoke:\n      function: vultr:getInference\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my_inference_label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInference.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetInferenceFilter:getInferenceFilter"
            },
            "description": "Query parameters for finding inference subscriptions.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getInference.\n",
        "properties": {
          "apiKey": {
            "description": "The inference subscription's API key for accessing the Vultr Inference API.\n",
            "type": "string"
          },
          "dateCreated": {
            "description": "The date the inference subscription was added to your Vultr account.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetInferenceFilter:getInferenceFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "label": {
            "description": "The inference subscription's label.\n",
            "type": "string"
          },
          "usage": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "apiKey",
          "dateCreated",
          "id",
          "label",
          "usage"
        ],
        "type": "object"
      }
    },
    "vultr:index/getInstance:getInstance": {
      "description": "Get information about a Vultr instance.\n\n## Example Usage\n\nGet the information for a instance by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstance = vultr.getInstance({\n    filters: [{\n        name: \"label\",\n        values: [\"my-instance-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_instance = vultr.get_instance(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-instance-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myInstance = Vultr.GetInstance.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetInstanceFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-instance-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupInstance(ctx, \u0026vultr.LookupInstanceArgs{\n\t\t\tFilters: []vultr.GetInstanceFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-instance-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetInstanceArgs;\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 myInstance = VultrFunctions.getInstance(GetInstanceArgs.builder()\n            .filters(GetInstanceFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-instance-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myInstance:\n    fn::invoke:\n      function: vultr:getInstance\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-instance-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInstance.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstanceFilter:getInstanceFilter"
            },
            "description": "Query parameters for finding instances.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getInstance.\n",
        "properties": {
          "allowedBandwidth": {
            "description": "The server's allowed bandwidth usage in GB.\n",
            "type": "integer"
          },
          "appId": {
            "description": "The server's application ID.\n",
            "type": "integer"
          },
          "backups": {
            "type": "string"
          },
          "backupsSchedule": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The current configuration for backups\n",
            "type": "object"
          },
          "dateCreated": {
            "description": "The date the server was added to your Vultr account.\n",
            "type": "string"
          },
          "disk": {
            "description": "The description of the disk(s) on the server.\n",
            "type": "integer"
          },
          "features": {
            "description": "Array of which features are enabled.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstanceFilter:getInstanceFilter"
            },
            "type": "array"
          },
          "firewallGroupId": {
            "description": "The ID of the firewall group applied to this server.\n",
            "type": "string"
          },
          "gatewayV4": {
            "description": "The server's IPv4 gateway.\n",
            "type": "string"
          },
          "hostname": {
            "description": "The hostname assigned to the server.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "imageId": {
            "description": "The Marketplace ID for this application.\n",
            "type": "string"
          },
          "internalIp": {
            "description": "The server's internal IP address.\n",
            "type": "string"
          },
          "kvm": {
            "description": "The server's current KVM URL. This URL will change periodically. It is not advised to cache this value.\n",
            "type": "string"
          },
          "label": {
            "description": "The server's label.\n",
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "mainIp": {
            "description": "The server's main IP address.\n",
            "type": "string"
          },
          "netmaskV4": {
            "description": "The server's IPv4 netmask.\n",
            "type": "string"
          },
          "os": {
            "description": "The operating system of the instance.\n",
            "type": "string"
          },
          "osId": {
            "description": "The server's operating system ID.\n",
            "type": "integer"
          },
          "plan": {
            "description": "The server's plan ID.\n",
            "type": "string"
          },
          "powerStatus": {
            "description": "Whether the server is powered on or not.\n",
            "type": "string"
          },
          "ram": {
            "description": "The amount of memory available on the instance in MB.\n",
            "type": "integer"
          },
          "region": {
            "description": "The region ID of the server.\n",
            "type": "string"
          },
          "serverStatus": {
            "description": "A more detailed server status (none, locked, installingbooting, isomounting, ok).\n",
            "type": "string"
          },
          "status": {
            "description": "The status of the server's subscription.\n",
            "type": "string"
          },
          "tags": {
            "description": "A list of tags applied to the instance.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "userScheme": {
            "description": "The scheme used for the default user (linux servers only).\n",
            "type": "string"
          },
          "v6MainIp": {
            "description": "The main IPv6 network address.\n",
            "type": "string"
          },
          "v6Network": {
            "description": "The IPv6 subnet.\n",
            "type": "string"
          },
          "v6NetworkSize": {
            "description": "The IPv6 network size in bits.\n",
            "type": "integer"
          },
          "vcpuCount": {
            "description": "The number of virtual CPUs available on the server.\n",
            "type": "integer"
          },
          "vpc2Ids": {
            "description": "(Deprecated) A list of VPC 2.0 IDs attached to the server.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vpcIds": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "allowedBandwidth",
          "appId",
          "backups",
          "backupsSchedule",
          "dateCreated",
          "disk",
          "features",
          "firewallGroupId",
          "gatewayV4",
          "hostname",
          "id",
          "imageId",
          "internalIp",
          "kvm",
          "label",
          "location",
          "mainIp",
          "netmaskV4",
          "os",
          "osId",
          "plan",
          "powerStatus",
          "ram",
          "region",
          "serverStatus",
          "status",
          "tags",
          "userScheme",
          "v6MainIp",
          "v6Network",
          "v6NetworkSize",
          "vcpuCount",
          "vpc2Ids",
          "vpcIds"
        ],
        "type": "object"
      }
    },
    "vultr:index/getInstanceIpv4:getInstanceIpv4": {
      "description": "Get information about a Vultr instance IPv4.\n\n## Example Usage\n\nGet the information for an IPv4 address by `instance_id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myInstanceIpv4 = vultr.getInstanceIpv4({\n    filters: [{\n        name: \"ip\",\n        values: [\"123.123.123.123\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_instance_ipv4 = vultr.get_instance_ipv4(filters=[{\n    \"name\": \"ip\",\n    \"values\": [\"123.123.123.123\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myInstanceIpv4 = Vultr.GetInstanceIpv4.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetInstanceIpv4FilterInputArgs\n            {\n                Name = \"ip\",\n                Values = new[]\n                {\n                    \"123.123.123.123\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupInstanceIpv4(ctx, \u0026vultr.LookupInstanceIpv4Args{\n\t\t\tFilters: []vultr.GetInstanceIpv4Filter{\n\t\t\t\t{\n\t\t\t\t\tName: \"ip\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"123.123.123.123\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetInstanceIpv4Args;\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 myInstanceIpv4 = VultrFunctions.getInstanceIpv4(GetInstanceIpv4Args.builder()\n            .filters(GetInstanceIpv4FilterArgs.builder()\n                .name(\"ip\")\n                .values(\"123.123.123.123\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myInstanceIpv4:\n    fn::invoke:\n      function: vultr:getInstanceIpv4\n      arguments:\n        filters:\n          - name: ip\n            values:\n              - 123.123.123.123\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInstanceIpv4.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstanceIpv4Filter:getInstanceIpv4Filter"
            },
            "description": "Query parameters for finding IPv4 address.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getInstanceIpv4.\n",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstanceIpv4Filter:getInstanceIpv4Filter"
            },
            "type": "array"
          },
          "gateway": {
            "description": "The gateway IP address.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "instanceId": {
            "description": "The ID of the instance the IPv4 address.\n",
            "type": "string"
          },
          "ip": {
            "description": "The IPv4 address in canonical format.\n",
            "type": "string"
          },
          "netmask": {
            "description": "The IPv4 netmask in dot-decimal notation.\n",
            "type": "string"
          },
          "reverse": {
            "description": "The reverse DNS information for this IP address.\n",
            "type": "string"
          }
        },
        "required": [
          "gateway",
          "id",
          "instanceId",
          "ip",
          "netmask",
          "reverse"
        ],
        "type": "object"
      }
    },
    "vultr:index/getInstances:getInstances": {
      "description": "List information for Vultr instances.\n\n## Example Usage\n\nGet the information for all instances by `status`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst activeInstances = vultr.getInstances({\n    filters: [{\n        name: \"status\",\n        values: [\"active\"],\n    }],\n});\nexport const instances = activeInstances.then(activeInstances =\u003e activeInstances.instances.map(__item =\u003e __item.label));\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nactive_instances = vultr.get_instances(filters=[{\n    \"name\": \"status\",\n    \"values\": [\"active\"],\n}])\npulumi.export(\"instances\", [__item.label for __item in active_instances.instances])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var activeInstances = Vultr.GetInstances.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetInstancesFilterInputArgs\n            {\n                Name = \"status\",\n                Values = new[]\n                {\n                    \"active\",\n                },\n            },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"instances\"] = activeInstances.Apply(getInstancesResult =\u003e getInstancesResult.Instances).Select(__item =\u003e __item.Label).ToList(),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\nactiveInstances, err := vultr.GetInstances(ctx, \u0026vultr.GetInstancesArgs{\nFilters: []vultr.GetInstancesFilter{\n{\nName: \"status\",\nValues: []string{\n\"active\",\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nctx.Export(\"instances\", pulumi.StringArray(%!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ #-functions-%svultr:index-getInstances:getInstances.pp:8,11-45)))\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetInstancesArgs;\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 activeInstances = VultrFunctions.getInstances(GetInstancesArgs.builder()\n            .filters(GetInstancesFilterArgs.builder()\n                .name(\"status\")\n                .values(\"active\")\n                .build())\n            .build());\n\n        ctx.export(\"instances\", activeInstances.instances().stream().map(element -\u003e element.label()).collect(toList()));\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getInstances.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstancesFilter:getInstancesFilter"
            },
            "description": "Query parameters for finding instances.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getInstances.\n",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstancesFilter:getInstancesFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "instances": {
            "description": "The list of instances which individually include the following:\n",
            "items": {
              "$ref": "#/types/vultr:index%2FgetInstancesInstance:getInstancesInstance"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "instances"
        ],
        "type": "object"
      }
    },
    "vultr:index/getIsoPrivate:getIsoPrivate": {
      "description": "Get information about an ISO file uploaded to your Vultr account.\n\n## Example Usage\n\nGet the information for a ISO file by `filename`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myIso = vultr.getIsoPrivate({\n    filters: [{\n        name: \"filename\",\n        values: [\"my-iso-filename\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_iso = vultr.get_iso_private(filters=[{\n    \"name\": \"filename\",\n    \"values\": [\"my-iso-filename\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myIso = Vultr.GetIsoPrivate.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetIsoPrivateFilterInputArgs\n            {\n                Name = \"filename\",\n                Values = new[]\n                {\n                    \"my-iso-filename\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupIsoPrivate(ctx, \u0026vultr.LookupIsoPrivateArgs{\n\t\t\tFilters: []vultr.GetIsoPrivateFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"filename\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-iso-filename\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetIsoPrivateArgs;\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 myIso = VultrFunctions.getIsoPrivate(GetIsoPrivateArgs.builder()\n            .filters(GetIsoPrivateFilterArgs.builder()\n                .name(\"filename\")\n                .values(\"my-iso-filename\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myIso:\n    fn::invoke:\n      function: vultr:getIsoPrivate\n      arguments:\n        filters:\n          - name: filename\n            values:\n              - my-iso-filename\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIsoPrivate.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetIsoPrivateFilter:getIsoPrivateFilter"
            },
            "description": "Query parameters for finding ISO files.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getIsoPrivate.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the ISO file was added to your Vultr account.\n",
            "type": "string"
          },
          "filename": {
            "description": "The ISO file's filename.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetIsoPrivateFilter:getIsoPrivateFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "md5sum": {
            "description": "The md5 hash of the ISO file.\n",
            "type": "string"
          },
          "sha512sum": {
            "description": "The sha512 hash of the ISO file.\n",
            "type": "string"
          },
          "size": {
            "description": "The size of the ISO file in bytes.\n",
            "type": "integer"
          },
          "status": {
            "description": "The status of the ISO file.\n",
            "type": "string"
          }
        },
        "required": [
          "dateCreated",
          "filename",
          "id",
          "md5sum",
          "sha512sum",
          "size",
          "status"
        ],
        "type": "object"
      }
    },
    "vultr:index/getIsoPublic:getIsoPublic": {
      "description": "Get information about an ISO file offered in the Vultr ISO library.\n\n## Example Usage\n\nGet the information for a ISO file by `description`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myIso = vultr.getIsoPublic({\n    filters: [{\n        name: \"description\",\n        values: [\"iso-description\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_iso = vultr.get_iso_public(filters=[{\n    \"name\": \"description\",\n    \"values\": [\"iso-description\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myIso = Vultr.GetIsoPublic.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetIsoPublicFilterInputArgs\n            {\n                Name = \"description\",\n                Values = new[]\n                {\n                    \"iso-description\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetIsoPublic(ctx, \u0026vultr.GetIsoPublicArgs{\n\t\t\tFilters: []vultr.GetIsoPublicFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"iso-description\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetIsoPublicArgs;\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 myIso = VultrFunctions.getIsoPublic(GetIsoPublicArgs.builder()\n            .filters(GetIsoPublicFilterArgs.builder()\n                .name(\"description\")\n                .values(\"iso-description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myIso:\n    fn::invoke:\n      function: vultr:getIsoPublic\n      arguments:\n        filters:\n          - name: description\n            values:\n              - iso-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getIsoPublic.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetIsoPublicFilter:getIsoPublicFilter"
            },
            "description": "Query parameters for finding ISO files.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getIsoPublic.\n",
        "properties": {
          "description": {
            "description": "The description of the ISO file.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetIsoPublicFilter:getIsoPublicFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "md5sum": {
            "description": "The MD5Sum of the ISO file.\n",
            "type": "string"
          },
          "name": {
            "description": "The ISO file's name.\n",
            "type": "string"
          }
        },
        "required": [
          "description",
          "id",
          "md5sum",
          "name"
        ],
        "type": "object"
      }
    },
    "vultr:index/getKubernetes:getKubernetes": {
      "description": "Get information about a Vultr Kubernetes Engine (VKE) Cluster.\n\n## Example Usage\n\nCreate a new VKE cluster:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVke = vultr.getKubernetes({\n    filters: [{\n        name: \"label\",\n        values: [\"my-lb-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_vke = vultr.get_kubernetes(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-lb-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myVke = Vultr.GetKubernetes.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetKubernetesFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-lb-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupKubernetes(ctx, \u0026vultr.LookupKubernetesArgs{\n\t\t\tFilters: []vultr.GetKubernetesFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-lb-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetKubernetesArgs;\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 myVke = VultrFunctions.getKubernetes(GetKubernetesArgs.builder()\n            .filters(GetKubernetesFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-lb-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myVke:\n    fn::invoke:\n      function: vultr:getKubernetes\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-lb-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getKubernetes.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetKubernetesFilter:getKubernetesFilter"
            },
            "description": "Query parameters for finding VKE.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getKubernetes.\n",
        "properties": {
          "clientCertificate": {
            "description": "The base64 encoded public certificate used by clients to access the cluster.\n",
            "type": "string"
          },
          "clientKey": {
            "description": "The base64 encoded private key used by clients to access the cluster.\n",
            "type": "string"
          },
          "clusterCaCertificate": {
            "description": "The base64 encoded public certificate for the cluster's certificate authority.\n",
            "type": "string"
          },
          "clusterSubnet": {
            "description": "IP range that your pods will run on in this cluster.\n",
            "type": "string"
          },
          "dateCreated": {
            "description": "Date node was created.\n",
            "type": "string"
          },
          "endpoint": {
            "description": "Domain for your Kubernetes clusters control plane.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetKubernetesFilter:getKubernetesFilter"
            },
            "type": "array"
          },
          "firewallGroupId": {
            "description": "The ID of the firewall group managed by this cluster.\n",
            "type": "string"
          },
          "haControlplanes": {
            "description": "Boolean indicating whether or not the cluster has multiple, highly available controlplanes.\n",
            "type": "boolean"
          },
          "id": {
            "description": "ID of node.\n",
            "type": "string"
          },
          "ip": {
            "description": "IP address of VKE cluster control plane.\n",
            "type": "string"
          },
          "kubeConfig": {
            "description": "Base64 encoded Kubeconfig for this VKE cluster.\n",
            "type": "string"
          },
          "label": {
            "description": "Label of node.\n",
            "type": "string"
          },
          "nodePools": {
            "description": "Contains the default node pool that was deployed.\n",
            "items": {
              "$ref": "#/types/vultr:index%2FgetKubernetesNodePool:getKubernetesNodePool"
            },
            "type": "array"
          },
          "region": {
            "description": "The region your VKE cluster is deployed in.\n",
            "type": "string"
          },
          "serviceSubnet": {
            "description": "IP range that services will run on this cluster.\n",
            "type": "string"
          },
          "status": {
            "description": "Status of node.\n",
            "type": "string"
          },
          "version": {
            "description": "The current kubernetes version your VKE cluster is running on.\n",
            "type": "string"
          }
        },
        "required": [
          "clientCertificate",
          "clientKey",
          "clusterCaCertificate",
          "clusterSubnet",
          "dateCreated",
          "endpoint",
          "firewallGroupId",
          "haControlplanes",
          "id",
          "ip",
          "kubeConfig",
          "label",
          "nodePools",
          "region",
          "serviceSubnet",
          "status",
          "version"
        ],
        "type": "object"
      }
    },
    "vultr:index/getLoadBalancer:getLoadBalancer": {
      "description": "Get information about a Vultr load balancer.\n\n## Example Usage\n\nGet the information for a load balancer by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myLb = vultr.getLoadBalancer({\n    filters: [{\n        name: \"label\",\n        values: [\"my-lb-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_lb = vultr.get_load_balancer(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-lb-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myLb = Vultr.GetLoadBalancer.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetLoadBalancerFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-lb-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupLoadBalancer(ctx, \u0026vultr.LookupLoadBalancerArgs{\n\t\t\tFilters: []vultr.GetLoadBalancerFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-lb-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetLoadBalancerArgs;\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 myLb = VultrFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()\n            .filters(GetLoadBalancerFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-lb-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myLb:\n    fn::invoke:\n      function: vultr:getLoadBalancer\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-lb-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getLoadBalancer.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetLoadBalancerFilter:getLoadBalancerFilter"
            },
            "description": "Query parameters for finding load balancers.\n",
            "willReplaceOnChanges": true
          },
          "proxyProtocol": {
            "type": "boolean",
            "description": "Boolean value that indicates if Proxy Protocol is enabled.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getLoadBalancer.\n",
        "properties": {
          "attachedInstances": {
            "description": "Array of instances that are currently attached to the load balancer.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "balancingAlgorithm": {
            "description": "The balancing algorithm for your load balancer.\n",
            "type": "string"
          },
          "cookieName": {
            "description": "Name for your given sticky session.\n",
            "type": "string"
          },
          "dateCreated": {
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetLoadBalancerFilter:getLoadBalancerFilter"
            },
            "type": "array"
          },
          "firewallRules": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array"
          },
          "forwardingRules": {
            "description": "Defines the forwarding rules for a load balancer. The configuration of a `forwarding_rules` is listened below.\n",
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array"
          },
          "hasSsl": {
            "description": "Boolean value that indicates if SSL is enabled.\n",
            "type": "boolean"
          },
          "healthCheck": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Defines the way load balancers should check for health. The configuration of a `health_check` is listed below.\n",
            "type": "object"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "ipv4": {
            "description": "IPv4 address for your load balancer.\n",
            "type": "string"
          },
          "ipv6": {
            "description": "IPv6 address for your load balancer.\n",
            "type": "string"
          },
          "label": {
            "description": "The load balancers label.\n",
            "type": "string"
          },
          "proxyProtocol": {
            "description": "Boolean value that indicates if Proxy Protocol is enabled.\n",
            "type": "boolean"
          },
          "region": {
            "description": "The region your load balancer is deployed in.\n",
            "type": "string"
          },
          "ssl": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "sslRedirect": {
            "description": "Boolean value that indicates if HTTP calls will be redirected to HTTPS.\n",
            "type": "boolean"
          },
          "status": {
            "description": "Current status for the load balancer\n",
            "type": "string"
          }
        },
        "required": [
          "attachedInstances",
          "balancingAlgorithm",
          "cookieName",
          "dateCreated",
          "firewallRules",
          "forwardingRules",
          "hasSsl",
          "healthCheck",
          "id",
          "ipv4",
          "ipv6",
          "label",
          "region",
          "ssl",
          "sslRedirect",
          "status"
        ],
        "type": "object"
      }
    },
    "vultr:index/getObjectStorage:getObjectStorage": {
      "description": "Get information about an Object Storage subscription on Vultr.\n\n## Example Usage\n\nGet the information for an object storage subscription by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst s3 = vultr.getObjectStorage({\n    filters: [{\n        name: \"label\",\n        values: [\"my-s3\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\ns3 = vultr.get_object_storage(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-s3\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var s3 = Vultr.GetObjectStorage.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetObjectStorageFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-s3\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupObjectStorage(ctx, \u0026vultr.LookupObjectStorageArgs{\n\t\t\tFilters: []vultr.GetObjectStorageFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-s3\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetObjectStorageArgs;\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 s3 = VultrFunctions.getObjectStorage(GetObjectStorageArgs.builder()\n            .filters(GetObjectStorageFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-s3\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  s3:\n    fn::invoke:\n      function: vultr:getObjectStorage\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getObjectStorage.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageFilter:getObjectStorageFilter"
            },
            "description": "Query parameters for finding operating systems.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getObjectStorage.\n",
        "properties": {
          "clusterId": {
            "description": "The identifying cluster ID.\n",
            "type": "integer"
          },
          "dateCreated": {
            "description": "Date of creation for the object storage subscription.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageFilter:getObjectStorageFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "label": {
            "description": "The label of the object storage subscription.\n",
            "type": "string"
          },
          "location": {
            "description": "The location which this subscription resides in.\n",
            "type": "string"
          },
          "region": {
            "description": "The region ID of the object storage subscription.\n",
            "type": "string"
          },
          "s3AccessKey": {
            "description": "Your access key.\n",
            "secret": true,
            "type": "string"
          },
          "s3Hostname": {
            "description": "The hostname for this subscription.\n",
            "type": "string"
          },
          "s3SecretKey": {
            "description": "Your secret key.\n",
            "secret": true,
            "type": "string"
          },
          "status": {
            "description": "Current status of this object storage subscription.\n",
            "type": "string"
          }
        },
        "required": [
          "clusterId",
          "dateCreated",
          "id",
          "label",
          "location",
          "region",
          "s3AccessKey",
          "s3Hostname",
          "s3SecretKey",
          "status"
        ],
        "type": "object"
      }
    },
    "vultr:index/getObjectStorageCluster:getObjectStorageCluster": {
      "description": "Get information about Object Storage Clusters on Vultr.\n\n## Example Usage\n\nGet the information for an object storage cluster by `region`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst s3 = vultr.getObjectStorageCluster({\n    filters: [{\n        name: \"region\",\n        values: [\"ewr\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\ns3 = vultr.get_object_storage_cluster(filters=[{\n    \"name\": \"region\",\n    \"values\": [\"ewr\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var s3 = Vultr.GetObjectStorageCluster.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetObjectStorageClusterFilterInputArgs\n            {\n                Name = \"region\",\n                Values = new[]\n                {\n                    \"ewr\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetObjectStorageCluster(ctx, \u0026vultr.GetObjectStorageClusterArgs{\n\t\t\tFilters: []vultr.GetObjectStorageClusterFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"region\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"ewr\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetObjectStorageClusterArgs;\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 s3 = VultrFunctions.getObjectStorageCluster(GetObjectStorageClusterArgs.builder()\n            .filters(GetObjectStorageClusterFilterArgs.builder()\n                .name(\"region\")\n                .values(\"ewr\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  s3:\n    fn::invoke:\n      function: vultr:getObjectStorageCluster\n      arguments:\n        filters:\n          - name: region\n            values:\n              - ewr\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getObjectStorageCluster.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageClusterFilter:getObjectStorageClusterFilter"
            },
            "description": "Query parameters for finding operating systems.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getObjectStorageCluster.\n",
        "properties": {
          "deploy": {
            "description": "The Cluster is eligible for Object Storage deployment. (yes or no)\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageClusterFilter:getObjectStorageClusterFilter"
            },
            "type": "array"
          },
          "hostname": {
            "description": "The cluster hostname.\n",
            "type": "string"
          },
          "id": {
            "description": "The identifying cluster ID.\n",
            "type": "integer"
          },
          "region": {
            "description": "The region ID of the object storage cluster.\n",
            "type": "string"
          }
        },
        "required": [
          "deploy",
          "hostname",
          "id",
          "region"
        ],
        "type": "object"
      }
    },
    "vultr:index/getObjectStorageTier:getObjectStorageTier": {
      "description": "Get information about Object Storage tiers on Vultr.\n\n## Example Usage\n\nGet the information for an object storage tier by `slug`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst obs_tier = vultr.getObjectStorageTier({\n    filters: [{\n        name: \"slug\",\n        values: [\"tier_010k_5000m\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nobs_tier = vultr.get_object_storage_tier(filters=[{\n    \"name\": \"slug\",\n    \"values\": [\"tier_010k_5000m\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var obs_tier = Vultr.GetObjectStorageTier.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetObjectStorageTierFilterInputArgs\n            {\n                Name = \"slug\",\n                Values = new[]\n                {\n                    \"tier_010k_5000m\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetObjectStorageTier(ctx, \u0026vultr.GetObjectStorageTierArgs{\n\t\t\tFilters: []vultr.GetObjectStorageTierFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"slug\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"tier_010k_5000m\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetObjectStorageTierArgs;\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 obs-tier = VultrFunctions.getObjectStorageTier(GetObjectStorageTierArgs.builder()\n            .filters(GetObjectStorageTierFilterArgs.builder()\n                .name(\"slug\")\n                .values(\"tier_010k_5000m\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  obs-tier:\n    fn::invoke:\n      function: vultr:getObjectStorageTier\n      arguments:\n        filters:\n          - name: slug\n            values:\n              - tier_010k_5000m\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n`slug` values and associated details can be retrieved through [this API call](https://www.vultr.com/api/#tag/s3/operation/list-object-storage-tiers).\n",
      "inputs": {
        "description": "A collection of arguments for invoking getObjectStorageTier.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageTierFilter:getObjectStorageTierFilter"
            },
            "description": "Query parameters for finding operating systems.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getObjectStorageTier.\n",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageTierFilter:getObjectStorageTierFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The identifying tier ID.\n",
            "type": "integer"
          },
          "locations": {
            "description": "A list of locations/clusters where the tier is available.\n",
            "items": {
              "$ref": "#/types/vultr:index%2FgetObjectStorageTierLocation:getObjectStorageTierLocation"
            },
            "type": "array"
          },
          "price": {
            "description": "The monthly cost for the tier.\n",
            "type": "integer"
          },
          "rateLimitBytes": {
            "description": "The byte-per-second rate limit in the tier.\n",
            "type": "integer"
          },
          "rateLimitOperations": {
            "description": "The operations-per-second rate limit in the tier.\n",
            "type": "integer"
          },
          "slug": {
            "description": "The unique name for the tier.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "locations",
          "price",
          "rateLimitBytes",
          "rateLimitOperations",
          "slug"
        ],
        "type": "object"
      }
    },
    "vultr:index/getOs:getOs": {
      "description": "Get information about operating systems that can be launched when creating a Vultr VPS.\n\n## Example Usage\n\nGet the information for an operating system by `name`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst centos = vultr.getOs({\n    filters: [{\n        name: \"name\",\n        values: [\"CentOS 7 x64\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\ncentos = vultr.get_os(filters=[{\n    \"name\": \"name\",\n    \"values\": [\"CentOS 7 x64\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var centos = Vultr.GetOs.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetOsFilterInputArgs\n            {\n                Name = \"name\",\n                Values = new[]\n                {\n                    \"CentOS 7 x64\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetOs(ctx, \u0026vultr.GetOsArgs{\n\t\t\tFilters: []vultr.GetOsFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"CentOS 7 x64\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetOsArgs;\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 centos = VultrFunctions.getOs(GetOsArgs.builder()\n            .filters(GetOsFilterArgs.builder()\n                .name(\"name\")\n                .values(\"CentOS 7 x64\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  centos:\n    fn::invoke:\n      function: vultr:getOs\n      arguments:\n        filters:\n          - name: name\n            values:\n              - CentOS 7 x64\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getOs.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetOsFilter:getOsFilter"
            },
            "description": "Query parameters for finding operating systems.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getOs.\n",
        "properties": {
          "arch": {
            "description": "The architecture of the operating system.\n",
            "type": "string"
          },
          "family": {
            "description": "The family of the operating system.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetOsFilter:getOsFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "name": {
            "description": "The name of the operating system.\n",
            "type": "string"
          }
        },
        "required": [
          "arch",
          "family",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "vultr:index/getPlan:getPlan": {
      "description": "Get information about a Vultr plan.\n\n## Example Usage\n\nGet the information for a plan by `id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myPlan = vultr.getPlan({\n    filters: [{\n        name: \"id\",\n        values: [\"vc2-1c-2gb\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_plan = vultr.get_plan(filters=[{\n    \"name\": \"id\",\n    \"values\": [\"vc2-1c-2gb\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myPlan = Vultr.GetPlan.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetPlanFilterInputArgs\n            {\n                Name = \"id\",\n                Values = new[]\n                {\n                    \"vc2-1c-2gb\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetPlan(ctx, \u0026vultr.GetPlanArgs{\n\t\t\tFilters: []vultr.GetPlanFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"vc2-1c-2gb\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetPlanArgs;\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 myPlan = VultrFunctions.getPlan(GetPlanArgs.builder()\n            .filters(GetPlanFilterArgs.builder()\n                .name(\"id\")\n                .values(\"vc2-1c-2gb\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myPlan:\n    fn::invoke:\n      function: vultr:getPlan\n      arguments:\n        filters:\n          - name: id\n            values:\n              - vc2-1c-2gb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getPlan.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetPlanFilter:getPlanFilter"
            },
            "description": "Query parameters for finding plans.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getPlan.\n",
        "properties": {
          "bandwidth": {
            "description": "The bandwidth available on the plan in GB.\n",
            "type": "integer"
          },
          "disk": {
            "description": "The amount of disk space in GB available on the plan.\n",
            "type": "integer"
          },
          "diskCount": {
            "description": "The number of disks that this plan offers.\n",
            "type": "integer"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetPlanFilter:getPlanFilter"
            },
            "type": "array"
          },
          "gpuType": {
            "description": "For GPU plans, the GPU card type.\n",
            "type": "string"
          },
          "gpuVram": {
            "description": "For GPU plans, the VRAM available in the plan.\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "locations": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "monthlyCost": {
            "description": "The price per month of the plan in USD.\n",
            "type": "number"
          },
          "ram": {
            "description": "The amount of memory available on the plan in MB.\n",
            "type": "integer"
          },
          "type": {
            "description": "The type of plan it is.\n",
            "type": "string"
          },
          "vcpuCount": {
            "description": "The number of virtual CPUs available on the plan.\n",
            "type": "integer"
          }
        },
        "required": [
          "bandwidth",
          "disk",
          "diskCount",
          "gpuType",
          "gpuVram",
          "id",
          "locations",
          "monthlyCost",
          "ram",
          "type",
          "vcpuCount"
        ],
        "type": "object"
      }
    },
    "vultr:index/getRegion:getRegion": {
      "description": "Get information about a Vultr region.\n\n## Example Usage\n\nGet the information for a region by `id`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myRegion = vultr.getRegion({\n    filters: [{\n        name: \"id\",\n        values: [\"sea\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_region = vultr.get_region(filters=[{\n    \"name\": \"id\",\n    \"values\": [\"sea\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myRegion = Vultr.GetRegion.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetRegionFilterInputArgs\n            {\n                Name = \"id\",\n                Values = new[]\n                {\n                    \"sea\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetRegion(ctx, \u0026vultr.GetRegionArgs{\n\t\t\tFilters: []vultr.GetRegionFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"id\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"sea\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetRegionArgs;\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 myRegion = VultrFunctions.getRegion(GetRegionArgs.builder()\n            .filters(GetRegionFilterArgs.builder()\n                .name(\"id\")\n                .values(\"sea\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myRegion:\n    fn::invoke:\n      function: vultr:getRegion\n      arguments:\n        filters:\n          - name: id\n            values:\n              - sea\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRegion.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetRegionFilter:getRegionFilter"
            },
            "description": "Query parameters for finding regions.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getRegion.\n",
        "properties": {
          "city": {
            "description": "The city the region is in.\n",
            "type": "string"
          },
          "continent": {
            "description": "The continent the region is in.\n",
            "type": "string"
          },
          "country": {
            "description": "The country the region is in.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetRegionFilter:getRegionFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "options": {
            "description": "Shows whether options like ddos protection or block storage are available in the region.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "city",
          "continent",
          "country",
          "id",
          "options"
        ],
        "type": "object"
      }
    },
    "vultr:index/getReservedIp:getReservedIp": {
      "description": "Get information about a Vultr reserved IP address.\n\n## Example Usage\n\nGet the information for a reserved IP by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myReservedIp = vultr.getReservedIp({\n    filters: [{\n        name: \"label\",\n        values: [\"my-reserved-ip-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_reserved_ip = vultr.get_reserved_ip(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-reserved-ip-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myReservedIp = Vultr.GetReservedIp.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetReservedIpFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-reserved-ip-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupReservedIp(ctx, \u0026vultr.LookupReservedIpArgs{\n\t\t\tFilters: []vultr.GetReservedIpFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-reserved-ip-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetReservedIpArgs;\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 myReservedIp = VultrFunctions.getReservedIp(GetReservedIpArgs.builder()\n            .filters(GetReservedIpFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-reserved-ip-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myReservedIp:\n    fn::invoke:\n      function: vultr:getReservedIp\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-reserved-ip-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReservedIp.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetReservedIpFilter:getReservedIpFilter"
            },
            "description": "Query parameters for finding reserved IP addresses.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getReservedIp.\n",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetReservedIpFilter:getReservedIpFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "instanceId": {
            "description": "The ID of the VPS the reserved IP is attached to.\n",
            "type": "string"
          },
          "ipType": {
            "description": "The IP type of the reserved IP.\n",
            "type": "string"
          },
          "label": {
            "description": "The label of the reserved IP.\n",
            "type": "string"
          },
          "region": {
            "description": "The ID of the region that the reserved IP is in.\n",
            "type": "string"
          },
          "subnet": {
            "description": "The subnet of the reserved IP.\n",
            "type": "string"
          },
          "subnetSize": {
            "description": "The subnet size of the reserved IP.\n",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "instanceId",
          "ipType",
          "label",
          "region",
          "subnet",
          "subnetSize"
        ],
        "type": "object"
      }
    },
    "vultr:index/getReverseIpv4:getReverseIpv4": {
      "description": "Get information about a Vultr Reverse IPv4.\n\n## Example Usage\n\nGet the information for an IPv4 reverse DNS record by `reverse`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myReverseIpv4 = vultr.getReverseIpv4({\n    filters: [{\n        name: \"reverse\",\n        values: [\"host.example.com\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_reverse_ipv4 = vultr.get_reverse_ipv4(filters=[{\n    \"name\": \"reverse\",\n    \"values\": [\"host.example.com\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myReverseIpv4 = Vultr.GetReverseIpv4.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetReverseIpv4FilterInputArgs\n            {\n                Name = \"reverse\",\n                Values = new[]\n                {\n                    \"host.example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupReverseIpv4(ctx, \u0026vultr.LookupReverseIpv4Args{\n\t\t\tFilters: []vultr.GetReverseIpv4Filter{\n\t\t\t\t{\n\t\t\t\t\tName: \"reverse\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"host.example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetReverseIpv4Args;\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 myReverseIpv4 = VultrFunctions.getReverseIpv4(GetReverseIpv4Args.builder()\n            .filters(GetReverseIpv4FilterArgs.builder()\n                .name(\"reverse\")\n                .values(\"host.example.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myReverseIpv4:\n    fn::invoke:\n      function: vultr:getReverseIpv4\n      arguments:\n        filters:\n          - name: reverse\n            values:\n              - host.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReverseIpv4.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetReverseIpv4Filter:getReverseIpv4Filter"
            },
            "description": "Query parameters for finding IPv4 reverse DNS records.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getReverseIpv4.\n",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetReverseIpv4Filter:getReverseIpv4Filter"
            },
            "type": "array"
          },
          "gateway": {
            "description": "The gateway IP address.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "instanceId": {
            "description": "The ID of the instance the IPv4 reverse DNS record was set for.\n",
            "type": "string"
          },
          "ip": {
            "description": "The IPv4 address in canonical format used in the reverse DNS record.\n",
            "type": "string"
          },
          "netmask": {
            "description": "The IPv4 netmask in dot-decimal notation.\n",
            "type": "string"
          },
          "reverse": {
            "description": "The hostname used in the IPv4 reverse DNS record.\n",
            "type": "string"
          }
        },
        "required": [
          "gateway",
          "id",
          "instanceId",
          "ip",
          "netmask",
          "reverse"
        ],
        "type": "object"
      }
    },
    "vultr:index/getReverseIpv6:getReverseIpv6": {
      "description": "Get information about a Vultr Reverse IPv6.\n\n## Example Usage\n\nGet the information for an IPv6 reverse DNS record by `reverse`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myReverseIpv6 = vultr.getReverseIpv6({\n    filters: [{\n        name: \"reverse\",\n        values: [\"host.example.com\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_reverse_ipv6 = vultr.get_reverse_ipv6(filters=[{\n    \"name\": \"reverse\",\n    \"values\": [\"host.example.com\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myReverseIpv6 = Vultr.GetReverseIpv6.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetReverseIpv6FilterInputArgs\n            {\n                Name = \"reverse\",\n                Values = new[]\n                {\n                    \"host.example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupReverseIpv6(ctx, \u0026vultr.LookupReverseIpv6Args{\n\t\t\tFilters: []vultr.GetReverseIpv6Filter{\n\t\t\t\t{\n\t\t\t\t\tName: \"reverse\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"host.example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetReverseIpv6Args;\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 myReverseIpv6 = VultrFunctions.getReverseIpv6(GetReverseIpv6Args.builder()\n            .filters(GetReverseIpv6FilterArgs.builder()\n                .name(\"reverse\")\n                .values(\"host.example.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myReverseIpv6:\n    fn::invoke:\n      function: vultr:getReverseIpv6\n      arguments:\n        filters:\n          - name: reverse\n            values:\n              - host.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getReverseIpv6.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetReverseIpv6Filter:getReverseIpv6Filter"
            },
            "description": "Query parameters for finding IPv6 reverse DNS records.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getReverseIpv6.\n",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetReverseIpv6Filter:getReverseIpv6Filter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "instanceId": {
            "description": "The ID of the instance the IPv6 reverse DNS record was set for.\n",
            "type": "string"
          },
          "ip": {
            "description": "The IPv6 address in canonical format used in the reverse DNS record.\n",
            "type": "string"
          },
          "reverse": {
            "description": "The hostname used in the IPv6 reverse DNS record.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "instanceId",
          "ip",
          "reverse"
        ],
        "type": "object"
      }
    },
    "vultr:index/getSnapshot:getSnapshot": {
      "description": "Get information about a Vultr snapshot.\n\n## Example Usage\n\nGet the information for a snapshot by `description`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst mySnapshot = vultr.getSnapshot({\n    filters: [{\n        name: \"description\",\n        values: [\"my-snapshot-description\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_snapshot = vultr.get_snapshot(filters=[{\n    \"name\": \"description\",\n    \"values\": [\"my-snapshot-description\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mySnapshot = Vultr.GetSnapshot.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetSnapshotFilterInputArgs\n            {\n                Name = \"description\",\n                Values = new[]\n                {\n                    \"my-snapshot-description\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupSnapshot(ctx, \u0026vultr.LookupSnapshotArgs{\n\t\t\tFilters: []vultr.GetSnapshotFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-snapshot-description\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetSnapshotArgs;\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 mySnapshot = VultrFunctions.getSnapshot(GetSnapshotArgs.builder()\n            .filters(GetSnapshotFilterArgs.builder()\n                .name(\"description\")\n                .values(\"my-snapshot-description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  mySnapshot:\n    fn::invoke:\n      function: vultr:getSnapshot\n      arguments:\n        filters:\n          - name: description\n            values:\n              - my-snapshot-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSnapshot.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetSnapshotFilter:getSnapshotFilter"
            },
            "description": "Query parameters for finding snapshots.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSnapshot.\n",
        "properties": {
          "appId": {
            "description": "The application ID of the snapshot.\n",
            "type": "integer"
          },
          "dateCreated": {
            "description": "The date the snapshot was added to your Vultr account.\n",
            "type": "string"
          },
          "description": {
            "description": "The description of the snapshot.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetSnapshotFilter:getSnapshotFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "osId": {
            "description": "The operating system ID of the snapshot.\n",
            "type": "integer"
          },
          "size": {
            "description": "The size of the snapshot in bytes.\n",
            "type": "integer"
          },
          "status": {
            "description": "The status of the snapshot.\n",
            "type": "string"
          }
        },
        "required": [
          "appId",
          "dateCreated",
          "description",
          "id",
          "osId",
          "size",
          "status"
        ],
        "type": "object"
      }
    },
    "vultr:index/getSshKey:getSshKey": {
      "description": "Get information about a Vultr SSH key. This data source provides the name, public SSH key, and the creation date for your Vultr SSH key.\n\n## Example Usage\n\nGet the information for an SSH key by `name`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst mySshKey = vultr.getSshKey({\n    filters: [{\n        name: \"name\",\n        values: [\"my-ssh-key-name\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_ssh_key = vultr.get_ssh_key(filters=[{\n    \"name\": \"name\",\n    \"values\": [\"my-ssh-key-name\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mySshKey = Vultr.GetSshKey.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetSshKeyFilterInputArgs\n            {\n                Name = \"name\",\n                Values = new[]\n                {\n                    \"my-ssh-key-name\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.GetSshKey(ctx, \u0026vultr.GetSshKeyArgs{\n\t\t\tFilters: []vultr.GetSshKeyFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-ssh-key-name\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetSshKeyArgs;\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 mySshKey = VultrFunctions.getSshKey(GetSshKeyArgs.builder()\n            .filters(GetSshKeyFilterArgs.builder()\n                .name(\"name\")\n                .values(\"my-ssh-key-name\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  mySshKey:\n    fn::invoke:\n      function: vultr:getSshKey\n      arguments:\n        filters:\n          - name: name\n            values:\n              - my-ssh-key-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSshKey.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetSshKeyFilter:getSshKeyFilter"
            },
            "description": "Query parameters for finding SSH keys.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSshKey.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the SSH key was added to your Vultr account.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetSshKeyFilter:getSshKeyFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The ID of the SSH key.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the SSH key.\n",
            "type": "string"
          },
          "sshKey": {
            "description": "The public SSH key.\n",
            "type": "string"
          }
        },
        "required": [
          "dateCreated",
          "id",
          "name",
          "sshKey"
        ],
        "type": "object"
      }
    },
    "vultr:index/getStartupScript:getStartupScript": {
      "description": "Get information about a Vultr startup script. This data source provides the name, script, type, creation date, and the last modification date for your Vultr startup script.\n\n## Example Usage\n\nGet the information for a startup script by `name`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myStartupScript = vultr.getStartupScript({\n    filters: [{\n        name: \"name\",\n        values: [\"my-startup-script-name\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_startup_script = vultr.get_startup_script(filters=[{\n    \"name\": \"name\",\n    \"values\": [\"my-startup-script-name\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myStartupScript = Vultr.GetStartupScript.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetStartupScriptFilterInputArgs\n            {\n                Name = \"name\",\n                Values = new[]\n                {\n                    \"my-startup-script-name\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupStartupScript(ctx, \u0026vultr.LookupStartupScriptArgs{\n\t\t\tFilters: []vultr.GetStartupScriptFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-startup-script-name\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetStartupScriptArgs;\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 myStartupScript = VultrFunctions.getStartupScript(GetStartupScriptArgs.builder()\n            .filters(GetStartupScriptFilterArgs.builder()\n                .name(\"name\")\n                .values(\"my-startup-script-name\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myStartupScript:\n    fn::invoke:\n      function: vultr:getStartupScript\n      arguments:\n        filters:\n          - name: name\n            values:\n              - my-startup-script-name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getStartupScript.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetStartupScriptFilter:getStartupScriptFilter"
            },
            "description": "Query parameters for finding startup scripts.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getStartupScript.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the startup script was added to your Vultr account.\n",
            "type": "string"
          },
          "dateModified": {
            "description": "The date the startup script was last modified.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetStartupScriptFilter:getStartupScriptFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "name": {
            "description": "The name of the startup script.\n",
            "type": "string"
          },
          "script": {
            "description": "The contents of the startup script base64 encoded.\n",
            "type": "string"
          },
          "type": {
            "description": "The type of the startup script.\n",
            "type": "string"
          }
        },
        "required": [
          "dateCreated",
          "dateModified",
          "id",
          "name",
          "script",
          "type"
        ],
        "type": "object"
      }
    },
    "vultr:index/getUser:getUser": {
      "description": "Get information about a Vultr user associated with your account. This data source provides the name, email, access control list, and API status for a Vultr user associated with your account.\n\n## Example Usage\n\nGet the information for a user by `email`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myUser = vultr.getUser({\n    filters: [{\n        name: \"email\",\n        values: [\"jdoe@example.com\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_user = vultr.get_user(filters=[{\n    \"name\": \"email\",\n    \"values\": [\"jdoe@example.com\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myUser = Vultr.GetUser.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetUserFilterInputArgs\n            {\n                Name = \"email\",\n                Values = new[]\n                {\n                    \"jdoe@example.com\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupUser(ctx, \u0026vultr.LookupUserArgs{\n\t\t\tFilters: []vultr.GetUserFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"email\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"jdoe@example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetUserArgs;\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 myUser = VultrFunctions.getUser(GetUserArgs.builder()\n            .filters(GetUserFilterArgs.builder()\n                .name(\"email\")\n                .values(\"jdoe@example.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myUser:\n    fn::invoke:\n      function: vultr:getUser\n      arguments:\n        filters:\n          - name: email\n            values:\n              - jdoe@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nGet the information for a user by `name`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myUser = vultr.getUser({\n    filters: [{\n        name: \"name\",\n        values: [\"John Doe\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_user = vultr.get_user(filters=[{\n    \"name\": \"name\",\n    \"values\": [\"John Doe\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myUser = Vultr.GetUser.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetUserFilterInputArgs\n            {\n                Name = \"name\",\n                Values = new[]\n                {\n                    \"John Doe\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupUser(ctx, \u0026vultr.LookupUserArgs{\n\t\t\tFilters: []vultr.GetUserFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"name\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"John Doe\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetUserArgs;\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 myUser = VultrFunctions.getUser(GetUserArgs.builder()\n            .filters(GetUserFilterArgs.builder()\n                .name(\"name\")\n                .values(\"John Doe\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myUser:\n    fn::invoke:\n      function: vultr:getUser\n      arguments:\n        filters:\n          - name: name\n            values:\n              - John Doe\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUser.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetUserFilter:getUserFilter"
            },
            "description": "Query parameters for finding users.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getUser.\n",
        "properties": {
          "acls": {
            "description": "The access control list for the user.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "apiEnabled": {
            "description": "Whether API is enabled for the user.\n",
            "type": "boolean"
          },
          "email": {
            "description": "The email of the user.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetUserFilter:getUserFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "name": {
            "description": "The name of the user.\n",
            "type": "string"
          }
        },
        "required": [
          "acls",
          "apiEnabled",
          "email",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "vultr:index/getVirtualFileSystemStorage:getVirtualFileSystemStorage": {
      "description": "Get information about a Vultr virtual file system storage subscription.\n\n## Example Usage\n\nGet the information for a virtual file system storage subscription by `label`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVfsStorage = vultr.getVirtualFileSystemStorage({\n    filters: [{\n        name: \"label\",\n        values: [\"my-vfs-storage-label\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_vfs_storage = vultr.get_virtual_file_system_storage(filters=[{\n    \"name\": \"label\",\n    \"values\": [\"my-vfs-storage-label\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myVfsStorage = Vultr.GetVirtualFileSystemStorage.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetVirtualFileSystemStorageFilterInputArgs\n            {\n                Name = \"label\",\n                Values = new[]\n                {\n                    \"my-vfs-storage-label\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupVirtualFileSystemStorage(ctx, \u0026vultr.LookupVirtualFileSystemStorageArgs{\n\t\t\tFilters: []vultr.GetVirtualFileSystemStorageFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"label\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-vfs-storage-label\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetVirtualFileSystemStorageArgs;\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 myVfsStorage = VultrFunctions.getVirtualFileSystemStorage(GetVirtualFileSystemStorageArgs.builder()\n            .filters(GetVirtualFileSystemStorageFilterArgs.builder()\n                .name(\"label\")\n                .values(\"my-vfs-storage-label\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myVfsStorage:\n    fn::invoke:\n      function: vultr:getVirtualFileSystemStorage\n      arguments:\n        filters:\n          - name: label\n            values:\n              - my-vfs-storage-label\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVirtualFileSystemStorage.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetVirtualFileSystemStorageFilter:getVirtualFileSystemStorageFilter"
            },
            "description": "Query parameters for finding virtual file system storage subscriptions.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getVirtualFileSystemStorage.\n",
        "properties": {
          "attachedInstances": {
            "description": "A list of instance IDs currently attached to the virtual file system storage.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "attachments": {
            "description": "A list of attchment states for instances currently attached to the virtual file system storage.\n",
            "items": {
              "$ref": "#/types/vultr:index%2FgetVirtualFileSystemStorageAttachment:getVirtualFileSystemStorageAttachment"
            },
            "type": "array"
          },
          "charges": {
            "description": "The current pending charges for the virtual file system storage subscription in USD.\n",
            "type": "number"
          },
          "cost": {
            "description": "The cost per month of the virtual file system storage subscription in USD.\n",
            "type": "number"
          },
          "dateCreated": {
            "description": "The date the virtual file system storage subscription was added to your Vultr account.\n",
            "type": "string"
          },
          "diskType": {
            "description": "The underlying disk type used by the virtual file system storage subscription.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetVirtualFileSystemStorageFilter:getVirtualFileSystemStorageFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "label": {
            "description": "The label of the virtual file system storage subscription.\n",
            "type": "string"
          },
          "region": {
            "description": "The region ID of the virtual file system storage subscription.\n",
            "type": "string"
          },
          "sizeGb": {
            "description": "The size of the virtual file system storage subscription in GB.\n",
            "type": "integer"
          },
          "status": {
            "description": "The status of the virtual file system storage subscription.\n",
            "type": "string"
          },
          "tags": {
            "description": "A list of tags used on the virtual file system storage subscription.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "attachedInstances",
          "attachments",
          "charges",
          "cost",
          "dateCreated",
          "diskType",
          "id",
          "label",
          "region",
          "sizeGb",
          "status",
          "tags"
        ],
        "type": "object"
      }
    },
    "vultr:index/getVpc2:getVpc2": {
      "description": "** Deprecated: Use `vultr.Vpc` instead **\n\nGet information about a Vultr VPC 2.0.\n\n## Example Usage\n\nGet the information for a VPC 2.0 by `description`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVpc2 = vultr.getVpc2({\n    filters: [{\n        name: \"description\",\n        values: [\"my-vpc2-description\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_vpc2 = vultr.get_vpc2(filters=[{\n    \"name\": \"description\",\n    \"values\": [\"my-vpc2-description\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myVpc2 = Vultr.GetVpc2.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetVpc2FilterInputArgs\n            {\n                Name = \"description\",\n                Values = new[]\n                {\n                    \"my-vpc2-description\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupVpc2(ctx, \u0026vultr.LookupVpc2Args{\n\t\t\tFilters: []vultr.GetVpc2Filter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-vpc2-description\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetVpc2Args;\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 myVpc2 = VultrFunctions.getVpc2(GetVpc2Args.builder()\n            .filters(GetVpc2FilterArgs.builder()\n                .name(\"description\")\n                .values(\"my-vpc2-description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myVpc2:\n    fn::invoke:\n      function: vultr:getVpc2\n      arguments:\n        filters:\n          - name: description\n            values:\n              - my-vpc2-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVpc2.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetVpc2Filter:getVpc2Filter"
            },
            "description": "Query parameters for finding VPCs 2.0.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getVpc2.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the VPC 2.0 was added to your Vultr account.\n",
            "type": "string"
          },
          "description": {
            "description": "The VPC 2.0's description.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetVpc2Filter:getVpc2Filter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "ipBlock": {
            "description": "The IPv4 network address. For example: 10.1.1.0.\n",
            "type": "string"
          },
          "prefixLength": {
            "description": "The number of bits for the netmask in CIDR notation. Example: 20\n",
            "type": "integer"
          },
          "region": {
            "description": "The ID of the region that the VPC 2.0 is in.\n",
            "type": "string"
          }
        },
        "required": [
          "dateCreated",
          "description",
          "id",
          "ipBlock",
          "prefixLength",
          "region"
        ],
        "type": "object"
      }
    },
    "vultr:index/getVpc:getVpc": {
      "description": "Get information about a Vultr VPC.\n\n## Example Usage\n\nGet the information for a VPC by `description`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as vultr from \"@ediri/vultr\";\n\nconst myVpc = vultr.getVpc({\n    filters: [{\n        name: \"description\",\n        values: [\"my-vpc-description\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_vultr as vultr\n\nmy_vpc = vultr.get_vpc(filters=[{\n    \"name\": \"description\",\n    \"values\": [\"my-vpc-description\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Vultr = Pulumi.Vultr;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myVpc = Vultr.GetVpc.Invoke(new()\n    {\n        Filters = new[]\n        {\n            new Vultr.Inputs.GetVpcFilterInputArgs\n            {\n                Name = \"description\",\n                Values = new[]\n                {\n                    \"my-vpc-description\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr\"\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 := vultr.LookupVpc(ctx, \u0026vultr.LookupVpcArgs{\n\t\t\tFilters: []vultr.GetVpcFilter{\n\t\t\t\t{\n\t\t\t\t\tName: \"description\",\n\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\"my-vpc-description\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\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.vultr.VultrFunctions;\nimport com.pulumi.vultr.inputs.GetVpcArgs;\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 myVpc = VultrFunctions.getVpc(GetVpcArgs.builder()\n            .filters(GetVpcFilterArgs.builder()\n                .name(\"description\")\n                .values(\"my-vpc-description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myVpc:\n    fn::invoke:\n      function: vultr:getVpc\n      arguments:\n        filters:\n          - name: description\n            values:\n              - my-vpc-description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getVpc.\n",
        "properties": {
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/types/vultr:index%2FgetVpcFilter:getVpcFilter"
            },
            "description": "Query parameters for finding VPCs.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getVpc.\n",
        "properties": {
          "dateCreated": {
            "description": "The date the VPC was added to your Vultr account.\n",
            "type": "string"
          },
          "description": {
            "description": "The VPC's description.\n",
            "type": "string"
          },
          "filters": {
            "items": {
              "$ref": "#/types/vultr:index%2FgetVpcFilter:getVpcFilter"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.",
            "type": "string"
          },
          "region": {
            "description": "The ID of the region that the VPC is in.\n",
            "type": "string"
          },
          "v4Subnet": {
            "description": "The IPv4 network address. For example: 10.1.1.0.\n",
            "type": "string"
          },
          "v4SubnetMask": {
            "description": "The number of bits for the netmask in CIDR notation. Example: 20\n",
            "type": "integer"
          }
        },
        "required": [
          "dateCreated",
          "description",
          "id",
          "region",
          "v4Subnet",
          "v4SubnetMask"
        ],
        "type": "object"
      }
    }
  }
}
