{
  "name": "upstash",
  "displayName": "Upstash",
  "version": "0.5.0",
  "description": "A Pulumi package for creating and managing upstash cloud resources.",
  "keywords": [
    "pulumi",
    "upstash",
    "category/cloud"
  ],
  "homepage": "https://www.upstash.com",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`upstash` Terraform Provider](https://github.com/upstash/terraform-provider-upstash).",
  "repository": "https://github.com/upstash/pulumi-upstash",
  "logoUrl": "https://upstash.com/static/logo/logo-light.svg",
  "pluginDownloadURL": "github://api.github.com/upstash/pulumi-upstash",
  "publisher": "Upstash",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "Pulumi"
    },
    "go": {
      "importBasePath": "github.com/upstash/pulumi-upstash/sdk/go/upstash",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "nodejs": {
      "packageName": "@upstash/pulumi",
      "packageDescription": "A Pulumi package for creating and managing upstash cloud resources.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/upstash/terraform-provider-upstash)\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-upstash` repo](https://github.com/upstash/pulumi-upstash/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-upstash` repo](https://github.com/upstash/terraform-provider-upstash/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "upstash_pulumi",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/upstash/terraform-provider-upstash)\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-upstash` repo](https://github.com/upstash/pulumi-upstash/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-upstash` repo](https://github.com/upstash/terraform-provider-upstash/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "apiKey": {
        "type": "string",
        "secret": true
      },
      "email": {
        "type": "string"
      }
    },
    "defaults": [
      "apiKey",
      "email"
    ]
  },
  "provider": {
    "description": "The provider type for the upstash 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",
        "secret": true
      },
      "email": {
        "type": "string"
      }
    },
    "type": "object",
    "inputProperties": {
      "apiKey": {
        "type": "string",
        "secret": true
      },
      "email": {
        "type": "string"
      }
    },
    "methods": {
      "terraformConfig": "pulumi:providers:upstash/terraformConfig"
    }
  },
  "resources": {
    "upstash:index/qStashEndpoint:QStashEndpoint": {
      "properties": {
        "endpointId": {
          "type": "string",
          "description": "Unique Qstash Endpoint ID\n"
        },
        "topicId": {
          "type": "string",
          "description": "Topic Id that the endpoint is added to\n"
        },
        "topicName": {
          "type": "string",
          "description": "Unique Qstash Topic Name for Endpoint\n"
        },
        "url": {
          "type": "string",
          "description": "URL of the endpoint\n"
        }
      },
      "type": "object",
      "required": [
        "endpointId",
        "topicId",
        "topicName",
        "url"
      ],
      "inputProperties": {
        "topicId": {
          "type": "string",
          "description": "Topic Id that the endpoint is added to\n",
          "willReplaceOnChanges": true
        },
        "url": {
          "type": "string",
          "description": "URL of the endpoint\n"
        }
      },
      "requiredInputs": [
        "topicId",
        "url"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering QStashEndpoint resources.\n",
        "properties": {
          "endpointId": {
            "type": "string",
            "description": "Unique Qstash Endpoint ID\n"
          },
          "topicId": {
            "type": "string",
            "description": "Topic Id that the endpoint is added to\n",
            "willReplaceOnChanges": true
          },
          "topicName": {
            "type": "string",
            "description": "Unique Qstash Topic Name for Endpoint\n"
          },
          "url": {
            "type": "string",
            "description": "URL of the endpoint\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/qStashSchedule:QStashSchedule": {
      "properties": {
        "body": {
          "type": "string",
          "description": "Body to send for the POST request in string format. Needs escaping (\\) double quotes.\n"
        },
        "callback": {
          "type": "string",
          "description": "Callback URL for Qstash Schedule.\n"
        },
        "contentBasedDeduplication": {
          "type": "boolean",
          "description": "Content Based Deduplication (bool) for Qstash Scheduling.\n"
        },
        "contentType": {
          "type": "string",
          "description": "Content type for Qstash Scheduling.\n"
        },
        "createdAt": {
          "type": "integer",
          "description": "Creation time for Qstash Schedule.\n"
        },
        "cron": {
          "type": "string",
          "description": "Cron string for Qstash Schedule\n"
        },
        "deduplicationId": {
          "type": "string",
          "description": "Deduplication ID for Qstash Scheduling.\n"
        },
        "delay": {
          "type": "string",
          "description": "Delay for Qstash Schedule.\n"
        },
        "destination": {
          "type": "string",
          "description": "Destination for Qstash Schedule. Either Topic ID or valid URL\n"
        },
        "forwardHeaders": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Forward headers to your API\n"
        },
        "notBefore": {
          "type": "integer",
          "description": "Start time for Qstash Scheduling.\n"
        },
        "retries": {
          "type": "integer",
          "description": "Retries for Qstash Schedule requests.\n"
        },
        "scheduleId": {
          "type": "string",
          "description": "Unique Qstash Schedule ID for requested schedule\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "cron",
        "destination",
        "scheduleId"
      ],
      "inputProperties": {
        "body": {
          "type": "string",
          "description": "Body to send for the POST request in string format. Needs escaping (\\) double quotes.\n",
          "willReplaceOnChanges": true
        },
        "callback": {
          "type": "string",
          "description": "Callback URL for Qstash Schedule.\n",
          "willReplaceOnChanges": true
        },
        "contentBasedDeduplication": {
          "type": "boolean",
          "description": "Content Based Deduplication (bool) for Qstash Scheduling.\n",
          "willReplaceOnChanges": true
        },
        "contentType": {
          "type": "string",
          "description": "Content type for Qstash Scheduling.\n",
          "willReplaceOnChanges": true
        },
        "cron": {
          "type": "string",
          "description": "Cron string for Qstash Schedule\n",
          "willReplaceOnChanges": true
        },
        "deduplicationId": {
          "type": "string",
          "description": "Deduplication ID for Qstash Scheduling.\n",
          "willReplaceOnChanges": true
        },
        "delay": {
          "type": "string",
          "description": "Delay for Qstash Schedule.\n",
          "willReplaceOnChanges": true
        },
        "destination": {
          "type": "string",
          "description": "Destination for Qstash Schedule. Either Topic ID or valid URL\n",
          "willReplaceOnChanges": true
        },
        "forwardHeaders": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Forward headers to your API\n",
          "willReplaceOnChanges": true
        },
        "notBefore": {
          "type": "integer",
          "description": "Start time for Qstash Scheduling.\n",
          "willReplaceOnChanges": true
        },
        "retries": {
          "type": "integer",
          "description": "Retries for Qstash Schedule requests.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "cron",
        "destination"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering QStashSchedule resources.\n",
        "properties": {
          "body": {
            "type": "string",
            "description": "Body to send for the POST request in string format. Needs escaping (\\) double quotes.\n",
            "willReplaceOnChanges": true
          },
          "callback": {
            "type": "string",
            "description": "Callback URL for Qstash Schedule.\n",
            "willReplaceOnChanges": true
          },
          "contentBasedDeduplication": {
            "type": "boolean",
            "description": "Content Based Deduplication (bool) for Qstash Scheduling.\n",
            "willReplaceOnChanges": true
          },
          "contentType": {
            "type": "string",
            "description": "Content type for Qstash Scheduling.\n",
            "willReplaceOnChanges": true
          },
          "createdAt": {
            "type": "integer",
            "description": "Creation time for Qstash Schedule.\n"
          },
          "cron": {
            "type": "string",
            "description": "Cron string for Qstash Schedule\n",
            "willReplaceOnChanges": true
          },
          "deduplicationId": {
            "type": "string",
            "description": "Deduplication ID for Qstash Scheduling.\n",
            "willReplaceOnChanges": true
          },
          "delay": {
            "type": "string",
            "description": "Delay for Qstash Schedule.\n",
            "willReplaceOnChanges": true
          },
          "destination": {
            "type": "string",
            "description": "Destination for Qstash Schedule. Either Topic ID or valid URL\n",
            "willReplaceOnChanges": true
          },
          "forwardHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Forward headers to your API\n",
            "willReplaceOnChanges": true
          },
          "notBefore": {
            "type": "integer",
            "description": "Start time for Qstash Scheduling.\n",
            "willReplaceOnChanges": true
          },
          "retries": {
            "type": "integer",
            "description": "Retries for Qstash Schedule requests.\n",
            "willReplaceOnChanges": true
          },
          "scheduleId": {
            "type": "string",
            "description": "Unique Qstash Schedule ID for requested schedule\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/qStashScheduleV2:QStashScheduleV2": {
      "properties": {
        "body": {
          "type": "string",
          "description": "Body to send for the POST request in string format. Needs escaping (\\) double quotes.\n"
        },
        "callback": {
          "type": "string",
          "description": "Callback URL for Qstash Schedule.\n"
        },
        "contentType": {
          "type": "string",
          "description": "Content type for Qstash Scheduling.\n"
        },
        "createdAt": {
          "type": "integer",
          "description": "Creation time for Qstash Schedule.\n"
        },
        "cron": {
          "type": "string",
          "description": "Cron string for Qstash Schedule\n"
        },
        "delay": {
          "type": "string",
          "description": "Delay for Qstash Schedule. Delay should be given in seconds\n"
        },
        "destination": {
          "type": "string",
          "description": "Destination for Qstash Schedule. Either Topic Name or valid URL\n"
        },
        "forwardHeaders": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Forward headers to your API\n"
        },
        "header": {
          "type": "string",
          "description": "Headers for the QStash schedule\n"
        },
        "method": {
          "type": "string",
          "description": "Method of Http Request on QStash\n"
        },
        "retries": {
          "type": "integer",
          "description": "Retries for Qstash Schedule requests.\n"
        },
        "scheduleId": {
          "type": "string",
          "description": "Unique Qstash Schedule ID for requested schedule\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "cron",
        "destination",
        "header",
        "scheduleId"
      ],
      "inputProperties": {
        "body": {
          "type": "string",
          "description": "Body to send for the POST request in string format. Needs escaping (\\) double quotes.\n",
          "willReplaceOnChanges": true
        },
        "callback": {
          "type": "string",
          "description": "Callback URL for Qstash Schedule.\n",
          "willReplaceOnChanges": true
        },
        "contentType": {
          "type": "string",
          "description": "Content type for Qstash Scheduling.\n",
          "willReplaceOnChanges": true
        },
        "cron": {
          "type": "string",
          "description": "Cron string for Qstash Schedule\n",
          "willReplaceOnChanges": true
        },
        "delay": {
          "type": "string",
          "description": "Delay for Qstash Schedule. Delay should be given in seconds\n",
          "willReplaceOnChanges": true
        },
        "destination": {
          "type": "string",
          "description": "Destination for Qstash Schedule. Either Topic Name or valid URL\n",
          "willReplaceOnChanges": true
        },
        "forwardHeaders": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Forward headers to your API\n",
          "willReplaceOnChanges": true
        },
        "method": {
          "type": "string",
          "description": "Method of Http Request on QStash\n",
          "willReplaceOnChanges": true
        },
        "retries": {
          "type": "integer",
          "description": "Retries for Qstash Schedule requests.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "cron",
        "destination"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering QStashScheduleV2 resources.\n",
        "properties": {
          "body": {
            "type": "string",
            "description": "Body to send for the POST request in string format. Needs escaping (\\) double quotes.\n",
            "willReplaceOnChanges": true
          },
          "callback": {
            "type": "string",
            "description": "Callback URL for Qstash Schedule.\n",
            "willReplaceOnChanges": true
          },
          "contentType": {
            "type": "string",
            "description": "Content type for Qstash Scheduling.\n",
            "willReplaceOnChanges": true
          },
          "createdAt": {
            "type": "integer",
            "description": "Creation time for Qstash Schedule.\n"
          },
          "cron": {
            "type": "string",
            "description": "Cron string for Qstash Schedule\n",
            "willReplaceOnChanges": true
          },
          "delay": {
            "type": "string",
            "description": "Delay for Qstash Schedule. Delay should be given in seconds\n",
            "willReplaceOnChanges": true
          },
          "destination": {
            "type": "string",
            "description": "Destination for Qstash Schedule. Either Topic Name or valid URL\n",
            "willReplaceOnChanges": true
          },
          "forwardHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Forward headers to your API\n",
            "willReplaceOnChanges": true
          },
          "header": {
            "type": "string",
            "description": "Headers for the QStash schedule\n"
          },
          "method": {
            "type": "string",
            "description": "Method of Http Request on QStash\n",
            "willReplaceOnChanges": true
          },
          "retries": {
            "type": "integer",
            "description": "Retries for Qstash Schedule requests.\n",
            "willReplaceOnChanges": true
          },
          "scheduleId": {
            "type": "string",
            "description": "Unique Qstash Schedule ID for requested schedule\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/qStashTopic:QStashTopic": {
      "properties": {
        "endpoints": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "description": "Endpoints for the Qstash Topic\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the Qstash Topic\n"
        },
        "topicId": {
          "type": "string",
          "description": "Unique Qstash Topic ID for requested topic\n"
        }
      },
      "type": "object",
      "required": [
        "endpoints",
        "name",
        "topicId"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Name of the Qstash Topic\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering QStashTopic resources.\n",
        "properties": {
          "endpoints": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "description": "Endpoints for the Qstash Topic\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the Qstash Topic\n"
          },
          "topicId": {
            "type": "string",
            "description": "Unique Qstash Topic ID for requested topic\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/qStashTopicV2:QStashTopicV2": {
      "properties": {
        "createdAt": {
          "type": "integer",
          "description": "Creation time for Qstash Topic.\n"
        },
        "endpoints": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Endpoints for the Qstash Topic\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the Qstash Topic\n"
        },
        "updatedAt": {
          "type": "integer",
          "description": "Last Update time for Qstash Topic.\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "endpoints",
        "name",
        "updatedAt"
      ],
      "inputProperties": {
        "endpoints": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Endpoints for the Qstash Topic\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the Qstash Topic\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "endpoints"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering QStashTopicV2 resources.\n",
        "properties": {
          "createdAt": {
            "type": "integer",
            "description": "Creation time for Qstash Topic.\n"
          },
          "endpoints": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Endpoints for the Qstash Topic\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the Qstash Topic\n",
            "willReplaceOnChanges": true
          },
          "updatedAt": {
            "type": "integer",
            "description": "Last Update time for Qstash Topic.\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/redisDatabase:RedisDatabase": {
      "properties": {
        "autoScale": {
          "type": "boolean",
          "description": "Upgrade to higher plans automatically when it hits quotas\n"
        },
        "budget": {
          "type": "integer",
          "description": "Budget for the database (default $20). It is used to limit the cost of the database. If the budget is reached, the\ndatabase will be throttled until the next month.\n"
        },
        "consistent": {
          "type": "boolean",
          "description": "When enabled, all writes are synchronously persisted to the disk.\n",
          "deprecationMessage": "Consistent option is deprecated."
        },
        "creationTime": {
          "type": "integer",
          "description": "Creation time of the database\n"
        },
        "databaseId": {
          "type": "string",
          "description": "Unique Database ID for created database\n"
        },
        "databaseName": {
          "type": "string",
          "description": "Name of the database\n"
        },
        "databaseType": {
          "type": "string",
          "description": "Type of the database\n"
        },
        "dbDailyBandwidthLimit": {
          "type": "integer",
          "description": "Daily bandwidth limit for the database\n"
        },
        "dbDiskThreshold": {
          "type": "integer",
          "description": "Disk threshold for the database\n"
        },
        "dbMaxClients": {
          "type": "integer",
          "description": "Max clients for the database\n"
        },
        "dbMaxCommandsPerSecond": {
          "type": "integer",
          "description": "Max commands per second for the database\n"
        },
        "dbMaxEntrySize": {
          "type": "integer",
          "description": "Max entry size for the database\n"
        },
        "dbMaxRequestSize": {
          "type": "integer",
          "description": "Max request size for the database\n"
        },
        "dbMemoryThreshold": {
          "type": "integer",
          "description": "Memory threshold for the database\n"
        },
        "endpoint": {
          "type": "string",
          "description": "Database URL for connection\n"
        },
        "eviction": {
          "type": "boolean",
          "description": "Enable eviction, to evict keys when your database reaches the max size\n"
        },
        "ipAllowlists": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Ip CIDR allowlist for the database. If not set, all IPs are allowed to connect to the database.\n"
        },
        "multizone": {
          "type": "boolean",
          "description": "When enabled, database becomes highly available and is deployed in multiple zones. (If changed to false from true,\nresults in deletion and recreation of the resource)\n",
          "deprecationMessage": "Multizone option is deprecated. It is enabled by default for paid databases."
        },
        "password": {
          "type": "string",
          "description": "Password of the database\n",
          "secret": true
        },
        "port": {
          "type": "integer",
          "description": "Port of the endpoint\n"
        },
        "primaryRegion": {
          "type": "string",
          "description": "Primary region for the database (Only works if region='global'. Can be one of [us-east-1, us-west-1, us-west-2,\neu-central-1, eu-west-1, sa-east-1, ap-southeast-1, ap-southeast-2])\n"
        },
        "prodPack": {
          "type": "boolean",
          "description": "Whether Prod Pack is enabled for the database.\n"
        },
        "readOnlyRestToken": {
          "type": "string",
          "description": "Rest Token for the database.\n",
          "secret": true
        },
        "readRegions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Read regions for the database (Only works if region='global' and primary_region is set. Can be any combination of\n[us-east-1, us-west-1, us-west-2, eu-central-1, eu-west-1, sa-east-1, ap-southeast-1, ap-southeast-2], excluding the one\ngiven as primary.)\n"
        },
        "region": {
          "type": "string",
          "description": "Region of the database. For global gcp regions, use `gcp-global`. For globals, check for primary_region and read_regions\nfields\n"
        },
        "restToken": {
          "type": "string",
          "description": "Rest Token for the database.\n",
          "secret": true
        },
        "state": {
          "type": "string",
          "description": "State of the database\n"
        },
        "tls": {
          "type": "boolean",
          "description": "When enabled, data is encrypted in transit. TLS is enabled by default for newly created databases and cannot be\ndisabled.\n"
        },
        "userEmail": {
          "type": "string",
          "description": "User email for the database\n"
        }
      },
      "type": "object",
      "required": [
        "creationTime",
        "databaseId",
        "databaseName",
        "databaseType",
        "dbDailyBandwidthLimit",
        "dbDiskThreshold",
        "dbMaxClients",
        "dbMaxCommandsPerSecond",
        "dbMaxEntrySize",
        "dbMaxRequestSize",
        "dbMemoryThreshold",
        "endpoint",
        "password",
        "port",
        "readOnlyRestToken",
        "region",
        "restToken",
        "state",
        "userEmail"
      ],
      "inputProperties": {
        "autoScale": {
          "type": "boolean",
          "description": "Upgrade to higher plans automatically when it hits quotas\n"
        },
        "budget": {
          "type": "integer",
          "description": "Budget for the database (default $20). It is used to limit the cost of the database. If the budget is reached, the\ndatabase will be throttled until the next month.\n"
        },
        "consistent": {
          "type": "boolean",
          "description": "When enabled, all writes are synchronously persisted to the disk.\n",
          "deprecationMessage": "Consistent option is deprecated."
        },
        "databaseName": {
          "type": "string",
          "description": "Name of the database\n",
          "willReplaceOnChanges": true
        },
        "eviction": {
          "type": "boolean",
          "description": "Enable eviction, to evict keys when your database reaches the max size\n"
        },
        "ipAllowlists": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Ip CIDR allowlist for the database. If not set, all IPs are allowed to connect to the database.\n"
        },
        "multizone": {
          "type": "boolean",
          "description": "When enabled, database becomes highly available and is deployed in multiple zones. (If changed to false from true,\nresults in deletion and recreation of the resource)\n",
          "deprecationMessage": "Multizone option is deprecated. It is enabled by default for paid databases."
        },
        "primaryRegion": {
          "type": "string",
          "description": "Primary region for the database (Only works if region='global'. Can be one of [us-east-1, us-west-1, us-west-2,\neu-central-1, eu-west-1, sa-east-1, ap-southeast-1, ap-southeast-2])\n",
          "willReplaceOnChanges": true
        },
        "prodPack": {
          "type": "boolean",
          "description": "Whether Prod Pack is enabled for the database.\n"
        },
        "readRegions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Read regions for the database (Only works if region='global' and primary_region is set. Can be any combination of\n[us-east-1, us-west-1, us-west-2, eu-central-1, eu-west-1, sa-east-1, ap-southeast-1, ap-southeast-2], excluding the one\ngiven as primary.)\n"
        },
        "region": {
          "type": "string",
          "description": "Region of the database. For global gcp regions, use `gcp-global`. For globals, check for primary_region and read_regions\nfields\n",
          "willReplaceOnChanges": true
        },
        "tls": {
          "type": "boolean",
          "description": "When enabled, data is encrypted in transit. TLS is enabled by default for newly created databases and cannot be\ndisabled.\n"
        }
      },
      "requiredInputs": [
        "databaseName",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering RedisDatabase resources.\n",
        "properties": {
          "autoScale": {
            "type": "boolean",
            "description": "Upgrade to higher plans automatically when it hits quotas\n"
          },
          "budget": {
            "type": "integer",
            "description": "Budget for the database (default $20). It is used to limit the cost of the database. If the budget is reached, the\ndatabase will be throttled until the next month.\n"
          },
          "consistent": {
            "type": "boolean",
            "description": "When enabled, all writes are synchronously persisted to the disk.\n",
            "deprecationMessage": "Consistent option is deprecated."
          },
          "creationTime": {
            "type": "integer",
            "description": "Creation time of the database\n"
          },
          "databaseId": {
            "type": "string",
            "description": "Unique Database ID for created database\n"
          },
          "databaseName": {
            "type": "string",
            "description": "Name of the database\n",
            "willReplaceOnChanges": true
          },
          "databaseType": {
            "type": "string",
            "description": "Type of the database\n"
          },
          "dbDailyBandwidthLimit": {
            "type": "integer",
            "description": "Daily bandwidth limit for the database\n"
          },
          "dbDiskThreshold": {
            "type": "integer",
            "description": "Disk threshold for the database\n"
          },
          "dbMaxClients": {
            "type": "integer",
            "description": "Max clients for the database\n"
          },
          "dbMaxCommandsPerSecond": {
            "type": "integer",
            "description": "Max commands per second for the database\n"
          },
          "dbMaxEntrySize": {
            "type": "integer",
            "description": "Max entry size for the database\n"
          },
          "dbMaxRequestSize": {
            "type": "integer",
            "description": "Max request size for the database\n"
          },
          "dbMemoryThreshold": {
            "type": "integer",
            "description": "Memory threshold for the database\n"
          },
          "endpoint": {
            "type": "string",
            "description": "Database URL for connection\n"
          },
          "eviction": {
            "type": "boolean",
            "description": "Enable eviction, to evict keys when your database reaches the max size\n"
          },
          "ipAllowlists": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ip CIDR allowlist for the database. If not set, all IPs are allowed to connect to the database.\n"
          },
          "multizone": {
            "type": "boolean",
            "description": "When enabled, database becomes highly available and is deployed in multiple zones. (If changed to false from true,\nresults in deletion and recreation of the resource)\n",
            "deprecationMessage": "Multizone option is deprecated. It is enabled by default for paid databases."
          },
          "password": {
            "type": "string",
            "description": "Password of the database\n",
            "secret": true
          },
          "port": {
            "type": "integer",
            "description": "Port of the endpoint\n"
          },
          "primaryRegion": {
            "type": "string",
            "description": "Primary region for the database (Only works if region='global'. Can be one of [us-east-1, us-west-1, us-west-2,\neu-central-1, eu-west-1, sa-east-1, ap-southeast-1, ap-southeast-2])\n",
            "willReplaceOnChanges": true
          },
          "prodPack": {
            "type": "boolean",
            "description": "Whether Prod Pack is enabled for the database.\n"
          },
          "readOnlyRestToken": {
            "type": "string",
            "description": "Rest Token for the database.\n",
            "secret": true
          },
          "readRegions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Read regions for the database (Only works if region='global' and primary_region is set. Can be any combination of\n[us-east-1, us-west-1, us-west-2, eu-central-1, eu-west-1, sa-east-1, ap-southeast-1, ap-southeast-2], excluding the one\ngiven as primary.)\n"
          },
          "region": {
            "type": "string",
            "description": "Region of the database. For global gcp regions, use `gcp-global`. For globals, check for primary_region and read_regions\nfields\n",
            "willReplaceOnChanges": true
          },
          "restToken": {
            "type": "string",
            "description": "Rest Token for the database.\n",
            "secret": true
          },
          "state": {
            "type": "string",
            "description": "State of the database\n"
          },
          "tls": {
            "type": "boolean",
            "description": "When enabled, data is encrypted in transit. TLS is enabled by default for newly created databases and cannot be\ndisabled.\n"
          },
          "userEmail": {
            "type": "string",
            "description": "User email for the database\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/search:Search": {
      "properties": {
        "creationTime": {
          "type": "integer",
          "description": "The creation time of the search in UTC as unix timestamp.\n"
        },
        "customerId": {
          "type": "string",
          "description": "The unique ID associated to the owner of this search.\n"
        },
        "endpoint": {
          "type": "string",
          "description": "Associated endpoint of your search.\n"
        },
        "maxDailyQueries": {
          "type": "integer",
          "description": "The number of maximum query operations you can perform in a day. Only query operations are included in query count.\n"
        },
        "maxDailyUpdates": {
          "type": "integer",
          "description": "The number of maximum update operations you can perform in a day. Only upsert operations are included in update count.\n"
        },
        "maxMonthlyBandwidth": {
          "type": "integer",
          "description": "The maximum amount of monthly bandwidth for the search. Unit is bytes. `-1` if the limit is unlimited.\n"
        },
        "maxQueryPerSecond": {
          "type": "integer",
          "description": "The number of maximum query operations you can perform per second. Only query operations are included in query count.\n"
        },
        "maxReadsPerRequest": {
          "type": "integer",
          "description": "The number of maximum vectors in a read operation. Query and fetch operations are included in read operations.\n"
        },
        "maxTotalMetadataSize": {
          "type": "integer",
          "description": "The amount of maximum size for the total metadata sizes in your search.\n"
        },
        "maxVectorCount": {
          "type": "integer",
          "description": "The number of maximum that your search can contain.\n"
        },
        "maxWritesPerRequest": {
          "type": "integer",
          "description": "The number of maximum vectors in a write operation. Only upsert operations are included in write operations.\n"
        },
        "maxWritesPerSecond": {
          "type": "integer",
          "description": "The number of maximum write operations you can perform per second. Only upsert operations are included in write count.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the search.\n"
        },
        "readOnlyToken": {
          "type": "string",
          "description": "Readonly REST token to send request to the related search. You can't perform update operation with this token.\n",
          "secret": true
        },
        "region": {
          "type": "string",
          "description": "The region where your search is deployed.\n"
        },
        "reservedPrice": {
          "type": "number",
          "description": "Monthly pricing of your search. Only available for fixed and pro plans.\n"
        },
        "token": {
          "type": "string",
          "description": "REST token to send request to the related search.\n",
          "secret": true
        },
        "type": {
          "type": "string",
          "description": "Associated plan of the search. `payg` can be used\n"
        }
      },
      "type": "object",
      "required": [
        "creationTime",
        "customerId",
        "endpoint",
        "maxDailyQueries",
        "maxDailyUpdates",
        "maxMonthlyBandwidth",
        "maxQueryPerSecond",
        "maxReadsPerRequest",
        "maxTotalMetadataSize",
        "maxVectorCount",
        "maxWritesPerRequest",
        "maxWritesPerSecond",
        "name",
        "readOnlyToken",
        "region",
        "reservedPrice",
        "token",
        "type"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Name of the search.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where your search is deployed.\n"
        },
        "reservedPrice": {
          "type": "number",
          "description": "Monthly pricing of your search. Only available for fixed and pro plans.\n"
        },
        "type": {
          "type": "string",
          "description": "Associated plan of the search. `payg` can be used\n"
        }
      },
      "requiredInputs": [
        "region",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Search resources.\n",
        "properties": {
          "creationTime": {
            "type": "integer",
            "description": "The creation time of the search in UTC as unix timestamp.\n"
          },
          "customerId": {
            "type": "string",
            "description": "The unique ID associated to the owner of this search.\n"
          },
          "endpoint": {
            "type": "string",
            "description": "Associated endpoint of your search.\n"
          },
          "maxDailyQueries": {
            "type": "integer",
            "description": "The number of maximum query operations you can perform in a day. Only query operations are included in query count.\n"
          },
          "maxDailyUpdates": {
            "type": "integer",
            "description": "The number of maximum update operations you can perform in a day. Only upsert operations are included in update count.\n"
          },
          "maxMonthlyBandwidth": {
            "type": "integer",
            "description": "The maximum amount of monthly bandwidth for the search. Unit is bytes. `-1` if the limit is unlimited.\n"
          },
          "maxQueryPerSecond": {
            "type": "integer",
            "description": "The number of maximum query operations you can perform per second. Only query operations are included in query count.\n"
          },
          "maxReadsPerRequest": {
            "type": "integer",
            "description": "The number of maximum vectors in a read operation. Query and fetch operations are included in read operations.\n"
          },
          "maxTotalMetadataSize": {
            "type": "integer",
            "description": "The amount of maximum size for the total metadata sizes in your search.\n"
          },
          "maxVectorCount": {
            "type": "integer",
            "description": "The number of maximum that your search can contain.\n"
          },
          "maxWritesPerRequest": {
            "type": "integer",
            "description": "The number of maximum vectors in a write operation. Only upsert operations are included in write operations.\n"
          },
          "maxWritesPerSecond": {
            "type": "integer",
            "description": "The number of maximum write operations you can perform per second. Only upsert operations are included in write count.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the search.\n"
          },
          "readOnlyToken": {
            "type": "string",
            "description": "Readonly REST token to send request to the related search. You can't perform update operation with this token.\n",
            "secret": true
          },
          "region": {
            "type": "string",
            "description": "The region where your search is deployed.\n"
          },
          "reservedPrice": {
            "type": "number",
            "description": "Monthly pricing of your search. Only available for fixed and pro plans.\n"
          },
          "token": {
            "type": "string",
            "description": "REST token to send request to the related search.\n",
            "secret": true
          },
          "type": {
            "type": "string",
            "description": "Associated plan of the search. `payg` can be used\n"
          }
        },
        "type": "object"
      }
    },
    "upstash:index/team:Team": {
      "properties": {
        "copyCc": {
          "type": "boolean",
          "description": "Whether Credit Card is copied\n"
        },
        "teamId": {
          "type": "string",
          "description": "Unique Cluster ID for created cluster\n"
        },
        "teamMembers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Members of the team. (Owner must be specified, which is the owner of the api key.)\n"
        },
        "teamName": {
          "type": "string",
          "description": "Name of the team\n"
        }
      },
      "type": "object",
      "required": [
        "copyCc",
        "teamId",
        "teamMembers",
        "teamName"
      ],
      "inputProperties": {
        "copyCc": {
          "type": "boolean",
          "description": "Whether Credit Card is copied\n",
          "willReplaceOnChanges": true
        },
        "teamMembers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Members of the team. (Owner must be specified, which is the owner of the api key.)\n"
        },
        "teamName": {
          "type": "string",
          "description": "Name of the team\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "copyCc",
        "teamMembers",
        "teamName"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Team resources.\n",
        "properties": {
          "copyCc": {
            "type": "boolean",
            "description": "Whether Credit Card is copied\n",
            "willReplaceOnChanges": true
          },
          "teamId": {
            "type": "string",
            "description": "Unique Cluster ID for created cluster\n"
          },
          "teamMembers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Members of the team. (Owner must be specified, which is the owner of the api key.)\n"
          },
          "teamName": {
            "type": "string",
            "description": "Name of the team\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "upstash:index/vectorIndex:VectorIndex": {
      "properties": {
        "creationTime": {
          "type": "integer",
          "description": "The creation time of the vector index in UTC as unix timestamp.\n"
        },
        "customerId": {
          "type": "string",
          "description": "The unique ID associated to the owner of this index.\n"
        },
        "dimensionCount": {
          "type": "integer",
          "description": "Size of the vector array.\n"
        },
        "endpoint": {
          "type": "string",
          "description": "Associated endpoint of your index.\n"
        },
        "maxDailyQueries": {
          "type": "integer",
          "description": "The number of maximum query operations you can perform in a day. Only query operations are included in query count.\n"
        },
        "maxDailyUpdates": {
          "type": "integer",
          "description": "The number of maximum update operations you can perform in a day. Only upsert operations are included in update count.\n"
        },
        "maxMonthlyBandwidth": {
          "type": "integer",
          "description": "The maximum amount of monthly bandwidth for the index. Unit is bytes. `-1` if the limit is unlimited.\n"
        },
        "maxQueryPerSecond": {
          "type": "integer",
          "description": "The number of maximum query operations you can perform per second. Only query operations are included in query count.\n"
        },
        "maxReadsPerRequest": {
          "type": "integer",
          "description": "The number of maximum vectors in a read operation. Query and fetch operations are included in read operations.\n"
        },
        "maxTotalMetadataSize": {
          "type": "integer",
          "description": "The amount of maximum size for the total metadata sizes in your index.\n"
        },
        "maxVectorCount": {
          "type": "integer",
          "description": "The number of maximum that your index can contain.\n"
        },
        "maxWritesPerRequest": {
          "type": "integer",
          "description": "The number of maximum vectors in a write operation. Only upsert operations are included in write operations.\n"
        },
        "maxWritesPerSecond": {
          "type": "integer",
          "description": "The number of maximum write operations you can perform per second. Only upsert operations are included in write count.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the index.\n"
        },
        "readOnlyToken": {
          "type": "string",
          "description": "Readonly REST token to send request to the related index. You can't perform update operation with this token.\n",
          "secret": true
        },
        "region": {
          "type": "string",
          "description": "The region where your index is deployed.\n"
        },
        "reservedPrice": {
          "type": "number",
          "description": "Monthly pricing of your index. Only available for fixed and pro plans.\n"
        },
        "similarityFunction": {
          "type": "string",
          "description": "Associated distance metric to calculate the similarity.\n"
        },
        "token": {
          "type": "string",
          "description": "REST token to send request to the related index.\n",
          "secret": true
        },
        "type": {
          "type": "string",
          "description": "Associated plan of the index. Either `free`, `paid`, `fixed` or `pro`.\n"
        }
      },
      "type": "object",
      "required": [
        "creationTime",
        "customerId",
        "dimensionCount",
        "endpoint",
        "maxDailyQueries",
        "maxDailyUpdates",
        "maxMonthlyBandwidth",
        "maxQueryPerSecond",
        "maxReadsPerRequest",
        "maxTotalMetadataSize",
        "maxVectorCount",
        "maxWritesPerRequest",
        "maxWritesPerSecond",
        "name",
        "readOnlyToken",
        "region",
        "reservedPrice",
        "similarityFunction",
        "token",
        "type"
      ],
      "inputProperties": {
        "dimensionCount": {
          "type": "integer",
          "description": "Size of the vector array.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the index.\n"
        },
        "region": {
          "type": "string",
          "description": "The region where your index is deployed.\n"
        },
        "reservedPrice": {
          "type": "number",
          "description": "Monthly pricing of your index. Only available for fixed and pro plans.\n"
        },
        "similarityFunction": {
          "type": "string",
          "description": "Associated distance metric to calculate the similarity.\n"
        },
        "type": {
          "type": "string",
          "description": "Associated plan of the index. Either `free`, `paid`, `fixed` or `pro`.\n"
        }
      },
      "requiredInputs": [
        "dimensionCount",
        "region",
        "similarityFunction",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering VectorIndex resources.\n",
        "properties": {
          "creationTime": {
            "type": "integer",
            "description": "The creation time of the vector index in UTC as unix timestamp.\n"
          },
          "customerId": {
            "type": "string",
            "description": "The unique ID associated to the owner of this index.\n"
          },
          "dimensionCount": {
            "type": "integer",
            "description": "Size of the vector array.\n"
          },
          "endpoint": {
            "type": "string",
            "description": "Associated endpoint of your index.\n"
          },
          "maxDailyQueries": {
            "type": "integer",
            "description": "The number of maximum query operations you can perform in a day. Only query operations are included in query count.\n"
          },
          "maxDailyUpdates": {
            "type": "integer",
            "description": "The number of maximum update operations you can perform in a day. Only upsert operations are included in update count.\n"
          },
          "maxMonthlyBandwidth": {
            "type": "integer",
            "description": "The maximum amount of monthly bandwidth for the index. Unit is bytes. `-1` if the limit is unlimited.\n"
          },
          "maxQueryPerSecond": {
            "type": "integer",
            "description": "The number of maximum query operations you can perform per second. Only query operations are included in query count.\n"
          },
          "maxReadsPerRequest": {
            "type": "integer",
            "description": "The number of maximum vectors in a read operation. Query and fetch operations are included in read operations.\n"
          },
          "maxTotalMetadataSize": {
            "type": "integer",
            "description": "The amount of maximum size for the total metadata sizes in your index.\n"
          },
          "maxVectorCount": {
            "type": "integer",
            "description": "The number of maximum that your index can contain.\n"
          },
          "maxWritesPerRequest": {
            "type": "integer",
            "description": "The number of maximum vectors in a write operation. Only upsert operations are included in write operations.\n"
          },
          "maxWritesPerSecond": {
            "type": "integer",
            "description": "The number of maximum write operations you can perform per second. Only upsert operations are included in write count.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the index.\n"
          },
          "readOnlyToken": {
            "type": "string",
            "description": "Readonly REST token to send request to the related index. You can't perform update operation with this token.\n",
            "secret": true
          },
          "region": {
            "type": "string",
            "description": "The region where your index is deployed.\n"
          },
          "reservedPrice": {
            "type": "number",
            "description": "Monthly pricing of your index. Only available for fixed and pro plans.\n"
          },
          "similarityFunction": {
            "type": "string",
            "description": "Associated distance metric to calculate the similarity.\n"
          },
          "token": {
            "type": "string",
            "description": "REST token to send request to the related index.\n",
            "secret": true
          },
          "type": {
            "type": "string",
            "description": "Associated plan of the index. Either `free`, `paid`, `fixed` or `pro`.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "pulumi:providers:upstash/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:upstash"
          }
        },
        "type": "object",
        "required": [
          "__self__"
        ]
      },
      "outputs": {
        "properties": {
          "result": {
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "type": "object"
          }
        },
        "required": [
          "result"
        ],
        "type": "object"
      }
    },
    "upstash:index/getQStashEndpoint:getQStashEndpoint": {
      "inputs": {
        "description": "A collection of arguments for invoking getQStashEndpoint.\n",
        "properties": {
          "topicId": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "topicId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getQStashEndpoint.\n",
        "properties": {
          "endpointId": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "topicId": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "endpointId",
          "id",
          "topicId",
          "url"
        ],
        "type": "object"
      }
    },
    "upstash:index/getQStashSchedule:getQStashSchedule": {
      "inputs": {
        "description": "A collection of arguments for invoking getQStashSchedule.\n",
        "properties": {
          "scheduleId": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "scheduleId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getQStashSchedule.\n",
        "properties": {
          "body": {
            "type": "string"
          },
          "createdAt": {
            "type": "integer"
          },
          "cron": {
            "type": "string"
          },
          "destination": {
            "type": "string"
          },
          "forwardHeaders": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "notBefore": {
            "type": "integer"
          },
          "retries": {
            "type": "integer"
          },
          "scheduleId": {
            "type": "string"
          }
        },
        "required": [
          "body",
          "createdAt",
          "cron",
          "destination",
          "forwardHeaders",
          "id",
          "notBefore",
          "retries",
          "scheduleId"
        ],
        "type": "object"
      }
    },
    "upstash:index/getQStashScheduleV2:getQStashScheduleV2": {
      "inputs": {
        "description": "A collection of arguments for invoking getQStashScheduleV2.\n",
        "properties": {
          "body": {
            "type": "string"
          },
          "callback": {
            "type": "string"
          },
          "delay": {
            "type": "string"
          },
          "header": {
            "type": "string"
          },
          "retries": {
            "type": "integer"
          },
          "scheduleId": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "scheduleId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getQStashScheduleV2.\n",
        "properties": {
          "body": {
            "type": "string"
          },
          "callback": {
            "type": "string"
          },
          "createdAt": {
            "type": "integer"
          },
          "cron": {
            "type": "string"
          },
          "delay": {
            "type": "string"
          },
          "destination": {
            "type": "string"
          },
          "header": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "retries": {
            "type": "integer"
          },
          "scheduleId": {
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "cron",
          "destination",
          "id",
          "method",
          "scheduleId"
        ],
        "type": "object"
      }
    },
    "upstash:index/getQStashTopic:getQStashTopic": {
      "inputs": {
        "description": "A collection of arguments for invoking getQStashTopic.\n",
        "properties": {
          "topicId": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "topicId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getQStashTopic.\n",
        "properties": {
          "endpoints": {
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "topicId": {
            "type": "string"
          }
        },
        "required": [
          "endpoints",
          "id",
          "name",
          "topicId"
        ],
        "type": "object"
      }
    },
    "upstash:index/getQStashTopicV2:getQStashTopicV2": {
      "inputs": {
        "description": "A collection of arguments for invoking getQStashTopicV2.\n",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "name"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getQStashTopicV2.\n",
        "properties": {
          "createdAt": {
            "type": "integer"
          },
          "endpoints": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "updatedAt": {
            "type": "integer"
          }
        },
        "required": [
          "createdAt",
          "endpoints",
          "id",
          "name",
          "updatedAt"
        ],
        "type": "object"
      }
    },
    "upstash:index/getRedisDatabase:getRedisDatabase": {
      "inputs": {
        "description": "A collection of arguments for invoking getRedisDatabase.\n",
        "properties": {
          "databaseId": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "databaseId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getRedisDatabase.\n",
        "properties": {
          "autoScale": {
            "type": "boolean"
          },
          "budget": {
            "type": "integer"
          },
          "consistent": {
            "deprecationMessage": "Consistent option is deprecated.",
            "type": "boolean"
          },
          "creationTime": {
            "type": "integer"
          },
          "databaseId": {
            "type": "string"
          },
          "databaseName": {
            "type": "string"
          },
          "databaseType": {
            "type": "string"
          },
          "dbDailyBandwidthLimit": {
            "type": "integer"
          },
          "dbDiskThreshold": {
            "type": "integer"
          },
          "dbMaxClients": {
            "type": "integer"
          },
          "dbMaxCommandsPerSecond": {
            "type": "integer"
          },
          "dbMaxEntrySize": {
            "type": "integer"
          },
          "dbMaxRequestSize": {
            "type": "integer"
          },
          "dbMemoryThreshold": {
            "type": "integer"
          },
          "endpoint": {
            "type": "string"
          },
          "eviction": {
            "type": "boolean"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ipAllowlists": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "multizone": {
            "deprecationMessage": "Multizone option is deprecated. It is enabled by default for paid databases.",
            "type": "boolean"
          },
          "password": {
            "secret": true,
            "type": "string"
          },
          "port": {
            "type": "integer"
          },
          "primaryRegion": {
            "type": "string"
          },
          "prodPack": {
            "type": "boolean"
          },
          "readOnlyRestToken": {
            "secret": true,
            "type": "string"
          },
          "readRegions": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "region": {
            "type": "string"
          },
          "restToken": {
            "secret": true,
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "tls": {
            "deprecationMessage": "TLS option is deprecated. It's enabled by default for all databases.",
            "type": "boolean"
          },
          "userEmail": {
            "type": "string"
          }
        },
        "required": [
          "autoScale",
          "budget",
          "consistent",
          "creationTime",
          "databaseId",
          "databaseName",
          "databaseType",
          "dbDailyBandwidthLimit",
          "dbDiskThreshold",
          "dbMaxClients",
          "dbMaxCommandsPerSecond",
          "dbMaxEntrySize",
          "dbMaxRequestSize",
          "dbMemoryThreshold",
          "endpoint",
          "eviction",
          "id",
          "ipAllowlists",
          "multizone",
          "password",
          "port",
          "primaryRegion",
          "prodPack",
          "readOnlyRestToken",
          "readRegions",
          "region",
          "restToken",
          "state",
          "tls",
          "userEmail"
        ],
        "type": "object"
      }
    },
    "upstash:index/getSearch:getSearch": {
      "inputs": {
        "description": "A collection of arguments for invoking getSearch.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "id"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSearch.\n",
        "properties": {
          "creationTime": {
            "type": "integer"
          },
          "customerId": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "maxDailyQueries": {
            "type": "integer"
          },
          "maxDailyUpdates": {
            "type": "integer"
          },
          "maxMonthlyBandwidth": {
            "type": "integer"
          },
          "maxQueryPerSecond": {
            "type": "integer"
          },
          "maxReadsPerRequest": {
            "type": "integer"
          },
          "maxTotalMetadataSize": {
            "type": "integer"
          },
          "maxVectorCount": {
            "type": "integer"
          },
          "maxWritesPerRequest": {
            "type": "integer"
          },
          "maxWritesPerSecond": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "readOnlyToken": {
            "secret": true,
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "reservedPrice": {
            "type": "number"
          },
          "token": {
            "secret": true,
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "creationTime",
          "customerId",
          "endpoint",
          "id",
          "maxDailyQueries",
          "maxDailyUpdates",
          "maxMonthlyBandwidth",
          "maxQueryPerSecond",
          "maxReadsPerRequest",
          "maxTotalMetadataSize",
          "maxVectorCount",
          "maxWritesPerRequest",
          "maxWritesPerSecond",
          "name",
          "readOnlyToken",
          "region",
          "reservedPrice",
          "token",
          "type"
        ],
        "type": "object"
      }
    },
    "upstash:index/getTeam:getTeam": {
      "inputs": {
        "description": "A collection of arguments for invoking getTeam.\n",
        "properties": {
          "teamId": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "teamId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getTeam.\n",
        "properties": {
          "copyCc": {
            "type": "boolean"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "teamId": {
            "type": "string"
          },
          "teamMembers": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "teamName": {
            "type": "string"
          }
        },
        "required": [
          "copyCc",
          "id",
          "teamId",
          "teamMembers",
          "teamName"
        ],
        "type": "object"
      }
    },
    "upstash:index/getVectorIndex:getVectorIndex": {
      "inputs": {
        "description": "A collection of arguments for invoking getVectorIndex.\n",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "type": "object",
        "required": [
          "id"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getVectorIndex.\n",
        "properties": {
          "creationTime": {
            "type": "integer"
          },
          "customerId": {
            "type": "string"
          },
          "dimensionCount": {
            "type": "integer"
          },
          "endpoint": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "maxDailyQueries": {
            "type": "integer"
          },
          "maxDailyUpdates": {
            "type": "integer"
          },
          "maxMonthlyBandwidth": {
            "type": "integer"
          },
          "maxQueryPerSecond": {
            "type": "integer"
          },
          "maxReadsPerRequest": {
            "type": "integer"
          },
          "maxTotalMetadataSize": {
            "type": "integer"
          },
          "maxVectorCount": {
            "type": "integer"
          },
          "maxWritesPerRequest": {
            "type": "integer"
          },
          "maxWritesPerSecond": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "readOnlyToken": {
            "secret": true,
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "reservedPrice": {
            "type": "number"
          },
          "similarityFunction": {
            "type": "string"
          },
          "token": {
            "secret": true,
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "creationTime",
          "customerId",
          "dimensionCount",
          "endpoint",
          "id",
          "maxDailyQueries",
          "maxDailyUpdates",
          "maxMonthlyBandwidth",
          "maxQueryPerSecond",
          "maxReadsPerRequest",
          "maxTotalMetadataSize",
          "maxVectorCount",
          "maxWritesPerRequest",
          "maxWritesPerSecond",
          "name",
          "readOnlyToken",
          "region",
          "reservedPrice",
          "similarityFunction",
          "token",
          "type"
        ],
        "type": "object"
      }
    }
  }
}
