{
  "name": "genesiscloud",
  "displayName": "Genesis Cloud",
  "version": "0.0.35",
  "description": "A Pulumi package for creating and managing genesiscloud cloud resources.",
  "keywords": [
    "pulumi",
    "genesiscloud",
    "category/cloud"
  ],
  "homepage": "https://www.pulumi.io",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`genesiscloud` Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud).",
  "repository": "https://github.com/genesiscloud/pulumi-genesiscloud",
  "logoUrl": "https://avatars.githubusercontent.com/u/38134186?s=200&v=4",
  "pluginDownloadURL": "github://api.github.com/genesiscloud",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "GenesisCloud.PulumiPackage"
    },
    "go": {
      "importBasePath": "github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "nodejs": {
      "packageName": "@genesiscloud/pulumi-genesiscloud",
      "packageDescription": "A Pulumi package for creating and managing genesiscloud cloud resources.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud)\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-genesiscloud` repo](https://github.com/genesiscloud/pulumi-genesiscloud/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-genesiscloud` repo](https://github.com/genesiscloud/terraform-provider-genesiscloud/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud)\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-genesiscloud` repo](https://github.com/genesiscloud/pulumi-genesiscloud/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-genesiscloud` repo](https://github.com/genesiscloud/terraform-provider-genesiscloud/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "endpoint": {
        "type": "string",
        "description": "Genesis Cloud API endpoint. May also be provided via `GENESISCLOUD_ENDPOINT` environment variable. If neither is\nprovided, defaults to `https://api.genesiscloud.com/compute/v1`.\n",
        "defaultInfo": {
          "environment": [
            "GENESISCLOUD_ENDPOINT"
          ]
        }
      },
      "pollingInterval": {
        "type": "string",
        "description": "The polling interval. - The string must be a positive [time duration](https://pkg.go.dev/time#ParseDuration), for\nexample \"10s\".\n"
      },
      "token": {
        "type": "string",
        "description": "Genesis Cloud API token. May also be provided via `GENESISCLOUD_TOKEN` environment variable.\n",
        "defaultInfo": {
          "environment": [
            "GENESISCLOUD_TOKEN"
          ]
        },
        "secret": true
      }
    }
  },
  "types": {
    "genesiscloud:index/FilesystemTimeouts:FilesystemTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/FloatingIpTimeouts:FloatingIpTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/ImagesFilter:ImagesFilter": {
      "properties": {
        "region": {
          "type": "string",
          "description": "Filter by the region identifier.\n  - The value must be one of: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "type": {
          "type": "string",
          "description": "Filter by the kind of image.\n  - The value must be one of: [\"cloud-image\"].\n"
        }
      },
      "type": "object",
      "required": [
        "type"
      ]
    },
    "genesiscloud:index/ImagesImage:ImagesImage": {
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this image was created in RFC 3339.\n"
        },
        "id": {
          "type": "string",
          "description": "A unique number that can be used to identify and reference a specific image.\n"
        },
        "name": {
          "type": "string",
          "description": "The display name that has been given to an image.\n"
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of regions in which this image can be used in.\n"
        },
        "slug": {
          "type": "string",
          "description": "The image slug.\n"
        },
        "type": {
          "type": "string",
          "description": "Describes the kind of image.\n"
        },
        "versions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of versions if this is a cloud-image otherwise empty.\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "id",
        "name",
        "regions",
        "slug",
        "type",
        "versions"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "genesiscloud:index/ImagesTimeouts:ImagesTimeouts": {
      "properties": {
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/InstanceMetadata:InstanceMetadata": {
      "properties": {
        "startupScript": {
          "type": "string",
          "description": "A plain text bash script or \"cloud-config\" file that will be executed after the first instance boot. It is limited to 64 KiB in size. You can use it to configure your instance, e.g. installing the NVIDIA GPU driver. Learn more about [startup scripts and installing the GPU driver](https://support.genesiscloud.com/support/solutions/articles/47001122478).\n  - If the value of this attribute changes, the resource will be replaced.\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/InstanceStatusTimeouts:InstanceStatusTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/InstanceTimeouts:InstanceTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/SSHKeyTimeouts:SSHKeyTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/SecurityGroupRule:SecurityGroupRule": {
      "properties": {
        "direction": {
          "type": "string",
          "description": "The direction of the rule.\n  - The value must be one of: [\"egress\" \"ingress\"].\n"
        },
        "portRangeMax": {
          "type": "integer",
          "description": "The maximum port number of the rule.\n  - The value must be between 1 and 65535.\n"
        },
        "portRangeMin": {
          "type": "integer",
          "description": "The minimum port number of the rule.\n  - The value must be between 1 and 65535.\n"
        },
        "protocol": {
          "type": "string",
          "description": "The protocol of the rule.\n  - The value must be one of: [\"all\" \"icmp\" \"tcp\" \"udp\"].\n"
        }
      },
      "type": "object",
      "required": [
        "direction",
        "protocol"
      ]
    },
    "genesiscloud:index/SecurityGroupTimeouts:SecurityGroupTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    },
    "genesiscloud:index/VolumeTimeouts:VolumeTimeouts": {
      "properties": {
        "create": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        },
        "delete": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"
        },
        "read": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"
        },
        "update": {
          "type": "string",
          "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"
        }
      },
      "type": "object"
    }
  },
  "provider": {
    "description": "The provider type for the genesiscloud 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": {
      "endpoint": {
        "type": "string",
        "description": "Genesis Cloud API endpoint. May also be provided via `GENESISCLOUD_ENDPOINT` environment variable. If neither is\nprovided, defaults to `https://api.genesiscloud.com/compute/v1`.\n"
      },
      "pollingInterval": {
        "type": "string",
        "description": "The polling interval. - The string must be a positive [time duration](https://pkg.go.dev/time#ParseDuration), for\nexample \"10s\".\n"
      },
      "token": {
        "type": "string",
        "description": "Genesis Cloud API token. May also be provided via `GENESISCLOUD_TOKEN` environment variable.\n",
        "secret": true
      }
    },
    "type": "object",
    "inputProperties": {
      "endpoint": {
        "type": "string",
        "description": "Genesis Cloud API endpoint. May also be provided via `GENESISCLOUD_ENDPOINT` environment variable. If neither is\nprovided, defaults to `https://api.genesiscloud.com/compute/v1`.\n",
        "defaultInfo": {
          "environment": [
            "GENESISCLOUD_ENDPOINT"
          ]
        }
      },
      "pollingInterval": {
        "type": "string",
        "description": "The polling interval. - The string must be a positive [time duration](https://pkg.go.dev/time#ParseDuration), for\nexample \"10s\".\n"
      },
      "token": {
        "type": "string",
        "description": "Genesis Cloud API token. May also be provided via `GENESISCLOUD_TOKEN` environment variable.\n",
        "defaultInfo": {
          "environment": [
            "GENESISCLOUD_TOKEN"
          ]
        },
        "secret": true
      }
    }
  },
  "resources": {
    "genesiscloud:index/filesystem:Filesystem": {
      "description": "Filesystem resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Filesystem(\"example\", {\n    description: \"Example filesystem\",\n    region: \"NORD-NO-KRS-1\",\n    size: 50,\n    type: \"vast\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nexample = genesiscloud.Filesystem(\"example\",\n    description=\"Example filesystem\",\n    region=\"NORD-NO-KRS-1\",\n    size=50,\n    type=\"vast\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Genesiscloud.Filesystem(\"example\", new()\n    {\n        Description = \"Example filesystem\",\n        Region = \"NORD-NO-KRS-1\",\n        Size = 50,\n        Type = \"vast\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\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 := genesiscloud.NewFilesystem(ctx, \"example\", &genesiscloud.FilesystemArgs{\n\t\t\tDescription: pulumi.String(\"Example filesystem\"),\n\t\t\tRegion:      pulumi.String(\"NORD-NO-KRS-1\"),\n\t\t\tSize:        pulumi.Int(50),\n\t\t\tType:        pulumi.String(\"vast\"),\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.genesiscloud.Filesystem;\nimport com.pulumi.genesiscloud.FilesystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Filesystem(\"example\", FilesystemArgs.builder()\n            .description(\"Example filesystem\")\n            .region(\"NORD-NO-KRS-1\")\n            .size(50)\n            .type(\"vast\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: genesiscloud:Filesystem\n    properties:\n      description: Example filesystem\n      region: NORD-NO-KRS-1\n      size: 50\n      type: vast\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/filesystem:Filesystem example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this filesystem was created in RFC 3339.\n"
        },
        "description": {
          "type": "string",
          "description": "The human-readable description for the filesystem. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "mountBasePath": {
          "type": "string",
          "description": "The base path on the server under which the mount point can be accessed.\n"
        },
        "mountEndpointRanges": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The start and end IP of the mount endpoint range. Expressed as a array with two entries.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the filesystem.\n"
        },
        "region": {
          "type": "string",
          "description": "The identifier for the region this filesystem exists in. - If the value of this attribute changes, the resource will be\nreplaced. - The value must be one of: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\"\n\"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "retainOnDelete": {
          "type": "boolean",
          "description": "Flag to retain the filesystem when the resource is deleted - Sets the default value \"false\" if the attribute is not set.\n"
        },
        "size": {
          "type": "integer",
          "description": "The storage size of this filesystem given in GiB. - The value must be at least 1.\n"
        },
        "status": {
          "type": "string",
          "description": "The filesystem status.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FFilesystemTimeouts:FilesystemTimeouts"
        },
        "type": {
          "type": "string",
          "description": "The storage type of the filesystem. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"vast\"].\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "description",
        "mountBasePath",
        "mountEndpointRanges",
        "name",
        "region",
        "retainOnDelete",
        "size",
        "status",
        "type"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The human-readable description for the filesystem. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the filesystem.\n"
        },
        "region": {
          "type": "string",
          "description": "The identifier for the region this filesystem exists in. - If the value of this attribute changes, the resource will be\nreplaced. - The value must be one of: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\"\n\"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "retainOnDelete": {
          "type": "boolean",
          "description": "Flag to retain the filesystem when the resource is deleted - Sets the default value \"false\" if the attribute is not set.\n"
        },
        "size": {
          "type": "integer",
          "description": "The storage size of this filesystem given in GiB. - The value must be at least 1.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FFilesystemTimeouts:FilesystemTimeouts"
        },
        "type": {
          "type": "string",
          "description": "The storage type of the filesystem. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"vast\"].\n"
        }
      },
      "requiredInputs": [
        "region",
        "size",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filesystem resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this filesystem was created in RFC 3339.\n"
          },
          "description": {
            "type": "string",
            "description": "The human-readable description for the filesystem. - Sets the default value \"\" if the attribute is not set.\n"
          },
          "mountBasePath": {
            "type": "string",
            "description": "The base path on the server under which the mount point can be accessed.\n"
          },
          "mountEndpointRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The start and end IP of the mount endpoint range. Expressed as a array with two entries.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the filesystem.\n"
          },
          "region": {
            "type": "string",
            "description": "The identifier for the region this filesystem exists in. - If the value of this attribute changes, the resource will be\nreplaced. - The value must be one of: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\"\n\"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
          },
          "retainOnDelete": {
            "type": "boolean",
            "description": "Flag to retain the filesystem when the resource is deleted - Sets the default value \"false\" if the attribute is not set.\n"
          },
          "size": {
            "type": "integer",
            "description": "The storage size of this filesystem given in GiB. - The value must be at least 1.\n"
          },
          "status": {
            "type": "string",
            "description": "The filesystem status.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FFilesystemTimeouts:FilesystemTimeouts"
          },
          "type": {
            "type": "string",
            "description": "The storage type of the filesystem. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"vast\"].\n"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/floatingIp:FloatingIp": {
      "description": "floating IP resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst floatingIp = new genesiscloud.FloatingIp(\"floatingIp\", {\n    region: \"NORD-NO-KRS-1\",\n    version: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nfloating_ip = genesiscloud.FloatingIp(\"floatingIp\",\n    region=\"NORD-NO-KRS-1\",\n    version=\"ipv4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() => \n{\n    var floatingIp = new Genesiscloud.FloatingIp(\"floatingIp\", new()\n    {\n        Region = \"NORD-NO-KRS-1\",\n        Version = \"ipv4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\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 := genesiscloud.NewFloatingIp(ctx, \"floatingIp\", &genesiscloud.FloatingIpArgs{\n\t\t\tRegion:  pulumi.String(\"NORD-NO-KRS-1\"),\n\t\t\tVersion: pulumi.String(\"ipv4\"),\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.genesiscloud.FloatingIp;\nimport com.pulumi.genesiscloud.FloatingIpArgs;\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 floatingIp = new FloatingIp(\"floatingIp\", FloatingIpArgs.builder()\n            .region(\"NORD-NO-KRS-1\")\n            .version(\"ipv4\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  floatingIp:\n    type: genesiscloud:FloatingIp\n    properties:\n      region: NORD-NO-KRS-1\n      version: ipv4\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/floatingIp:FloatingIp example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this floating IP was created in RFC 3339.\n"
        },
        "description": {
          "type": "string",
          "description": "The human-readable description set for the floating IP. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "ipAddress": {
          "type": "string",
          "description": "The IP address of the floating IP.\n"
        },
        "isPublic": {
          "type": "boolean",
          "description": "Whether the floating IP is public or private. - Sets the default value \"true\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the floating IP.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "status": {
          "type": "string",
          "description": "The floating IP status.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FFloatingIpTimeouts:FloatingIpTimeouts"
        },
        "updatedAt": {
          "type": "string",
          "description": "The timestamp when this image was last updated in RFC 3339.\n"
        },
        "version": {
          "type": "string",
          "description": "The version of the floating IP. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"ipv4\"].\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "description",
        "ipAddress",
        "isPublic",
        "name",
        "region",
        "status",
        "updatedAt",
        "version"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The human-readable description set for the floating IP. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the floating IP.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FFloatingIpTimeouts:FloatingIpTimeouts"
        },
        "version": {
          "type": "string",
          "description": "The version of the floating IP. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"ipv4\"].\n"
        }
      },
      "requiredInputs": [
        "region",
        "version"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FloatingIp resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this floating IP was created in RFC 3339.\n"
          },
          "description": {
            "type": "string",
            "description": "The human-readable description set for the floating IP. - Sets the default value \"\" if the attribute is not set.\n"
          },
          "ipAddress": {
            "type": "string",
            "description": "The IP address of the floating IP.\n"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether the floating IP is public or private. - Sets the default value \"true\" if the attribute is not set.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the floating IP.\n"
          },
          "region": {
            "type": "string",
            "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
          },
          "status": {
            "type": "string",
            "description": "The floating IP status.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FFloatingIpTimeouts:FloatingIpTimeouts"
          },
          "updatedAt": {
            "type": "string",
            "description": "The timestamp when this image was last updated in RFC 3339.\n"
          },
          "version": {
            "type": "string",
            "description": "The version of the floating IP. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"ipv4\"].\n"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/instance:Instance": {
      "description": "Instance resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Instance(\"example\", {\n    image: \"ubuntu:22.04\",\n    region: \"NORD-NO-KRS-1\",\n    sshKeyIds: [\"my-ssh-key-id\"],\n    type: \"vcpu-2_memory-4g\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nexample = genesiscloud.Instance(\"example\",\n    image=\"ubuntu:22.04\",\n    region=\"NORD-NO-KRS-1\",\n    ssh_key_ids=[\"my-ssh-key-id\"],\n    type=\"vcpu-2_memory-4g\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Genesiscloud.Instance(\"example\", new()\n    {\n        Image = \"ubuntu:22.04\",\n        Region = \"NORD-NO-KRS-1\",\n        SshKeyIds = new[]\n        {\n            \"my-ssh-key-id\",\n        },\n        Type = \"vcpu-2_memory-4g\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\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 := genesiscloud.NewInstance(ctx, \"example\", &genesiscloud.InstanceArgs{\n\t\t\tImage:  pulumi.String(\"ubuntu:22.04\"),\n\t\t\tRegion: pulumi.String(\"NORD-NO-KRS-1\"),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-ssh-key-id\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"vcpu-2_memory-4g\"),\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.genesiscloud.Instance;\nimport com.pulumi.genesiscloud.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 example = new Instance(\"example\", InstanceArgs.builder()\n            .image(\"ubuntu:22.04\")\n            .region(\"NORD-NO-KRS-1\")\n            .sshKeyIds(\"my-ssh-key-id\")\n            .type(\"vcpu-2_memory-4g\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: genesiscloud:Instance\n    properties:\n      image: ubuntu:22.04\n      region: NORD-NO-KRS-1\n      sshKeyIds:\n        - my-ssh-key-id\n      type: vcpu-2_memory-4g\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/instance:Instance example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this image was created in RFC 3339.\n"
        },
        "diskSize": {
          "type": "integer",
          "description": "The disk size of the instance in GB.\n"
        },
        "dnsName": {
          "type": "string",
          "description": "The dns name of the instance.\n"
        },
        "floatingIpId": {
          "type": "string",
          "description": "The floating IP attached to the instance.\n"
        },
        "hostname": {
          "type": "string"
        },
        "image": {
          "type": "string",
          "description": "The source image id, image slug or snapshot id of the instance. The image version can also specified together with the\nimage slug in this format `<image-slug>:<version>`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, the resource will be\nreplaced.\n"
        },
        "imageId": {
          "type": "string",
          "description": "The resulting image ID of the instance.\n"
        },
        "metadata": {
          "$ref": "#/types/genesiscloud:index%2FInstanceMetadata:InstanceMetadata",
          "description": "Option to provide metadata. Currently supported is `startup_script`.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the instance.\n"
        },
        "password": {
          "type": "string",
          "description": "The password to access the instance. Your password must have upper and lower chars, digits and length between 8-72.\n**Please Note**: Only one of `ssh_keys` or `password` can be provided. Password is less secure - we recommend you use an\nSSH key-pair. - If the value of this attribute changes, the resource will be replaced. - The string length must be at\nleast 16.\n",
          "secret": true
        },
        "placementOption": {
          "type": "string",
          "description": "The placement option identifier in which instances are physically located relative to each other within a zone. For\nexample A or B. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "privateIp": {
          "type": "string",
          "description": "The private IPv4 IP-Address (IPv4 address).\n"
        },
        "publicIp": {
          "type": "string",
          "description": "The public IPv4 IP-Address (IPv4 address).\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "reservationId": {
          "type": "string",
          "description": "The id of the reservation the instance is associated with.\n"
        },
        "securityGroupIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The security groups of the instance. If not provided will be set to the default security group.\n"
        },
        "sshKeyIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The ssh keys of the instance. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "status": {
          "type": "string",
          "description": "The instance status.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FInstanceTimeouts:InstanceTimeouts"
        },
        "type": {
          "type": "string",
          "description": "The instance type identifier. Learn more about instance types\n[here](https://developers.genesiscloud.com/instances#instance-types). - If the value of this attribute changes, the\nresource will be replaced.\n"
        },
        "updatedAt": {
          "type": "string",
          "description": "The timestamp when this image was last updated in RFC 3339.\n"
        },
        "volumeIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The volumes of the instance.\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "diskSize",
        "dnsName",
        "hostname",
        "image",
        "imageId",
        "name",
        "placementOption",
        "privateIp",
        "publicIp",
        "region",
        "securityGroupIds",
        "status",
        "type",
        "updatedAt",
        "volumeIds"
      ],
      "inputProperties": {
        "diskSize": {
          "type": "integer",
          "description": "The disk size of the instance in GB.\n"
        },
        "floatingIpId": {
          "type": "string",
          "description": "The floating IP attached to the instance.\n"
        },
        "hostname": {
          "type": "string"
        },
        "image": {
          "type": "string",
          "description": "The source image id, image slug or snapshot id of the instance. The image version can also specified together with the\nimage slug in this format `<image-slug>:<version>`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, the resource will be\nreplaced.\n"
        },
        "metadata": {
          "$ref": "#/types/genesiscloud:index%2FInstanceMetadata:InstanceMetadata",
          "description": "Option to provide metadata. Currently supported is `startup_script`.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the instance.\n"
        },
        "password": {
          "type": "string",
          "description": "The password to access the instance. Your password must have upper and lower chars, digits and length between 8-72.\n**Please Note**: Only one of `ssh_keys` or `password` can be provided. Password is less secure - we recommend you use an\nSSH key-pair. - If the value of this attribute changes, the resource will be replaced. - The string length must be at\nleast 16.\n",
          "secret": true
        },
        "placementOption": {
          "type": "string",
          "description": "The placement option identifier in which instances are physically located relative to each other within a zone. For\nexample A or B. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "reservationId": {
          "type": "string",
          "description": "The id of the reservation the instance is associated with.\n"
        },
        "securityGroupIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The security groups of the instance. If not provided will be set to the default security group.\n"
        },
        "sshKeyIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The ssh keys of the instance. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FInstanceTimeouts:InstanceTimeouts"
        },
        "type": {
          "type": "string",
          "description": "The instance type identifier. Learn more about instance types\n[here](https://developers.genesiscloud.com/instances#instance-types). - If the value of this attribute changes, the\nresource will be replaced.\n"
        },
        "volumeIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The volumes of the instance.\n"
        }
      },
      "requiredInputs": [
        "image",
        "region",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Instance resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this image was created in RFC 3339.\n"
          },
          "diskSize": {
            "type": "integer",
            "description": "The disk size of the instance in GB.\n"
          },
          "dnsName": {
            "type": "string",
            "description": "The dns name of the instance.\n"
          },
          "floatingIpId": {
            "type": "string",
            "description": "The floating IP attached to the instance.\n"
          },
          "hostname": {
            "type": "string"
          },
          "image": {
            "type": "string",
            "description": "The source image id, image slug or snapshot id of the instance. The image version can also specified together with the\nimage slug in this format `<image-slug>:<version>`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, the resource will be\nreplaced.\n"
          },
          "imageId": {
            "type": "string",
            "description": "The resulting image ID of the instance.\n"
          },
          "metadata": {
            "$ref": "#/types/genesiscloud:index%2FInstanceMetadata:InstanceMetadata",
            "description": "Option to provide metadata. Currently supported is `startup_script`.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the instance.\n"
          },
          "password": {
            "type": "string",
            "description": "The password to access the instance. Your password must have upper and lower chars, digits and length between 8-72.\n**Please Note**: Only one of `ssh_keys` or `password` can be provided. Password is less secure - we recommend you use an\nSSH key-pair. - If the value of this attribute changes, the resource will be replaced. - The string length must be at\nleast 16.\n",
            "secret": true
          },
          "placementOption": {
            "type": "string",
            "description": "The placement option identifier in which instances are physically located relative to each other within a zone. For\nexample A or B. - If the value of this attribute changes, the resource will be replaced.\n"
          },
          "privateIp": {
            "type": "string",
            "description": "The private IPv4 IP-Address (IPv4 address).\n"
          },
          "publicIp": {
            "type": "string",
            "description": "The public IPv4 IP-Address (IPv4 address).\n"
          },
          "region": {
            "type": "string",
            "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
          },
          "reservationId": {
            "type": "string",
            "description": "The id of the reservation the instance is associated with.\n"
          },
          "securityGroupIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The security groups of the instance. If not provided will be set to the default security group.\n"
          },
          "sshKeyIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The ssh keys of the instance. - If the value of this attribute changes, the resource will be replaced.\n"
          },
          "status": {
            "type": "string",
            "description": "The instance status.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FInstanceTimeouts:InstanceTimeouts"
          },
          "type": {
            "type": "string",
            "description": "The instance type identifier. Learn more about instance types\n[here](https://developers.genesiscloud.com/instances#instance-types). - If the value of this attribute changes, the\nresource will be replaced.\n"
          },
          "updatedAt": {
            "type": "string",
            "description": "The timestamp when this image was last updated in RFC 3339.\n"
          },
          "volumeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The volumes of the instance.\n"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/instanceStatus:InstanceStatus": {
      "description": "InstanceStatus resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst exampleInstance = new genesiscloud.Instance(\"exampleInstance\", {\n    region: \"NORD-NO-KRS-1\",\n    image: \"ubuntu:22.04\",\n    type: \"vcpu-2_memory-4g\",\n    sshKeyIds: [\"my-ssh-key-id\"],\n});\nconst exampleInstanceStatus = new genesiscloud.InstanceStatus(\"exampleInstanceStatus\", {\n    instanceId: exampleInstance.id,\n    status: \"active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nexample_instance = genesiscloud.Instance(\"exampleInstance\",\n    region=\"NORD-NO-KRS-1\",\n    image=\"ubuntu:22.04\",\n    type=\"vcpu-2_memory-4g\",\n    ssh_key_ids=[\"my-ssh-key-id\"])\nexample_instance_status = genesiscloud.InstanceStatus(\"exampleInstanceStatus\",\n    instance_id=example_instance.id,\n    status=\"active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleInstance = new Genesiscloud.Instance(\"exampleInstance\", new()\n    {\n        Region = \"NORD-NO-KRS-1\",\n        Image = \"ubuntu:22.04\",\n        Type = \"vcpu-2_memory-4g\",\n        SshKeyIds = new[]\n        {\n            \"my-ssh-key-id\",\n        },\n    });\n\n    var exampleInstanceStatus = new Genesiscloud.InstanceStatus(\"exampleInstanceStatus\", new()\n    {\n        InstanceId = exampleInstance.Id,\n        Status = \"active\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleInstance, err := genesiscloud.NewInstance(ctx, \"exampleInstance\", &genesiscloud.InstanceArgs{\n\t\t\tRegion: pulumi.String(\"NORD-NO-KRS-1\"),\n\t\t\tImage:  pulumi.String(\"ubuntu:22.04\"),\n\t\t\tType:   pulumi.String(\"vcpu-2_memory-4g\"),\n\t\t\tSshKeyIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-ssh-key-id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = genesiscloud.NewInstanceStatus(ctx, \"exampleInstanceStatus\", &genesiscloud.InstanceStatusArgs{\n\t\t\tInstanceId: exampleInstance.ID(),\n\t\t\tStatus:     pulumi.String(\"active\"),\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.genesiscloud.Instance;\nimport com.pulumi.genesiscloud.InstanceArgs;\nimport com.pulumi.genesiscloud.InstanceStatus;\nimport com.pulumi.genesiscloud.InstanceStatusArgs;\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 exampleInstance = new Instance(\"exampleInstance\", InstanceArgs.builder()\n            .region(\"NORD-NO-KRS-1\")\n            .image(\"ubuntu:22.04\")\n            .type(\"vcpu-2_memory-4g\")\n            .sshKeyIds(\"my-ssh-key-id\")\n            .build());\n\n        var exampleInstanceStatus = new InstanceStatus(\"exampleInstanceStatus\", InstanceStatusArgs.builder()\n            .instanceId(exampleInstance.id())\n            .status(\"active\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleInstance:\n    type: genesiscloud:Instance\n    properties:\n      region: NORD-NO-KRS-1\n      image: ubuntu:22.04\n      type: vcpu-2_memory-4g\n      sshKeyIds:\n        - my-ssh-key-id\n  exampleInstanceStatus:\n    type: genesiscloud:InstanceStatus\n    properties:\n      instanceId: ${exampleInstance.id}\n      status: active\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/instanceStatus:InstanceStatus example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "instanceId": {
          "type": "string",
          "description": "The id of the instance this refers to. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "status": {
          "type": "string",
          "description": "The target instance status. - The value must be one of: [\"active\" \"stopped\"].\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FInstanceStatusTimeouts:InstanceStatusTimeouts"
        }
      },
      "type": "object",
      "required": [
        "instanceId",
        "status"
      ],
      "inputProperties": {
        "instanceId": {
          "type": "string",
          "description": "The id of the instance this refers to. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "status": {
          "type": "string",
          "description": "The target instance status. - The value must be one of: [\"active\" \"stopped\"].\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FInstanceStatusTimeouts:InstanceStatusTimeouts"
        }
      },
      "requiredInputs": [
        "instanceId",
        "status"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering InstanceStatus resources.\n",
        "properties": {
          "instanceId": {
            "type": "string",
            "description": "The id of the instance this refers to. - If the value of this attribute changes, the resource will be replaced.\n"
          },
          "status": {
            "type": "string",
            "description": "The target instance status. - The value must be one of: [\"active\" \"stopped\"].\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FInstanceStatusTimeouts:InstanceStatusTimeouts"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/sSHKey:SSHKey": {
      "description": "SSH key resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.SSHKey(\"example\", {publicKey: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBOpdKM8wSI07+PO4xLDL7zW/kNWGbdFXeHyBU1TRlBn alice@example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nexample = genesiscloud.SSHKey(\"example\", public_key=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBOpdKM8wSI07+PO4xLDL7zW/kNWGbdFXeHyBU1TRlBn alice@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Genesiscloud.SSHKey(\"example\", new()\n    {\n        PublicKey = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBOpdKM8wSI07+PO4xLDL7zW/kNWGbdFXeHyBU1TRlBn alice@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\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 := genesiscloud.NewSSHKey(ctx, \"example\", &genesiscloud.SSHKeyArgs{\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBOpdKM8wSI07+PO4xLDL7zW/kNWGbdFXeHyBU1TRlBn alice@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.genesiscloud.SSHKey;\nimport com.pulumi.genesiscloud.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 example = new SSHKey(\"example\", SSHKeyArgs.builder()\n            .publicKey(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBOpdKM8wSI07+PO4xLDL7zW/kNWGbdFXeHyBU1TRlBn alice@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: genesiscloud:SSHKey\n    properties:\n      publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBOpdKM8wSI07+PO4xLDL7zW/kNWGbdFXeHyBU1TRlBn alice@example.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/sSHKey:SSHKey example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this SSH key was created in RFC 3339.\n"
        },
        "fingerprint": {
          "type": "string",
          "description": "The fingerprint of the SSH key.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the SSH key.\n"
        },
        "publicKey": {
          "type": "string",
          "description": "SSH public key. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FSSHKeyTimeouts:SSHKeyTimeouts"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "fingerprint",
        "name",
        "publicKey"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The human-readable name for the SSH key.\n"
        },
        "publicKey": {
          "type": "string",
          "description": "SSH public key. - If the value of this attribute changes, the resource will be replaced.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FSSHKeyTimeouts:SSHKeyTimeouts"
        }
      },
      "requiredInputs": [
        "publicKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SSHKey resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this SSH key was created in RFC 3339.\n"
          },
          "fingerprint": {
            "type": "string",
            "description": "The fingerprint of the SSH key.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the SSH key.\n"
          },
          "publicKey": {
            "type": "string",
            "description": "SSH public key. - If the value of this attribute changes, the resource will be replaced.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FSSHKeyTimeouts:SSHKeyTimeouts"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/securityGroup:SecurityGroup": {
      "description": "Security group resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.genesiscloud.SecurityGroup;\nimport com.pulumi.genesiscloud.SecurityGroupArgs;\nimport com.pulumi.genesiscloud.inputs.SecurityGroupRuleArgs;\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 allow_https = new SecurityGroup(\"allow-https\", SecurityGroupArgs.builder()\n            .region(\"NORD-NO-KRS-1\")\n            .rules(SecurityGroupRuleArgs.builder()\n                .direction(\"ingress\")\n                .port_range_max(443)\n                .port_range_min(443)\n                .protocol(\"tcp\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  allow-https:\n    type: genesiscloud:SecurityGroup\n    properties:\n      region: NORD-NO-KRS-1\n      rules:\n        - direction: ingress\n          port_range_max: 443\n          port_range_min: 443\n          protocol: tcp\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/securityGroup:SecurityGroup example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this security group was created in RFC 3339.\n"
        },
        "description": {
          "type": "string",
          "description": "The human-readable description for the security group. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the security group.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/genesiscloud:index%2FSecurityGroupRule:SecurityGroupRule"
          }
        },
        "status": {
          "type": "string",
          "description": "The security group status.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FSecurityGroupTimeouts:SecurityGroupTimeouts"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "description",
        "name",
        "region",
        "rules",
        "status"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The human-readable description for the security group. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the security group.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/genesiscloud:index%2FSecurityGroupRule:SecurityGroupRule"
          }
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FSecurityGroupTimeouts:SecurityGroupTimeouts"
        }
      },
      "requiredInputs": [
        "region",
        "rules"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SecurityGroup resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this security group was created in RFC 3339.\n"
          },
          "description": {
            "type": "string",
            "description": "The human-readable description for the security group. - Sets the default value \"\" if the attribute is not set.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the security group.\n"
          },
          "region": {
            "type": "string",
            "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/genesiscloud:index%2FSecurityGroupRule:SecurityGroupRule"
            }
          },
          "status": {
            "type": "string",
            "description": "The security group status.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FSecurityGroupTimeouts:SecurityGroupTimeouts"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/snapshot:Snapshot": {
      "description": "Snapshot resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  target:\n    type: genesiscloud:Instance\n  example:\n    type: genesiscloud:Snapshot\n    properties:\n      instanceId: ${target.id}\n      retainOnDelete: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/snapshot:Snapshot example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this snapshot was created in RFC 3339.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the snapshot.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. Should only be explicity specified when using the 'source_snapshot_id'.\n"
        },
        "replicatedRegion": {
          "type": "string",
          "description": "Target region for snapshot replication. When specified, also creates a copy of the snapshot in the given region. If\nomitted, the snapshot exists only in the current region.\n"
        },
        "retainOnDelete": {
          "type": "boolean",
          "description": "Flag to retain the snapshot when the resource is deleted. - Sets the default value \"false\" if the attribute is not set.\n"
        },
        "size": {
          "type": "integer",
          "description": "The storage size of this snapshot given in GiB.\n"
        },
        "sourceInstanceId": {
          "type": "string",
          "description": "The id of the source instance from which this snapshot was derived. - If the value of this attribute changes, the\nresource will be replaced.\n"
        },
        "sourceSnapshotId": {
          "type": "string",
          "description": "The id of the source snapshot from which this snapsot was derived. - If the value of this attribute changes, the\nresource will be replaced.\n"
        },
        "status": {
          "type": "string",
          "description": "The snapshot status.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FSnapshotTimeouts:SnapshotTimeouts"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "name",
        "region",
        "retainOnDelete",
        "size",
        "status"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The human-readable name for the snapshot.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. Should only be explicity specified when using the 'source_snapshot_id'.\n"
        },
        "replicatedRegion": {
          "type": "string",
          "description": "Target region for snapshot replication. When specified, also creates a copy of the snapshot in the given region. If\nomitted, the snapshot exists only in the current region.\n"
        },
        "retainOnDelete": {
          "type": "boolean",
          "description": "Flag to retain the snapshot when the resource is deleted. - Sets the default value \"false\" if the attribute is not set.\n"
        },
        "sourceInstanceId": {
          "type": "string",
          "description": "The id of the source instance from which this snapshot was derived. - If the value of this attribute changes, the\nresource will be replaced.\n"
        },
        "sourceSnapshotId": {
          "type": "string",
          "description": "The id of the source snapshot from which this snapsot was derived. - If the value of this attribute changes, the\nresource will be replaced.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FSnapshotTimeouts:SnapshotTimeouts"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Snapshot resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this snapshot was created in RFC 3339.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the snapshot.\n"
          },
          "region": {
            "type": "string",
            "description": "The region identifier. Should only be explicity specified when using the 'source_snapshot_id'.\n"
          },
          "replicatedRegion": {
            "type": "string",
            "description": "Target region for snapshot replication. When specified, also creates a copy of the snapshot in the given region. If\nomitted, the snapshot exists only in the current region.\n"
          },
          "retainOnDelete": {
            "type": "boolean",
            "description": "Flag to retain the snapshot when the resource is deleted. - Sets the default value \"false\" if the attribute is not set.\n"
          },
          "size": {
            "type": "integer",
            "description": "The storage size of this snapshot given in GiB.\n"
          },
          "sourceInstanceId": {
            "type": "string",
            "description": "The id of the source instance from which this snapshot was derived. - If the value of this attribute changes, the\nresource will be replaced.\n"
          },
          "sourceSnapshotId": {
            "type": "string",
            "description": "The id of the source snapshot from which this snapsot was derived. - If the value of this attribute changes, the\nresource will be replaced.\n"
          },
          "status": {
            "type": "string",
            "description": "The snapshot status.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FSnapshotTimeouts:SnapshotTimeouts"
          }
        },
        "type": "object"
      }
    },
    "genesiscloud:index/volume:Volume": {
      "description": "Volume resource\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Volume(\"example\", {\n    region: \"NORD-NO-KRS-1\",\n    size: 50,\n    type: \"hdd\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nexample = genesiscloud.Volume(\"example\",\n    region=\"NORD-NO-KRS-1\",\n    size=50,\n    type=\"hdd\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Genesiscloud.Volume(\"example\", new()\n    {\n        Region = \"NORD-NO-KRS-1\",\n        Size = 50,\n        Type = \"hdd\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\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 := genesiscloud.NewVolume(ctx, \"example\", &genesiscloud.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"NORD-NO-KRS-1\"),\n\t\t\tSize:   pulumi.Int(50),\n\t\t\tType:   pulumi.String(\"hdd\"),\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.genesiscloud.Volume;\nimport com.pulumi.genesiscloud.VolumeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Volume(\"example\", VolumeArgs.builder()\n            .region(\"NORD-NO-KRS-1\")\n            .size(50)\n            .type(\"hdd\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: genesiscloud:Volume\n    properties:\n      region: NORD-NO-KRS-1\n      size: 50\n      type: hdd\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import genesiscloud:index/volume:Volume example 18efeec8-94f0-4776-8ff2-5e9b49c74608\n```\n\n",
      "properties": {
        "createdAt": {
          "type": "string",
          "description": "The timestamp when this volume was created in RFC 3339.\n"
        },
        "description": {
          "type": "string",
          "description": "The human-readable description for the volume. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the volume.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "retainOnDelete": {
          "type": "boolean",
          "description": "Flag to retain the volume when the resource is deleted - Sets the default value \"false\" if the attribute is not set.\n"
        },
        "size": {
          "type": "integer",
          "description": "The storage size of this volume given in GiB. - The value must be at least 1.\n"
        },
        "status": {
          "type": "string",
          "description": "The volume status.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FVolumeTimeouts:VolumeTimeouts"
        },
        "type": {
          "type": "string",
          "description": "The storage type of the volume. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"hdd\" \"ssd\"].\n"
        }
      },
      "type": "object",
      "required": [
        "createdAt",
        "description",
        "name",
        "region",
        "retainOnDelete",
        "size",
        "status",
        "type"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The human-readable description for the volume. - Sets the default value \"\" if the attribute is not set.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the volume.\n"
        },
        "region": {
          "type": "string",
          "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
        },
        "retainOnDelete": {
          "type": "boolean",
          "description": "Flag to retain the volume when the resource is deleted - Sets the default value \"false\" if the attribute is not set.\n"
        },
        "size": {
          "type": "integer",
          "description": "The storage size of this volume given in GiB. - The value must be at least 1.\n"
        },
        "timeouts": {
          "$ref": "#/types/genesiscloud:index%2FVolumeTimeouts:VolumeTimeouts"
        },
        "type": {
          "type": "string",
          "description": "The storage type of the volume. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"hdd\" \"ssd\"].\n"
        }
      },
      "requiredInputs": [
        "region",
        "size",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Volume resources.\n",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "The timestamp when this volume was created in RFC 3339.\n"
          },
          "description": {
            "type": "string",
            "description": "The human-readable description for the volume. - Sets the default value \"\" if the attribute is not set.\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the volume.\n"
          },
          "region": {
            "type": "string",
            "description": "The region identifier. - If the value of this attribute changes, the resource will be replaced. - The value must be one\nof: [\"EUC-DE-MUC-1\" \"EUW-GB-MNC-1\" \"EUW-NL-AMS-1\" \"NA-CA-FTS-1\" \"NA-CA-MNZ-1\" \"NA-CA-PRG-1\" \"NORD-NO-KRS-1\"].\n"
          },
          "retainOnDelete": {
            "type": "boolean",
            "description": "Flag to retain the volume when the resource is deleted - Sets the default value \"false\" if the attribute is not set.\n"
          },
          "size": {
            "type": "integer",
            "description": "The storage size of this volume given in GiB. - The value must be at least 1.\n"
          },
          "status": {
            "type": "string",
            "description": "The volume status.\n"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FVolumeTimeouts:VolumeTimeouts"
          },
          "type": {
            "type": "string",
            "description": "The storage type of the volume. - If the value of this attribute changes, the resource will be replaced. - The value\nmust be one of: [\"hdd\" \"ssd\"].\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "genesiscloud:index/images:Images": {
      "description": "Images data source\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@pulumi/genesiscloud\";\n\nconst cloud-images = genesiscloud.Images({\n    filter: {\n        type: \"cloud-image\",\n    },\n});\nconst snapshots = genesiscloud.Images({\n    filter: {\n        region: \"NORD-NO-KRS-1\",\n        type: \"snapshot\",\n    },\n});\nconst preconfigured-images = genesiscloud.Images({\n    filter: {\n        type: \"preconfigured\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\ncloud_images = genesiscloud.images(filter={\n    \"type\": \"cloud-image\",\n})\nsnapshots = genesiscloud.images(filter={\n    \"region\": \"NORD-NO-KRS-1\",\n    \"type\": \"snapshot\",\n})\npreconfigured_images = genesiscloud.images(filter={\n    \"type\": \"preconfigured\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = Pulumi.Genesiscloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloud_images = Genesiscloud.Images.Invoke(new()\n    {\n        Filter = new Genesiscloud.Inputs.ImagesFilterInputArgs\n        {\n            Type = \"cloud-image\",\n        },\n    });\n\n    var snapshots = Genesiscloud.Images.Invoke(new()\n    {\n        Filter = new Genesiscloud.Inputs.ImagesFilterInputArgs\n        {\n            Region = \"NORD-NO-KRS-1\",\n            Type = \"snapshot\",\n        },\n    });\n\n    var preconfigured_images = Genesiscloud.Images.Invoke(new()\n    {\n        Filter = new Genesiscloud.Inputs.ImagesFilterInputArgs\n        {\n            Type = \"preconfigured\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/genesiscloud/pulumi-genesiscloud/sdk/go/genesiscloud\"\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 := genesiscloud.Images(ctx, \u0026genesiscloud.ImagesArgs{\n\t\t\tFilter: genesiscloud.ImagesFilter{\n\t\t\t\tType: \"cloud-image\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = genesiscloud.Images(ctx, \u0026genesiscloud.ImagesArgs{\n\t\t\tFilter: genesiscloud.ImagesFilter{\n\t\t\t\tRegion: pulumi.StringRef(\"NORD-NO-KRS-1\"),\n\t\t\t\tType:   \"snapshot\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = genesiscloud.Images(ctx, \u0026genesiscloud.ImagesArgs{\n\t\t\tFilter: genesiscloud.ImagesFilter{\n\t\t\t\tType: \"preconfigured\",\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.genesiscloud.GenesiscloudFunctions;\nimport com.pulumi.genesiscloud.inputs.ImagesArgs;\nimport com.pulumi.genesiscloud.inputs.ImagesFilterArgs;\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 cloud-images = GenesiscloudFunctions.Images(ImagesArgs.builder()\n            .filter(ImagesFilterArgs.builder()\n                .type(\"cloud-image\")\n                .build())\n            .build());\n\n        final var snapshots = GenesiscloudFunctions.Images(ImagesArgs.builder()\n            .filter(ImagesFilterArgs.builder()\n                .region(\"NORD-NO-KRS-1\")\n                .type(\"snapshot\")\n                .build())\n            .build());\n\n        final var preconfigured-images = GenesiscloudFunctions.Images(ImagesArgs.builder()\n            .filter(ImagesFilterArgs.builder()\n                .type(\"preconfigured\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  cloud-images:\n    fn::invoke:\n      Function: genesiscloud:Images\n      Arguments:\n        filter:\n          type: cloud-image\n  snapshots:\n    fn::invoke:\n      Function: genesiscloud:Images\n      Arguments:\n        filter:\n          region: NORD-NO-KRS-1\n          type: snapshot\n  preconfigured-images:\n    fn::invoke:\n      Function: genesiscloud:Images\n      Arguments:\n        filter:\n          type: preconfigured\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking Images.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/genesiscloud:index%2FImagesFilter:ImagesFilter"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FImagesTimeouts:ImagesTimeouts"
          }
        },
        "type": "object",
        "required": [
          "filter"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by Images.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/genesiscloud:index%2FImagesFilter:ImagesFilter"
          },
          "id": {
            "type": "string"
          },
          "images": {
            "items": {
              "$ref": "#/types/genesiscloud:index%2FImagesImage:ImagesImage"
            },
            "type": "array"
          },
          "timeouts": {
            "$ref": "#/types/genesiscloud:index%2FImagesTimeouts:ImagesTimeouts"
          }
        },
        "required": [
          "filter",
          "id",
          "images"
        ],
        "type": "object"
      }
    }
  }
}
