diff --git a/Makefile b/Makefile index 4a49b41..c92e0d6 100644 --- a/Makefile +++ b/Makefile @@ -12,13 +12,13 @@ VERSION_PATH := ${PROVIDER_PATH}/pkg/version.Version TFGEN := pulumi-tfgen-${PACK} PROVIDER := pulumi-resource-${PACK} -VERSION := v0.0.26 +VERSION := v0.0.27 TESTPARALLELISM := 4 WORKING_DIR := $(shell pwd) -.PHONY: development provider build_sdks build_nodejs build_go build_python build_dotnet cleanup +.PHONY: development provider build_sdks build_nodejs build_go build_python build_dotnet cleanup development:: install_plugins provider lint_provider build_sdks install_sdks cleanup # Build the provider & SDKs for a development environment @@ -102,4 +102,3 @@ install_sdks:: install_dotnet_sdk install_python_sdk install_nodejs_sdk test:: cd examples && go test -v -tags=all -parallel ${TESTPARALLELISM} -timeout 2h - diff --git a/genesiscloudshim/go.mod b/genesiscloudshim/go.mod index d7df0bd..7bcd85a 100644 --- a/genesiscloudshim/go.mod +++ b/genesiscloudshim/go.mod @@ -7,7 +7,7 @@ toolchain go1.22.1 replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230912190043-e6d96b3b8f7e require ( - github.com/genesiscloud/terraform-provider-genesiscloud v1.1.7 + github.com/genesiscloud/terraform-provider-genesiscloud v1.1.8 github.com/hashicorp/terraform-plugin-framework v1.8.0 ) diff --git a/provider/cmd/pulumi-resource-genesiscloud/bridge-metadata.json b/provider/cmd/pulumi-resource-genesiscloud/bridge-metadata.json index 7bdf3fb..f7308c7 100644 --- a/provider/cmd/pulumi-resource-genesiscloud/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-genesiscloud/bridge-metadata.json @@ -105,6 +105,7 @@ "genesiscloud:index/instance:Instance": { "createdAt": "created_at", "diskSize": "disk_size", + "dnsName": "dns_name", "floatingIpId": "floating_ip_id", "imageId": "image_id", "placementOption": "placement_option", diff --git a/provider/cmd/pulumi-resource-genesiscloud/schema.json b/provider/cmd/pulumi-resource-genesiscloud/schema.json index afb227d..fef604e 100644 --- a/provider/cmd/pulumi-resource-genesiscloud/schema.json +++ b/provider/cmd/pulumi-resource-genesiscloud/schema.json @@ -1,1005 +1 @@ -{ - "name": "genesiscloud", - "displayName": "Genesis Cloud", - "version": "v0.0.26", - "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\u0026v=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": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-genesiscloud` repo](https://github.com/genesiscloud/pulumi-genesiscloud/issues); however, if that doesn't turn up anything,\n\u003e 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": "\u003e=3.0.0,\u003c4.0.0" }, - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-genesiscloud` repo](https://github.com/genesiscloud/pulumi-genesiscloud/issues); however, if that doesn't turn up anything,\n\u003e 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: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "type": { - "type": "string", - "description": "Filter by the kind of image.\n - The value must be one of: [\"base-os\" \"cloud-image\" \"preconfigured\" \"snapshot\"].\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" } }, - "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 - } - }, - "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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(() =\u003e \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\", \u0026genesiscloud.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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will\ndestroy and recreate the resource. - The value must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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/FilesystemTimeouts:FilesystemTimeouts" }, - "type": { - "type": "string", - "description": "The storage type of the filesystem. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"vast\"].\n" - } - }, - "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, Terraform will\ndestroy and recreate the resource. - The value must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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/FilesystemTimeouts:FilesystemTimeouts" }, - "type": { - "type": "string", - "description": "The storage type of the filesystem. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must 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, Terraform will\ndestroy and recreate the resource. - The value must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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/FilesystemTimeouts:FilesystemTimeouts" }, - "type": { - "type": "string", - "description": "The storage type of the filesystem. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"vast\"].\n" - } - }, - "type": "object" - } - }, - "genesiscloud:index/floatingIp:FloatingIp": { - "description": "floating IP resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst floatingIp = new genesiscloud.FloatingIp(\"floatingIp\", {\n description: \"The description for you terraform floating IP.\",\n region: \"ARC-IS-HAF-1\",\n version: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nfloating_ip = genesiscloud.FloatingIp(\"floatingIp\",\n description=\"The description for you terraform floating IP.\",\n region=\"ARC-IS-HAF-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(() =\u003e \n{\n var floatingIp = new Genesiscloud.FloatingIp(\"floatingIp\", new()\n {\n Description = \"The description for you terraform floating IP.\",\n Region = \"ARC-IS-HAF-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\", \u0026genesiscloud.FloatingIpArgs{\n\t\t\tDescription: pulumi.String(\"The description for you terraform floating IP.\"),\n\t\t\tRegion: pulumi.String(\"ARC-IS-HAF-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 .description(\"The description for you terraform floating IP.\")\n .region(\"ARC-IS-HAF-1\")\n .version(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n floatingIp:\n type: genesiscloud:FloatingIp\n properties:\n description: The description for you terraform floating IP.\n region: ARC-IS-HAF-1\n version: ipv4\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "status": { "type": "string", "description": "The floating IP status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/FloatingIpTimeouts: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, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"ipv4\"].\n" - } - }, - "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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/FloatingIpTimeouts:FloatingIpTimeouts" }, - "version": { - "type": "string", - "description": "The version of the floating IP. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must 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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "status": { "type": "string", "description": "The floating IP status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/FloatingIpTimeouts: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, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"ipv4\"].\n" - } - }, - "type": "object" - } - }, - "genesiscloud:index/instance:Instance": { - "description": "Instance resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Instance(\"example\", {\n image: \"my-image-id\",\n region: \"ARC-IS-HAF-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=\"my-image-id\",\n region=\"ARC-IS-HAF-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(() =\u003e \n{\n var example = new Genesiscloud.Instance(\"example\", new()\n {\n Image = \"my-image-id\",\n Region = \"ARC-IS-HAF-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\", \u0026genesiscloud.InstanceArgs{\n\t\t\tImage: pulumi.String(\"my-image-id\"),\n\t\t\tRegion: pulumi.String(\"ARC-IS-HAF-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(\"my-image-id\")\n .region(\"ARC-IS-HAF-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: my-image-id\n region: ARC-IS-HAF-1\n sshKeyIds:\n - my-ssh-key-id\n type: vcpu-2_memory-4g\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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" }, - "floatingIpId": { "type": "string", "description": "The floating IP attached to the instance.\n" }, - "hostname": { - "type": "string", - "description": "The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this\nattribute is configured and changes, Terraform will destroy and recreate the resource.\n" - }, - "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 `\u003cimage-slug\u003e:\u003cversion\u003e`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource.\n" - }, - "imageId": { "type": "string", "description": "The resulting image ID of the instance.\n" }, - "metadata": { - "$ref": "#/types/genesiscloud:index/InstanceMetadata: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, Terraform will destroy and recreate the resource. - The string\nlength must be at least 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, Terraform will destroy and recreate the resource.\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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, Terraform will destroy and recreate the\nresource.\n" - }, - "status": { "type": "string", "description": "The instance status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/InstanceTimeouts: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,\nTerraform will destroy and recreate the resource.\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" } - }, - "required": [ - "createdAt", - "diskSize", - "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", - "description": "The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this\nattribute is configured and changes, Terraform will destroy and recreate the resource.\n" - }, - "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 `\u003cimage-slug\u003e:\u003cversion\u003e`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource.\n" - }, - "metadata": { - "$ref": "#/types/genesiscloud:index/InstanceMetadata: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, Terraform will destroy and recreate the resource. - The string\nlength must be at least 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, Terraform will destroy and recreate the resource.\n" - }, - "region": { - "type": "string", - "description": "The region identifier. - If the value of this attribute changes, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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, Terraform will destroy and recreate the\nresource.\n" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/InstanceTimeouts: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,\nTerraform will destroy and recreate the resource.\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" }, - "floatingIpId": { "type": "string", "description": "The floating IP attached to the instance.\n" }, - "hostname": { - "type": "string", - "description": "The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this\nattribute is configured and changes, Terraform will destroy and recreate the resource.\n" - }, - "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 `\u003cimage-slug\u003e:\u003cversion\u003e`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource.\n" - }, - "imageId": { "type": "string", "description": "The resulting image ID of the instance.\n" }, - "metadata": { - "$ref": "#/types/genesiscloud:index/InstanceMetadata: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, Terraform will destroy and recreate the resource. - The string\nlength must be at least 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, Terraform will destroy and recreate the resource.\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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, Terraform will destroy and recreate the\nresource.\n" - }, - "status": { "type": "string", "description": "The instance status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/InstanceTimeouts: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,\nTerraform will destroy and recreate the resource.\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/sSHKey:SSHKey": { - "description": "SSH key resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(() =\u003e \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\", \u0026genesiscloud.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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource.\n" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SSHKeyTimeouts:SSHKeyTimeouts" } - }, - "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, Terraform will destroy and recreate the resource.\n" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SSHKeyTimeouts: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, Terraform will destroy and recreate the resource.\n" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SSHKeyTimeouts:SSHKeyTimeouts" } - }, - "type": "object" - } - }, - "genesiscloud:index/securityGroup:SecurityGroup": { - "description": "Security group resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"ARC-IS-HAF-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: ARC-IS-HAF-1\n rules:\n - direction: ingress\n port_range_max: 443\n port_range_min: 443\n protocol: tcp\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "rules": { - "type": "array", - "items": { "$ref": "#/types/genesiscloud:index/SecurityGroupRule:SecurityGroupRule" } - }, - "status": { "type": "string", "description": "The security group status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SecurityGroupTimeouts:SecurityGroupTimeouts" } - }, - "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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "rules": { - "type": "array", - "items": { "$ref": "#/types/genesiscloud:index/SecurityGroupRule:SecurityGroupRule" } - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SecurityGroupTimeouts: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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n" - }, - "rules": { - "type": "array", - "items": { "$ref": "#/types/genesiscloud:index/SecurityGroupRule:SecurityGroupRule" } - }, - "status": { "type": "string", "description": "The security group status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SecurityGroupTimeouts:SecurityGroupTimeouts" } - }, - "type": "object" - } - }, - "genesiscloud:index/snapshot:Snapshot": { - "description": "Snapshot resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst target = new genesiscloud.Instance(\"target\", {});\n// ...\nconst example = new genesiscloud.Snapshot(\"example\", {\n instanceId: target.id,\n retainOnDelete: true,\n});\n// optional\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\ntarget = genesiscloud.Instance(\"target\")\n# ...\nexample = genesiscloud.Snapshot(\"example\",\n instance_id=target.id,\n retain_on_delete=True)\n# optional\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var target = new Genesiscloud.Instance(\"target\");\n\n // ...\n var example = new Genesiscloud.Snapshot(\"example\", new()\n {\n InstanceId = target.Id,\n RetainOnDelete = true,\n });\n\n // optional\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\ttarget, err := genesiscloud.NewInstance(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = genesiscloud.NewSnapshot(ctx, \"example\", \u0026genesiscloud.SnapshotArgs{\n\t\t\tInstanceId: target.ID(),\n\t\t\tRetainOnDelete: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.genesiscloud.Instance;\nimport com.pulumi.genesiscloud.Snapshot;\nimport com.pulumi.genesiscloud.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var target = new Instance(\"target\");\n\n var example = new Snapshot(\"example\", SnapshotArgs.builder() \n .instanceId(target.id())\n .retainOnDelete(true)\n .build());\n\n }\n}\n```\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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" }, - "instanceId": { - "type": "string", - "description": "The id of the instance to snapshot. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource.\n" - }, - "name": { "type": "string", "description": "The human-readable name for the snapshot.\n" }, - "region": { "type": "string", "description": "The region identifier.\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 bytes.\n" }, - "status": { "type": "string", "description": "The snapshot status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts" } - }, - "required": ["createdAt", "instanceId", "name", "region", "retainOnDelete", "size", "status"], - "inputProperties": { - "instanceId": { - "type": "string", - "description": "The id of the instance to snapshot. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource.\n" - }, - "name": { "type": "string", "description": "The human-readable name for the snapshot.\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" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts" } - }, - "requiredInputs": ["instanceId"], - "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" - }, - "instanceId": { - "type": "string", - "description": "The id of the instance to snapshot. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource.\n" - }, - "name": { "type": "string", "description": "The human-readable name for the snapshot.\n" }, - "region": { "type": "string", "description": "The region identifier.\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 bytes.\n" }, - "status": { "type": "string", "description": "The snapshot status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts" } - }, - "type": "object" - } - }, - "genesiscloud:index/volume:Volume": { - "description": "Volume resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Volume(\"example\", {\n region: \"ARC-IS-HAF-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=\"ARC-IS-HAF-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(() =\u003e \n{\n var example = new Genesiscloud.Volume(\"example\", new()\n {\n Region = \"ARC-IS-HAF-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\", \u0026genesiscloud.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"ARC-IS-HAF-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(\"ARC-IS-HAF-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: ARC-IS-HAF-1\n size: 50\n type: hdd\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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. - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource. - The value must be at least 1.\n" - }, - "status": { "type": "string", "description": "The volume status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/VolumeTimeouts:VolumeTimeouts" }, - "type": { - "type": "string", - "description": "The storage type of the volume. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"hdd\" \"ssd\"].\n" - } - }, - "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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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. - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource. - The value must be at least 1.\n" - }, - "timeouts": { "$ref": "#/types/genesiscloud:index/VolumeTimeouts:VolumeTimeouts" }, - "type": { - "type": "string", - "description": "The storage type of the volume. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must 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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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. - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource. - The value must be at least 1.\n" - }, - "status": { "type": "string", "description": "The volume status.\n" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/VolumeTimeouts:VolumeTimeouts" }, - "type": { - "type": "string", - "description": "The storage type of the volume. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"hdd\" \"ssd\"].\n" - } - }, - "type": "object" - } - } - }, - "functions": { - "genesiscloud:index/images:Images": { - "description": "Images data source\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"ARC-IS-HAF-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=genesiscloud.ImagesFilterArgs(\n type=\"cloud-image\",\n))\nsnapshots = genesiscloud.images(filter=genesiscloud.ImagesFilterArgs(\n region=\"ARC-IS-HAF-1\",\n type=\"snapshot\",\n))\npreconfigured_images = genesiscloud.images(filter=genesiscloud.ImagesFilterArgs(\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 = \"ARC-IS-HAF-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(\"ARC-IS-HAF-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(\"ARC-IS-HAF-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: ARC-IS-HAF-1\n type: snapshot\n preconfigured-images:\n fn::invoke:\n Function: genesiscloud:Images\n Arguments:\n filter:\n type: preconfigured\n```\n{{% /example %}}\n{{% /examples %}}", - "inputs": { - "description": "A collection of arguments for invoking Images.\n", - "properties": { - "filter": { "$ref": "#/types/genesiscloud:index/ImagesFilter:ImagesFilter" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/ImagesTimeouts:ImagesTimeouts" } - }, - "type": "object", - "required": ["filter"] - }, - "outputs": { - "description": "A collection of values returned by Images.\n", - "properties": { - "filter": { "$ref": "#/types/genesiscloud:index/ImagesFilter:ImagesFilter" }, - "id": { "type": "string" }, - "images": { "items": { "$ref": "#/types/genesiscloud:index/ImagesImage:ImagesImage" }, "type": "array" }, - "timeouts": { "$ref": "#/types/genesiscloud:index/ImagesTimeouts:ImagesTimeouts" } - }, - "required": ["filter", "id", "images"], - "type": "object" - } - } - } -} +{"name":"genesiscloud","displayName":"Genesis Cloud","version":"v0.0.26","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\u0026v=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":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-genesiscloud` repo](https://github.com/genesiscloud/pulumi-genesiscloud/issues); however, if that doesn't turn up anything,\n\u003e 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":"\u003e=3.0.0,\u003c4.0.0"},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/genesiscloud/terraform-provider-genesiscloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-genesiscloud` repo](https://github.com/genesiscloud/pulumi-genesiscloud/issues); however, if that doesn't turn up anything,\n\u003e 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: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"type":{"type":"string","description":"Filter by the kind of image.\n - The value must be one of: [\"base-os\" \"cloud-image\" \"preconfigured\" \"snapshot\"].\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"}},"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}},"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{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(() =\u003e \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\", \u0026genesiscloud.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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will\ndestroy and recreate the resource. - The value must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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/FilesystemTimeouts:FilesystemTimeouts"},"type":{"type":"string","description":"The storage type of the filesystem. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"vast\"].\n"}},"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, Terraform will\ndestroy and recreate the resource. - The value must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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/FilesystemTimeouts:FilesystemTimeouts"},"type":{"type":"string","description":"The storage type of the filesystem. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must 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, Terraform will\ndestroy and recreate the resource. - The value must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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/FilesystemTimeouts:FilesystemTimeouts"},"type":{"type":"string","description":"The storage type of the filesystem. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"vast\"].\n"}},"type":"object"}},"genesiscloud:index/floatingIp:FloatingIp":{"description":"floating IP resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst floatingIp = new genesiscloud.FloatingIp(\"floatingIp\", {\n description: \"The description for you terraform floating IP.\",\n region: \"ARC-IS-HAF-1\",\n version: \"ipv4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\nfloating_ip = genesiscloud.FloatingIp(\"floatingIp\",\n description=\"The description for you terraform floating IP.\",\n region=\"ARC-IS-HAF-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(() =\u003e \n{\n var floatingIp = new Genesiscloud.FloatingIp(\"floatingIp\", new()\n {\n Description = \"The description for you terraform floating IP.\",\n Region = \"ARC-IS-HAF-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\", \u0026genesiscloud.FloatingIpArgs{\n\t\t\tDescription: pulumi.String(\"The description for you terraform floating IP.\"),\n\t\t\tRegion: pulumi.String(\"ARC-IS-HAF-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 .description(\"The description for you terraform floating IP.\")\n .region(\"ARC-IS-HAF-1\")\n .version(\"ipv4\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n floatingIp:\n type: genesiscloud:FloatingIp\n properties:\n description: The description for you terraform floating IP.\n region: ARC-IS-HAF-1\n version: ipv4\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"status":{"type":"string","description":"The floating IP status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/FloatingIpTimeouts: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, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"ipv4\"].\n"}},"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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/FloatingIpTimeouts:FloatingIpTimeouts"},"version":{"type":"string","description":"The version of the floating IP. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must 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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"status":{"type":"string","description":"The floating IP status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/FloatingIpTimeouts: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, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"ipv4\"].\n"}},"type":"object"}},"genesiscloud:index/instance:Instance":{"description":"Instance resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Instance(\"example\", {\n image: \"my-image-id\",\n region: \"ARC-IS-HAF-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=\"my-image-id\",\n region=\"ARC-IS-HAF-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(() =\u003e \n{\n var example = new Genesiscloud.Instance(\"example\", new()\n {\n Image = \"my-image-id\",\n Region = \"ARC-IS-HAF-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\", \u0026genesiscloud.InstanceArgs{\n\t\t\tImage: pulumi.String(\"my-image-id\"),\n\t\t\tRegion: pulumi.String(\"ARC-IS-HAF-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(\"my-image-id\")\n .region(\"ARC-IS-HAF-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: my-image-id\n region: ARC-IS-HAF-1\n sshKeyIds:\n - my-ssh-key-id\n type: vcpu-2_memory-4g\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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","description":"The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this\nattribute is configured and changes, Terraform will destroy and recreate the resource.\n"},"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 `\u003cimage-slug\u003e:\u003cversion\u003e`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource.\n"},"imageId":{"type":"string","description":"The resulting image ID of the instance.\n"},"metadata":{"$ref":"#/types/genesiscloud:index/InstanceMetadata: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, Terraform will destroy and recreate the resource. - The string\nlength must be at least 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, Terraform will destroy and recreate the resource.\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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, Terraform will destroy and recreate the\nresource.\n"},"status":{"type":"string","description":"The instance status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/InstanceTimeouts: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,\nTerraform will destroy and recreate the resource.\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"}},"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","description":"The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this\nattribute is configured and changes, Terraform will destroy and recreate the resource.\n"},"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 `\u003cimage-slug\u003e:\u003cversion\u003e`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource.\n"},"metadata":{"$ref":"#/types/genesiscloud:index/InstanceMetadata: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, Terraform will destroy and recreate the resource. - The string\nlength must be at least 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, Terraform will destroy and recreate the resource.\n"},"region":{"type":"string","description":"The region identifier. - If the value of this attribute changes, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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, Terraform will destroy and recreate the\nresource.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/InstanceTimeouts: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,\nTerraform will destroy and recreate the resource.\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","description":"The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this\nattribute is configured and changes, Terraform will destroy and recreate the resource.\n"},"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 `\u003cimage-slug\u003e:\u003cversion\u003e`. Learn more about images\n[here](https://developers.genesiscloud.com/images). - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource.\n"},"imageId":{"type":"string","description":"The resulting image ID of the instance.\n"},"metadata":{"$ref":"#/types/genesiscloud:index/InstanceMetadata: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, Terraform will destroy and recreate the resource. - The string\nlength must be at least 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, Terraform will destroy and recreate the resource.\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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, Terraform will destroy and recreate the\nresource.\n"},"status":{"type":"string","description":"The instance status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/InstanceTimeouts: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,\nTerraform will destroy and recreate the resource.\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/sSHKey:SSHKey":{"description":"SSH key resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(() =\u003e \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\", \u0026genesiscloud.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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SSHKeyTimeouts:SSHKeyTimeouts"}},"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, Terraform will destroy and recreate the resource.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SSHKeyTimeouts: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, Terraform will destroy and recreate the resource.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SSHKeyTimeouts:SSHKeyTimeouts"}},"type":"object"}},"genesiscloud:index/securityGroup:SecurityGroup":{"description":"Security group resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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(\"ARC-IS-HAF-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: ARC-IS-HAF-1\n rules:\n - direction: ingress\n port_range_max: 443\n port_range_min: 443\n protocol: tcp\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"rules":{"type":"array","items":{"$ref":"#/types/genesiscloud:index/SecurityGroupRule:SecurityGroupRule"}},"status":{"type":"string","description":"The security group status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SecurityGroupTimeouts:SecurityGroupTimeouts"}},"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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"rules":{"type":"array","items":{"$ref":"#/types/genesiscloud:index/SecurityGroupRule:SecurityGroupRule"}},"timeouts":{"$ref":"#/types/genesiscloud:index/SecurityGroupTimeouts: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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-1\" \"NORD-NO-KRS-1\"].\n"},"rules":{"type":"array","items":{"$ref":"#/types/genesiscloud:index/SecurityGroupRule:SecurityGroupRule"}},"status":{"type":"string","description":"The security group status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SecurityGroupTimeouts:SecurityGroupTimeouts"}},"type":"object"}},"genesiscloud:index/snapshot:Snapshot":{"description":"Snapshot resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst target = new genesiscloud.Instance(\"target\", {});\n// ...\nconst example = new genesiscloud.Snapshot(\"example\", {\n instanceId: target.id,\n retainOnDelete: true,\n});\n// optional\n```\n```python\nimport pulumi\nimport pulumi_genesiscloud as genesiscloud\n\ntarget = genesiscloud.Instance(\"target\")\n# ...\nexample = genesiscloud.Snapshot(\"example\",\n instance_id=target.id,\n retain_on_delete=True)\n# optional\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Genesiscloud = GenesisCloud.PulumiPackage.Genesiscloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var target = new Genesiscloud.Instance(\"target\");\n\n // ...\n var example = new Genesiscloud.Snapshot(\"example\", new()\n {\n InstanceId = target.Id,\n RetainOnDelete = true,\n });\n\n // optional\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\ttarget, err := genesiscloud.NewInstance(ctx, \"target\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = genesiscloud.NewSnapshot(ctx, \"example\", \u0026genesiscloud.SnapshotArgs{\n\t\t\tInstanceId: target.ID(),\n\t\t\tRetainOnDelete: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.genesiscloud.Instance;\nimport com.pulumi.genesiscloud.Snapshot;\nimport com.pulumi.genesiscloud.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var target = new Instance(\"target\");\n\n var example = new Snapshot(\"example\", SnapshotArgs.builder() \n .instanceId(target.id())\n .retainOnDelete(true)\n .build());\n\n }\n}\n```\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{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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"},"instanceId":{"type":"string","description":"The id of the instance to snapshot. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource.\n"},"name":{"type":"string","description":"The human-readable name for the snapshot.\n"},"region":{"type":"string","description":"The region identifier.\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 bytes.\n"},"status":{"type":"string","description":"The snapshot status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts"}},"required":["createdAt","instanceId","name","region","retainOnDelete","size","status"],"inputProperties":{"instanceId":{"type":"string","description":"The id of the instance to snapshot. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource.\n"},"name":{"type":"string","description":"The human-readable name for the snapshot.\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"},"timeouts":{"$ref":"#/types/genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts"}},"requiredInputs":["instanceId"],"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"},"instanceId":{"type":"string","description":"The id of the instance to snapshot. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource.\n"},"name":{"type":"string","description":"The human-readable name for the snapshot.\n"},"region":{"type":"string","description":"The region identifier.\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 bytes.\n"},"status":{"type":"string","description":"The snapshot status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/SnapshotTimeouts:SnapshotTimeouts"}},"type":"object"}},"genesiscloud:index/volume:Volume":{"description":"Volume resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as genesiscloud from \"@genesiscloud/pulumi-genesiscloud\";\n\nconst example = new genesiscloud.Volume(\"example\", {\n region: \"ARC-IS-HAF-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=\"ARC-IS-HAF-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(() =\u003e \n{\n var example = new Genesiscloud.Volume(\"example\", new()\n {\n Region = \"ARC-IS-HAF-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\", \u0026genesiscloud.VolumeArgs{\n\t\t\tRegion: pulumi.String(\"ARC-IS-HAF-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(\"ARC-IS-HAF-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: ARC-IS-HAF-1\n size: 50\n type: hdd\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\n\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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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. - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource. - The value must be at least 1.\n"},"status":{"type":"string","description":"The volume status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/VolumeTimeouts:VolumeTimeouts"},"type":{"type":"string","description":"The storage type of the volume. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"hdd\" \"ssd\"].\n"}},"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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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. - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource. - The value must be at least 1.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/VolumeTimeouts:VolumeTimeouts"},"type":{"type":"string","description":"The storage type of the volume. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must 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, Terraform will destroy and recreate the resource. - The\nvalue must be one of: [\"ARC-IS-HAF-1\" \"EUC-DE-MUC-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. - If the value of this attribute changes, Terraform will destroy and\nrecreate the resource. - The value must be at least 1.\n"},"status":{"type":"string","description":"The volume status.\n"},"timeouts":{"$ref":"#/types/genesiscloud:index/VolumeTimeouts:VolumeTimeouts"},"type":{"type":"string","description":"The storage type of the volume. - If the value of this attribute changes, Terraform will destroy and recreate the\nresource. - The value must be one of: [\"hdd\" \"ssd\"].\n"}},"type":"object"}}},"functions":{"genesiscloud:index/images:Images":{"description":"Images data source\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\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: \"ARC-IS-HAF-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=genesiscloud.ImagesFilterArgs(\n type=\"cloud-image\",\n))\nsnapshots = genesiscloud.images(filter=genesiscloud.ImagesFilterArgs(\n region=\"ARC-IS-HAF-1\",\n type=\"snapshot\",\n))\npreconfigured_images = genesiscloud.images(filter=genesiscloud.ImagesFilterArgs(\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 = \"ARC-IS-HAF-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(\"ARC-IS-HAF-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(\"ARC-IS-HAF-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: ARC-IS-HAF-1\n type: snapshot\n preconfigured-images:\n fn::invoke:\n Function: genesiscloud:Images\n Arguments:\n filter:\n type: preconfigured\n```\n{{% /example %}}\n{{% /examples %}}","inputs":{"description":"A collection of arguments for invoking Images.\n","properties":{"filter":{"$ref":"#/types/genesiscloud:index/ImagesFilter:ImagesFilter"},"timeouts":{"$ref":"#/types/genesiscloud:index/ImagesTimeouts:ImagesTimeouts"}},"type":"object","required":["filter"]},"outputs":{"description":"A collection of values returned by Images.\n","properties":{"filter":{"$ref":"#/types/genesiscloud:index/ImagesFilter:ImagesFilter"},"id":{"type":"string"},"images":{"items":{"$ref":"#/types/genesiscloud:index/ImagesImage:ImagesImage"},"type":"array"},"timeouts":{"$ref":"#/types/genesiscloud:index/ImagesTimeouts:ImagesTimeouts"}},"required":["filter","id","images"],"type":"object"}}}} \ No newline at end of file diff --git a/provider/go.mod b/provider/go.mod index e45f4bd..84bea58 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -78,8 +78,8 @@ require ( github.com/fatih/color v1.16.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect - github.com/genesiscloud/genesiscloud-go v1.0.8 // indirect - github.com/genesiscloud/terraform-provider-genesiscloud v1.1.7 // indirect + github.com/genesiscloud/genesiscloud-go v1.0.9 // indirect + github.com/genesiscloud/terraform-provider-genesiscloud v1.1.8 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-git/v5 v5.11.0 // indirect @@ -117,12 +117,12 @@ require ( github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect github.com/hashicorp/go-sockaddr v1.0.2 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect - github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/go-version v1.7.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl/v2 v2.20.1 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect - github.com/hashicorp/terraform-plugin-framework v1.8.0 // indirect + github.com/hashicorp/terraform-plugin-framework v1.9.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect github.com/hashicorp/terraform-plugin-go v0.23.0 // indirect @@ -223,7 +223,7 @@ require ( gocloud.dev/secrets/hashivault v0.27.0 // indirect golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect - golang.org/x/mod v0.16.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.17.0 // indirect golang.org/x/sync v0.6.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 3a60457..225ce4f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -787,8 +787,12 @@ github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 h1:Uc+IZ7gYqAf/rSG github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813/go.mod h1:P+oSoE9yhSRvsmYyZsshflcR6ePWYLql6UU1amW13IM= github.com/genesiscloud/genesiscloud-go v1.0.8 h1:HiRHHaST1UOgsIAko739LPICB9SkgafalJHVu26DdKk= github.com/genesiscloud/genesiscloud-go v1.0.8/go.mod h1:OAMjSCejQTC4BBLWXleegT/fg+X46SZ6t/vW9RPtXWg= +github.com/genesiscloud/genesiscloud-go v1.0.9 h1:IiRBbO7yRZYz9pBJbRfc3DRiai666T12k/4PvhZXOTw= +github.com/genesiscloud/genesiscloud-go v1.0.9/go.mod h1:OAMjSCejQTC4BBLWXleegT/fg+X46SZ6t/vW9RPtXWg= github.com/genesiscloud/terraform-provider-genesiscloud v1.1.7 h1:zVzyoOL4PlJcW7FcXbxeNbOH73OlSYt6TMKHaJz5uiA= github.com/genesiscloud/terraform-provider-genesiscloud v1.1.7/go.mod h1:uPhkr83UCreLAtBnh2frKeunrIFlDNpyY3JhrjI68Mk= +github.com/genesiscloud/terraform-provider-genesiscloud v1.1.8 h1:Xf1ehFJ4Uc2we289P5X1C8f8fmphO6uTjB+AIqDwems= +github.com/genesiscloud/terraform-provider-genesiscloud v1.1.8/go.mod h1:6bLjF9epL2Jr1QECp2vA1X/wJPDKrFDLHJ0R+ZJ0iQg= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -1182,6 +1186,8 @@ github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -1211,6 +1217,8 @@ github.com/hashicorp/terraform-json v0.22.1 h1:xft84GZR0QzjPVWs4lRUwvTcPnegqlyS7 github.com/hashicorp/terraform-json v0.22.1/go.mod h1:JbWSQCLFSXFFhg42T7l9iJwdGXBYV8fmmD6o/ML4p3A= github.com/hashicorp/terraform-plugin-framework v1.8.0 h1:P07qy8RKLcoBkCrY2RHJer5AEvJnDuXomBgou6fD8kI= github.com/hashicorp/terraform-plugin-framework v1.8.0/go.mod h1:/CpTukO88PcL/62noU7cuyaSJ4Rsim+A/pa+3rUVufY= +github.com/hashicorp/terraform-plugin-framework v1.9.0 h1:caLcDoxiRucNi2hk8+j3kJwkKfvHznubyFsJMWfZqKU= +github.com/hashicorp/terraform-plugin-framework v1.9.0/go.mod h1:qBXLDn69kM97NNVi/MQ9qgd1uWWsVftGSnygYG1tImM= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1/go.mod h1:MsjL1sQ9L7wGwzJ5RjcI6FzEMdyoBnw+XK8ZnOvQOLY= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= @@ -2129,6 +2137,8 @@ golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= diff --git a/sdk/dotnet/Genesiscloud/Instance.cs b/sdk/dotnet/Genesiscloud/Instance.cs index 6669796..88f9c01 100644 --- a/sdk/dotnet/Genesiscloud/Instance.cs +++ b/sdk/dotnet/Genesiscloud/Instance.cs @@ -58,6 +58,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("diskSize")] public Output DiskSize { get; private set; } = null!; + /// + /// The dns name of the instance. + /// + [Output("dnsName")] + public Output DnsName { get; private set; } = null!; + /// /// The floating IP attached to the instance. /// @@ -379,6 +385,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("diskSize")] public Input? DiskSize { get; set; } + /// + /// The dns name of the instance. + /// + [Input("dnsName")] + public Input? DnsName { get; set; } + /// /// The floating IP attached to the instance. /// diff --git a/sdk/go/genesiscloud/instance.go b/sdk/go/genesiscloud/instance.go index 4648dce..5e67a49 100644 --- a/sdk/go/genesiscloud/instance.go +++ b/sdk/go/genesiscloud/instance.go @@ -59,6 +59,8 @@ type Instance struct { CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // The disk size of the instance in GB. DiskSize pulumi.IntOutput `pulumi:"diskSize"` + // The dns name of the instance. + DnsName pulumi.StringOutput `pulumi:"dnsName"` // The floating IP attached to the instance. FloatingIpId pulumi.StringPtrOutput `pulumi:"floatingIpId"` // The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this @@ -160,6 +162,8 @@ type instanceState struct { CreatedAt *string `pulumi:"createdAt"` // The disk size of the instance in GB. DiskSize *int `pulumi:"diskSize"` + // The dns name of the instance. + DnsName *string `pulumi:"dnsName"` // The floating IP attached to the instance. FloatingIpId *string `pulumi:"floatingIpId"` // The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this @@ -216,6 +220,8 @@ type InstanceState struct { CreatedAt pulumi.StringPtrInput // The disk size of the instance in GB. DiskSize pulumi.IntPtrInput + // The dns name of the instance. + DnsName pulumi.StringPtrInput // The floating IP attached to the instance. FloatingIpId pulumi.StringPtrInput // The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this @@ -457,6 +463,11 @@ func (o InstanceOutput) DiskSize() pulumi.IntOutput { return o.ApplyT(func(v *Instance) pulumi.IntOutput { return v.DiskSize }).(pulumi.IntOutput) } +// The dns name of the instance. +func (o InstanceOutput) DnsName() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) +} + // The floating IP attached to the instance. func (o InstanceOutput) FloatingIpId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.FloatingIpId }).(pulumi.StringPtrOutput) diff --git a/sdk/nodejs/instance.ts b/sdk/nodejs/instance.ts index 5a230c0..d402a10 100644 --- a/sdk/nodejs/instance.ts +++ b/sdk/nodejs/instance.ts @@ -65,6 +65,10 @@ export class Instance extends pulumi.CustomResource { * The disk size of the instance in GB. */ public readonly diskSize!: pulumi.Output; + /** + * The dns name of the instance. + */ + public /*out*/ readonly dnsName!: pulumi.Output; /** * The floating IP attached to the instance. */ @@ -166,6 +170,7 @@ export class Instance extends pulumi.CustomResource { const state = argsOrState as InstanceState | undefined; resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["diskSize"] = state ? state.diskSize : undefined; + resourceInputs["dnsName"] = state ? state.dnsName : undefined; resourceInputs["floatingIpId"] = state ? state.floatingIpId : undefined; resourceInputs["hostname"] = state ? state.hostname : undefined; resourceInputs["image"] = state ? state.image : undefined; @@ -212,6 +217,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["type"] = args ? args.type : undefined; resourceInputs["volumeIds"] = args ? args.volumeIds : undefined; resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["dnsName"] = undefined /*out*/; resourceInputs["imageId"] = undefined /*out*/; resourceInputs["privateIp"] = undefined /*out*/; resourceInputs["publicIp"] = undefined /*out*/; @@ -237,6 +243,10 @@ export interface InstanceState { * The disk size of the instance in GB. */ diskSize?: pulumi.Input; + /** + * The dns name of the instance. + */ + dnsName?: pulumi.Input; /** * The floating IP attached to the instance. */ diff --git a/sdk/python/pulumi_genesiscloud/instance.py b/sdk/python/pulumi_genesiscloud/instance.py index 101ffd9..c37b02c 100644 --- a/sdk/python/pulumi_genesiscloud/instance.py +++ b/sdk/python/pulumi_genesiscloud/instance.py @@ -283,6 +283,7 @@ class _InstanceState: def __init__(__self__, *, created_at: Optional[pulumi.Input[str]] = None, disk_size: Optional[pulumi.Input[int]] = None, + dns_name: Optional[pulumi.Input[str]] = None, floating_ip_id: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, image: Optional[pulumi.Input[str]] = None, @@ -306,6 +307,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Instance resources. :param pulumi.Input[str] created_at: The timestamp when this image was created in RFC 3339. :param pulumi.Input[int] disk_size: The disk size of the instance in GB. + :param pulumi.Input[str] dns_name: The dns name of the instance. :param pulumi.Input[str] floating_ip_id: The floating IP attached to the instance. :param pulumi.Input[str] hostname: The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this attribute is configured and changes, Terraform will destroy and recreate the resource. @@ -341,6 +343,8 @@ def __init__(__self__, *, pulumi.set(__self__, "created_at", created_at) if disk_size is not None: pulumi.set(__self__, "disk_size", disk_size) + if dns_name is not None: + pulumi.set(__self__, "dns_name", dns_name) if floating_ip_id is not None: pulumi.set(__self__, "floating_ip_id", floating_ip_id) if hostname is not None: @@ -404,6 +408,18 @@ def disk_size(self) -> Optional[pulumi.Input[int]]: def disk_size(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "disk_size", value) + @property + @pulumi.getter(name="dnsName") + def dns_name(self) -> Optional[pulumi.Input[str]]: + """ + The dns name of the instance. + """ + return pulumi.get(self, "dns_name") + + @dns_name.setter + def dns_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dns_name", value) + @property @pulumi.getter(name="floatingIpId") def floating_ip_id(self) -> Optional[pulumi.Input[str]]: @@ -803,6 +819,7 @@ def _internal_init(__self__, __props__.__dict__["type"] = type __props__.__dict__["volume_ids"] = volume_ids __props__.__dict__["created_at"] = None + __props__.__dict__["dns_name"] = None __props__.__dict__["image_id"] = None __props__.__dict__["private_ip"] = None __props__.__dict__["public_ip"] = None @@ -822,6 +839,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, created_at: Optional[pulumi.Input[str]] = None, disk_size: Optional[pulumi.Input[int]] = None, + dns_name: Optional[pulumi.Input[str]] = None, floating_ip_id: Optional[pulumi.Input[str]] = None, hostname: Optional[pulumi.Input[str]] = None, image: Optional[pulumi.Input[str]] = None, @@ -850,6 +868,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] created_at: The timestamp when this image was created in RFC 3339. :param pulumi.Input[int] disk_size: The disk size of the instance in GB. + :param pulumi.Input[str] dns_name: The dns name of the instance. :param pulumi.Input[str] floating_ip_id: The floating IP attached to the instance. :param pulumi.Input[str] hostname: The hostname of your instance. If not provided will be initially set to the `name` attribute. - If the value of this attribute is configured and changes, Terraform will destroy and recreate the resource. @@ -887,6 +906,7 @@ def get(resource_name: str, __props__.__dict__["created_at"] = created_at __props__.__dict__["disk_size"] = disk_size + __props__.__dict__["dns_name"] = dns_name __props__.__dict__["floating_ip_id"] = floating_ip_id __props__.__dict__["hostname"] = hostname __props__.__dict__["image"] = image @@ -924,6 +944,14 @@ def disk_size(self) -> pulumi.Output[int]: """ return pulumi.get(self, "disk_size") + @property + @pulumi.getter(name="dnsName") + def dns_name(self) -> pulumi.Output[str]: + """ + The dns name of the instance. + """ + return pulumi.get(self, "dns_name") + @property @pulumi.getter(name="floatingIpId") def floating_ip_id(self) -> pulumi.Output[Optional[str]]: