{"attribution":"This Pulumi package is based on the [`gcore` Terraform Provider](https://github.com/g-core/terraform-provider-gcore).","config":{"variables":{"apiKey":{"description":"The API key for authenticating with the Gcore API. Can also be set via the `GCORE_API_KEY` environment variable.","secret":true,"type":"string"},"baseUrl":{"description":"Set the base url that the provider connects to.","type":"string"},"cloudPollingIntervalSeconds":{"description":"Interval in seconds between polling requests for long-running cloud operations. Defaults to <span pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\">`3`</span>.","type":"number"},"cloudPollingTimeoutSeconds":{"description":"Timeout in seconds for polling long-running cloud operations. Defaults to <span pulumi-lang-nodejs=\"`7200`\" pulumi-lang-dotnet=\"`7200`\" pulumi-lang-go=\"`7200`\" pulumi-lang-python=\"`7200`\" pulumi-lang-yaml=\"`7200`\" pulumi-lang-java=\"`7200`\">`7200`</span>.","type":"number"},"cloudProjectId":{"description":"Default cloud project ID to use for cloud resources. Serves as a convenience fallback for local development; for production, prefer setting <span pulumi-lang-nodejs=\"`projectId`\" pulumi-lang-dotnet=\"`ProjectId`\" pulumi-lang-go=\"`projectId`\" pulumi-lang-python=\"`project_id`\" pulumi-lang-yaml=\"`projectId`\" pulumi-lang-java=\"`projectId`\">`project_id`</span> explicitly on each resource. Can also be set via the `GCORE_CLOUD_PROJECT_ID` environment variable.","type":"number"},"cloudRegionId":{"description":"Default cloud region ID to use for cloud resources. Serves as a convenience fallback for local development; for production, prefer setting <span pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\">`region_id`</span> explicitly on each resource. Can also be set via the `GCORE_CLOUD_REGION_ID` environment variable.","type":"number"}}},"description":"A Pulumi provider dynamically bridged from gcore.","functions":{"gcore:index/getCdnCertificate:getCdnCertificate":{"description":"CDN SSL certificates enable HTTPS content delivery, supporting both uploaded certificates and automated Let's Encrypt provisioning.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCdnCertificate = gcore.getCdnCertificate({\n    sslId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cdn_certificate = gcore.get_cdn_certificate(ssl_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCdnCertificate = Gcore.GetCdnCertificate.Invoke(new()\n    {\n        SslId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCdnCertificate(ctx, &gcore.LookupCdnCertificateArgs{\n\t\t\tSslId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCdnCertificateArgs;\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 exampleCdnCertificate = GcoreFunctions.getCdnCertificate(GetCdnCertificateArgs.builder()\n            .sslId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCdnCertificate:\n    fn::invoke:\n      function: gcore:getCdnCertificate\n      arguments:\n        sslId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCdnCertificate.\n","properties":{"sslId":{"type":"number"}},"required":["sslId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCdnCertificate.\n","properties":{"automated":{"description":"How the SSL certificate was issued.\n","type":"boolean"},"certIssuer":{"type":"string"},"certSubjectAlt":{"type":"string"},"certSubjectCn":{"type":"string"},"deleted":{"type":"boolean"},"hasRelatedResources":{"type":"boolean"},"id":{"type":"number"},"name":{"type":"string"},"sslCertificateChain":{"type":"string"},"sslId":{"type":"number"},"validityNotAfter":{"type":"string"},"validityNotBefore":{"type":"string"}},"required":["automated","certIssuer","certSubjectAlt","certSubjectCn","deleted","hasRelatedResources","id","name","sslCertificateChain","sslId","validityNotAfter","validityNotBefore"],"type":"object"}},"gcore:index/getCdnOriginGroup:getCdnOriginGroup":{"description":"CDN origin groups aggregate one or more origin servers with failover and load balancing for content delivery.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCdnOriginGroup = gcore.getCdnOriginGroup({\n    originGroupId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cdn_origin_group = gcore.get_cdn_origin_group(origin_group_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCdnOriginGroup = Gcore.GetCdnOriginGroup.Invoke(new()\n    {\n        OriginGroupId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCdnOriginGroup(ctx, &gcore.LookupCdnOriginGroupArgs{\n\t\t\tOriginGroupId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCdnOriginGroupArgs;\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 exampleCdnOriginGroup = GcoreFunctions.getCdnOriginGroup(GetCdnOriginGroupArgs.builder()\n            .originGroupId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCdnOriginGroup:\n    fn::invoke:\n      function: gcore:getCdnOriginGroup\n      arguments:\n        originGroupId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCdnOriginGroup.\n","properties":{"originGroupId":{"type":"number"}},"required":["originGroupId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCdnOriginGroup.\n","properties":{"auth":{"$ref":"#/types/gcore:index%2FgetCdnOriginGroupAuth:getCdnOriginGroupAuth","deprecationMessage":"Deprecated","description":"**Deprecated.** To create S3 origins, configure them directly in sources with <span pulumi-lang-nodejs=\"`originType`\" pulumi-lang-dotnet=\"`OriginType`\" pulumi-lang-go=\"`originType`\" pulumi-lang-python=\"`origin_type`\" pulumi-lang-yaml=\"`originType`\" pulumi-lang-java=\"`originType`\">`origin_type`</span> and <span pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\">`config`</span> instead.\n"},"authType":{"deprecationMessage":"Deprecated","type":"string"},"hasRelatedResources":{"type":"boolean"},"id":{"type":"number"},"name":{"type":"string"},"originGroupId":{"type":"number"},"path":{"deprecationMessage":"Deprecated","type":"string"},"proxyNextUpstreams":{"items":{"type":"string"},"type":"array"},"sources":{"items":{"$ref":"#/types/gcore:index%2FgetCdnOriginGroupSource:getCdnOriginGroupSource"},"type":"array"},"useNext":{"type":"boolean"}},"required":["auth","authType","hasRelatedResources","id","name","originGroupId","path","proxyNextUpstreams","sources","useNext"],"type":"object"}},"gcore:index/getCdnResource:getCdnResource":{"description":"## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCdnResource = gcore.getCdnResource({\n    resourceId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cdn_resource = gcore.get_cdn_resource(resource_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCdnResource = Gcore.GetCdnResource.Invoke(new()\n    {\n        ResourceId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCdnResource(ctx, &gcore.LookupCdnResourceArgs{\n\t\t\tResourceId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCdnResourceArgs;\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 exampleCdnResource = GcoreFunctions.getCdnResource(GetCdnResourceArgs.builder()\n            .resourceId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCdnResource:\n    fn::invoke:\n      function: gcore:getCdnResource\n      arguments:\n        resourceId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCdnResource.\n","properties":{"resourceId":{"type":"number"}},"required":["resourceId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCdnResource.\n","properties":{"active":{"description":"Enables or disables a CDN resource.\n","type":"boolean"},"canPurgeByUrls":{"type":"boolean"},"client":{"type":"number"},"cname":{"type":"string"},"created":{"type":"string"},"deleted":{"type":"boolean"},"description":{"type":"string"},"enabled":{"type":"boolean"},"fullCustomEnabled":{"type":"boolean"},"id":{"type":"number"},"isPrimary":{"type":"boolean"},"name":{"type":"string"},"options":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptions:getCdnResourceOptions"},"originGroup":{"type":"number"},"originGroupName":{"type":"string"},"originProtocol":{"type":"string"},"presetApplied":{"type":"boolean"},"primaryResource":{"type":"number"},"proxySslCa":{"type":"number"},"proxySslData":{"type":"number"},"proxySslEnabled":{"type":"boolean"},"resourceId":{"type":"number"},"rules":{"items":{"type":"string"},"type":"array"},"secondaryHostnames":{"items":{"type":"string"},"type":"array"},"shieldDc":{"type":"string"},"shieldEnabled":{"type":"boolean"},"shieldRoutingMap":{"type":"number"},"shielded":{"type":"boolean"},"sslData":{"type":"number"},"sslEnabled":{"type":"boolean"},"status":{"type":"string"},"suspendDate":{"type":"string"},"suspended":{"type":"boolean"},"updated":{"type":"string"},"vpEnabled":{"type":"boolean"},"waapDomainId":{"type":"string"}},"required":["active","canPurgeByUrls","client","cname","created","deleted","description","enabled","fullCustomEnabled","id","isPrimary","name","options","originGroup","originGroupName","originProtocol","presetApplied","primaryResource","proxySslCa","proxySslData","proxySslEnabled","resourceId","rules","secondaryHostnames","shieldDc","shieldEnabled","shieldRoutingMap","shielded","sslData","sslEnabled","status","suspendDate","suspended","updated","vpEnabled","waapDomainId"],"type":"object"}},"gcore:index/getCdnResourceRule:getCdnResourceRule":{"description":"CDN resource rules set custom caching, delivery, and security options for specific URL patterns or file types.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCdnResourceRule = gcore.getCdnResourceRule({\n    resourceId: 0,\n    ruleId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cdn_resource_rule = gcore.get_cdn_resource_rule(resource_id=0,\n    rule_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCdnResourceRule = Gcore.GetCdnResourceRule.Invoke(new()\n    {\n        ResourceId = 0,\n        RuleId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCdnResourceRule(ctx, &gcore.LookupCdnResourceRuleArgs{\n\t\t\tResourceId: 0,\n\t\t\tRuleId:     0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCdnResourceRuleArgs;\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 exampleCdnResourceRule = GcoreFunctions.getCdnResourceRule(GetCdnResourceRuleArgs.builder()\n            .resourceId(0)\n            .ruleId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCdnResourceRule:\n    fn::invoke:\n      function: gcore:getCdnResourceRule\n      arguments:\n        resourceId: 0\n        ruleId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCdnResourceRule.\n","properties":{"resourceId":{"type":"number"},"ruleId":{"type":"number"}},"required":["resourceId","ruleId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCdnResourceRule.\n","properties":{"active":{"description":"Enables or disables a rule.\n","type":"boolean"},"deleted":{"type":"boolean"},"id":{"type":"number"},"name":{"type":"string"},"options":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptions:getCdnResourceRuleOptions"},"originGroup":{"type":"number"},"originProtocol":{"type":"string"},"overrideOriginProtocol":{"type":"string"},"presetApplied":{"type":"boolean"},"primaryRule":{"type":"number"},"resourceId":{"type":"number"},"rule":{"type":"string"},"ruleId":{"type":"number"},"ruleType":{"type":"number"},"weight":{"type":"number"}},"required":["active","deleted","id","name","options","originGroup","originProtocol","overrideOriginProtocol","presetApplied","primaryRule","resourceId","rule","ruleId","ruleType","weight"],"type":"object"}},"gcore:index/getCdnRuleTemplate:getCdnRuleTemplate":{"description":"CDN rule templates define reusable rule configurations that can be applied across multiple CDN resources for consistent caching, delivery, and security policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCdnRuleTemplate = gcore.getCdnRuleTemplate({\n    ruleTemplateId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cdn_rule_template = gcore.get_cdn_rule_template(rule_template_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCdnRuleTemplate = Gcore.GetCdnRuleTemplate.Invoke(new()\n    {\n        RuleTemplateId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCdnRuleTemplate(ctx, &gcore.LookupCdnRuleTemplateArgs{\n\t\t\tRuleTemplateId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCdnRuleTemplateArgs;\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 exampleCdnRuleTemplate = GcoreFunctions.getCdnRuleTemplate(GetCdnRuleTemplateArgs.builder()\n            .ruleTemplateId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCdnRuleTemplate:\n    fn::invoke:\n      function: gcore:getCdnRuleTemplate\n      arguments:\n        ruleTemplateId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCdnRuleTemplate.\n","properties":{"ruleTemplateId":{"type":"number"}},"required":["ruleTemplateId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCdnRuleTemplate.\n","properties":{"client":{"description":"Client ID\n","type":"number"},"default":{"description":"Defines whether the template is a system template developed for common cases. System templates are available to all customers.\n","type":"boolean"},"deleted":{"type":"boolean"},"id":{"type":"number"},"name":{"type":"string"},"options":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptions:getCdnRuleTemplateOptions"},"overrideOriginProtocol":{"type":"string"},"rule":{"type":"string"},"ruleTemplateId":{"type":"number"},"ruleType":{"type":"number"},"template":{"type":"boolean"},"weight":{"type":"number"}},"required":["client","default","deleted","id","name","options","overrideOriginProtocol","rule","ruleTemplateId","ruleType","template","weight"],"type":"object"}},"gcore:index/getCdnTrustedCaCertificate:getCdnTrustedCaCertificate":{"description":"Trusted CA certificates verify the authenticity of CDN origin servers during HTTPS connections.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCdnTrustedCaCertificate = gcore.getCdnTrustedCaCertificate({\n    id: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cdn_trusted_ca_certificate = gcore.get_cdn_trusted_ca_certificate(id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCdnTrustedCaCertificate = Gcore.GetCdnTrustedCaCertificate.Invoke(new()\n    {\n        Id = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCdnTrustedCaCertificate(ctx, &gcore.LookupCdnTrustedCaCertificateArgs{\n\t\t\tId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCdnTrustedCaCertificateArgs;\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 exampleCdnTrustedCaCertificate = GcoreFunctions.getCdnTrustedCaCertificate(GetCdnTrustedCaCertificateArgs.builder()\n            .id(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCdnTrustedCaCertificate:\n    fn::invoke:\n      function: gcore:getCdnTrustedCaCertificate\n      arguments:\n        id: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCdnTrustedCaCertificate.\n","properties":{"id":{"type":"number"}},"required":["id"],"type":"object"},"outputs":{"description":"A collection of values returned by getCdnTrustedCaCertificate.\n","properties":{"certIssuer":{"description":"Name of the certification center that issued the CA certificate.\n","type":"string"},"certSubjectAlt":{"description":"Alternative domain names that the CA certificate secures.\n","type":"string"},"certSubjectCn":{"description":"Domain name that the CA certificate secures.\n","type":"string"},"deleted":{"description":"Defines whether the certificate has been deleted. Parameter is **deprecated**.\n","type":"boolean"},"hasRelatedResources":{"type":"boolean"},"id":{"type":"number"},"name":{"type":"string"},"sslCertificateChain":{"type":"string"},"validityNotAfter":{"type":"string"},"validityNotBefore":{"type":"string"}},"required":["certIssuer","certSubjectAlt","certSubjectCn","deleted","hasRelatedResources","id","name","sslCertificateChain","validityNotAfter","validityNotBefore"],"type":"object"}},"gcore:index/getCloudBaremetalServer:getCloudBaremetalServer":{"description":"Bare metal servers are dedicated physical machines with direct hardware access, supporting provisioning, rebuilding, and network configuration within a cloud region.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudBaremetalServer = gcore.getCloudBaremetalServer({\n    projectId: 1,\n    regionId: 1,\n    serverId: \"024a29e-b4b7-4c91-9a46-505be123d9f8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_baremetal_server = gcore.get_cloud_baremetal_server(project_id=1,\n    region_id=1,\n    server_id=\"024a29e-b4b7-4c91-9a46-505be123d9f8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudBaremetalServer = Gcore.GetCloudBaremetalServer.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        ServerId = \"024a29e-b4b7-4c91-9a46-505be123d9f8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudBaremetalServer(ctx, &gcore.LookupCloudBaremetalServerArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tServerId:  pulumi.StringRef(\"024a29e-b4b7-4c91-9a46-505be123d9f8\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudBaremetalServerArgs;\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 exampleCloudBaremetalServer = GcoreFunctions.getCloudBaremetalServer(GetCloudBaremetalServerArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .serverId(\"024a29e-b4b7-4c91-9a46-505be123d9f8\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudBaremetalServer:\n    fn::invoke:\n      function: gcore:getCloudBaremetalServer\n      arguments:\n        projectId: 1\n        regionId: 1\n        serverId: 024a29e-b4b7-4c91-9a46-505be123d9f8\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudBaremetalServer.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerFindOneBy:getCloudBaremetalServerFindOneBy"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serverId":{"description":"Server ID\n","type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBaremetalServer.\n","properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerAddresses:getCloudBaremetalServerAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network\n","type":"object"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerBlackholePort:getCloudBaremetalServerBlackholePort"},"type":"array"},"createdAt":{"description":"Datetime when bare metal server was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerFindOneBy:getCloudBaremetalServerFindOneBy"},"fixedIpAssignments":{"description":"Fixed IP assigned to instance\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerFixedIpAssignment:getCloudBaremetalServerFixedIpAssignment"},"type":"array"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerFlavor:getCloudBaremetalServerFlavor","description":"Flavor details\n"},"id":{"description":"Server ID\n","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerInstanceIsolation:getCloudBaremetalServerInstanceIsolation","description":"Instance isolation information\n"},"name":{"description":"Bare metal server name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"serverId":{"description":"Server ID\n","type":"string"},"sshKeyName":{"description":"SSH key assigned to bare metal server\n","type":"string"},"status":{"description":"Bare metal server status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerTag:getCloudBaremetalServerTag"},"type":"array"},"taskId":{"description":"The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the resource is not locked.\n","type":"string"},"taskState":{"description":"Task state\n","type":"string"},"vmState":{"description":"Bare metal server state\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".\n","type":"string"}},"required":["addresses","blackholePorts","createdAt","creatorTaskId","fixedIpAssignments","flavor","id","instanceIsolation","name","region","sshKeyName","status","tags","taskId","taskState","vmState"],"type":"object"}},"gcore:index/getCloudBaremetalServers:getCloudBaremetalServers":{"description":"Bare metal servers are dedicated physical machines with direct hardware access, supporting provisioning, rebuilding, and network configuration within a cloud region.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudBaremetalServers = gcore.getCloudBaremetalServers({\n    projectId: 1,\n    regionId: 1,\n    changesBefore: \"2025-10-01T12:00:00Z\",\n    changesSince: \"2025-10-01T12:00:00Z\",\n    flavorId: \"bm2-hf-small\",\n    flavorPrefix: \"bm2-\",\n    ip: \"192.168.0.1\",\n    name: \"name\",\n    onlyWithFixedExternalIp: true,\n    profileName: \"profile_name\",\n    protectionStatus: \"Active\",\n    status: \"ACTIVE\",\n    tagKeyValue: \"tag_key_value\",\n    tagValues: [\n        \"value1\",\n        \"value2\",\n    ],\n    uuid: \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_baremetal_servers = gcore.get_cloud_baremetal_servers(project_id=1,\n    region_id=1,\n    changes_before=\"2025-10-01T12:00:00Z\",\n    changes_since=\"2025-10-01T12:00:00Z\",\n    flavor_id=\"bm2-hf-small\",\n    flavor_prefix=\"bm2-\",\n    ip=\"192.168.0.1\",\n    name=\"name\",\n    only_with_fixed_external_ip=True,\n    profile_name=\"profile_name\",\n    protection_status=\"Active\",\n    status=\"ACTIVE\",\n    tag_key_value=\"tag_key_value\",\n    tag_values=[\n        \"value1\",\n        \"value2\",\n    ],\n    uuid=\"b5b4d65d-945f-4b98-ab6f-332319c724ef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudBaremetalServers = Gcore.GetCloudBaremetalServers.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        ChangesBefore = \"2025-10-01T12:00:00Z\",\n        ChangesSince = \"2025-10-01T12:00:00Z\",\n        FlavorId = \"bm2-hf-small\",\n        FlavorPrefix = \"bm2-\",\n        Ip = \"192.168.0.1\",\n        Name = \"name\",\n        OnlyWithFixedExternalIp = true,\n        ProfileName = \"profile_name\",\n        ProtectionStatus = \"Active\",\n        Status = \"ACTIVE\",\n        TagKeyValue = \"tag_key_value\",\n        TagValues = new[]\n        {\n            \"value1\",\n            \"value2\",\n        },\n        Uuid = \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudBaremetalServers(ctx, &gcore.GetCloudBaremetalServersArgs{\n\t\t\tProjectId:               pulumi.Float64Ref(1),\n\t\t\tRegionId:                pulumi.Float64Ref(1),\n\t\t\tChangesBefore:           pulumi.StringRef(\"2025-10-01T12:00:00Z\"),\n\t\t\tChangesSince:            pulumi.StringRef(\"2025-10-01T12:00:00Z\"),\n\t\t\tFlavorId:                pulumi.StringRef(\"bm2-hf-small\"),\n\t\t\tFlavorPrefix:            pulumi.StringRef(\"bm2-\"),\n\t\t\tIp:                      pulumi.StringRef(\"192.168.0.1\"),\n\t\t\tName:                    pulumi.StringRef(\"name\"),\n\t\t\tOnlyWithFixedExternalIp: pulumi.BoolRef(true),\n\t\t\tProfileName:             pulumi.StringRef(\"profile_name\"),\n\t\t\tProtectionStatus:        pulumi.StringRef(\"Active\"),\n\t\t\tStatus:                  pulumi.StringRef(\"ACTIVE\"),\n\t\t\tTagKeyValue:             pulumi.StringRef(\"tag_key_value\"),\n\t\t\tTagValues: []string{\n\t\t\t\t\"value1\",\n\t\t\t\t\"value2\",\n\t\t\t},\n\t\t\tUuid: pulumi.StringRef(\"b5b4d65d-945f-4b98-ab6f-332319c724ef\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudBaremetalServersArgs;\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 exampleCloudBaremetalServers = GcoreFunctions.getCloudBaremetalServers(GetCloudBaremetalServersArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .changesBefore(\"2025-10-01T12:00:00Z\")\n            .changesSince(\"2025-10-01T12:00:00Z\")\n            .flavorId(\"bm2-hf-small\")\n            .flavorPrefix(\"bm2-\")\n            .ip(\"192.168.0.1\")\n            .name(\"name\")\n            .onlyWithFixedExternalIp(true)\n            .profileName(\"profile_name\")\n            .protectionStatus(\"Active\")\n            .status(\"ACTIVE\")\n            .tagKeyValue(\"tag_key_value\")\n            .tagValues(            \n                \"value1\",\n                \"value2\")\n            .uuid(\"b5b4d65d-945f-4b98-ab6f-332319c724ef\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudBaremetalServers:\n    fn::invoke:\n      function: gcore:getCloudBaremetalServers\n      arguments:\n        projectId: 1\n        regionId: 1\n        changesBefore: 2025-10-01T12:00:00Z\n        changesSince: 2025-10-01T12:00:00Z\n        flavorId: bm2-hf-small\n        flavorPrefix: bm2-\n        ip: 192.168.0.1\n        name: name\n        onlyWithFixedExternalIp: true\n        profileName: profile_name\n        protectionStatus: Active\n        status: ACTIVE\n        tagKeyValue: tag_key_value\n        tagValues:\n          - value1\n          - value2\n        uuid: b5b4d65d-945f-4b98-ab6f-332319c724ef\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudBaremetalServers.\n","properties":{"changesBefore":{"description":"Filters the instances by a date and time stamp when the instances last changed.\n","type":"string"},"changesSince":{"description":"Filters the instances by a date and time stamp when the instances last changed status.\n","type":"string"},"flavorId":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\">`flavor_id`</span>. Flavor id must match exactly.\n","type":"string"},"flavorPrefix":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorPrefix`\" pulumi-lang-dotnet=\"`FlavorPrefix`\" pulumi-lang-go=\"`flavorPrefix`\" pulumi-lang-python=\"`flavor_prefix`\" pulumi-lang-yaml=\"`flavorPrefix`\" pulumi-lang-java=\"`flavorPrefix`\">`flavor_prefix`</span>.\n","type":"string"},"includeK8s":{"description":"Include managed k8s worker nodes\n","type":"boolean"},"ip":{"description":"An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.\n","type":"string"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.\n","type":"string"},"onlyIsolated":{"description":"Include only isolated instances\n","type":"boolean"},"onlyWithFixedExternalIp":{"description":"Return bare metals only with external fixed IP addresses.\n","type":"boolean"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created.asc\", \"created.desc\", \"name.asc\", \"name.desc\", \"status.asc\", \"status.desc\".\n","type":"string"},"profileName":{"description":"Filter result by ddos protection profile name. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protectionStatus":{"description":"Filter result by DDoS <span pulumi-lang-nodejs=\"`protectionStatus`\" pulumi-lang-dotnet=\"`ProtectionStatus`\" pulumi-lang-go=\"`protectionStatus`\" pulumi-lang-python=\"`protection_status`\" pulumi-lang-yaml=\"`protectionStatus`\" pulumi-lang-java=\"`protectionStatus`\">`protection_status`</span>. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (Active, Queued or Error)\nAvailable values: \"Active\", \"Queued\", \"Error\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Filters instances by a server status, as a string.\nAvailable values: \"ACTIVE\", \"BUILD\", \"ERROR\", \"HARD_REBOOT\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"SHUTOFF\", \"SUSPENDED\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagValues":{"description":"Optional. Filter by tag values. ?<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value1&<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value2\n","items":{"type":"string"},"type":"array"},"uuid":{"description":"Filter the server list result by the UUID of the server. Allowed UUID part\n","type":"string"},"withInterfacesName":{"description":"Include <span pulumi-lang-nodejs=\"`interfaceName`\" pulumi-lang-dotnet=\"`InterfaceName`\" pulumi-lang-go=\"`interfaceName`\" pulumi-lang-python=\"`interface_name`\" pulumi-lang-yaml=\"`interfaceName`\" pulumi-lang-java=\"`interfaceName`\">`interface_name`</span> in the addresses\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudBaremetalServers.\n","properties":{"changesBefore":{"description":"Filters the instances by a date and time stamp when the instances last changed.\n","type":"string"},"changesSince":{"description":"Filters the instances by a date and time stamp when the instances last changed status.\n","type":"string"},"flavorId":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\">`flavor_id`</span>. Flavor id must match exactly.\n","type":"string"},"flavorPrefix":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorPrefix`\" pulumi-lang-dotnet=\"`FlavorPrefix`\" pulumi-lang-go=\"`flavorPrefix`\" pulumi-lang-python=\"`flavor_prefix`\" pulumi-lang-yaml=\"`flavorPrefix`\" pulumi-lang-java=\"`flavorPrefix`\">`flavor_prefix`</span>.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"includeK8s":{"description":"Include managed k8s worker nodes\n","type":"boolean"},"ip":{"description":"An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.\n","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItem:getCloudBaremetalServersItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.\n","type":"string"},"onlyIsolated":{"description":"Include only isolated instances\n","type":"boolean"},"onlyWithFixedExternalIp":{"description":"Return bare metals only with external fixed IP addresses.\n","type":"boolean"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created.asc\", \"created.desc\", \"name.asc\", \"name.desc\", \"status.asc\", \"status.desc\".\n","type":"string"},"profileName":{"description":"Filter result by ddos protection profile name. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protectionStatus":{"description":"Filter result by DDoS <span pulumi-lang-nodejs=\"`protectionStatus`\" pulumi-lang-dotnet=\"`ProtectionStatus`\" pulumi-lang-go=\"`protectionStatus`\" pulumi-lang-python=\"`protection_status`\" pulumi-lang-yaml=\"`protectionStatus`\" pulumi-lang-java=\"`protectionStatus`\">`protection_status`</span>. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (Active, Queued or Error)\nAvailable values: \"Active\", \"Queued\", \"Error\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Filters instances by a server status, as a string.\nAvailable values: \"ACTIVE\", \"BUILD\", \"ERROR\", \"HARD_REBOOT\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"SHUTOFF\", \"SUSPENDED\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagValues":{"description":"Optional. Filter by tag values. ?<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value1&<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value2\n","items":{"type":"string"},"type":"array"},"uuid":{"description":"Filter the server list result by the UUID of the server. Allowed UUID part\n","type":"string"},"withInterfacesName":{"description":"Include <span pulumi-lang-nodejs=\"`interfaceName`\" pulumi-lang-dotnet=\"`InterfaceName`\" pulumi-lang-go=\"`interfaceName`\" pulumi-lang-python=\"`interface_name`\" pulumi-lang-yaml=\"`interfaceName`\" pulumi-lang-java=\"`interfaceName`\">`interface_name`</span> in the addresses\n","type":"boolean"}},"required":["id","includeK8s","items","onlyIsolated","orderBy","withInterfacesName"],"type":"object"}},"gcore:index/getCloudFileShare:getCloudFileShare":{"description":"File shares provide NFS-based shared storage that can be mounted by virtual machines and Kubernetes clusters for persistent data.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudFileShare = gcore.getCloudFileShare({\n    projectId: 1,\n    regionId: 1,\n    fileShareId: \"bd8c47ee-e565-4e26-8840-b537e6827b08\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_file_share = gcore.get_cloud_file_share(project_id=1,\n    region_id=1,\n    file_share_id=\"bd8c47ee-e565-4e26-8840-b537e6827b08\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudFileShare = Gcore.GetCloudFileShare.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FileShareId = \"bd8c47ee-e565-4e26-8840-b537e6827b08\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudFileShare(ctx, &gcore.LookupCloudFileShareArgs{\n\t\t\tProjectId:   pulumi.Float64Ref(1),\n\t\t\tRegionId:    pulumi.Float64Ref(1),\n\t\t\tFileShareId: pulumi.StringRef(\"bd8c47ee-e565-4e26-8840-b537e6827b08\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudFileShareArgs;\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 exampleCloudFileShare = GcoreFunctions.getCloudFileShare(GetCloudFileShareArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .fileShareId(\"bd8c47ee-e565-4e26-8840-b537e6827b08\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudFileShare:\n    fn::invoke:\n      function: gcore:getCloudFileShare\n      arguments:\n        projectId: 1\n        regionId: 1\n        fileShareId: bd8c47ee-e565-4e26-8840-b537e6827b08\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudFileShare.\n","properties":{"fileShareId":{"type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudFileShareFindOneBy:getCloudFileShareFindOneBy"},"projectId":{"type":"number"},"regionId":{"type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudFileShare.\n","properties":{"connectionPoint":{"type":"string"},"createdAt":{"type":"string"},"creatorTaskId":{"type":"string"},"fileShareId":{"type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudFileShareFindOneBy:getCloudFileShareFindOneBy"},"id":{"type":"string"},"name":{"type":"string"},"networkId":{"type":"string"},"networkName":{"type":"string"},"projectId":{"type":"number"},"protocol":{"type":"string"},"region":{"type":"string"},"regionId":{"type":"number"},"shareNetworkName":{"type":"string"},"shareSettings":{"$ref":"#/types/gcore:index%2FgetCloudFileShareShareSettings:getCloudFileShareShareSettings"},"size":{"type":"number"},"status":{"type":"string"},"subnetId":{"type":"string"},"subnetName":{"type":"string"},"tags":{"items":{"$ref":"#/types/gcore:index%2FgetCloudFileShareTag:getCloudFileShareTag"},"type":"array"},"typeName":{"type":"string"}},"required":["connectionPoint","createdAt","creatorTaskId","id","name","networkId","networkName","protocol","region","shareNetworkName","shareSettings","size","status","subnetId","subnetName","tags","typeName"],"type":"object"}},"gcore:index/getCloudFileShares:getCloudFileShares":{"description":"File shares provide NFS-based shared storage that can be mounted by virtual machines and Kubernetes clusters for persistent data.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudFileShares = gcore.getCloudFileShares({\n    projectId: 1,\n    regionId: 1,\n    name: \"test-sfs\",\n    typeName: \"standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_file_shares = gcore.get_cloud_file_shares(project_id=1,\n    region_id=1,\n    name=\"test-sfs\",\n    type_name=\"standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudFileShares = Gcore.GetCloudFileShares.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"test-sfs\",\n        TypeName = \"standard\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudFileShares(ctx, &gcore.GetCloudFileSharesArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tName:      pulumi.StringRef(\"test-sfs\"),\n\t\t\tTypeName:  pulumi.StringRef(\"standard\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudFileSharesArgs;\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 exampleCloudFileShares = GcoreFunctions.getCloudFileShares(GetCloudFileSharesArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .name(\"test-sfs\")\n            .typeName(\"standard\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudFileShares:\n    fn::invoke:\n      function: gcore:getCloudFileShares\n      arguments:\n        projectId: 1\n        regionId: 1\n        name: test-sfs\n        typeName: standard\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudFileShares.\n","properties":{"maxItems":{"type":"number"},"name":{"type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"typeName":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudFileShares.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"items":{"$ref":"#/types/gcore:index%2FgetCloudFileSharesItem:getCloudFileSharesItem"},"type":"array"},"maxItems":{"type":"number"},"name":{"type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"typeName":{"type":"string"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudFloatingIp:getCloudFloatingIp":{"description":"A floating IP is a static IP address that points to one of your Instances. It allows you to redirect network traffic to any of your Instances in the same datacenter.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudFloatingIp = gcore.getCloudFloatingIp({\n    projectId: 1,\n    regionId: 1,\n    floatingIpId: \"c64e5db1-5f1f-43ec-a8d9-5090df85b82d\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_floating_ip = gcore.get_cloud_floating_ip(project_id=1,\n    region_id=1,\n    floating_ip_id=\"c64e5db1-5f1f-43ec-a8d9-5090df85b82d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudFloatingIp = Gcore.GetCloudFloatingIp.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FloatingIpId = \"c64e5db1-5f1f-43ec-a8d9-5090df85b82d\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudFloatingIp(ctx, &gcore.LookupCloudFloatingIpArgs{\n\t\t\tProjectId:    pulumi.Float64Ref(1),\n\t\t\tRegionId:     pulumi.Float64Ref(1),\n\t\t\tFloatingIpId: pulumi.StringRef(\"c64e5db1-5f1f-43ec-a8d9-5090df85b82d\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudFloatingIpArgs;\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 exampleCloudFloatingIp = GcoreFunctions.getCloudFloatingIp(GetCloudFloatingIpArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .floatingIpId(\"c64e5db1-5f1f-43ec-a8d9-5090df85b82d\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudFloatingIp:\n    fn::invoke:\n      function: gcore:getCloudFloatingIp\n      arguments:\n        projectId: 1\n        regionId: 1\n        floatingIpId: c64e5db1-5f1f-43ec-a8d9-5090df85b82d\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudFloatingIp.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpFindOneBy:getCloudFloatingIpFindOneBy"},"floatingIpId":{"description":"Floating IP ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudFloatingIp.\n","properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpFindOneBy:getCloudFloatingIpFindOneBy"},"fixedIpAddress":{"description":"IP address of the port the floating IP is attached to\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"floatingIpId":{"description":"Floating IP ID\n","type":"string"},"id":{"description":"Floating IP ID\n","type":"string"},"portId":{"description":"Port ID the floating IP is attached to. The <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> is the IP address of the port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpTag:getCloudFloatingIpTag"},"type":"array"},"updatedAt":{"description":"Datetime when the floating IP was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","id","portId","region","routerId","status","tags","updatedAt"],"type":"object"}},"gcore:index/getCloudFloatingIps:getCloudFloatingIps":{"description":"A floating IP is a static IP address that points to one of your Instances. It allows you to redirect network traffic to any of your Instances in the same datacenter.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudFloatingIps = gcore.getCloudFloatingIps({\n    projectId: 1,\n    regionId: 1,\n    status: \"ACTIVE\",\n    tagKeys: [\n        \"key1\",\n        \"key2\",\n    ],\n    tagKeyValue: \"tag_key_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_floating_ips = gcore.get_cloud_floating_ips(project_id=1,\n    region_id=1,\n    status=\"ACTIVE\",\n    tag_keys=[\n        \"key1\",\n        \"key2\",\n    ],\n    tag_key_value=\"tag_key_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudFloatingIps = Gcore.GetCloudFloatingIps.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Status = \"ACTIVE\",\n        TagKeys = new[]\n        {\n            \"key1\",\n            \"key2\",\n        },\n        TagKeyValue = \"tag_key_value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudFloatingIps(ctx, &gcore.GetCloudFloatingIpsArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tStatus:    pulumi.StringRef(\"ACTIVE\"),\n\t\t\tTagKeys: []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\tTagKeyValue: pulumi.StringRef(\"tag_key_value\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudFloatingIpsArgs;\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 exampleCloudFloatingIps = GcoreFunctions.getCloudFloatingIps(GetCloudFloatingIpsArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .status(\"ACTIVE\")\n            .tagKeys(            \n                \"key1\",\n                \"key2\")\n            .tagKeyValue(\"tag_key_value\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudFloatingIps:\n    fn::invoke:\n      function: gcore:getCloudFloatingIps\n      arguments:\n        projectId: 1\n        regionId: 1\n        status: ACTIVE\n        tagKeys:\n          - key1\n          - key2\n        tagKeyValue: tag_key_value\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudFloatingIps.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudFloatingIps.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItem:getCloudFloatingIpsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudGpuBaremetalCluster:getCloudGpuBaremetalCluster":{"description":"## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudGpuBaremetalCluster = gcore.getCloudGpuBaremetalCluster({\n    projectId: 1,\n    regionId: 7,\n    clusterId: \"1aaaab48-10d0-46d9-80cc-85209284ceb4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_gpu_baremetal_cluster = gcore.get_cloud_gpu_baremetal_cluster(project_id=1,\n    region_id=7,\n    cluster_id=\"1aaaab48-10d0-46d9-80cc-85209284ceb4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudGpuBaremetalCluster = Gcore.GetCloudGpuBaremetalCluster.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        ClusterId = \"1aaaab48-10d0-46d9-80cc-85209284ceb4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudGpuBaremetalCluster(ctx, &gcore.LookupCloudGpuBaremetalClusterArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(7),\n\t\t\tClusterId: pulumi.StringRef(\"1aaaab48-10d0-46d9-80cc-85209284ceb4\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudGpuBaremetalClusterArgs;\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 exampleCloudGpuBaremetalCluster = GcoreFunctions.getCloudGpuBaremetalCluster(GetCloudGpuBaremetalClusterArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .clusterId(\"1aaaab48-10d0-46d9-80cc-85209284ceb4\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudGpuBaremetalCluster:\n    fn::invoke:\n      function: gcore:getCloudGpuBaremetalCluster\n      arguments:\n        projectId: 1\n        regionId: 7\n        clusterId: 1aaaab48-10d0-46d9-80cc-85209284ceb4\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudGpuBaremetalCluster.\n","properties":{"clusterId":{"description":"Cluster unique identifier\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterFindOneBy:getCloudGpuBaremetalClusterFindOneBy"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudGpuBaremetalCluster.\n","properties":{"clusterId":{"description":"Cluster unique identifier\n","type":"string"},"createdAt":{"description":"Cluster creation date time\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterFindOneBy:getCloudGpuBaremetalClusterFindOneBy"},"flavor":{"description":"Cluster flavor name\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"id":{"description":"Cluster unique identifier\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"managedBy":{"description":"User type managing the resource\nAvailable values: \"k8s\", \"user\".\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Cluster servers count\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterServersSettings:getCloudGpuBaremetalClusterServersSettings"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterTag:getCloudGpuBaremetalClusterTag"},"type":"array"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"required":["createdAt","flavor","hasPendingChanges","id","imageId","managedBy","name","serversCount","serversIds","serversSettings","status","tags","updatedAt"],"type":"object"}},"gcore:index/getCloudGpuBaremetalClusterImage:getCloudGpuBaremetalClusterImage":{"description":"GPU bare metal images are custom boot images for bare metal GPU servers.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudGpuBaremetalClusterImage = gcore.getCloudGpuBaremetalClusterImage({\n    projectId: 1,\n    regionId: 7,\n    imageId: \"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_gpu_baremetal_cluster_image = gcore.get_cloud_gpu_baremetal_cluster_image(project_id=1,\n    region_id=7,\n    image_id=\"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudGpuBaremetalClusterImage = Gcore.GetCloudGpuBaremetalClusterImage.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        ImageId = \"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudGpuBaremetalClusterImage(ctx, &gcore.LookupCloudGpuBaremetalClusterImageArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(7),\n\t\t\tImageId:   \"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudGpuBaremetalClusterImageArgs;\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 exampleCloudGpuBaremetalClusterImage = GcoreFunctions.getCloudGpuBaremetalClusterImage(GetCloudGpuBaremetalClusterImageArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .imageId(\"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudGpuBaremetalClusterImage:\n    fn::invoke:\n      function: gcore:getCloudGpuBaremetalClusterImage\n      arguments:\n        projectId: 1\n        regionId: 7\n        imageId: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudGpuBaremetalClusterImage.\n","properties":{"imageId":{"description":"Image ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["imageId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudGpuBaremetalClusterImage.\n","properties":{"architecture":{"description":"Image architecture type\n","type":"string"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"id":{"description":"Image ID\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution\n","type":"string"},"osType":{"description":"The operating system installed on the image\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Image size in bytes.\n","type":"number"},"sshKey":{"description":"Whether the image supports SSH key or not\n","type":"string"},"status":{"description":"Image status\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterImageTag:getCloudGpuBaremetalClusterImageTag"},"type":"array"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"required":["architecture","createdAt","gpuDriver","gpuDriverType","gpuDriverVersion","id","imageId","minDisk","minRam","name","osDistro","osType","osVersion","size","sshKey","status","tags","updatedAt","visibility"],"type":"object"}},"gcore:index/getCloudGpuBaremetalClusters:getCloudGpuBaremetalClusters":{"description":"## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudGpuBaremetalClusters = gcore.getCloudGpuBaremetalClusters({\n    projectId: 1,\n    regionId: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_gpu_baremetal_clusters = gcore.get_cloud_gpu_baremetal_clusters(project_id=1,\n    region_id=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudGpuBaremetalClusters = Gcore.GetCloudGpuBaremetalClusters.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudGpuBaremetalClusters(ctx, &gcore.GetCloudGpuBaremetalClustersArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(7),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudGpuBaremetalClustersArgs;\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 exampleCloudGpuBaremetalClusters = GcoreFunctions.getCloudGpuBaremetalClusters(GetCloudGpuBaremetalClustersArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudGpuBaremetalClusters:\n    fn::invoke:\n      function: gcore:getCloudGpuBaremetalClusters\n      arguments:\n        projectId: 1\n        regionId: 7\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudGpuBaremetalClusters.\n","properties":{"managedBies":{"description":"Specifies the entity responsible for managing the resource.\n","items":{"type":"string"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudGpuBaremetalClusters.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItem:getCloudGpuBaremetalClustersItem"},"type":"array"},"managedBies":{"description":"Specifies the entity responsible for managing the resource.\n","items":{"type":"string"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["id","items","managedBies"],"type":"object"}},"gcore:index/getCloudGpuVirtualCluster:getCloudGpuVirtualCluster":{"description":"GPU virtual clusters provide managed virtual GPU servers with auto-scaling for parallel computation workloads.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudGpuVirtualCluster = gcore.getCloudGpuVirtualCluster({\n    projectId: 1,\n    regionId: 7,\n    clusterId: \"1aaaab48-10d0-46d9-80cc-85209284ceb4\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_gpu_virtual_cluster = gcore.get_cloud_gpu_virtual_cluster(project_id=1,\n    region_id=7,\n    cluster_id=\"1aaaab48-10d0-46d9-80cc-85209284ceb4\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudGpuVirtualCluster = Gcore.GetCloudGpuVirtualCluster.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        ClusterId = \"1aaaab48-10d0-46d9-80cc-85209284ceb4\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudGpuVirtualCluster(ctx, &gcore.LookupCloudGpuVirtualClusterArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(7),\n\t\t\tClusterId: \"1aaaab48-10d0-46d9-80cc-85209284ceb4\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudGpuVirtualClusterArgs;\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 exampleCloudGpuVirtualCluster = GcoreFunctions.getCloudGpuVirtualCluster(GetCloudGpuVirtualClusterArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .clusterId(\"1aaaab48-10d0-46d9-80cc-85209284ceb4\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudGpuVirtualCluster:\n    fn::invoke:\n      function: gcore:getCloudGpuVirtualCluster\n      arguments:\n        projectId: 1\n        regionId: 7\n        clusterId: 1aaaab48-10d0-46d9-80cc-85209284ceb4\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudGpuVirtualCluster.\n","properties":{"clusterId":{"description":"Cluster unique identifier\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["clusterId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudGpuVirtualCluster.\n","properties":{"clusterId":{"description":"Cluster unique identifier\n","type":"string"},"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor name\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"id":{"description":"Cluster unique identifier\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Cluster servers count\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettings:getCloudGpuVirtualClusterServersSettings"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterTag:getCloudGpuVirtualClusterTag"},"type":"array"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"required":["clusterId","createdAt","flavor","hasPendingChanges","id","name","serversCount","serversIds","serversSettings","status","tags","updatedAt"],"type":"object"}},"gcore:index/getCloudGpuVirtualClusterImage:getCloudGpuVirtualClusterImage":{"description":"GPU virtual images are custom boot images for virtual GPU cluster instances.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudGpuVirtualClusterImage = gcore.getCloudGpuVirtualClusterImage({\n    projectId: 1,\n    regionId: 7,\n    imageId: \"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_gpu_virtual_cluster_image = gcore.get_cloud_gpu_virtual_cluster_image(project_id=1,\n    region_id=7,\n    image_id=\"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudGpuVirtualClusterImage = Gcore.GetCloudGpuVirtualClusterImage.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        ImageId = \"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudGpuVirtualClusterImage(ctx, &gcore.LookupCloudGpuVirtualClusterImageArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(7),\n\t\t\tImageId:   \"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudGpuVirtualClusterImageArgs;\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 exampleCloudGpuVirtualClusterImage = GcoreFunctions.getCloudGpuVirtualClusterImage(GetCloudGpuVirtualClusterImageArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .imageId(\"8cab6f28-09ca-4201-b3f7-23c7893f4bd6\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudGpuVirtualClusterImage:\n    fn::invoke:\n      function: gcore:getCloudGpuVirtualClusterImage\n      arguments:\n        projectId: 1\n        regionId: 7\n        imageId: 8cab6f28-09ca-4201-b3f7-23c7893f4bd6\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudGpuVirtualClusterImage.\n","properties":{"imageId":{"description":"Image ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["imageId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudGpuVirtualClusterImage.\n","properties":{"architecture":{"description":"Image architecture type\n","type":"string"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"id":{"description":"Image ID\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution\n","type":"string"},"osType":{"description":"The operating system installed on the image\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Image size in bytes.\n","type":"number"},"sshKey":{"description":"Whether the image supports SSH key or not\n","type":"string"},"status":{"description":"Image status\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterImageTag:getCloudGpuVirtualClusterImageTag"},"type":"array"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"required":["architecture","createdAt","gpuDriver","gpuDriverType","gpuDriverVersion","id","imageId","minDisk","minRam","name","osDistro","osType","osVersion","size","sshKey","status","tags","updatedAt","visibility"],"type":"object"}},"gcore:index/getCloudGpuVirtualClusters:getCloudGpuVirtualClusters":{"description":"GPU virtual clusters provide managed virtual GPU servers with auto-scaling for parallel computation workloads.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudGpuVirtualClusters = gcore.getCloudGpuVirtualClusters({\n    projectId: 1,\n    regionId: 7,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_gpu_virtual_clusters = gcore.get_cloud_gpu_virtual_clusters(project_id=1,\n    region_id=7)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudGpuVirtualClusters = Gcore.GetCloudGpuVirtualClusters.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudGpuVirtualClusters(ctx, &gcore.GetCloudGpuVirtualClustersArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(7),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudGpuVirtualClustersArgs;\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 exampleCloudGpuVirtualClusters = GcoreFunctions.getCloudGpuVirtualClusters(GetCloudGpuVirtualClustersArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudGpuVirtualClusters:\n    fn::invoke:\n      function: gcore:getCloudGpuVirtualClusters\n      arguments:\n        projectId: 1\n        regionId: 7\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudGpuVirtualClusters.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudGpuVirtualClusters.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItem:getCloudGpuVirtualClustersItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudInferenceFlavor:getCloudInferenceFlavor":{"description":"Inference flavors define the GPU and CPU resource configurations available for inference deployments.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInferenceFlavor = gcore.getCloudInferenceFlavor({\n    flavorName: \"inference-16vcpu-232gib-1xh100-80gb\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_inference_flavor = gcore.get_cloud_inference_flavor(flavor_name=\"inference-16vcpu-232gib-1xh100-80gb\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInferenceFlavor = Gcore.GetCloudInferenceFlavor.Invoke(new()\n    {\n        FlavorName = \"inference-16vcpu-232gib-1xh100-80gb\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudInferenceFlavor(ctx, &gcore.GetCloudInferenceFlavorArgs{\n\t\t\tFlavorName: \"inference-16vcpu-232gib-1xh100-80gb\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInferenceFlavorArgs;\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 exampleCloudInferenceFlavor = GcoreFunctions.getCloudInferenceFlavor(GetCloudInferenceFlavorArgs.builder()\n            .flavorName(\"inference-16vcpu-232gib-1xh100-80gb\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInferenceFlavor:\n    fn::invoke:\n      function: gcore:getCloudInferenceFlavor\n      arguments:\n        flavorName: inference-16vcpu-232gib-1xh100-80gb\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInferenceFlavor.\n","properties":{"flavorName":{"description":"Inference flavor name.\n","type":"string"}},"required":["flavorName"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInferenceFlavor.\n","properties":{"cpu":{"description":"Inference flavor cpu count.\n","type":"number"},"description":{"description":"Inference flavor description.\n","type":"string"},"flavorName":{"description":"Inference flavor name.\n","type":"string"},"gpu":{"description":"Inference flavor gpu count.\n","type":"number"},"gpuComputeCapability":{"description":"Inference flavor gpu compute capability.\n","type":"string"},"gpuMemory":{"description":"Inference flavor gpu memory in Gi.\n","type":"number"},"gpuModel":{"description":"Inference flavor gpu model.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isGpuShared":{"description":"Inference flavor is gpu shared.\n","type":"boolean"},"memory":{"description":"Inference flavor memory in Gi.\n","type":"number"},"name":{"description":"Inference flavor name.\n","type":"string"}},"required":["cpu","description","flavorName","gpu","gpuComputeCapability","gpuMemory","gpuModel","id","isGpuShared","memory","name"],"type":"object"}},"gcore:index/getCloudInferenceFlavors:getCloudInferenceFlavors":{"description":"Inference flavors define the GPU and CPU resource configurations available for inference deployments.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInferenceFlavors = gcore.getCloudInferenceFlavors({});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_inference_flavors = gcore.get_cloud_inference_flavors()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInferenceFlavors = Gcore.GetCloudInferenceFlavors.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudInferenceFlavors(ctx, &gcore.GetCloudInferenceFlavorsArgs{}, 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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInferenceFlavorsArgs;\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 exampleCloudInferenceFlavors = GcoreFunctions.getCloudInferenceFlavors(GetCloudInferenceFlavorsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInferenceFlavors:\n    fn::invoke:\n      function: gcore:getCloudInferenceFlavors\n      arguments: {}\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInferenceFlavors.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInferenceFlavors.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInferenceFlavorsItem:getCloudInferenceFlavorsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudInferenceRegistryCredential:getCloudInferenceRegistryCredential":{"description":"Registry credentials store authentication details for private container registries used by inference deployments.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInferenceRegistryCredential = gcore.getCloudInferenceRegistryCredential({\n    projectId: 1,\n    credentialName: \"docker-io\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_inference_registry_credential = gcore.get_cloud_inference_registry_credential(project_id=1,\n    credential_name=\"docker-io\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInferenceRegistryCredential = Gcore.GetCloudInferenceRegistryCredential.Invoke(new()\n    {\n        ProjectId = 1,\n        CredentialName = \"docker-io\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudInferenceRegistryCredential(ctx, &gcore.LookupCloudInferenceRegistryCredentialArgs{\n\t\t\tProjectId:      pulumi.Float64Ref(1),\n\t\t\tCredentialName: \"docker-io\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInferenceRegistryCredentialArgs;\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 exampleCloudInferenceRegistryCredential = GcoreFunctions.getCloudInferenceRegistryCredential(GetCloudInferenceRegistryCredentialArgs.builder()\n            .projectId(1)\n            .credentialName(\"docker-io\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInferenceRegistryCredential:\n    fn::invoke:\n      function: gcore:getCloudInferenceRegistryCredential\n      arguments:\n        projectId: 1\n        credentialName: docker-io\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInferenceRegistryCredential.\n","properties":{"credentialName":{"description":"Registry credential name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"}},"required":["credentialName"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInferenceRegistryCredential.\n","properties":{"credentialName":{"description":"Registry credential name.\n","type":"string"},"id":{"description":"Registry credential name.\n","type":"string"},"name":{"description":"Registry credential name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"registryUrl":{"description":"Registry URL.\n","type":"string"},"username":{"description":"Registry username.\n","type":"string"}},"required":["credentialName","id","name","registryUrl","username"],"type":"object"}},"gcore:index/getCloudInferenceRegistryCredentials:getCloudInferenceRegistryCredentials":{"description":"Registry credentials store authentication details for private container registries used by inference deployments.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInferenceRegistryCredentials = gcore.getCloudInferenceRegistryCredentials({\n    projectId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_inference_registry_credentials = gcore.get_cloud_inference_registry_credentials(project_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInferenceRegistryCredentials = Gcore.GetCloudInferenceRegistryCredentials.Invoke(new()\n    {\n        ProjectId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudInferenceRegistryCredentials(ctx, &gcore.GetCloudInferenceRegistryCredentialsArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInferenceRegistryCredentialsArgs;\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 exampleCloudInferenceRegistryCredentials = GcoreFunctions.getCloudInferenceRegistryCredentials(GetCloudInferenceRegistryCredentialsArgs.builder()\n            .projectId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInferenceRegistryCredentials:\n    fn::invoke:\n      function: gcore:getCloudInferenceRegistryCredentials\n      arguments:\n        projectId: 1\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInferenceRegistryCredentials.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInferenceRegistryCredentials.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInferenceRegistryCredentialsItem:getCloudInferenceRegistryCredentialsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudInferenceSecret:getCloudInferenceSecret":{"description":"Inference secrets store sensitive values such as AWS credentials used for SQS-based autoscaling triggers in deployments.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInferenceSecret = gcore.getCloudInferenceSecret({\n    projectId: 1,\n    secretName: \"aws-dev\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_inference_secret = gcore.get_cloud_inference_secret(project_id=1,\n    secret_name=\"aws-dev\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInferenceSecret = Gcore.GetCloudInferenceSecret.Invoke(new()\n    {\n        ProjectId = 1,\n        SecretName = \"aws-dev\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudInferenceSecret(ctx, &gcore.LookupCloudInferenceSecretArgs{\n\t\t\tProjectId:  pulumi.Float64Ref(1),\n\t\t\tSecretName: \"aws-dev\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInferenceSecretArgs;\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 exampleCloudInferenceSecret = GcoreFunctions.getCloudInferenceSecret(GetCloudInferenceSecretArgs.builder()\n            .projectId(1)\n            .secretName(\"aws-dev\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInferenceSecret:\n    fn::invoke:\n      function: gcore:getCloudInferenceSecret\n      arguments:\n        projectId: 1\n        secretName: aws-dev\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInferenceSecret.\n","properties":{"projectId":{"description":"Project ID\n","type":"number"},"secretName":{"description":"Inference secret name.\n","type":"string"}},"required":["secretName"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInferenceSecret.\n","properties":{"data":{"$ref":"#/types/gcore:index%2FgetCloudInferenceSecretData:getCloudInferenceSecretData","description":"Secret data.\n"},"id":{"description":"Inference secret name.\n","type":"string"},"name":{"description":"Secret name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"secretName":{"description":"Inference secret name.\n","type":"string"},"type":{"description":"Secret type.\n","type":"string"}},"required":["data","id","name","secretName","type"],"type":"object"}},"gcore:index/getCloudInferenceSecrets:getCloudInferenceSecrets":{"description":"Inference secrets store sensitive values such as AWS credentials used for SQS-based autoscaling triggers in deployments.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInferenceSecrets = gcore.getCloudInferenceSecrets({\n    projectId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_inference_secrets = gcore.get_cloud_inference_secrets(project_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInferenceSecrets = Gcore.GetCloudInferenceSecrets.Invoke(new()\n    {\n        ProjectId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudInferenceSecrets(ctx, &gcore.GetCloudInferenceSecretsArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInferenceSecretsArgs;\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 exampleCloudInferenceSecrets = GcoreFunctions.getCloudInferenceSecrets(GetCloudInferenceSecretsArgs.builder()\n            .projectId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInferenceSecrets:\n    fn::invoke:\n      function: gcore:getCloudInferenceSecrets\n      arguments:\n        projectId: 1\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInferenceSecrets.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInferenceSecrets.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInferenceSecretsItem:getCloudInferenceSecretsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudInstance:getCloudInstance":{"description":"Instances are cloud virtual machines with configurable CPU, memory, storage, and networking, supporting various operating systems and workloads.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInstance = gcore.getCloudInstance({\n    projectId: 0,\n    regionId: 0,\n    instanceId: \"instance_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_instance = gcore.get_cloud_instance(project_id=0,\n    region_id=0,\n    instance_id=\"instance_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInstance = Gcore.GetCloudInstance.Invoke(new()\n    {\n        ProjectId = 0,\n        RegionId = 0,\n        InstanceId = \"instance_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudInstance(ctx, &gcore.LookupCloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64Ref(0),\n\t\t\tRegionId:   pulumi.Float64Ref(0),\n\t\t\tInstanceId: pulumi.StringRef(\"instance_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInstanceArgs;\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 exampleCloudInstance = GcoreFunctions.getCloudInstance(GetCloudInstanceArgs.builder()\n            .projectId(0)\n            .regionId(0)\n            .instanceId(\"instance_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInstance:\n    fn::invoke:\n      function: gcore:getCloudInstance\n      arguments:\n        projectId: 0\n        regionId: 0\n        instanceId: instance_id\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInstance.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudInstanceFindOneBy:getCloudInstanceFindOneBy"},"instanceId":{"description":"Instance ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInstance.\n","properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceAddresses:getCloudInstanceAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network\n","type":"object"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceBlackholePort:getCloudInstanceBlackholePort"},"type":"array"},"createdAt":{"description":"Datetime when instance was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"ddosProfile":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfile:getCloudInstanceDdosProfile","description":"Advanced DDoS protection profile. It is always <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> if query parameter `with_ddos=true` is not set.\n"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudInstanceFindOneBy:getCloudInstanceFindOneBy"},"fixedIpAssignments":{"description":"Fixed IP assigned to instance\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceFixedIpAssignment:getCloudInstanceFixedIpAssignment"},"type":"array"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudInstanceFlavor:getCloudInstanceFlavor","description":"Flavor\n"},"id":{"description":"Instance ID\n","type":"string"},"instanceDescription":{"description":"Instance description\n","type":"string"},"instanceId":{"description":"Instance ID\n","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FgetCloudInstanceInstanceIsolation:getCloudInstanceInstanceIsolation","description":"Instance isolation information\n"},"name":{"description":"Instance name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceSecurityGroup:getCloudInstanceSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key assigned to instance\n","type":"string"},"status":{"description":"Instance status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceTag:getCloudInstanceTag"},"type":"array"},"taskState":{"description":"Task state\n","type":"string"},"vmState":{"description":"Virtual machine state (active)\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".\n","type":"string"},"volumes":{"description":"List of volumes\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceVolume:getCloudInstanceVolume"},"type":"array"}},"required":["addresses","blackholePorts","createdAt","creatorTaskId","ddosProfile","fixedIpAssignments","flavor","id","instanceDescription","instanceIsolation","name","region","securityGroups","sshKeyName","status","tags","taskState","vmState","volumes"],"type":"object"}},"gcore:index/getCloudInstanceImage:getCloudInstanceImage":{"description":"Instance images are operating system images (public, private, or shared) used to boot cloud instances.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInstanceImage = gcore.getCloudInstanceImage({\n    projectId: 0,\n    regionId: 0,\n    imageId: \"image_id\",\n    includePrices: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_instance_image = gcore.get_cloud_instance_image(project_id=0,\n    region_id=0,\n    image_id=\"image_id\",\n    include_prices=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInstanceImage = Gcore.GetCloudInstanceImage.Invoke(new()\n    {\n        ProjectId = 0,\n        RegionId = 0,\n        ImageId = \"image_id\",\n        IncludePrices = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudInstanceImage(ctx, &gcore.LookupCloudInstanceImageArgs{\n\t\t\tProjectId:     pulumi.Float64Ref(0),\n\t\t\tRegionId:      pulumi.Float64Ref(0),\n\t\t\tImageId:       \"image_id\",\n\t\t\tIncludePrices: pulumi.BoolRef(true),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInstanceImageArgs;\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 exampleCloudInstanceImage = GcoreFunctions.getCloudInstanceImage(GetCloudInstanceImageArgs.builder()\n            .projectId(0)\n            .regionId(0)\n            .imageId(\"image_id\")\n            .includePrices(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInstanceImage:\n    fn::invoke:\n      function: gcore:getCloudInstanceImage\n      arguments:\n        projectId: 0\n        regionId: 0\n        imageId: image_id\n        includePrices: true\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInstanceImage.\n","properties":{"imageId":{"type":"string"},"includePrices":{"description":"Show price\n","type":"boolean"},"projectId":{"type":"number"},"regionId":{"type":"number"}},"required":["imageId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInstanceImage.\n","properties":{"architecture":{"description":"An image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>.\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"currencyCode":{"description":"Currency code. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"string"},"description":{"description":"Image description\n","type":"string"},"diskFormat":{"description":"Disk format\n","type":"string"},"displayOrder":{"type":"number"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"hwMachineType":{"description":"A virtual chipset type.\nAvailable values: \"pc\", \"q35\".\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"imageId":{"type":"string"},"includePrices":{"description":"Show price\n","type":"boolean"},"isBaremetal":{"description":"Set to true if the image will be used by bare metal servers.\n","type":"boolean"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image display name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image.\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"pricePerHour":{"description":"Price per hour. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"number"},"pricePerMonth":{"description":"Price per month. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"number"},"priceStatus":{"description":"Price status for the UI\nAvailable values: \"error\", \"hide\", \"show\".\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"size":{"description":"Image size in bytes\n","type":"number"},"sshKey":{"description":"Whether the image supports SSH key or not\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status, i.e. active\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceImageTag:getCloudInstanceImageTag"},"type":"array"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"required":["architecture","createdAt","creatorTaskId","currencyCode","description","diskFormat","displayOrder","gpuDriver","gpuDriverType","gpuDriverVersion","hwFirmwareType","hwMachineType","id","imageId","isBaremetal","minDisk","minRam","name","osDistro","osType","osVersion","pricePerHour","pricePerMonth","priceStatus","region","size","sshKey","status","tags","updatedAt","visibility"],"type":"object"}},"gcore:index/getCloudInstances:getCloudInstances":{"description":"Instances are cloud virtual machines with configurable CPU, memory, storage, and networking, supporting various operating systems and workloads.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudInstances = gcore.getCloudInstances({\n    projectId: 1,\n    regionId: 1,\n    availableFloating: true,\n    changesBefore: \"2025-10-01T12:00:00Z\",\n    changesSince: \"2025-10-01T12:00:00Z\",\n    excludeFlavorPrefix: \"g1-\",\n    excludeSecgroup: \"secgroup_name\",\n    flavorId: \"g2-standard-32-64\",\n    flavorPrefix: \"g2-\",\n    ip: \"192.168.0.1\",\n    name: \"name\",\n    onlyWithFixedExternalIp: true,\n    profileName: \"profile_name\",\n    protectionStatus: \"Active\",\n    status: \"ACTIVE\",\n    tagKeyValue: \"tag_key_value\",\n    tagValues: [\n        \"value1\",\n        \"value2\",\n    ],\n    typeDdosProfile: \"advanced\",\n    uuid: \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_instances = gcore.get_cloud_instances(project_id=1,\n    region_id=1,\n    available_floating=True,\n    changes_before=\"2025-10-01T12:00:00Z\",\n    changes_since=\"2025-10-01T12:00:00Z\",\n    exclude_flavor_prefix=\"g1-\",\n    exclude_secgroup=\"secgroup_name\",\n    flavor_id=\"g2-standard-32-64\",\n    flavor_prefix=\"g2-\",\n    ip=\"192.168.0.1\",\n    name=\"name\",\n    only_with_fixed_external_ip=True,\n    profile_name=\"profile_name\",\n    protection_status=\"Active\",\n    status=\"ACTIVE\",\n    tag_key_value=\"tag_key_value\",\n    tag_values=[\n        \"value1\",\n        \"value2\",\n    ],\n    type_ddos_profile=\"advanced\",\n    uuid=\"b5b4d65d-945f-4b98-ab6f-332319c724ef\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudInstances = Gcore.GetCloudInstances.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        AvailableFloating = true,\n        ChangesBefore = \"2025-10-01T12:00:00Z\",\n        ChangesSince = \"2025-10-01T12:00:00Z\",\n        ExcludeFlavorPrefix = \"g1-\",\n        ExcludeSecgroup = \"secgroup_name\",\n        FlavorId = \"g2-standard-32-64\",\n        FlavorPrefix = \"g2-\",\n        Ip = \"192.168.0.1\",\n        Name = \"name\",\n        OnlyWithFixedExternalIp = true,\n        ProfileName = \"profile_name\",\n        ProtectionStatus = \"Active\",\n        Status = \"ACTIVE\",\n        TagKeyValue = \"tag_key_value\",\n        TagValues = new[]\n        {\n            \"value1\",\n            \"value2\",\n        },\n        TypeDdosProfile = \"advanced\",\n        Uuid = \"b5b4d65d-945f-4b98-ab6f-332319c724ef\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudInstances(ctx, &gcore.GetCloudInstancesArgs{\n\t\t\tProjectId:               pulumi.Float64Ref(1),\n\t\t\tRegionId:                pulumi.Float64Ref(1),\n\t\t\tAvailableFloating:       pulumi.BoolRef(true),\n\t\t\tChangesBefore:           pulumi.StringRef(\"2025-10-01T12:00:00Z\"),\n\t\t\tChangesSince:            pulumi.StringRef(\"2025-10-01T12:00:00Z\"),\n\t\t\tExcludeFlavorPrefix:     pulumi.StringRef(\"g1-\"),\n\t\t\tExcludeSecgroup:         pulumi.StringRef(\"secgroup_name\"),\n\t\t\tFlavorId:                pulumi.StringRef(\"g2-standard-32-64\"),\n\t\t\tFlavorPrefix:            pulumi.StringRef(\"g2-\"),\n\t\t\tIp:                      pulumi.StringRef(\"192.168.0.1\"),\n\t\t\tName:                    pulumi.StringRef(\"name\"),\n\t\t\tOnlyWithFixedExternalIp: pulumi.BoolRef(true),\n\t\t\tProfileName:             pulumi.StringRef(\"profile_name\"),\n\t\t\tProtectionStatus:        pulumi.StringRef(\"Active\"),\n\t\t\tStatus:                  pulumi.StringRef(\"ACTIVE\"),\n\t\t\tTagKeyValue:             pulumi.StringRef(\"tag_key_value\"),\n\t\t\tTagValues: []string{\n\t\t\t\t\"value1\",\n\t\t\t\t\"value2\",\n\t\t\t},\n\t\t\tTypeDdosProfile: pulumi.StringRef(\"advanced\"),\n\t\t\tUuid:            pulumi.StringRef(\"b5b4d65d-945f-4b98-ab6f-332319c724ef\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudInstancesArgs;\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 exampleCloudInstances = GcoreFunctions.getCloudInstances(GetCloudInstancesArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .availableFloating(true)\n            .changesBefore(\"2025-10-01T12:00:00Z\")\n            .changesSince(\"2025-10-01T12:00:00Z\")\n            .excludeFlavorPrefix(\"g1-\")\n            .excludeSecgroup(\"secgroup_name\")\n            .flavorId(\"g2-standard-32-64\")\n            .flavorPrefix(\"g2-\")\n            .ip(\"192.168.0.1\")\n            .name(\"name\")\n            .onlyWithFixedExternalIp(true)\n            .profileName(\"profile_name\")\n            .protectionStatus(\"Active\")\n            .status(\"ACTIVE\")\n            .tagKeyValue(\"tag_key_value\")\n            .tagValues(            \n                \"value1\",\n                \"value2\")\n            .typeDdosProfile(\"advanced\")\n            .uuid(\"b5b4d65d-945f-4b98-ab6f-332319c724ef\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudInstances:\n    fn::invoke:\n      function: gcore:getCloudInstances\n      arguments:\n        projectId: 1\n        regionId: 1\n        availableFloating: true\n        changesBefore: 2025-10-01T12:00:00Z\n        changesSince: 2025-10-01T12:00:00Z\n        excludeFlavorPrefix: g1-\n        excludeSecgroup: secgroup_name\n        flavorId: g2-standard-32-64\n        flavorPrefix: g2-\n        ip: 192.168.0.1\n        name: name\n        onlyWithFixedExternalIp: true\n        profileName: profile_name\n        protectionStatus: Active\n        status: ACTIVE\n        tagKeyValue: tag_key_value\n        tagValues:\n          - value1\n          - value2\n        typeDdosProfile: advanced\n        uuid: b5b4d65d-945f-4b98-ab6f-332319c724ef\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudInstances.\n","properties":{"availableFloating":{"description":"Only show instances which are able to handle floating address\n","type":"boolean"},"changesBefore":{"description":"Filters the instances by a date and time stamp when the instances last changed.\n","type":"string"},"changesSince":{"description":"Filters the instances by a date and time stamp when the instances last changed status.\n","type":"string"},"excludeFlavorPrefix":{"description":"Exclude instances with specified flavor prefix\n","type":"string"},"excludeSecgroup":{"description":"Exclude instances with specified security group name\n","type":"string"},"flavorId":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\">`flavor_id`</span>. Flavor id must match exactly.\n","type":"string"},"flavorPrefix":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorPrefix`\" pulumi-lang-dotnet=\"`FlavorPrefix`\" pulumi-lang-go=\"`flavorPrefix`\" pulumi-lang-python=\"`flavor_prefix`\" pulumi-lang-yaml=\"`flavorPrefix`\" pulumi-lang-java=\"`flavorPrefix`\">`flavor_prefix`</span>.\n","type":"string"},"includeAi":{"deprecationMessage":"Deprecated","description":"Include GPU clusters' servers\n","type":"boolean"},"includeBaremetal":{"deprecationMessage":"Deprecated","description":"Include bare metal servers. Please, use `GET /v1/bminstances/` instead\n","type":"boolean"},"includeK8s":{"description":"Include managed k8s worker nodes\n","type":"boolean"},"ip":{"description":"An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.\n","type":"string"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.\n","type":"string"},"onlyIsolated":{"description":"Include only isolated instances\n","type":"boolean"},"onlyWithFixedExternalIp":{"description":"Return bare metals only with external fixed IP addresses.\n","type":"boolean"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created.asc\", \"created.desc\", \"name.asc\", \"name.desc\", \"status.asc\", \"status.desc\".\n","type":"string"},"profileName":{"description":"Filter result by ddos protection profile name. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protectionStatus":{"description":"Filter result by DDoS <span pulumi-lang-nodejs=\"`protectionStatus`\" pulumi-lang-dotnet=\"`ProtectionStatus`\" pulumi-lang-go=\"`protectionStatus`\" pulumi-lang-python=\"`protection_status`\" pulumi-lang-yaml=\"`protectionStatus`\" pulumi-lang-java=\"`protectionStatus`\">`protection_status`</span>. if parameter is provided. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (Active, Queued or Error)\nAvailable values: \"Active\", \"Queued\", \"Error\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Filters instances by status.\nAvailable values: \"ACTIVE\", \"BUILD\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"VERIFY_RESIZE\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagValues":{"description":"Optional. Filter by tag values. ?<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value1&<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value2\n","items":{"type":"string"},"type":"array"},"typeDdosProfile":{"description":"Return bare metals either only with advanced or only basic DDoS protection. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (advanced or basic)\nAvailable values: \"basic\", \"advanced\".\n","type":"string"},"uuid":{"description":"Filter the server list result by the UUID of the server. Allowed UUID part\n","type":"string"},"withDdos":{"description":"Include DDoS profile information in the response when set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>. Otherwise, the <span pulumi-lang-nodejs=\"`ddosProfile`\" pulumi-lang-dotnet=\"`DdosProfile`\" pulumi-lang-go=\"`ddosProfile`\" pulumi-lang-python=\"`ddos_profile`\" pulumi-lang-yaml=\"`ddosProfile`\" pulumi-lang-java=\"`ddosProfile`\">`ddos_profile`</span> field in the response is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> by default.\n","type":"boolean"},"withInterfacesName":{"description":"Include <span pulumi-lang-nodejs=\"`interfaceName`\" pulumi-lang-dotnet=\"`InterfaceName`\" pulumi-lang-go=\"`interfaceName`\" pulumi-lang-python=\"`interface_name`\" pulumi-lang-yaml=\"`interfaceName`\" pulumi-lang-java=\"`interfaceName`\">`interface_name`</span> in the addresses\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudInstances.\n","properties":{"availableFloating":{"description":"Only show instances which are able to handle floating address\n","type":"boolean"},"changesBefore":{"description":"Filters the instances by a date and time stamp when the instances last changed.\n","type":"string"},"changesSince":{"description":"Filters the instances by a date and time stamp when the instances last changed status.\n","type":"string"},"excludeFlavorPrefix":{"description":"Exclude instances with specified flavor prefix\n","type":"string"},"excludeSecgroup":{"description":"Exclude instances with specified security group name\n","type":"string"},"flavorId":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\">`flavor_id`</span>. Flavor id must match exactly.\n","type":"string"},"flavorPrefix":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorPrefix`\" pulumi-lang-dotnet=\"`FlavorPrefix`\" pulumi-lang-go=\"`flavorPrefix`\" pulumi-lang-python=\"`flavor_prefix`\" pulumi-lang-yaml=\"`flavorPrefix`\" pulumi-lang-java=\"`flavorPrefix`\">`flavor_prefix`</span>.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"includeAi":{"deprecationMessage":"Deprecated","description":"Include GPU clusters' servers\n","type":"boolean"},"includeBaremetal":{"deprecationMessage":"Deprecated","description":"Include bare metal servers. Please, use `GET /v1/bminstances/` instead\n","type":"boolean"},"includeK8s":{"description":"Include managed k8s worker nodes\n","type":"boolean"},"ip":{"description":"An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.\n","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItem:getCloudInstancesItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.\n","type":"string"},"onlyIsolated":{"description":"Include only isolated instances\n","type":"boolean"},"onlyWithFixedExternalIp":{"description":"Return bare metals only with external fixed IP addresses.\n","type":"boolean"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created.asc\", \"created.desc\", \"name.asc\", \"name.desc\", \"status.asc\", \"status.desc\".\n","type":"string"},"profileName":{"description":"Filter result by ddos protection profile name. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protectionStatus":{"description":"Filter result by DDoS <span pulumi-lang-nodejs=\"`protectionStatus`\" pulumi-lang-dotnet=\"`ProtectionStatus`\" pulumi-lang-go=\"`protectionStatus`\" pulumi-lang-python=\"`protection_status`\" pulumi-lang-yaml=\"`protectionStatus`\" pulumi-lang-java=\"`protectionStatus`\">`protection_status`</span>. if parameter is provided. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (Active, Queued or Error)\nAvailable values: \"Active\", \"Queued\", \"Error\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Filters instances by status.\nAvailable values: \"ACTIVE\", \"BUILD\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"VERIFY_RESIZE\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagValues":{"description":"Optional. Filter by tag values. ?<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value1&<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value2\n","items":{"type":"string"},"type":"array"},"typeDdosProfile":{"description":"Return bare metals either only with advanced or only basic DDoS protection. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (advanced or basic)\nAvailable values: \"basic\", \"advanced\".\n","type":"string"},"uuid":{"description":"Filter the server list result by the UUID of the server. Allowed UUID part\n","type":"string"},"withDdos":{"description":"Include DDoS profile information in the response when set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>. Otherwise, the <span pulumi-lang-nodejs=\"`ddosProfile`\" pulumi-lang-dotnet=\"`DdosProfile`\" pulumi-lang-go=\"`ddosProfile`\" pulumi-lang-python=\"`ddos_profile`\" pulumi-lang-yaml=\"`ddosProfile`\" pulumi-lang-java=\"`ddosProfile`\">`ddos_profile`</span> field in the response is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> by default.\n","type":"boolean"},"withInterfacesName":{"description":"Include <span pulumi-lang-nodejs=\"`interfaceName`\" pulumi-lang-dotnet=\"`InterfaceName`\" pulumi-lang-go=\"`interfaceName`\" pulumi-lang-python=\"`interface_name`\" pulumi-lang-yaml=\"`interfaceName`\" pulumi-lang-java=\"`interfaceName`\">`interface_name`</span> in the addresses\n","type":"boolean"}},"required":["id","includeAi","includeBaremetal","includeK8s","items","onlyIsolated","orderBy","withDdos","withInterfacesName"],"type":"object"}},"gcore:index/getCloudK8sCluster:getCloudK8sCluster":{"description":"Managed Kubernetes clusters with configurable worker node pools, networking, and cluster add-ons.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudK8sCluster = gcore.getCloudK8sCluster({\n    projectId: 1,\n    regionId: 7,\n    clusterName: \"my-cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_k8s_cluster = gcore.get_cloud_k8s_cluster(project_id=1,\n    region_id=7,\n    cluster_name=\"my-cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudK8sCluster = Gcore.GetCloudK8sCluster.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        ClusterName = \"my-cluster\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudK8sCluster(ctx, &gcore.LookupCloudK8sClusterArgs{\n\t\t\tProjectId:   pulumi.Float64Ref(1),\n\t\t\tRegionId:    pulumi.Float64Ref(7),\n\t\t\tClusterName: \"my-cluster\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudK8sClusterArgs;\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 exampleCloudK8sCluster = GcoreFunctions.getCloudK8sCluster(GetCloudK8sClusterArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .clusterName(\"my-cluster\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudK8sCluster:\n    fn::invoke:\n      function: gcore:getCloudK8sCluster\n      arguments:\n        projectId: 1\n        regionId: 7\n        clusterName: my-cluster\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudK8sCluster.\n","properties":{"clusterName":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["clusterName"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudK8sCluster.\n","properties":{"addOns":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterAddOns:getCloudK8sClusterAddOns","description":"Cluster add-ons configuration\n"},"authentication":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterAuthentication:getCloudK8sClusterAuthentication","description":"Cluster authentication settings\n"},"autoscalerConfig":{"additionalProperties":{"type":"string"},"description":"Cluster autoscaler configuration.\n","type":"object"},"clusterName":{"description":"Cluster name\n","type":"string"},"cni":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterCni:getCloudK8sClusterCni"},"createdAt":{"type":"string"},"creatorTaskId":{"type":"string"},"csi":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterCsi:getCloudK8sClusterCsi"},"fixedNetwork":{"type":"string"},"fixedSubnet":{"type":"string"},"id":{"type":"string"},"isIpv6":{"type":"boolean"},"isPublic":{"type":"boolean"},"keypair":{"type":"string"},"logging":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterLogging:getCloudK8sClusterLogging"},"name":{"type":"string"},"podsIpPool":{"type":"string"},"podsIpv6Pool":{"type":"string"},"pools":{"items":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterPool:getCloudK8sClusterPool"},"type":"array"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"servicesIpPool":{"type":"string"},"servicesIpv6Pool":{"type":"string"},"status":{"type":"string"},"version":{"type":"string"}},"required":["addOns","authentication","autoscalerConfig","clusterName","cni","createdAt","creatorTaskId","csi","fixedNetwork","fixedSubnet","id","isIpv6","isPublic","keypair","logging","name","podsIpPool","podsIpv6Pool","pools","servicesIpPool","servicesIpv6Pool","status","version"],"type":"object"}},"gcore:index/getCloudK8sClusterKubeconfig:getCloudK8sClusterKubeconfig":{"description":"Kubeconfig provides the necessary configuration and credentials to access a Kubernetes cluster using kubectl or other Kubernetes clients.\n","inputs":{"description":"A collection of arguments for invoking getCloudK8sClusterKubeconfig.\n","properties":{"clusterName":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["clusterName"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudK8sClusterKubeconfig.\n","properties":{"clientCertificate":{"description":"String in base64 format. Cluster client certificate\n","type":"string"},"clientKey":{"description":"String in base64 format. Cluster client key\n","type":"string"},"clusterCaCertificate":{"description":"String in base64 format. Cluster ca certificate\n","type":"string"},"clusterName":{"description":"Cluster name\n","type":"string"},"config":{"description":"Cluster kubeconfig\n","type":"string"},"createdAt":{"description":"Kubeconfig creation date\n","type":"string"},"expiresAt":{"description":"Kubeconfig expiration date\n","type":"string"},"host":{"description":"Cluster host\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["clientCertificate","clientKey","clusterCaCertificate","clusterName","config","createdAt","expiresAt","host","id"],"type":"object"}},"gcore:index/getCloudLoadBalancer:getCloudLoadBalancer":{"description":"Load balancers distribute incoming traffic across multiple instances with support for listeners, pools, and health monitoring.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudLoadBalancer = gcore.getCloudLoadBalancer({\n    projectId: 1,\n    regionId: 7,\n    loadBalancerId: \"ac307687-31a4-4a11-a949-6bea1b2878f5\",\n    showStats: true,\n    withDdos: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_load_balancer = gcore.get_cloud_load_balancer(project_id=1,\n    region_id=7,\n    load_balancer_id=\"ac307687-31a4-4a11-a949-6bea1b2878f5\",\n    show_stats=True,\n    with_ddos=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudLoadBalancer = Gcore.GetCloudLoadBalancer.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        LoadBalancerId = \"ac307687-31a4-4a11-a949-6bea1b2878f5\",\n        ShowStats = true,\n        WithDdos = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudLoadBalancer(ctx, &gcore.LookupCloudLoadBalancerArgs{\n\t\t\tProjectId:      pulumi.Float64Ref(1),\n\t\t\tRegionId:       pulumi.Float64Ref(7),\n\t\t\tLoadBalancerId: pulumi.StringRef(\"ac307687-31a4-4a11-a949-6bea1b2878f5\"),\n\t\t\tShowStats:      pulumi.BoolRef(true),\n\t\t\tWithDdos:       pulumi.BoolRef(true),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudLoadBalancerArgs;\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 exampleCloudLoadBalancer = GcoreFunctions.getCloudLoadBalancer(GetCloudLoadBalancerArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .loadBalancerId(\"ac307687-31a4-4a11-a949-6bea1b2878f5\")\n            .showStats(true)\n            .withDdos(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudLoadBalancer:\n    fn::invoke:\n      function: gcore:getCloudLoadBalancer\n      arguments:\n        projectId: 1\n        regionId: 7\n        loadBalancerId: ac307687-31a4-4a11-a949-6bea1b2878f5\n        showStats: true\n        withDdos: true\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudLoadBalancer.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerFindOneBy:getCloudLoadBalancerFindOneBy"},"loadBalancerId":{"description":"Load-Balancer ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"showStats":{"description":"Show statistics\n","type":"boolean"},"withDdos":{"description":"Show Advanced DDoS protection profile, if exists\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudLoadBalancer.\n","properties":{"additionalVips":{"description":"List of additional IP addresses\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerAdditionalVip:getCloudLoadBalancerAdditionalVip"},"type":"array"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"createdAt":{"description":"Datetime when the load balancer was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerFindOneBy:getCloudLoadBalancerFindOneBy"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerFlavor:getCloudLoadBalancerFlavor","description":"Load balancer flavor (if not default)\n"},"floatingIps":{"description":"List of assigned floating IPs\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerFloatingIp:getCloudLoadBalancerFloatingIp"},"type":"array"},"id":{"description":"Load-Balancer ID\n","type":"string"},"listeners":{"description":"Load balancer listeners\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerListener:getCloudLoadBalancerListener"},"type":"array"},"loadBalancerId":{"description":"Load-Balancer ID\n","type":"string"},"logging":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerLogging:getCloudLoadBalancerLogging","description":"Logging configuration\n"},"name":{"description":"Load balancer name\n","type":"string"},"operatingStatus":{"description":"Load balancer operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"preferredConnectivity":{"description":"Preferred option to establish connectivity between load balancer and its pools members\nAvailable values: \"L2\", \"L3\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"provisioningStatus":{"description":"Load balancer lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"showStats":{"description":"Show statistics\n","type":"boolean"},"stats":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerStats:getCloudLoadBalancerStats","description":"Statistics of load balancer.\n"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerTagsV2:getCloudLoadBalancerTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the load balancer was last updated\n","type":"string"},"vipAddress":{"description":"Load balancer IP address\n","type":"string"},"vipFqdn":{"description":"Fully qualified domain name for the load balancer VIP\n","type":"string"},"vipIpFamily":{"description":"Load balancer IP family\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"vipPortId":{"description":"The ID of the Virtual IP (VIP) port.\n","type":"string"},"vrrpIps":{"description":"List of VRRP IP addresses\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerVrrpIp:getCloudLoadBalancerVrrpIp"},"type":"array"},"withDdos":{"description":"Show Advanced DDoS protection profile, if exists\n","type":"boolean"}},"required":["additionalVips","adminStateUp","createdAt","creatorTaskId","flavor","floatingIps","id","listeners","logging","name","operatingStatus","preferredConnectivity","provisioningStatus","region","showStats","stats","tagsV2s","updatedAt","vipAddress","vipFqdn","vipIpFamily","vipPortId","vrrpIps","withDdos"],"type":"object"}},"gcore:index/getCloudLoadBalancerListener:getCloudLoadBalancerListener":{"description":"Load balancer listeners handle incoming traffic on specified protocols and ports, forwarding requests to backend pools.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudLoadBalancerListener = gcore.getCloudLoadBalancerListener({\n    projectId: 1,\n    regionId: 1,\n    listenerId: \"00000000-0000-4000-8000-000000000000\",\n    showStats: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_load_balancer_listener = gcore.get_cloud_load_balancer_listener(project_id=1,\n    region_id=1,\n    listener_id=\"00000000-0000-4000-8000-000000000000\",\n    show_stats=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudLoadBalancerListener = Gcore.GetCloudLoadBalancerListener.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        ListenerId = \"00000000-0000-4000-8000-000000000000\",\n        ShowStats = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudLoadBalancerListener(ctx, &gcore.LookupCloudLoadBalancerListenerArgs{\n\t\t\tProjectId:  pulumi.Float64Ref(1),\n\t\t\tRegionId:   pulumi.Float64Ref(1),\n\t\t\tListenerId: \"00000000-0000-4000-8000-000000000000\",\n\t\t\tShowStats:  pulumi.BoolRef(true),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudLoadBalancerListenerArgs;\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 exampleCloudLoadBalancerListener = GcoreFunctions.getCloudLoadBalancerListener(GetCloudLoadBalancerListenerArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .listenerId(\"00000000-0000-4000-8000-000000000000\")\n            .showStats(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudLoadBalancerListener:\n    fn::invoke:\n      function: gcore:getCloudLoadBalancerListener\n      arguments:\n        projectId: 1\n        regionId: 1\n        listenerId: 00000000-0000-4000-8000-000000000000\n        showStats: true\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudLoadBalancerListener.\n","properties":{"listenerId":{"description":"Listener ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"showStats":{"description":"Show stats\n","type":"boolean"}},"required":["listenerId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudLoadBalancerListener.\n","properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"allowedCidrs":{"description":"Network CIDRs from which service will be accessible\n","items":{"type":"string"},"type":"array"},"connectionLimit":{"description":"Limit of simultaneous connections\n","type":"number"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"id":{"description":"Listener ID\n","type":"string"},"insertHeaders":{"additionalProperties":{"type":"string"},"description":"Dictionary of additional header insertion into HTTP headers. Only used with HTTP and `TERMINATED_HTTPS` protocols.\n","type":"object"},"listenerId":{"description":"Listener ID\n","type":"string"},"loadBalancerId":{"description":"Load balancer ID\n","type":"string"},"name":{"description":"Load balancer listener name\n","type":"string"},"operatingStatus":{"description":"Listener operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"poolCount":{"description":"Number of pools (for UI)\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Load balancer protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROMETHEUS\", \"TCP\", \"TERMINATED_HTTPS\", \"UDP\".\n","type":"string"},"protocolPort":{"description":"Protocol port\n","type":"number"},"provisioningStatus":{"description":"Listener lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS load balancer\n","type":"string"},"showStats":{"description":"Show stats\n","type":"boolean"},"sniSecretIds":{"description":"List of secret's ID containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners\n","items":{"type":"string"},"type":"array"},"stats":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerListenerStats:getCloudLoadBalancerListenerStats","description":"Statistics of the load balancer. It is available only in get functions by a flag.\n"},"timeoutClientData":{"description":"Frontend client inactivity timeout in milliseconds\n","type":"number"},"userLists":{"description":"Load balancer listener users list\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerListenerUserList:getCloudLoadBalancerListenerUserList"},"type":"array"}},"required":["adminStateUp","allowedCidrs","connectionLimit","creatorTaskId","id","insertHeaders","listenerId","loadBalancerId","name","operatingStatus","poolCount","protocol","protocolPort","provisioningStatus","secretId","showStats","sniSecretIds","stats","timeoutClientData","userLists"],"type":"object"}},"gcore:index/getCloudLoadBalancerPool:getCloudLoadBalancerPool":{"description":"Load balancer pools group backend instances with a load balancing algorithm and health monitoring configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudLoadBalancerPool = gcore.getCloudLoadBalancerPool({\n    projectId: 1,\n    regionId: 1,\n    poolId: \"00000000-0000-4000-8000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_load_balancer_pool = gcore.get_cloud_load_balancer_pool(project_id=1,\n    region_id=1,\n    pool_id=\"00000000-0000-4000-8000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudLoadBalancerPool = Gcore.GetCloudLoadBalancerPool.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        PoolId = \"00000000-0000-4000-8000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudLoadBalancerPool(ctx, &gcore.LookupCloudLoadBalancerPoolArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tPoolId:    \"00000000-0000-4000-8000-000000000000\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudLoadBalancerPoolArgs;\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 exampleCloudLoadBalancerPool = GcoreFunctions.getCloudLoadBalancerPool(GetCloudLoadBalancerPoolArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .poolId(\"00000000-0000-4000-8000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudLoadBalancerPool:\n    fn::invoke:\n      function: gcore:getCloudLoadBalancerPool\n      arguments:\n        projectId: 1\n        regionId: 1\n        poolId: 00000000-0000-4000-8000-000000000000\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudLoadBalancerPool.\n","properties":{"poolId":{"description":"Pool ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["poolId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudLoadBalancerPool.\n","properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"caSecretId":{"description":"Secret ID of CA certificate bundle\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"crlSecretId":{"description":"Secret ID of CA revocation list file\n","type":"string"},"healthmonitor":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerPoolHealthmonitor:getCloudLoadBalancerPoolHealthmonitor","description":"Health monitor parameters\n"},"id":{"description":"Pool ID\n","type":"string"},"lbAlgorithm":{"description":"Load balancer algorithm\nAvailable values: \"LEAST*CONNECTIONS\", \"ROUND*ROBIN\", \"SOURCE_IP\".\n","type":"string"},"listeners":{"description":"Listeners IDs\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerPoolListener:getCloudLoadBalancerPoolListener"},"type":"array"},"loadbalancers":{"description":"Load balancers IDs\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerPoolLoadbalancer:getCloudLoadBalancerPoolLoadbalancer"},"type":"array"},"members":{"description":"Pool members\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerPoolMember:getCloudLoadBalancerPoolMember"},"type":"array"},"name":{"description":"Pool name\n","type":"string"},"operatingStatus":{"description":"Pool operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"poolId":{"description":"Pool ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROXY\", \"PROXYV2\", \"TCP\", \"UDP\".\n","type":"string"},"provisioningStatus":{"description":"Pool lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"Secret ID for TLS client authentication to the member servers\n","type":"string"},"sessionPersistence":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerPoolSessionPersistence:getCloudLoadBalancerPoolSessionPersistence","description":"Session persistence parameters\n"},"timeoutMemberConnect":{"description":"Backend member connection timeout in milliseconds\n","type":"number"},"timeoutMemberData":{"description":"Backend member inactivity timeout in milliseconds\n","type":"number"}},"required":["adminStateUp","caSecretId","creatorTaskId","crlSecretId","healthmonitor","id","lbAlgorithm","listeners","loadbalancers","members","name","operatingStatus","poolId","protocol","provisioningStatus","secretId","sessionPersistence","timeoutMemberConnect","timeoutMemberData"],"type":"object"}},"gcore:index/getCloudLoadBalancers:getCloudLoadBalancers":{"description":"Load balancers distribute incoming traffic across multiple instances with support for listeners, pools, and health monitoring.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudLoadBalancers = gcore.getCloudLoadBalancers({\n    projectId: 1,\n    regionId: 7,\n    assignedFloating: true,\n    loggingEnabled: true,\n    name: \"lb_name\",\n    tagKeys: [\n        \"key1\",\n        \"key2\",\n    ],\n    tagKeyValue: \"tag_key_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_load_balancers = gcore.get_cloud_load_balancers(project_id=1,\n    region_id=7,\n    assigned_floating=True,\n    logging_enabled=True,\n    name=\"lb_name\",\n    tag_keys=[\n        \"key1\",\n        \"key2\",\n    ],\n    tag_key_value=\"tag_key_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudLoadBalancers = Gcore.GetCloudLoadBalancers.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 7,\n        AssignedFloating = true,\n        LoggingEnabled = true,\n        Name = \"lb_name\",\n        TagKeys = new[]\n        {\n            \"key1\",\n            \"key2\",\n        },\n        TagKeyValue = \"tag_key_value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudLoadBalancers(ctx, &gcore.GetCloudLoadBalancersArgs{\n\t\t\tProjectId:        pulumi.Float64Ref(1),\n\t\t\tRegionId:         pulumi.Float64Ref(7),\n\t\t\tAssignedFloating: pulumi.BoolRef(true),\n\t\t\tLoggingEnabled:   pulumi.BoolRef(true),\n\t\t\tName:             pulumi.StringRef(\"lb_name\"),\n\t\t\tTagKeys: []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\tTagKeyValue: pulumi.StringRef(\"tag_key_value\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudLoadBalancersArgs;\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 exampleCloudLoadBalancers = GcoreFunctions.getCloudLoadBalancers(GetCloudLoadBalancersArgs.builder()\n            .projectId(1)\n            .regionId(7)\n            .assignedFloating(true)\n            .loggingEnabled(true)\n            .name(\"lb_name\")\n            .tagKeys(            \n                \"key1\",\n                \"key2\")\n            .tagKeyValue(\"tag_key_value\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudLoadBalancers:\n    fn::invoke:\n      function: gcore:getCloudLoadBalancers\n      arguments:\n        projectId: 1\n        regionId: 7\n        assignedFloating: true\n        loggingEnabled: true\n        name: lb_name\n        tagKeys:\n          - key1\n          - key2\n        tagKeyValue: tag_key_value\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudLoadBalancers.\n","properties":{"assignedFloating":{"description":"With or without assigned floating IP\n","type":"boolean"},"loggingEnabled":{"description":"With or without logging enabled\n","type":"boolean"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter by name\n","type":"string"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"flavor.asc\", \"flavor.desc\", \"name.asc\", \"name.desc\", \"operating*status.asc\", \"operating*status.desc\", \"provisioning*status.asc\", \"provisioning*status.desc\", \"updated*at.asc\", \"updated*at.desc\", \"vip*address.asc\", \"vip*address.desc\", \"vip*ip*family.asc\", \"vip*ip*family.desc\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"showStats":{"description":"Show statistics\n","type":"boolean"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"},"withDdos":{"description":"Show Advanced DDoS protection profile, if exists\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudLoadBalancers.\n","properties":{"assignedFloating":{"description":"With or without assigned floating IP\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItem:getCloudLoadBalancersItem"},"type":"array"},"loggingEnabled":{"description":"With or without logging enabled\n","type":"boolean"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter by name\n","type":"string"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"flavor.asc\", \"flavor.desc\", \"name.asc\", \"name.desc\", \"operating*status.asc\", \"operating*status.desc\", \"provisioning*status.asc\", \"provisioning*status.desc\", \"updated*at.asc\", \"updated*at.desc\", \"vip*address.asc\", \"vip*address.desc\", \"vip*ip*family.asc\", \"vip*ip*family.desc\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"showStats":{"description":"Show statistics\n","type":"boolean"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"},"withDdos":{"description":"Show Advanced DDoS protection profile, if exists\n","type":"boolean"}},"required":["id","items","orderBy","showStats","withDdos"],"type":"object"}},"gcore:index/getCloudNetwork:getCloudNetwork":{"description":"Networks provide software-defined networking infrastructure for connecting instances and other cloud resources within a region.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudNetwork = gcore.getCloudNetwork({\n    projectId: 1,\n    regionId: 1,\n    networkId: \"b39792c3-3160-4356-912e-ba396c95cdcf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_network = gcore.get_cloud_network(project_id=1,\n    region_id=1,\n    network_id=\"b39792c3-3160-4356-912e-ba396c95cdcf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudNetwork = Gcore.GetCloudNetwork.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        NetworkId = \"b39792c3-3160-4356-912e-ba396c95cdcf\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudNetwork(ctx, &gcore.LookupCloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tNetworkId: pulumi.StringRef(\"b39792c3-3160-4356-912e-ba396c95cdcf\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudNetworkArgs;\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 exampleCloudNetwork = GcoreFunctions.getCloudNetwork(GetCloudNetworkArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .networkId(\"b39792c3-3160-4356-912e-ba396c95cdcf\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudNetwork:\n    fn::invoke:\n      function: gcore:getCloudNetwork\n      arguments:\n        projectId: 1\n        regionId: 1\n        networkId: b39792c3-3160-4356-912e-ba396c95cdcf\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudNetwork.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudNetworkFindOneBy:getCloudNetworkFindOneBy"},"networkId":{"description":"Network ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudNetwork.\n","properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudNetworkFindOneBy:getCloudNetworkFindOneBy"},"id":{"description":"Network ID\n","type":"string"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"networkId":{"description":"Network ID\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkTag:getCloudNetworkTag"},"type":"array"},"type":{"description":"Network type (vlan, vxlan)\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","default","external","id","mtu","name","portSecurityEnabled","region","segmentationId","shared","subnets","tags","type","updatedAt"],"type":"object"}},"gcore:index/getCloudNetworkRouter:getCloudNetworkRouter":{"description":"Routers interconnect subnets and manage network routing, including external gateway connectivity and static routes.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudNetworkRouter = gcore.getCloudNetworkRouter({\n    projectId: 0,\n    regionId: 0,\n    routerId: \"router_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_network_router = gcore.get_cloud_network_router(project_id=0,\n    region_id=0,\n    router_id=\"router_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudNetworkRouter = Gcore.GetCloudNetworkRouter.Invoke(new()\n    {\n        ProjectId = 0,\n        RegionId = 0,\n        RouterId = \"router_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudNetworkRouter(ctx, &gcore.LookupCloudNetworkRouterArgs{\n\t\t\tProjectId: pulumi.Float64Ref(0),\n\t\t\tRegionId:  pulumi.Float64Ref(0),\n\t\t\tRouterId:  pulumi.StringRef(\"router_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudNetworkRouterArgs;\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 exampleCloudNetworkRouter = GcoreFunctions.getCloudNetworkRouter(GetCloudNetworkRouterArgs.builder()\n            .projectId(0)\n            .regionId(0)\n            .routerId(\"router_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudNetworkRouter:\n    fn::invoke:\n      function: gcore:getCloudNetworkRouter\n      arguments:\n        projectId: 0\n        regionId: 0\n        routerId: router_id\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudNetworkRouter.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterFindOneBy:getCloudNetworkRouterFindOneBy"},"projectId":{"type":"number"},"regionId":{"type":"number"},"routerId":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudNetworkRouter.\n","properties":{"createdAt":{"description":"Datetime when the router was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"distributed":{"description":"Whether the router is distributed or centralized.\n","type":"boolean"},"externalGatewayInfo":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterExternalGatewayInfo:getCloudNetworkRouterExternalGatewayInfo","description":"State of this router's external gateway.\n"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterFindOneBy:getCloudNetworkRouterFindOneBy"},"id":{"description":"The ID of this resource.\n","type":"string"},"interfaces":{"description":"List of router interfaces.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterInterface:getCloudNetworkRouterInterface"},"type":"array"},"name":{"description":"Router name\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"routerId":{"type":"string"},"routes":{"description":"List of custom routes.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterRoute:getCloudNetworkRouterRoute"},"type":"array"},"status":{"description":"Status of the router.\n","type":"string"},"updatedAt":{"description":"Datetime when the router was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","distributed","externalGatewayInfo","id","interfaces","name","region","routes","status","updatedAt"],"type":"object"}},"gcore:index/getCloudNetworkRouters:getCloudNetworkRouters":{"description":"Routers interconnect subnets and manage network routing, including external gateway connectivity and static routes.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudNetworkRouters = gcore.getCloudNetworkRouters({\n    projectId: 1,\n    regionId: 1,\n    name: \"router-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_network_routers = gcore.get_cloud_network_routers(project_id=1,\n    region_id=1,\n    name=\"router-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudNetworkRouters = Gcore.GetCloudNetworkRouters.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"router-name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudNetworkRouters(ctx, &gcore.GetCloudNetworkRoutersArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tName:      pulumi.StringRef(\"router-name\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudNetworkRoutersArgs;\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 exampleCloudNetworkRouters = GcoreFunctions.getCloudNetworkRouters(GetCloudNetworkRoutersArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .name(\"router-name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudNetworkRouters:\n    fn::invoke:\n      function: gcore:getCloudNetworkRouters\n      arguments:\n        projectId: 1\n        regionId: 1\n        name: router-name\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudNetworkRouters.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Optional. Filter routers by name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudNetworkRouters.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRoutersItem:getCloudNetworkRoutersItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Optional. Filter routers by name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudNetworkSubnet:getCloudNetworkSubnet":{"description":"Subnets define IP address ranges within a network for instance connectivity, with support for DHCP and DNS configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudNetworkSubnet = gcore.getCloudNetworkSubnet({\n    projectId: 1,\n    regionId: 1,\n    subnetId: \"b39792c3-3160-4356-912e-ba396c95cdcf\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_network_subnet = gcore.get_cloud_network_subnet(project_id=1,\n    region_id=1,\n    subnet_id=\"b39792c3-3160-4356-912e-ba396c95cdcf\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudNetworkSubnet = Gcore.GetCloudNetworkSubnet.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        SubnetId = \"b39792c3-3160-4356-912e-ba396c95cdcf\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudNetworkSubnet(ctx, &gcore.LookupCloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tSubnetId:  pulumi.StringRef(\"b39792c3-3160-4356-912e-ba396c95cdcf\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudNetworkSubnetArgs;\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 exampleCloudNetworkSubnet = GcoreFunctions.getCloudNetworkSubnet(GetCloudNetworkSubnetArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .subnetId(\"b39792c3-3160-4356-912e-ba396c95cdcf\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudNetworkSubnet:\n    fn::invoke:\n      function: gcore:getCloudNetworkSubnet\n      arguments:\n        projectId: 1\n        regionId: 1\n        subnetId: b39792c3-3160-4356-912e-ba396c95cdcf\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudNetworkSubnet.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetFindOneBy:getCloudNetworkSubnetFindOneBy"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"subnetId":{"description":"Subnet ID\n","type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudNetworkSubnet.\n","properties":{"availableIps":{"description":"Number of available ips in subnet\n","type":"number"},"cidr":{"description":"CIDR\n","type":"string"},"createdAt":{"description":"Datetime when the subnet was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"dnsNameservers":{"description":"List IP addresses of a DNS resolver reachable from the network\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"True if DHCP should be enabled\n","type":"boolean"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetFindOneBy:getCloudNetworkSubnetFindOneBy"},"gatewayIp":{"description":"Default GW IPv4 address, advertised in DHCP routes of this subnet. If null, no gateway is advertised by this subnet.\n","type":"string"},"hasRouter":{"deprecationMessage":"Deprecated","description":"Deprecated. Always returns <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>.\n","type":"boolean"},"hostRoutes":{"description":"List of custom static routes to advertise via DHCP.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetHostRoute:getCloudNetworkSubnetHostRoute"},"type":"array"},"id":{"description":"Subnet ID\n","type":"string"},"ipVersion":{"description":"IP version\nAvailable values: 4, 6.\n","type":"number"},"name":{"description":"Subnet name\n","type":"string"},"networkId":{"description":"Network ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"subnetId":{"description":"Subnet ID\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetTag:getCloudNetworkSubnetTag"},"type":"array"},"totalIps":{"description":"Total number of ips in subnet\n","type":"number"},"updatedAt":{"description":"Datetime when the subnet was last updated\n","type":"string"}},"required":["availableIps","cidr","createdAt","creatorTaskId","dnsNameservers","enableDhcp","gatewayIp","hasRouter","hostRoutes","id","ipVersion","name","networkId","region","tags","totalIps","updatedAt"],"type":"object"}},"gcore:index/getCloudNetworkSubnets:getCloudNetworkSubnets":{"description":"Subnets define IP address ranges within a network for instance connectivity, with support for DHCP and DNS configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudNetworkSubnets = gcore.getCloudNetworkSubnets({\n    projectId: 1,\n    regionId: 1,\n    networkId: \"b30d0de7-bca2-4c83-9c57-9e645bd2cc92\",\n    tagKeys: [\n        \"key1\",\n        \"key2\",\n    ],\n    tagKeyValue: \"tag_key_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_network_subnets = gcore.get_cloud_network_subnets(project_id=1,\n    region_id=1,\n    network_id=\"b30d0de7-bca2-4c83-9c57-9e645bd2cc92\",\n    tag_keys=[\n        \"key1\",\n        \"key2\",\n    ],\n    tag_key_value=\"tag_key_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudNetworkSubnets = Gcore.GetCloudNetworkSubnets.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        NetworkId = \"b30d0de7-bca2-4c83-9c57-9e645bd2cc92\",\n        TagKeys = new[]\n        {\n            \"key1\",\n            \"key2\",\n        },\n        TagKeyValue = \"tag_key_value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudNetworkSubnets(ctx, &gcore.GetCloudNetworkSubnetsArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tNetworkId: pulumi.StringRef(\"b30d0de7-bca2-4c83-9c57-9e645bd2cc92\"),\n\t\t\tTagKeys: []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\tTagKeyValue: pulumi.StringRef(\"tag_key_value\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudNetworkSubnetsArgs;\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 exampleCloudNetworkSubnets = GcoreFunctions.getCloudNetworkSubnets(GetCloudNetworkSubnetsArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .networkId(\"b30d0de7-bca2-4c83-9c57-9e645bd2cc92\")\n            .tagKeys(            \n                \"key1\",\n                \"key2\")\n            .tagKeyValue(\"tag_key_value\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudNetworkSubnets:\n    fn::invoke:\n      function: gcore:getCloudNetworkSubnets\n      arguments:\n        projectId: 1\n        regionId: 1\n        networkId: b30d0de7-bca2-4c83-9c57-9e645bd2cc92\n        tagKeys:\n          - key1\n          - key2\n        tagKeyValue: tag_key_value\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudNetworkSubnets.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"networkId":{"description":"Only list subnets of this network\n","type":"string"},"orderBy":{"description":"Ordering subnets list result by <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span>, <span pulumi-lang-nodejs=\"`updatedAt`\" pulumi-lang-dotnet=\"`UpdatedAt`\" pulumi-lang-go=\"`updatedAt`\" pulumi-lang-python=\"`updated_at`\" pulumi-lang-yaml=\"`updatedAt`\" pulumi-lang-java=\"`updatedAt`\">`updated_at`</span>, <span pulumi-lang-nodejs=\"`availableIps`\" pulumi-lang-dotnet=\"`AvailableIps`\" pulumi-lang-go=\"`availableIps`\" pulumi-lang-python=\"`available_ips`\" pulumi-lang-yaml=\"`availableIps`\" pulumi-lang-java=\"`availableIps`\">`available_ips`</span>, <span pulumi-lang-nodejs=\"`totalIps`\" pulumi-lang-dotnet=\"`TotalIps`\" pulumi-lang-go=\"`totalIps`\" pulumi-lang-python=\"`total_ips`\" pulumi-lang-yaml=\"`totalIps`\" pulumi-lang-java=\"`totalIps`\">`total_ips`</span>, and <span pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\">`cidr`</span> (default) fields of the subnet and directions (`name.asc`).\nAvailable values: \"available*ips.asc\", \"available*ips.desc\", \"cidr.asc\", \"cidr.desc\", \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\", \"total*ips.asc\", \"total*ips.desc\", \"updated*at.asc\", \"updated*at.desc\".\n","type":"string"},"ownedBy":{"description":"Controls which subnets are returned. 'project' (default) returns only subnets owned by the project. 'any' returns all subnets from networks available to the project, including subnets from shared networks.\nAvailable values: \"any\", \"project\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudNetworkSubnets.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetsItem:getCloudNetworkSubnetsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"networkId":{"description":"Only list subnets of this network\n","type":"string"},"orderBy":{"description":"Ordering subnets list result by <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span>, <span pulumi-lang-nodejs=\"`updatedAt`\" pulumi-lang-dotnet=\"`UpdatedAt`\" pulumi-lang-go=\"`updatedAt`\" pulumi-lang-python=\"`updated_at`\" pulumi-lang-yaml=\"`updatedAt`\" pulumi-lang-java=\"`updatedAt`\">`updated_at`</span>, <span pulumi-lang-nodejs=\"`availableIps`\" pulumi-lang-dotnet=\"`AvailableIps`\" pulumi-lang-go=\"`availableIps`\" pulumi-lang-python=\"`available_ips`\" pulumi-lang-yaml=\"`availableIps`\" pulumi-lang-java=\"`availableIps`\">`available_ips`</span>, <span pulumi-lang-nodejs=\"`totalIps`\" pulumi-lang-dotnet=\"`TotalIps`\" pulumi-lang-go=\"`totalIps`\" pulumi-lang-python=\"`total_ips`\" pulumi-lang-yaml=\"`totalIps`\" pulumi-lang-java=\"`totalIps`\">`total_ips`</span>, and <span pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\">`cidr`</span> (default) fields of the subnet and directions (`name.asc`).\nAvailable values: \"available*ips.asc\", \"available*ips.desc\", \"cidr.asc\", \"cidr.desc\", \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\", \"total*ips.asc\", \"total*ips.desc\", \"updated*at.asc\", \"updated*at.desc\".\n","type":"string"},"ownedBy":{"description":"Controls which subnets are returned. 'project' (default) returns only subnets owned by the project. 'any' returns all subnets from networks available to the project, including subnets from shared networks.\nAvailable values: \"any\", \"project\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["id","items","orderBy","ownedBy"],"type":"object"}},"gcore:index/getCloudNetworks:getCloudNetworks":{"description":"Networks provide software-defined networking infrastructure for connecting instances and other cloud resources within a region.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudNetworks = gcore.getCloudNetworks({\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    tagKeys: [\n        \"key1\",\n        \"key2\",\n    ],\n    tagKeyValue: \"tag_key_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_networks = gcore.get_cloud_networks(project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    tag_keys=[\n        \"key1\",\n        \"key2\",\n    ],\n    tag_key_value=\"tag_key_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudNetworks = Gcore.GetCloudNetworks.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        TagKeys = new[]\n        {\n            \"key1\",\n            \"key2\",\n        },\n        TagKeyValue = \"tag_key_value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudNetworks(ctx, &gcore.GetCloudNetworksArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tName:      pulumi.StringRef(\"my-network\"),\n\t\t\tTagKeys: []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\tTagKeyValue: pulumi.StringRef(\"tag_key_value\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudNetworksArgs;\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 exampleCloudNetworks = GcoreFunctions.getCloudNetworks(GetCloudNetworksArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .name(\"my-network\")\n            .tagKeys(            \n                \"key1\",\n                \"key2\")\n            .tagKeyValue(\"tag_key_value\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudNetworks:\n    fn::invoke:\n      function: gcore:getCloudNetworks\n      arguments:\n        projectId: 1\n        regionId: 1\n        name: my-network\n        tagKeys:\n          - key1\n          - key2\n        tagKeyValue: tag_key_value\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudNetworks.\n","properties":{"external":{"description":"Filter by external network status\n","type":"boolean"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter networks by name\n","type":"string"},"networkType":{"description":"Filter by network type (vlan or vxlan)\nAvailable values: \"vlan\", \"vxlan\".\n","type":"string"},"orderBy":{"description":"Ordering networks list result by <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> or <span pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\">`priority`</span> fields and directions (e.g. `created_at.desc`). Default is `created_at.desc`. Use `priority.desc` to sort by shared network priority (relevant when `owned_by=any`).\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\", \"priority.desc\".\n","type":"string"},"ownedBy":{"description":"Controls which networks are returned. 'project' (default) returns only networks owned by the project. 'any' returns all networks that the project can use, including shared networks from other projects.\nAvailable values: \"any\", \"project\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudNetworks.\n","properties":{"external":{"description":"Filter by external network status\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworksItem:getCloudNetworksItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter networks by name\n","type":"string"},"networkType":{"description":"Filter by network type (vlan or vxlan)\nAvailable values: \"vlan\", \"vxlan\".\n","type":"string"},"orderBy":{"description":"Ordering networks list result by <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> or <span pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\">`priority`</span> fields and directions (e.g. `created_at.desc`). Default is `created_at.desc`. Use `priority.desc` to sort by shared network priority (relevant when `owned_by=any`).\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\", \"priority.desc\".\n","type":"string"},"ownedBy":{"description":"Controls which networks are returned. 'project' (default) returns only networks owned by the project. 'any' returns all networks that the project can use, including shared networks from other projects.\nAvailable values: \"any\", \"project\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["id","items","orderBy","ownedBy"],"type":"object"}},"gcore:index/getCloudPlacementGroup:getCloudPlacementGroup":{"description":"Placement groups enforce affinity or anti-affinity policies that control whether virtual machines are hosted on the same or different physical servers.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudPlacementGroup = gcore.getCloudPlacementGroup({\n    projectId: 0,\n    regionId: 0,\n    groupId: \"group_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_placement_group = gcore.get_cloud_placement_group(project_id=0,\n    region_id=0,\n    group_id=\"group_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudPlacementGroup = Gcore.GetCloudPlacementGroup.Invoke(new()\n    {\n        ProjectId = 0,\n        RegionId = 0,\n        GroupId = \"group_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudPlacementGroup(ctx, &gcore.LookupCloudPlacementGroupArgs{\n\t\t\tProjectId: pulumi.Float64Ref(0),\n\t\t\tRegionId:  pulumi.Float64Ref(0),\n\t\t\tGroupId:   \"group_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudPlacementGroupArgs;\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 exampleCloudPlacementGroup = GcoreFunctions.getCloudPlacementGroup(GetCloudPlacementGroupArgs.builder()\n            .projectId(0)\n            .regionId(0)\n            .groupId(\"group_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudPlacementGroup:\n    fn::invoke:\n      function: gcore:getCloudPlacementGroup\n      arguments:\n        projectId: 0\n        regionId: 0\n        groupId: group_id\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudPlacementGroup.\n","properties":{"groupId":{"type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"}},"required":["groupId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudPlacementGroup.\n","properties":{"groupId":{"type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"instances":{"description":"The list of instances in this server group.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudPlacementGroupInstance:getCloudPlacementGroupInstance"},"type":"array"},"name":{"description":"The name of the server group.\n","type":"string"},"policy":{"description":"The server group policy. Options are: anti-affinity, affinity, or soft-anti-affinity.\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"servergroupId":{"description":"The ID of the server group.\n","type":"string"}},"required":["groupId","id","instances","name","policy","region","servergroupId"],"type":"object"}},"gcore:index/getCloudProject:getCloudProject":{"description":"Projects are organizational units that group cloud resources for access control and billing.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudProject = gcore.getCloudProject({\n    projectId: 4,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_project = gcore.get_cloud_project(project_id=4)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudProject = Gcore.GetCloudProject.Invoke(new()\n    {\n        ProjectId = 4,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudProject(ctx, &gcore.LookupCloudProjectArgs{\n\t\t\tProjectId: pulumi.Float64Ref(4),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudProjectArgs;\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 exampleCloudProject = GcoreFunctions.getCloudProject(GetCloudProjectArgs.builder()\n            .projectId(4)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudProject:\n    fn::invoke:\n      function: gcore:getCloudProject\n      arguments:\n        projectId: 4\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudProject.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudProjectFindOneBy:getCloudProjectFindOneBy"},"projectId":{"description":"Project ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudProject.\n","properties":{"clientId":{"description":"ID associated with the client.\n","type":"number"},"createdAt":{"description":"Datetime of creation, which is automatically generated.\n","type":"string"},"deletedAt":{"description":"Datetime of deletion, which is automatically generated if the project is deleted.\n","type":"string"},"description":{"description":"Description of the project.\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudProjectFindOneBy:getCloudProjectFindOneBy"},"id":{"description":"Project ID\n","type":"number"},"isDefault":{"description":"Indicates if the project is the default one. Each client always has one default project.\n","type":"boolean"},"name":{"description":"Unique project name for a client.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"state":{"description":"The state of the project.\n","type":"string"}},"required":["clientId","createdAt","deletedAt","description","id","isDefault","name","state"],"type":"object"}},"gcore:index/getCloudProjects:getCloudProjects":{"description":"Projects are organizational units that group cloud resources for access control and billing.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```yaml\nvariables:\n  exampleCloudProjects:\n    fn::invoke:\n      function: gcore:getCloudProjects\n      arguments:\n        clientId: 1\n        name: my-project\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudProjects.\n","properties":{"includeDeleted":{"description":"Whether to include deleted projects in the response.\n","type":"boolean"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Name to filter the results by.\n","type":"string"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\".\n","type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudProjects.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"includeDeleted":{"description":"Whether to include deleted projects in the response.\n","type":"boolean"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudProjectsItem:getCloudProjectsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Name to filter the results by.\n","type":"string"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\".\n","type":"string"}},"required":["id","includeDeleted","items","orderBy"],"type":"object"}},"gcore:index/getCloudRegion:getCloudRegion":{"description":"Regions represent available Gcore cloud data centers with information about supported services and volume types.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudRegion = gcore.getCloudRegion({\n    regionId: 11,\n    showVolumeTypes: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_region = gcore.get_cloud_region(region_id=11,\n    show_volume_types=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudRegion = Gcore.GetCloudRegion.Invoke(new()\n    {\n        RegionId = 11,\n        ShowVolumeTypes = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudRegion(ctx, &gcore.GetCloudRegionArgs{\n\t\t\tRegionId:        pulumi.Float64Ref(11),\n\t\t\tShowVolumeTypes: pulumi.BoolRef(false),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudRegionArgs;\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 exampleCloudRegion = GcoreFunctions.getCloudRegion(GetCloudRegionArgs.builder()\n            .regionId(11)\n            .showVolumeTypes(false)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudRegion:\n    fn::invoke:\n      function: gcore:getCloudRegion\n      arguments:\n        regionId: 11\n        showVolumeTypes: false\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudRegion.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudRegionFindOneBy:getCloudRegionFindOneBy"},"regionId":{"description":"Region ID\n","type":"number"},"showVolumeTypes":{"description":"If true, null <span pulumi-lang-nodejs=\"`availableVolumeType`\" pulumi-lang-dotnet=\"`AvailableVolumeType`\" pulumi-lang-go=\"`availableVolumeType`\" pulumi-lang-python=\"`available_volume_type`\" pulumi-lang-yaml=\"`availableVolumeType`\" pulumi-lang-java=\"`availableVolumeType`\">`available_volume_type`</span> is replaced with a list of available volume types.\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudRegion.\n","properties":{"accessLevel":{"description":"The access level of the region.\nAvailable values: \"core\", \"edge\".\n","type":"string"},"availableVolumeTypes":{"description":"List of available volume types, 'standard', 'ssd_hiiops', 'cold'].\n","items":{"type":"string"},"type":"array"},"coordinates":{"$ref":"#/types/gcore:index%2FgetCloudRegionCoordinates:getCloudRegionCoordinates","description":"Coordinates of the region\n"},"country":{"description":"Two-letter country code, ISO 3166-1 alpha-2\n","type":"string"},"createdAt":{"description":"Region creation date and time\n","type":"string"},"createdOn":{"deprecationMessage":"Deprecated","description":"This field is deprecated. Use <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> instead.\n","type":"string"},"ddosEndpointId":{"deprecationMessage":"Deprecated","description":"DDoS endpoint ID\n","type":"number"},"displayName":{"description":"Human-readable region name\n","type":"string"},"endpointType":{"description":"Endpoint type\nAvailable values: \"admin\", \"internal\", \"public\".\n","type":"string"},"externalNetworkId":{"description":"External network ID for Neutron\n","type":"string"},"fileShareTypes":{"description":"List of available file share types\n","items":{"type":"string"},"type":"array"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudRegionFindOneBy:getCloudRegionFindOneBy"},"hasAi":{"description":"Region has AI capability\n","type":"boolean"},"hasAiGpu":{"description":"Region has AI GPU capability\n","type":"boolean"},"hasBaremetal":{"description":"Region has bare metal capability\n","type":"boolean"},"hasBasicVm":{"description":"Region has basic vm capability\n","type":"boolean"},"hasDbaas":{"description":"Region has DBAAS service\n","type":"boolean"},"hasDdos":{"description":"Region has Advanced DDoS Protection capability\n","type":"boolean"},"hasK8s":{"description":"Region has managed kubernetes capability\n","type":"boolean"},"hasKvm":{"description":"Region has KVM virtualization capability\n","type":"boolean"},"hasSfs":{"description":"Region has SFS capability\n","type":"boolean"},"id":{"description":"Region ID\n","type":"number"},"keystoneId":{"description":"Foreign key to Keystone entity\n","type":"number"},"keystoneName":{"description":"Technical region name\n","type":"string"},"metricsDatabaseId":{"description":"Foreign key to Metrics database entity\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"showVolumeTypes":{"description":"If true, null <span pulumi-lang-nodejs=\"`availableVolumeType`\" pulumi-lang-dotnet=\"`AvailableVolumeType`\" pulumi-lang-go=\"`availableVolumeType`\" pulumi-lang-python=\"`available_volume_type`\" pulumi-lang-yaml=\"`availableVolumeType`\" pulumi-lang-java=\"`availableVolumeType`\">`available_volume_type`</span> is replaced with a list of available volume types.\n","type":"boolean"},"slug":{"description":"Short, human-readable region identifier (e.g. luxembourg-2, santa-clara-1).\n","type":"string"},"state":{"description":"Region state\nAvailable values: \"ACTIVE\", \"DELETED\", \"DELETING\", \"DELETION_FAILED\", \"INACTIVE\", \"MAINTENANCE\", \"NEW\".\n","type":"string"},"vlanPhysicalNetwork":{"description":"Physical network name to create vlan networks\n","type":"string"},"zone":{"description":"Geographical zone\nAvailable values: \"AMERICAS\", \"APAC\", \"EMEA\", \"RUSSIA*AND*CIS\".\n","type":"string"}},"required":["accessLevel","availableVolumeTypes","coordinates","country","createdAt","createdOn","ddosEndpointId","displayName","endpointType","externalNetworkId","fileShareTypes","hasAi","hasAiGpu","hasBaremetal","hasBasicVm","hasDbaas","hasDdos","hasK8s","hasKvm","hasSfs","id","keystoneId","keystoneName","metricsDatabaseId","showVolumeTypes","slug","state","vlanPhysicalNetwork","zone"],"type":"object"}},"gcore:index/getCloudRegions:getCloudRegions":{"description":"Regions represent available Gcore cloud data centers with information about supported services and volume types.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudRegions = gcore.getCloudRegions({\n    displayName: \"Luxembourg\",\n    product: \"inference\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_regions = gcore.get_cloud_regions(display_name=\"Luxembourg\",\n    product=\"inference\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudRegions = Gcore.GetCloudRegions.Invoke(new()\n    {\n        DisplayName = \"Luxembourg\",\n        Product = \"inference\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudRegions(ctx, &gcore.GetCloudRegionsArgs{\n\t\t\tDisplayName: pulumi.StringRef(\"Luxembourg\"),\n\t\t\tProduct:     pulumi.StringRef(\"inference\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudRegionsArgs;\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 exampleCloudRegions = GcoreFunctions.getCloudRegions(GetCloudRegionsArgs.builder()\n            .displayName(\"Luxembourg\")\n            .product(\"inference\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudRegions:\n    fn::invoke:\n      function: gcore:getCloudRegions\n      arguments:\n        displayName: Luxembourg\n        product: inference\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudRegions.\n","properties":{"displayName":{"description":"Filter regions by display name. Case-insensitive exact match.\n","type":"string"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"display*name.asc\", \"display*name.desc\".\n","type":"string"},"product":{"description":"If defined then return only regions that support given product.\nAvailable values: \"containers\", \"inference\".\n","type":"string"},"showVolumeTypes":{"description":"If true, null <span pulumi-lang-nodejs=\"`availableVolumeType`\" pulumi-lang-dotnet=\"`AvailableVolumeType`\" pulumi-lang-go=\"`availableVolumeType`\" pulumi-lang-python=\"`available_volume_type`\" pulumi-lang-yaml=\"`availableVolumeType`\" pulumi-lang-java=\"`availableVolumeType`\">`available_volume_type`</span> is replaced with a list of available volume types.\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudRegions.\n","properties":{"displayName":{"description":"Filter regions by display name. Case-insensitive exact match.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudRegionsItem:getCloudRegionsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"display*name.asc\", \"display*name.desc\".\n","type":"string"},"product":{"description":"If defined then return only regions that support given product.\nAvailable values: \"containers\", \"inference\".\n","type":"string"},"showVolumeTypes":{"description":"If true, null <span pulumi-lang-nodejs=\"`availableVolumeType`\" pulumi-lang-dotnet=\"`AvailableVolumeType`\" pulumi-lang-go=\"`availableVolumeType`\" pulumi-lang-python=\"`available_volume_type`\" pulumi-lang-yaml=\"`availableVolumeType`\" pulumi-lang-java=\"`availableVolumeType`\">`available_volume_type`</span> is replaced with a list of available volume types.\n","type":"boolean"}},"required":["id","items","orderBy","showVolumeTypes"],"type":"object"}},"gcore:index/getCloudReservedFixedIp:getCloudReservedFixedIp":{"description":"Reserved fixed IPs are static IP addresses that persist independently of instances and can be used as virtual IPs (VIPs) for high availability.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudReservedFixedIp = gcore.getCloudReservedFixedIp({\n    projectId: 0,\n    regionId: 0,\n    portId: \"port_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_reserved_fixed_ip = gcore.get_cloud_reserved_fixed_ip(project_id=0,\n    region_id=0,\n    port_id=\"port_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudReservedFixedIp = Gcore.GetCloudReservedFixedIp.Invoke(new()\n    {\n        ProjectId = 0,\n        RegionId = 0,\n        PortId = \"port_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudReservedFixedIp(ctx, &gcore.LookupCloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64Ref(0),\n\t\t\tRegionId:  pulumi.Float64Ref(0),\n\t\t\tPortId:    \"port_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudReservedFixedIpArgs;\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 exampleCloudReservedFixedIp = GcoreFunctions.getCloudReservedFixedIp(GetCloudReservedFixedIpArgs.builder()\n            .projectId(0)\n            .regionId(0)\n            .portId(\"port_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudReservedFixedIp:\n    fn::invoke:\n      function: gcore:getCloudReservedFixedIp\n      arguments:\n        projectId: 0\n        regionId: 0\n        portId: port_id\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudReservedFixedIp.\n","properties":{"portId":{"type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"}},"required":["portId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudReservedFixedIp.\n","properties":{"allowedAddressPairs":{"description":"Group of subnet masks and/or IP addresses that share the current IP as VIP\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpAllowedAddressPair:getCloudReservedFixedIpAllowedAddressPair"},"type":"array"},"attachments":{"description":"Reserved fixed IP attachment entities\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpAttachment:getCloudReservedFixedIpAttachment"},"type":"array"},"createdAt":{"description":"Datetime when the reserved fixed IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IPv4 address of the reserved fixed IP\n","type":"string"},"fixedIpv6Address":{"description":"IPv6 address of the reserved fixed IP\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isExternal":{"description":"If reserved fixed IP belongs to a public network\n","type":"boolean"},"isVip":{"description":"If reserved fixed IP is a VIP\n","type":"boolean"},"name":{"description":"Reserved fixed IP name\n","type":"string"},"network":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpNetwork:getCloudReservedFixedIpNetwork","description":"Network details\n"},"networkId":{"description":"ID of the network the port is attached to\n","type":"string"},"portId":{"type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"status":{"description":"Underlying port status\n","type":"string"},"subnetId":{"description":"ID of the subnet that owns the IP address\n","type":"string"},"subnetV6Id":{"description":"ID of the subnet that owns the IPv6 address\n","type":"string"},"updatedAt":{"description":"Datetime when the reserved fixed IP was last updated\n","type":"string"}},"required":["allowedAddressPairs","attachments","createdAt","creatorTaskId","fixedIpAddress","fixedIpv6Address","id","isExternal","isVip","name","network","networkId","portId","region","status","subnetId","subnetV6Id","updatedAt"],"type":"object"}},"gcore:index/getCloudReservedFixedIps:getCloudReservedFixedIps":{"description":"Reserved fixed IPs are static IP addresses that persist independently of instances and can be used as virtual IPs (VIPs) for high availability.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudReservedFixedIps = gcore.getCloudReservedFixedIps({\n    projectId: 0,\n    regionId: 0,\n    availableOnly: true,\n    deviceId: \"device_id\",\n    externalOnly: true,\n    internalOnly: true,\n    ipAddress: \"ip_address\",\n    orderBy: \"order_by\",\n    vipOnly: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_reserved_fixed_ips = gcore.get_cloud_reserved_fixed_ips(project_id=0,\n    region_id=0,\n    available_only=True,\n    device_id=\"device_id\",\n    external_only=True,\n    internal_only=True,\n    ip_address=\"ip_address\",\n    order_by=\"order_by\",\n    vip_only=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudReservedFixedIps = Gcore.GetCloudReservedFixedIps.Invoke(new()\n    {\n        ProjectId = 0,\n        RegionId = 0,\n        AvailableOnly = true,\n        DeviceId = \"device_id\",\n        ExternalOnly = true,\n        InternalOnly = true,\n        IpAddress = \"ip_address\",\n        OrderBy = \"order_by\",\n        VipOnly = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudReservedFixedIps(ctx, &gcore.GetCloudReservedFixedIpsArgs{\n\t\t\tProjectId:     pulumi.Float64Ref(0),\n\t\t\tRegionId:      pulumi.Float64Ref(0),\n\t\t\tAvailableOnly: pulumi.BoolRef(true),\n\t\t\tDeviceId:      pulumi.StringRef(\"device_id\"),\n\t\t\tExternalOnly:  pulumi.BoolRef(true),\n\t\t\tInternalOnly:  pulumi.BoolRef(true),\n\t\t\tIpAddress:     pulumi.StringRef(\"ip_address\"),\n\t\t\tOrderBy:       pulumi.StringRef(\"order_by\"),\n\t\t\tVipOnly:       pulumi.BoolRef(true),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudReservedFixedIpsArgs;\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 exampleCloudReservedFixedIps = GcoreFunctions.getCloudReservedFixedIps(GetCloudReservedFixedIpsArgs.builder()\n            .projectId(0)\n            .regionId(0)\n            .availableOnly(true)\n            .deviceId(\"device_id\")\n            .externalOnly(true)\n            .internalOnly(true)\n            .ipAddress(\"ip_address\")\n            .orderBy(\"order_by\")\n            .vipOnly(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudReservedFixedIps:\n    fn::invoke:\n      function: gcore:getCloudReservedFixedIps\n      arguments:\n        projectId: 0\n        regionId: 0\n        availableOnly: true\n        deviceId: device_id\n        externalOnly: true\n        internalOnly: true\n        ipAddress: ip_address\n        orderBy: order_by\n        vipOnly: true\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudReservedFixedIps.\n","properties":{"availableOnly":{"description":"Set to true if the response should only list IP addresses that are not attached to any instance\n","type":"boolean"},"deviceId":{"description":"Filter IPs by device ID it is attached to\n","type":"string"},"externalOnly":{"description":"Set to true if the response should only list public IP addresses\n","type":"boolean"},"internalOnly":{"description":"Set to true if the response should only list private IP addresses\n","type":"boolean"},"ipAddress":{"description":"An IPv4 address to filter results by. Regular expression allowed\n","type":"string"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"orderBy":{"description":"Ordering reserved fixed IP list result by name, status, <span pulumi-lang-nodejs=\"`updatedAt`\" pulumi-lang-dotnet=\"`UpdatedAt`\" pulumi-lang-go=\"`updatedAt`\" pulumi-lang-python=\"`updated_at`\" pulumi-lang-yaml=\"`updatedAt`\" pulumi-lang-java=\"`updatedAt`\">`updated_at`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> or <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> fields and directions (status.asc), default is \"fixed*ip*address.asc\"\n","type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"vipOnly":{"description":"Set to true if the response should only list VIPs\n","type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudReservedFixedIps.\n","properties":{"availableOnly":{"description":"Set to true if the response should only list IP addresses that are not attached to any instance\n","type":"boolean"},"deviceId":{"description":"Filter IPs by device ID it is attached to\n","type":"string"},"externalOnly":{"description":"Set to true if the response should only list public IP addresses\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"internalOnly":{"description":"Set to true if the response should only list private IP addresses\n","type":"boolean"},"ipAddress":{"description":"An IPv4 address to filter results by. Regular expression allowed\n","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpsItem:getCloudReservedFixedIpsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"orderBy":{"description":"Ordering reserved fixed IP list result by name, status, <span pulumi-lang-nodejs=\"`updatedAt`\" pulumi-lang-dotnet=\"`UpdatedAt`\" pulumi-lang-go=\"`updatedAt`\" pulumi-lang-python=\"`updated_at`\" pulumi-lang-yaml=\"`updatedAt`\" pulumi-lang-java=\"`updatedAt`\">`updated_at`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> or <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> fields and directions (status.asc), default is \"fixed*ip*address.asc\"\n","type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"vipOnly":{"description":"Set to true if the response should only list VIPs\n","type":"boolean"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudSecret:getCloudSecret":{"description":"Secrets store sensitive data such as TLS certificates and private keys in encrypted form within a cloud region.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudSecret = gcore.getCloudSecret({\n    projectId: 1,\n    regionId: 1,\n    secretId: \"bfc7824b-31b6-4a28-a0c4-7df137139215\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_secret = gcore.get_cloud_secret(project_id=1,\n    region_id=1,\n    secret_id=\"bfc7824b-31b6-4a28-a0c4-7df137139215\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudSecret = Gcore.GetCloudSecret.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        SecretId = \"bfc7824b-31b6-4a28-a0c4-7df137139215\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudSecret(ctx, &gcore.LookupCloudSecretArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tSecretId:  \"bfc7824b-31b6-4a28-a0c4-7df137139215\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudSecretArgs;\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 exampleCloudSecret = GcoreFunctions.getCloudSecret(GetCloudSecretArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .secretId(\"bfc7824b-31b6-4a28-a0c4-7df137139215\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudSecret:\n    fn::invoke:\n      function: gcore:getCloudSecret\n      arguments:\n        projectId: 1\n        regionId: 1\n        secretId: bfc7824b-31b6-4a28-a0c4-7df137139215\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudSecret.\n","properties":{"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"Secret ID\n","type":"string"}},"required":["secretId"],"type":"object"},"outputs":{"description":"A collection of values returned by getCloudSecret.\n","properties":{"algorithm":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"bitLength":{"description":"Metadata provided by a user or system for informational purposes. Value must be greater than zero. Defaults to None\n","type":"number"},"contentTypes":{"additionalProperties":{"type":"string"},"description":"Describes the content-types that can be used to retrieve the payload. The content-type used with symmetric secrets is application/octet-stream\n","type":"object"},"created":{"description":"Datetime when the secret was created. The format is 2020-01-01T12:00:00+00:00\n","type":"string"},"expiration":{"description":"Datetime when the secret will expire. The format is 2020-01-01T12:00:00+00:00. Defaults to None\n","type":"string"},"id":{"description":"Secret ID\n","type":"string"},"mode":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"name":{"description":"Secret name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"Secret ID\n","type":"string"},"secretType":{"description":"Secret type, base64 encoded. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API\nAvailable values: \"certificate\", \"opaque\", \"passphrase\", \"private\", \"public\", \"symmetric\".\n","type":"string"},"status":{"description":"Status\n","type":"string"}},"required":["algorithm","bitLength","contentTypes","created","expiration","id","mode","name","secretId","secretType","status"],"type":"object"}},"gcore:index/getCloudSecrets:getCloudSecrets":{"description":"Secrets store sensitive data such as TLS certificates and private keys in encrypted form within a cloud region.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudSecrets = gcore.getCloudSecrets({\n    projectId: 1,\n    regionId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_secrets = gcore.get_cloud_secrets(project_id=1,\n    region_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudSecrets = Gcore.GetCloudSecrets.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudSecrets(ctx, &gcore.GetCloudSecretsArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudSecretsArgs;\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 exampleCloudSecrets = GcoreFunctions.getCloudSecrets(GetCloudSecretsArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudSecrets:\n    fn::invoke:\n      function: gcore:getCloudSecrets\n      arguments:\n        projectId: 1\n        regionId: 1\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudSecrets.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudSecrets.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSecretsItem:getCloudSecretsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudSecurityGroup:getCloudSecurityGroup":{"description":"Security groups act as virtual firewalls controlling inbound and outbound traffic for instances and other resources.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudSecurityGroup = gcore.getCloudSecurityGroup({\n    projectId: 1,\n    regionId: 1,\n    groupId: \"024a29e9-b4b7-4c91-9a46-505be123d9f8\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_security_group = gcore.get_cloud_security_group(project_id=1,\n    region_id=1,\n    group_id=\"024a29e9-b4b7-4c91-9a46-505be123d9f8\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudSecurityGroup = Gcore.GetCloudSecurityGroup.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = \"024a29e9-b4b7-4c91-9a46-505be123d9f8\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudSecurityGroup(ctx, &gcore.LookupCloudSecurityGroupArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tGroupId:   pulumi.StringRef(\"024a29e9-b4b7-4c91-9a46-505be123d9f8\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudSecurityGroupArgs;\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 exampleCloudSecurityGroup = GcoreFunctions.getCloudSecurityGroup(GetCloudSecurityGroupArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .groupId(\"024a29e9-b4b7-4c91-9a46-505be123d9f8\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudSecurityGroup:\n    fn::invoke:\n      function: gcore:getCloudSecurityGroup\n      arguments:\n        projectId: 1\n        regionId: 1\n        groupId: 024a29e9-b4b7-4c91-9a46-505be123d9f8\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudSecurityGroup.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupFindOneBy:getCloudSecurityGroupFindOneBy"},"groupId":{"description":"Group ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudSecurityGroup.\n","properties":{"createdAt":{"description":"Datetime when the security group was created\n","type":"string"},"description":{"description":"Security group description\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupFindOneBy:getCloudSecurityGroupFindOneBy"},"groupId":{"description":"Group ID\n","type":"string"},"id":{"description":"Group ID\n","type":"string"},"name":{"description":"Security group name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"revisionNumber":{"description":"The number of revisions\n","type":"number"},"securityGroupRules":{"description":"Security group rules\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupSecurityGroupRule:getCloudSecurityGroupSecurityGroupRule"},"type":"array"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupTagsV2:getCloudSecurityGroupTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the security group was last updated\n","type":"string"}},"required":["createdAt","description","id","name","region","revisionNumber","securityGroupRules","tagsV2s","updatedAt"],"type":"object"}},"gcore:index/getCloudSecurityGroups:getCloudSecurityGroups":{"description":"Security groups act as virtual firewalls controlling inbound and outbound traffic for instances and other resources.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudSecurityGroups = gcore.getCloudSecurityGroups({\n    projectId: 1,\n    regionId: 1,\n    name: \"my_security_group\",\n    tagKeys: [\n        \"key1\",\n        \"key2\",\n    ],\n    tagKeyValue: \"tag_key_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_security_groups = gcore.get_cloud_security_groups(project_id=1,\n    region_id=1,\n    name=\"my_security_group\",\n    tag_keys=[\n        \"key1\",\n        \"key2\",\n    ],\n    tag_key_value=\"tag_key_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudSecurityGroups = Gcore.GetCloudSecurityGroups.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my_security_group\",\n        TagKeys = new[]\n        {\n            \"key1\",\n            \"key2\",\n        },\n        TagKeyValue = \"tag_key_value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudSecurityGroups(ctx, &gcore.GetCloudSecurityGroupsArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tName:      pulumi.StringRef(\"my_security_group\"),\n\t\t\tTagKeys: []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\tTagKeyValue: pulumi.StringRef(\"tag_key_value\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudSecurityGroupsArgs;\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 exampleCloudSecurityGroups = GcoreFunctions.getCloudSecurityGroups(GetCloudSecurityGroupsArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .name(\"my_security_group\")\n            .tagKeys(            \n                \"key1\",\n                \"key2\")\n            .tagKeyValue(\"tag_key_value\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudSecurityGroups:\n    fn::invoke:\n      function: gcore:getCloudSecurityGroups\n      arguments:\n        projectId: 1\n        regionId: 1\n        name: my_security_group\n        tagKeys:\n          - key1\n          - key2\n        tagKeyValue: tag_key_value\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudSecurityGroups.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Optional. Filter by name. Must be specified a full name of the security group.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudSecurityGroups.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupsItem:getCloudSecurityGroupsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Optional. Filter by name. Must be specified a full name of the security group.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["id","items"],"type":"object"}},"gcore:index/getCloudSshKey:getCloudSshKey":{"description":"SSH key pairs provide secure authentication to cloud instances, supporting both generated and imported public keys.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudSshKey = gcore.getCloudSshKey({\n    projectId: 1,\n    sshKeyId: \"36a7a97a-0672-4911-8f2b-92cd4e5b0d91\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_ssh_key = gcore.get_cloud_ssh_key(project_id=1,\n    ssh_key_id=\"36a7a97a-0672-4911-8f2b-92cd4e5b0d91\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudSshKey = Gcore.GetCloudSshKey.Invoke(new()\n    {\n        ProjectId = 1,\n        SshKeyId = \"36a7a97a-0672-4911-8f2b-92cd4e5b0d91\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudSshKey(ctx, &gcore.LookupCloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tSshKeyId:  pulumi.StringRef(\"36a7a97a-0672-4911-8f2b-92cd4e5b0d91\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudSshKeyArgs;\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 exampleCloudSshKey = GcoreFunctions.getCloudSshKey(GetCloudSshKeyArgs.builder()\n            .projectId(1)\n            .sshKeyId(\"36a7a97a-0672-4911-8f2b-92cd4e5b0d91\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudSshKey:\n    fn::invoke:\n      function: gcore:getCloudSshKey\n      arguments:\n        projectId: 1\n        sshKeyId: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudSshKey.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudSshKeyFindOneBy:getCloudSshKeyFindOneBy"},"projectId":{"description":"Project ID\n","type":"number"},"sshKeyId":{"description":"SSH key ID\n","type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudSshKey.\n","properties":{"createdAt":{"description":"SSH key creation time\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudSshKeyFindOneBy:getCloudSshKeyFindOneBy"},"fingerprint":{"description":"Fingerprint\n","type":"string"},"id":{"description":"SSH key ID\n","type":"string"},"name":{"description":"SSH key name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"publicKey":{"description":"The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information.\n","type":"string"},"sharedInProject":{"description":"SSH key will be visible to all users in the project\n","type":"boolean"},"sshKeyId":{"description":"SSH key ID\n","type":"string"},"state":{"description":"SSH key state\nAvailable values: \"ACTIVE\", \"DELETING\".\n","type":"string"}},"required":["createdAt","fingerprint","id","name","publicKey","sharedInProject","state"],"type":"object"}},"gcore:index/getCloudSshKeys:getCloudSshKeys":{"description":"SSH key pairs provide secure authentication to cloud instances, supporting both generated and imported public keys.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudSshKeys = gcore.getCloudSshKeys({\n    projectId: 1,\n    name: \"my-ssh-key\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_ssh_keys = gcore.get_cloud_ssh_keys(project_id=1,\n    name=\"my-ssh-key\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudSshKeys = Gcore.GetCloudSshKeys.Invoke(new()\n    {\n        ProjectId = 1,\n        Name = \"my-ssh-key\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudSshKeys(ctx, &gcore.GetCloudSshKeysArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tName:      pulumi.StringRef(\"my-ssh-key\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudSshKeysArgs;\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 exampleCloudSshKeys = GcoreFunctions.getCloudSshKeys(GetCloudSshKeysArgs.builder()\n            .projectId(1)\n            .name(\"my-ssh-key\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudSshKeys:\n    fn::invoke:\n      function: gcore:getCloudSshKeys\n      arguments:\n        projectId: 1\n        name: my-ssh-key\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudSshKeys.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"SSH key name. Partial substring match. Example: `name=abc` matches any key containing <span pulumi-lang-nodejs=\"`abc`\" pulumi-lang-dotnet=\"`Abc`\" pulumi-lang-go=\"`abc`\" pulumi-lang-python=\"`abc`\" pulumi-lang-yaml=\"`abc`\" pulumi-lang-java=\"`abc`\">`abc`</span> in name.\n","type":"string"},"orderBy":{"description":"Sort order for the SSH keys\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudSshKeys.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSshKeysItem:getCloudSshKeysItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"SSH key name. Partial substring match. Example: `name=abc` matches any key containing <span pulumi-lang-nodejs=\"`abc`\" pulumi-lang-dotnet=\"`Abc`\" pulumi-lang-go=\"`abc`\" pulumi-lang-python=\"`abc`\" pulumi-lang-yaml=\"`abc`\" pulumi-lang-java=\"`abc`\">`abc`</span> in name.\n","type":"string"},"orderBy":{"description":"Sort order for the SSH keys\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"}},"required":["id","items","orderBy"],"type":"object"}},"gcore:index/getCloudVolume:getCloudVolume":{"description":"Volumes are block storage devices that can be attached to instances as boot or data disks, with support for resizing and type changes.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudVolume = gcore.getCloudVolume({\n    projectId: 1,\n    regionId: 1,\n    volumeId: \"726ecfcc-7fd0-4e30-a86e-7892524aa483\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_volume = gcore.get_cloud_volume(project_id=1,\n    region_id=1,\n    volume_id=\"726ecfcc-7fd0-4e30-a86e-7892524aa483\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudVolume = Gcore.GetCloudVolume.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        VolumeId = \"726ecfcc-7fd0-4e30-a86e-7892524aa483\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupCloudVolume(ctx, &gcore.LookupCloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tVolumeId:  pulumi.StringRef(\"726ecfcc-7fd0-4e30-a86e-7892524aa483\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudVolumeArgs;\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 exampleCloudVolume = GcoreFunctions.getCloudVolume(GetCloudVolumeArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .volumeId(\"726ecfcc-7fd0-4e30-a86e-7892524aa483\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudVolume:\n    fn::invoke:\n      function: gcore:getCloudVolume\n      arguments:\n        projectId: 1\n        regionId: 1\n        volumeId: 726ecfcc-7fd0-4e30-a86e-7892524aa483\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudVolume.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudVolumeFindOneBy:getCloudVolumeFindOneBy"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"volumeId":{"description":"Volume ID\n","type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudVolume.\n","properties":{"attachments":{"description":"List of attachments associated with the volume.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudVolumeAttachment:getCloudVolumeAttachment"},"type":"array"},"bootable":{"description":"Indicates whether the volume is bootable.\n","type":"boolean"},"createdAt":{"description":"The date and time when the volume was created.\n","type":"string"},"creatorTaskId":{"description":"The ID of the task that created this volume.\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetCloudVolumeFindOneBy:getCloudVolumeFindOneBy"},"id":{"description":"Volume ID\n","type":"string"},"isRootVolume":{"description":"Indicates whether this is a root volume.\n","type":"boolean"},"limiterStats":{"$ref":"#/types/gcore:index%2FgetCloudVolumeLimiterStats:getCloudVolumeLimiterStats","description":"Schema representing the Quality of Service (QoS) parameters for a volume.\n"},"name":{"description":"The name of the volume.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"The region where the volume is located.\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"The size of the volume in gibibytes (GiB).\n","type":"number"},"snapshotIds":{"description":"List of snapshot IDs associated with this volume.\n","items":{"type":"string"},"type":"array"},"status":{"description":"The current status of the volume.\nAvailable values: \"attaching\", \"available\", \"awaiting-transfer\", \"backing-up\", \"creating\", \"deleting\", \"detaching\", \"downloading\", \"error\", \"error*backing-up\", \"error*deleting\", \"error*extending\", \"error*restoring\", \"extending\", \"in-use\", \"maintenance\", \"reserved\", \"restoring-backup\", \"retyping\", \"reverting\", \"uploading\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudVolumeTag:getCloudVolumeTag"},"type":"array"},"updatedAt":{"description":"The date and time when the volume was last updated.\n","type":"string"},"volumeId":{"description":"Volume ID\n","type":"string"},"volumeImageMetadata":{"additionalProperties":{"type":"string"},"description":"Image metadata for volumes created from an image.\n","type":"object"},"volumeType":{"description":"The type of volume storage.\n","type":"string"}},"required":["attachments","bootable","createdAt","creatorTaskId","id","isRootVolume","limiterStats","name","region","size","snapshotIds","status","tags","updatedAt","volumeImageMetadata","volumeType"],"type":"object"}},"gcore:index/getCloudVolumes:getCloudVolumes":{"description":"Volumes are block storage devices that can be attached to instances as boot or data disks, with support for resizing and type changes.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudVolumes = gcore.getCloudVolumes({\n    projectId: 1,\n    regionId: 1,\n    bootable: false,\n    clusterId: \"t12345\",\n    hasAttachments: true,\n    idPart: \"726ecfcc-7fd0-4e30-a86e-7892524aa483\",\n    instanceId: \"169942e0-9b53-42df-95ef-1a8b6525c2bd\",\n    namePart: \"test\",\n    tagKeys: [\n        \"key1\",\n        \"key2\",\n    ],\n    tagKeyValue: \"tag_key_value\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_volumes = gcore.get_cloud_volumes(project_id=1,\n    region_id=1,\n    bootable=False,\n    cluster_id=\"t12345\",\n    has_attachments=True,\n    id_part=\"726ecfcc-7fd0-4e30-a86e-7892524aa483\",\n    instance_id=\"169942e0-9b53-42df-95ef-1a8b6525c2bd\",\n    name_part=\"test\",\n    tag_keys=[\n        \"key1\",\n        \"key2\",\n    ],\n    tag_key_value=\"tag_key_value\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudVolumes = Gcore.GetCloudVolumes.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Bootable = false,\n        ClusterId = \"t12345\",\n        HasAttachments = true,\n        IdPart = \"726ecfcc-7fd0-4e30-a86e-7892524aa483\",\n        InstanceId = \"169942e0-9b53-42df-95ef-1a8b6525c2bd\",\n        NamePart = \"test\",\n        TagKeys = new[]\n        {\n            \"key1\",\n            \"key2\",\n        },\n        TagKeyValue = \"tag_key_value\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetCloudVolumes(ctx, &gcore.GetCloudVolumesArgs{\n\t\t\tProjectId:      pulumi.Float64Ref(1),\n\t\t\tRegionId:       pulumi.Float64Ref(1),\n\t\t\tBootable:       pulumi.BoolRef(false),\n\t\t\tClusterId:      pulumi.StringRef(\"t12345\"),\n\t\t\tHasAttachments: pulumi.BoolRef(true),\n\t\t\tIdPart:         pulumi.StringRef(\"726ecfcc-7fd0-4e30-a86e-7892524aa483\"),\n\t\t\tInstanceId:     pulumi.StringRef(\"169942e0-9b53-42df-95ef-1a8b6525c2bd\"),\n\t\t\tNamePart:       pulumi.StringRef(\"test\"),\n\t\t\tTagKeys: []string{\n\t\t\t\t\"key1\",\n\t\t\t\t\"key2\",\n\t\t\t},\n\t\t\tTagKeyValue: pulumi.StringRef(\"tag_key_value\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudVolumesArgs;\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 exampleCloudVolumes = GcoreFunctions.getCloudVolumes(GetCloudVolumesArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .bootable(false)\n            .clusterId(\"t12345\")\n            .hasAttachments(true)\n            .idPart(\"726ecfcc-7fd0-4e30-a86e-7892524aa483\")\n            .instanceId(\"169942e0-9b53-42df-95ef-1a8b6525c2bd\")\n            .namePart(\"test\")\n            .tagKeys(            \n                \"key1\",\n                \"key2\")\n            .tagKeyValue(\"tag_key_value\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleCloudVolumes:\n    fn::invoke:\n      function: gcore:getCloudVolumes\n      arguments:\n        projectId: 1\n        regionId: 1\n        bootable: false\n        clusterId: t12345\n        hasAttachments: true\n        idPart: 726ecfcc-7fd0-4e30-a86e-7892524aa483\n        instanceId: 169942e0-9b53-42df-95ef-1a8b6525c2bd\n        namePart: test\n        tagKeys:\n          - key1\n          - key2\n        tagKeyValue: tag_key_value\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getCloudVolumes.\n","properties":{"bootable":{"description":"Filter by bootable field\n","type":"boolean"},"clusterId":{"description":"Filter volumes by k8s cluster ID\n","type":"string"},"hasAttachments":{"description":"Filter by the presence of attachments\n","type":"boolean"},"idPart":{"description":"Filter the volume list result by the ID part of the volume\n","type":"string"},"instanceId":{"description":"Filter volumes by instance ID\n","type":"string"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"namePart":{"description":"Filter volumes by <span pulumi-lang-nodejs=\"`namePart`\" pulumi-lang-dotnet=\"`NamePart`\" pulumi-lang-go=\"`namePart`\" pulumi-lang-python=\"`name_part`\" pulumi-lang-yaml=\"`namePart`\" pulumi-lang-java=\"`namePart`\">`name_part`</span> inclusion in volume name.Any substring can be used and volumes will be returned with names containing the substring.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudVolumes.\n","properties":{"bootable":{"description":"Filter by bootable field\n","type":"boolean"},"clusterId":{"description":"Filter volumes by k8s cluster ID\n","type":"string"},"hasAttachments":{"description":"Filter by the presence of attachments\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"idPart":{"description":"Filter the volume list result by the ID part of the volume\n","type":"string"},"instanceId":{"description":"Filter volumes by instance ID\n","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetCloudVolumesItem:getCloudVolumesItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"namePart":{"description":"Filter volumes by <span pulumi-lang-nodejs=\"`namePart`\" pulumi-lang-dotnet=\"`NamePart`\" pulumi-lang-go=\"`namePart`\" pulumi-lang-python=\"`name_part`\" pulumi-lang-yaml=\"`namePart`\" pulumi-lang-java=\"`namePart`\">`name_part`</span> inclusion in volume name.Any substring can be used and volumes will be returned with names containing the substring.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["id","items"],"type":"object"}},"gcore:index/getDnsNetworkMapping:getDnsNetworkMapping":{"description":"DNS network mappings associate CIDR ranges with network tags for private DNS resolution and traffic-based routing.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleDnsNetworkMapping = gcore.getDnsNetworkMapping({\n    id: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_dns_network_mapping = gcore.get_dns_network_mapping(id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleDnsNetworkMapping = Gcore.GetDnsNetworkMapping.Invoke(new()\n    {\n        Id = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupDnsNetworkMapping(ctx, &gcore.LookupDnsNetworkMappingArgs{\n\t\t\tId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetDnsNetworkMappingArgs;\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 exampleDnsNetworkMapping = GcoreFunctions.getDnsNetworkMapping(GetDnsNetworkMappingArgs.builder()\n            .id(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDnsNetworkMapping:\n    fn::invoke:\n      function: gcore:getDnsNetworkMapping\n      arguments:\n        id: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getDnsNetworkMapping.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"number"}},"required":["id"],"type":"object"},"outputs":{"description":"A collection of values returned by getDnsNetworkMapping.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"number"},"mappings":{"items":{"$ref":"#/types/gcore:index%2FgetDnsNetworkMappingMapping:getDnsNetworkMappingMapping"},"type":"array"},"name":{"type":"string"}},"required":["id","mappings","name"],"type":"object"}},"gcore:index/getDnsZone:getDnsZone":{"description":"DNS zones are authoritative containers for domain name records, with support for DNSSEC and SOA configuration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleDnsZone = gcore.getDnsZone({\n    name: \"name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_dns_zone = gcore.get_dns_zone(name=\"name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleDnsZone = Gcore.GetDnsZone.Invoke(new()\n    {\n        Name = \"name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupDnsZone(ctx, &gcore.LookupDnsZoneArgs{\n\t\t\tName: \"name\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetDnsZoneArgs;\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 exampleDnsZone = GcoreFunctions.getDnsZone(GetDnsZoneArgs.builder()\n            .name(\"name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDnsZone:\n    fn::invoke:\n      function: gcore:getDnsZone\n      arguments:\n        name: name\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getDnsZone.\n","properties":{"name":{"type":"string"}},"required":["name"],"type":"object"},"outputs":{"description":"A collection of values returned by getDnsZone.\n","properties":{"contact":{"description":"email address of the administrator responsible for this zone\n","type":"string"},"dnssecEnabled":{"description":"describe dnssec status\ntrue means dnssec is enabled for the zone\nfalse means dnssec is disabled for the zone\n","type":"boolean"},"enabled":{"type":"boolean"},"expiry":{"description":"number of seconds after which secondary name servers should stop answering request for this zone\n","type":"number"},"id":{"description":"ID of zone.\nThis field usually is omitted in response and available only in\ncase of getting deleted zones by admin.\n","type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"arbitrarily data of zone in json format\n","type":"object"},"name":{"type":"string"},"nxTtl":{"description":"Time To Live of cache\n","type":"number"},"primaryServer":{"description":"primary master name server for zone\n","type":"string"},"records":{"items":{"$ref":"#/types/gcore:index%2FgetDnsZoneRecord:getDnsZoneRecord"},"type":"array"},"refresh":{"description":"number of seconds after which secondary name servers should query the master for the SOA record, to detect zone changes.\n","type":"number"},"retry":{"description":"number of seconds after which secondary name servers should retry to request the serial number\n","type":"number"},"rrsetsAmount":{"$ref":"#/types/gcore:index%2FgetDnsZoneRrsetsAmount:getDnsZoneRrsetsAmount"},"serial":{"description":"Serial number for this zone or Timestamp of zone modification moment.\nIf a secondary name server slaved to this one observes an increase in this number,\nthe slave will assume that the zone has been updated and initiate a zone transfer.\n","type":"number"},"status":{"type":"string"}},"required":["contact","dnssecEnabled","enabled","expiry","id","meta","name","nxTtl","primaryServer","records","refresh","retry","rrsetsAmount","serial","status"],"type":"object"}},"gcore:index/getDnsZoneRrset:getDnsZoneRrset":{"description":"DNS resource record sets (RRsets) define individual DNS records such as A, AAAA, CNAME, MX, and TXT with TTL and geo-balancing settings.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleDnsZoneRrset = gcore.getDnsZoneRrset({\n    zoneName: \"zoneName\",\n    rrsetName: \"rrsetName\",\n    rrsetType: \"rrsetType\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_dns_zone_rrset = gcore.get_dns_zone_rrset(zone_name=\"zoneName\",\n    rrset_name=\"rrsetName\",\n    rrset_type=\"rrsetType\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleDnsZoneRrset = Gcore.GetDnsZoneRrset.Invoke(new()\n    {\n        ZoneName = \"zoneName\",\n        RrsetName = \"rrsetName\",\n        RrsetType = \"rrsetType\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupDnsZoneRrset(ctx, &gcore.LookupDnsZoneRrsetArgs{\n\t\t\tZoneName:  \"zoneName\",\n\t\t\tRrsetName: \"rrsetName\",\n\t\t\tRrsetType: \"rrsetType\",\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetDnsZoneRrsetArgs;\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 exampleDnsZoneRrset = GcoreFunctions.getDnsZoneRrset(GetDnsZoneRrsetArgs.builder()\n            .zoneName(\"zoneName\")\n            .rrsetName(\"rrsetName\")\n            .rrsetType(\"rrsetType\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDnsZoneRrset:\n    fn::invoke:\n      function: gcore:getDnsZoneRrset\n      arguments:\n        zoneName: zoneName\n        rrsetName: rrsetName\n        rrsetType: rrsetType\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getDnsZoneRrset.\n","properties":{"rrsetName":{"type":"string"},"rrsetType":{"type":"string"},"zoneName":{"type":"string"}},"required":["rrsetName","rrsetType","zoneName"],"type":"object"},"outputs":{"description":"A collection of values returned by getDnsZoneRrset.\n","properties":{"filterSetId":{"type":"number"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"meta":{"additionalProperties":{"type":"string"},"description":"Meta information for rrset. Map with string key and any valid json as value, with valid keys\n","type":"object"},"name":{"type":"string"},"pickers":{"items":{"$ref":"#/types/gcore:index%2FgetDnsZoneRrsetPicker:getDnsZoneRrsetPicker"},"type":"array"},"resourceRecords":{"items":{"$ref":"#/types/gcore:index%2FgetDnsZoneRrsetResourceRecord:getDnsZoneRrsetResourceRecord"},"type":"array"},"rrsetName":{"type":"string"},"rrsetType":{"type":"string"},"ttl":{"type":"number"},"type":{"type":"string"},"updatedAt":{"type":"string"},"warning":{"type":"string"},"warnings":{"items":{"$ref":"#/types/gcore:index%2FgetDnsZoneRrsetWarning:getDnsZoneRrsetWarning"},"type":"array"},"zoneName":{"type":"string"}},"required":["filterSetId","id","meta","name","pickers","resourceRecords","rrsetName","rrsetType","ttl","type","updatedAt","warning","warnings","zoneName"],"type":"object"}},"gcore:index/getFastedgeApp:getFastedgeApp":{"description":"FastEdge applications combine a WebAssembly binary with configuration, environment variables, and secrets for deployment at the CDN edge.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeApp = gcore.getFastedgeApp({\n    appId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_app = gcore.get_fastedge_app(app_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeApp = Gcore.GetFastedgeApp.Invoke(new()\n    {\n        AppId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupFastedgeApp(ctx, &gcore.LookupFastedgeAppArgs{\n\t\t\tAppId: pulumi.Float64Ref(0),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetFastedgeAppArgs;\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 exampleFastedgeApp = GcoreFunctions.getFastedgeApp(GetFastedgeAppArgs.builder()\n            .appId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFastedgeApp:\n    fn::invoke:\n      function: gcore:getFastedgeApp\n      arguments:\n        appId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getFastedgeApp.\n","properties":{"appId":{"type":"number"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetFastedgeAppFindOneBy:getFastedgeAppFindOneBy"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFastedgeApp.\n","properties":{"apiType":{"type":"string"},"appId":{"type":"number"},"binary":{"type":"number"},"comment":{"type":"string"},"debug":{"type":"boolean"},"debugUntil":{"type":"string"},"env":{"additionalProperties":{"type":"string"},"type":"object"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetFastedgeAppFindOneBy:getFastedgeAppFindOneBy"},"id":{"type":"number"},"log":{"deprecationMessage":"Deprecated","type":"string"},"name":{"type":"string"},"networks":{"items":{"type":"string"},"type":"array"},"plan":{"type":"string"},"planId":{"type":"number"},"rspHeaders":{"additionalProperties":{"type":"string"},"type":"object"},"secrets":{"additionalProperties":{"$ref":"#/types/gcore:index%2FgetFastedgeAppSecrets:getFastedgeAppSecrets"},"type":"object"},"status":{"type":"number"},"stores":{"additionalProperties":{"$ref":"#/types/gcore:index%2FgetFastedgeAppStores:getFastedgeAppStores"},"type":"object"},"template":{"type":"number"},"templateName":{"type":"string"},"url":{"type":"string"}},"required":["apiType","binary","comment","debug","debugUntil","env","id","log","name","networks","plan","planId","rspHeaders","secrets","status","stores","template","templateName","url"],"type":"object"}},"gcore:index/getFastedgeApps:getFastedgeApps":{"description":"FastEdge applications combine a WebAssembly binary with configuration, environment variables, and secrets for deployment at the CDN edge.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeApps = gcore.getFastedgeApps({\n    apiType: \"wasi-http\",\n    binary: 1,\n    name: \"x\",\n    ordering: \"name\",\n    plan: 1,\n    status: 0,\n    template: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_apps = gcore.get_fastedge_apps(api_type=\"wasi-http\",\n    binary=1,\n    name=\"x\",\n    ordering=\"name\",\n    plan=1,\n    status=0,\n    template=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeApps = Gcore.GetFastedgeApps.Invoke(new()\n    {\n        ApiType = \"wasi-http\",\n        Binary = 1,\n        Name = \"x\",\n        Ordering = \"name\",\n        Plan = 1,\n        Status = 0,\n        Template = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetFastedgeApps(ctx, &gcore.GetFastedgeAppsArgs{\n\t\t\tApiType:  pulumi.StringRef(\"wasi-http\"),\n\t\t\tBinary:   pulumi.Float64Ref(1),\n\t\t\tName:     pulumi.StringRef(\"x\"),\n\t\t\tOrdering: pulumi.StringRef(\"name\"),\n\t\t\tPlan:     pulumi.Float64Ref(1),\n\t\t\tStatus:   pulumi.Float64Ref(0),\n\t\t\tTemplate: pulumi.Float64Ref(1),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetFastedgeAppsArgs;\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 exampleFastedgeApps = GcoreFunctions.getFastedgeApps(GetFastedgeAppsArgs.builder()\n            .apiType(\"wasi-http\")\n            .binary(1)\n            .name(\"x\")\n            .ordering(\"name\")\n            .plan(1)\n            .status(0)\n            .template(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFastedgeApps:\n    fn::invoke:\n      function: gcore:getFastedgeApps\n      arguments:\n        apiType: wasi-http\n        binary: 1\n        name: x\n        ordering: name\n        plan: 1\n        status: 0\n        template: 1\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getFastedgeApps.\n","properties":{"apiType":{"type":"string"},"binary":{"type":"number"},"maxItems":{"type":"number"},"name":{"type":"string"},"ordering":{"type":"string"},"plan":{"type":"number"},"status":{"type":"number"},"template":{"type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFastedgeApps.\n","properties":{"apiType":{"type":"string"},"binary":{"type":"number"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"items":{"$ref":"#/types/gcore:index%2FgetFastedgeAppsItem:getFastedgeAppsItem"},"type":"array"},"maxItems":{"type":"number"},"name":{"type":"string"},"ordering":{"type":"string"},"plan":{"type":"number"},"status":{"type":"number"},"template":{"type":"number"}},"required":["id","items"],"type":"object"}},"gcore:index/getFastedgeBinary:getFastedgeBinary":{"description":"FastEdge binaries are immutable WebAssembly modules that implement edge application logic.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeBinary = gcore.getFastedgeBinary({\n    binaryId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_binary = gcore.get_fastedge_binary(binary_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeBinary = Gcore.GetFastedgeBinary.Invoke(new()\n    {\n        BinaryId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupFastedgeBinary(ctx, &gcore.LookupFastedgeBinaryArgs{\n\t\t\tBinaryId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetFastedgeBinaryArgs;\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 exampleFastedgeBinary = GcoreFunctions.getFastedgeBinary(GetFastedgeBinaryArgs.builder()\n            .binaryId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFastedgeBinary:\n    fn::invoke:\n      function: gcore:getFastedgeBinary\n      arguments:\n        binaryId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getFastedgeBinary.\n","properties":{"binaryId":{"type":"number"}},"required":["binaryId"],"type":"object"},"outputs":{"description":"A collection of values returned by getFastedgeBinary.\n","properties":{"apiType":{"type":"string"},"binaryId":{"type":"number"},"checksum":{"type":"string"},"id":{"type":"number"},"source":{"type":"number"},"status":{"type":"number"},"unrefSince":{"type":"string"}},"required":["apiType","binaryId","checksum","id","source","status","unrefSince"],"type":"object"}},"gcore:index/getFastedgeSecret:getFastedgeSecret":{"description":"FastEdge secrets store sensitive values such as API keys and tokens that can be referenced by FastEdge applications.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeSecret = gcore.getFastedgeSecret({\n    secretId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_secret = gcore.get_fastedge_secret(secret_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeSecret = Gcore.GetFastedgeSecret.Invoke(new()\n    {\n        SecretId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupFastedgeSecret(ctx, &gcore.LookupFastedgeSecretArgs{\n\t\t\tSecretId: 0,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetFastedgeSecretArgs;\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 exampleFastedgeSecret = GcoreFunctions.getFastedgeSecret(GetFastedgeSecretArgs.builder()\n            .secretId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFastedgeSecret:\n    fn::invoke:\n      function: gcore:getFastedgeSecret\n      arguments:\n        secretId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getFastedgeSecret.\n","properties":{"secretId":{"type":"number"}},"required":["secretId"],"type":"object"},"outputs":{"description":"A collection of values returned by getFastedgeSecret.\n","properties":{"appCount":{"description":"The number of applications that use this secret.\n","type":"number"},"comment":{"description":"A description or comment about the secret.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"number"},"name":{"description":"The unique name of the secret.\n","type":"string"},"secretId":{"type":"number"},"secretSlots":{"description":"A list of secret slots associated with this secret.\n","items":{"$ref":"#/types/gcore:index%2FgetFastedgeSecretSecretSlot:getFastedgeSecretSecretSlot"},"type":"array"}},"required":["appCount","comment","id","name","secretId","secretSlots"],"type":"object"}},"gcore:index/getFastedgeTemplate:getFastedgeTemplate":{"description":"FastEdge templates encapsulate reusable configurations for FastEdge applications, including a WebAssembly binary reference and configurable parameters.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeTemplate = gcore.getFastedgeTemplate({\n    templateId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_template = gcore.get_fastedge_template(template_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeTemplate = Gcore.GetFastedgeTemplate.Invoke(new()\n    {\n        TemplateId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupFastedgeTemplate(ctx, &gcore.LookupFastedgeTemplateArgs{\n\t\t\tTemplateId: pulumi.Float64Ref(0),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetFastedgeTemplateArgs;\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 exampleFastedgeTemplate = GcoreFunctions.getFastedgeTemplate(GetFastedgeTemplateArgs.builder()\n            .templateId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFastedgeTemplate:\n    fn::invoke:\n      function: gcore:getFastedgeTemplate\n      arguments:\n        templateId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getFastedgeTemplate.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetFastedgeTemplateFindOneBy:getFastedgeTemplateFindOneBy"},"templateId":{"type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFastedgeTemplate.\n","properties":{"apiType":{"type":"string"},"binaryId":{"type":"number"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetFastedgeTemplateFindOneBy:getFastedgeTemplateFindOneBy"},"id":{"type":"number"},"longDescr":{"type":"string"},"name":{"type":"string"},"owned":{"type":"boolean"},"params":{"items":{"$ref":"#/types/gcore:index%2FgetFastedgeTemplateParam:getFastedgeTemplateParam"},"type":"array"},"shortDescr":{"type":"string"},"templateId":{"type":"number"}},"required":["apiType","binaryId","id","longDescr","name","owned","params","shortDescr"],"type":"object"}},"gcore:index/getFastedgeTemplates:getFastedgeTemplates":{"description":"FastEdge templates encapsulate reusable configurations for FastEdge applications, including a WebAssembly binary reference and configurable parameters.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeTemplates = gcore.getFastedgeTemplates({\n    apiType: \"wasi-http\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_templates = gcore.get_fastedge_templates(api_type=\"wasi-http\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeTemplates = Gcore.GetFastedgeTemplates.Invoke(new()\n    {\n        ApiType = \"wasi-http\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetFastedgeTemplates(ctx, &gcore.GetFastedgeTemplatesArgs{\n\t\t\tApiType: pulumi.StringRef(\"wasi-http\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetFastedgeTemplatesArgs;\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 exampleFastedgeTemplates = GcoreFunctions.getFastedgeTemplates(GetFastedgeTemplatesArgs.builder()\n            .apiType(\"wasi-http\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFastedgeTemplates:\n    fn::invoke:\n      function: gcore:getFastedgeTemplates\n      arguments:\n        apiType: wasi-http\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getFastedgeTemplates.\n","properties":{"apiType":{"type":"string"},"maxItems":{"type":"number"},"onlyMine":{"type":"boolean"}},"type":"object"},"outputs":{"description":"A collection of values returned by getFastedgeTemplates.\n","properties":{"apiType":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"items":{"$ref":"#/types/gcore:index%2FgetFastedgeTemplatesItem:getFastedgeTemplatesItem"},"type":"array"},"maxItems":{"type":"number"},"onlyMine":{"type":"boolean"}},"required":["id","items","onlyMine"],"type":"object"}},"gcore:index/getStorageLocations:getStorageLocations":{"description":"Locations represent cloud regions where new storages can be created.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleStorageLocations = gcore.getStorageLocations({});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_storage_locations = gcore.get_storage_locations()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleStorageLocations = Gcore.GetStorageLocations.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetStorageLocations(ctx, &gcore.GetStorageLocationsArgs{}, 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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetStorageLocationsArgs;\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 exampleStorageLocations = GcoreFunctions.getStorageLocations(GetStorageLocationsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleStorageLocations:\n    fn::invoke:\n      function: gcore:getStorageLocations\n      arguments: {}\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getStorageLocations.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"orderBy":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getStorageLocations.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetStorageLocationsItem:getStorageLocationsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"orderBy":{"type":"string"}},"required":["id","items","orderBy"],"type":"object"}},"gcore:index/getStorageSshKey:getStorageSshKey":{"description":"SSH keys enable secure access to SFTP storage by associating public keys with user accounts for authentication.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleStorageSshKey = gcore.getStorageSshKey({\n    sshKeyId: 0,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_storage_ssh_key = gcore.get_storage_ssh_key(ssh_key_id=0)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleStorageSshKey = Gcore.GetStorageSshKey.Invoke(new()\n    {\n        SshKeyId = 0,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupStorageSshKey(ctx, &gcore.LookupStorageSshKeyArgs{\n\t\t\tSshKeyId: pulumi.Float64Ref(0),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetStorageSshKeyArgs;\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 exampleStorageSshKey = GcoreFunctions.getStorageSshKey(GetStorageSshKeyArgs.builder()\n            .sshKeyId(0)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleStorageSshKey:\n    fn::invoke:\n      function: gcore:getStorageSshKey\n      arguments:\n        sshKeyId: 0\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getStorageSshKey.\n","properties":{"findOneBy":{"$ref":"#/types/gcore:index%2FgetStorageSshKeyFindOneBy:getStorageSshKeyFindOneBy"},"sshKeyId":{"type":"number"}},"type":"object"},"outputs":{"description":"A collection of values returned by getStorageSshKey.\n","properties":{"createdAt":{"description":"ISO 8601 timestamp when the SSH key was created\n","type":"string"},"findOneBy":{"$ref":"#/types/gcore:index%2FgetStorageSshKeyFindOneBy:getStorageSshKeyFindOneBy"},"id":{"description":"The ID of this resource.\n","type":"number"},"name":{"description":"User-defined name for the SSH key\n","type":"string"},"publicKey":{"description":"The SSH public key content\n","type":"string"},"sshKeyId":{"type":"number"}},"required":["createdAt","id","name","publicKey"],"type":"object"}},"gcore:index/getStorageSshKeys:getStorageSshKeys":{"description":"SSH keys enable secure access to SFTP storage by associating public keys with user accounts for authentication.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleStorageSshKeys = gcore.getStorageSshKeys({\n    name: \"name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_storage_ssh_keys = gcore.get_storage_ssh_keys(name=\"name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleStorageSshKeys = Gcore.GetStorageSshKeys.Invoke(new()\n    {\n        Name = \"name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetStorageSshKeys(ctx, &gcore.GetStorageSshKeysArgs{\n\t\t\tName: pulumi.StringRef(\"name\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetStorageSshKeysArgs;\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 exampleStorageSshKeys = GcoreFunctions.getStorageSshKeys(GetStorageSshKeysArgs.builder()\n            .name(\"name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleStorageSshKeys:\n    fn::invoke:\n      function: gcore:getStorageSshKeys\n      arguments:\n        name: name\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getStorageSshKeys.\n","properties":{"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter by name (partial match)\n","type":"string"},"orderBy":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getStorageSshKeys.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetStorageSshKeysItem:getStorageSshKeysItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter by name (partial match)\n","type":"string"},"orderBy":{"type":"string"}},"required":["id","items","orderBy"],"type":"object"}},"gcore:index/getWaapDomain:getWaapDomain":{"description":"WAAP domains enable Web Application and API Protection for monitoring and defending web applications against security threats.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleWaapDomain = gcore.getWaapDomain({\n    domainId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_waap_domain = gcore.get_waap_domain(domain_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleWaapDomain = Gcore.GetWaapDomain.Invoke(new()\n    {\n        DomainId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.LookupWaapDomain(ctx, &gcore.LookupWaapDomainArgs{\n\t\t\tDomainId: 1,\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetWaapDomainArgs;\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 exampleWaapDomain = GcoreFunctions.getWaapDomain(GetWaapDomainArgs.builder()\n            .domainId(1)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleWaapDomain:\n    fn::invoke:\n      function: gcore:getWaapDomain\n      arguments:\n        domainId: 1\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getWaapDomain.\n","properties":{"domainId":{"description":"The domain ID\n","type":"number"}},"required":["domainId"],"type":"object"},"outputs":{"description":"A collection of values returned by getWaapDomain.\n","properties":{"createdAt":{"description":"The date and time the domain was created in ISO 8601 format\n","type":"string"},"customPageSet":{"description":"The ID of the custom page set\n","type":"number"},"domainId":{"description":"The domain ID\n","type":"number"},"id":{"description":"The domain ID\n","type":"number"},"name":{"description":"The domain name\n","type":"string"},"quotas":{"additionalProperties":{"$ref":"#/types/gcore:index%2FgetWaapDomainQuotas:getWaapDomainQuotas"},"description":"Domain level quotas\n","type":"object"},"status":{"description":"The different statuses a domain can have\nAvailable values: \"active\", \"bypass\", \"monitor\", \"locked\".\n","type":"string"}},"required":["createdAt","customPageSet","domainId","id","name","quotas","status"],"type":"object"}},"gcore:index/getWaapDomains:getWaapDomains":{"description":"WAAP domains enable Web Application and API Protection for monitoring and defending web applications against security threats.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleWaapDomains = gcore.getWaapDomains({\n    ids: [1],\n    name: \"*example.com\",\n    ordering: \"id\",\n    status: \"active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_waap_domains = gcore.get_waap_domains(ids=[1],\n    name=\"*example.com\",\n    ordering=\"id\",\n    status=\"active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleWaapDomains = Gcore.GetWaapDomains.Invoke(new()\n    {\n        Ids = new[]\n        {\n            1,\n        },\n        Name = \"*example.com\",\n        Ordering = \"id\",\n        Status = \"active\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.GetWaapDomains(ctx, &gcore.GetWaapDomainsArgs{\n\t\t\tIds: []float64{\n\t\t\t\t1,\n\t\t\t},\n\t\t\tName:     pulumi.StringRef(\"*example.com\"),\n\t\t\tOrdering: pulumi.StringRef(\"id\"),\n\t\t\tStatus:   pulumi.StringRef(\"active\"),\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.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetWaapDomainsArgs;\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 exampleWaapDomains = GcoreFunctions.getWaapDomains(GetWaapDomainsArgs.builder()\n            .ids(1)\n            .name(\"*example.com\")\n            .ordering(\"id\")\n            .status(\"active\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleWaapDomains:\n    fn::invoke:\n      function: gcore:getWaapDomains\n      arguments:\n        ids:\n          - 1\n        name: '*example.com'\n        ordering: id\n        status: active\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getWaapDomains.\n","properties":{"ids":{"description":"Filter domains based on their IDs\n","items":{"type":"number"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter domains based on the domain name. Supports '*' as a wildcard character\n","type":"string"},"ordering":{"description":"Sort the response by given field.\nAvailable values: \"id\", \"name\", \"status\", \"created*at\", \"-id\", \"-name\", \"-status\", \"-created*at\".\n","type":"string"},"status":{"description":"Filter domains based on the domain status\nAvailable values: \"active\", \"bypass\", \"monitor\", \"locked\".\n","type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWaapDomains.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ids":{"description":"Filter domains based on their IDs\n","items":{"type":"number"},"type":"array"},"items":{"description":"The items returned by the data source\n","items":{"$ref":"#/types/gcore:index%2FgetWaapDomainsItem:getWaapDomainsItem"},"type":"array"},"maxItems":{"description":"Max items to fetch, default: 1000\n","type":"number"},"name":{"description":"Filter domains based on the domain name. Supports '*' as a wildcard character\n","type":"string"},"ordering":{"description":"Sort the response by given field.\nAvailable values: \"id\", \"name\", \"status\", \"created*at\", \"-id\", \"-name\", \"-status\", \"-created*at\".\n","type":"string"},"status":{"description":"Filter domains based on the domain status\nAvailable values: \"active\", \"bypass\", \"monitor\", \"locked\".\n","type":"string"}},"required":["id","items"],"type":"object"}},"pulumi:providers:gcore/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:gcore"}},"required":["__self__"],"type":"object"},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"gcore"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from gcore.","readme":"> This provider is a derived work of the [Terraform Provider](https://github.com/g-core/terraform-provider-gcore)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-gcore` repo](https://github.com/g-core/terraform-provider-gcore/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"> This provider is a derived work of the [Terraform Provider](https://github.com/g-core/terraform-provider-gcore)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-gcore` repo](https://github.com/g-core/terraform-provider-gcore/issues).","respectSchemaVersion":true}},"meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"name":"gcore","parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2ctY29yZS9nY29yZSIsInZlcnNpb24iOiIyLjAuMC1hbHBoYS42In19"},"provider":{"description":"The provider type for the gcore 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","inputProperties":{"apiKey":{"description":"The API key for authenticating with the Gcore API. Can also be set via the `GCORE_API_KEY` environment variable.","secret":true,"type":"string"},"baseUrl":{"description":"Set the base url that the provider connects to.","type":"string"},"cloudPollingIntervalSeconds":{"description":"Interval in seconds between polling requests for long-running cloud operations. Defaults to <span pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\">`3`</span>.","type":"number"},"cloudPollingTimeoutSeconds":{"description":"Timeout in seconds for polling long-running cloud operations. Defaults to <span pulumi-lang-nodejs=\"`7200`\" pulumi-lang-dotnet=\"`7200`\" pulumi-lang-go=\"`7200`\" pulumi-lang-python=\"`7200`\" pulumi-lang-yaml=\"`7200`\" pulumi-lang-java=\"`7200`\">`7200`</span>.","type":"number"},"cloudProjectId":{"description":"Default cloud project ID to use for cloud resources. Serves as a convenience fallback for local development; for production, prefer setting <span pulumi-lang-nodejs=\"`projectId`\" pulumi-lang-dotnet=\"`ProjectId`\" pulumi-lang-go=\"`projectId`\" pulumi-lang-python=\"`project_id`\" pulumi-lang-yaml=\"`projectId`\" pulumi-lang-java=\"`projectId`\">`project_id`</span> explicitly on each resource. Can also be set via the `GCORE_CLOUD_PROJECT_ID` environment variable.","type":"number"},"cloudRegionId":{"description":"Default cloud region ID to use for cloud resources. Serves as a convenience fallback for local development; for production, prefer setting <span pulumi-lang-nodejs=\"`regionId`\" pulumi-lang-dotnet=\"`RegionId`\" pulumi-lang-go=\"`regionId`\" pulumi-lang-python=\"`region_id`\" pulumi-lang-yaml=\"`regionId`\" pulumi-lang-java=\"`regionId`\">`region_id`</span> explicitly on each resource. Can also be set via the `GCORE_CLOUD_REGION_ID` environment variable.","type":"number"}},"methods":{"terraformConfig":"pulumi:providers:gcore/terraformConfig"},"properties":{"apiKey":{"description":"The API key for authenticating with the Gcore API. Can also be set via the `GCORE_API_KEY` environment variable.","secret":true,"type":"string"},"baseUrl":{"description":"Set the base url that the provider connects to.","type":"string"}},"type":"object"},"publisher":"g-core","repository":"https://github.com/g-core/terraform-provider-gcore","resources":{"gcore:index/cdnCertificate:CdnCertificate":{"description":"CDN SSL certificates enable HTTPS content delivery, supporting both uploaded certificates and automated Let's Encrypt provisioning.\n\n## Example Usage\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cdnCertificate:CdnCertificate example '<ssl_id>'\n```\n\n","inputProperties":{"automated":{"description":"Must be **true** to issue certificate automatically.","type":"boolean"},"name":{"description":"SSL certificate name.\n","type":"string"},"sslCertificateWo":{"description":"Public part of the SSL certificate.\n\nAll chain of the SSL certificate should be added. This is a write-only field — it will be sent to the API but never stored in state.","type":"string"},"sslCertificateWoVersion":{"type":"number"},"sslPrivateKeyWo":{"description":"Private key of the SSL certificate. This is a write-only field — it will be sent to the API but never stored in state.","type":"string"},"validateRootCa":{"description":"Defines whether to check the SSL certificate for a signature from a trusted certificate authority.\n\nPossible values:\n\n- **true** - SSL certificate must be verified to be signed by a trusted certificate authority.\n- **false** - SSL certificate will not be verified to be signed by a trusted certificate authority.","type":"boolean"}},"properties":{"automated":{"description":"Must be **true** to issue certificate automatically.","type":"boolean"},"cdnCertificateId":{"description":"SSL certificate ID.","type":"number"},"certIssuer":{"description":"Name of the certification center issued the SSL certificate.","type":"string"},"certSubjectAlt":{"description":"Alternative domain names that the SSL certificate secures.","type":"string"},"certSubjectCn":{"description":"Domain name that the SSL certificate secures.","type":"string"},"deleted":{"description":"Defines whether the certificate has been deleted. Parameter is **deprecated**.\n\nPossible values:\n- **true** - Certificate has been deleted.\n- **false** - Certificate has not been deleted.","type":"boolean"},"hasRelatedResources":{"description":"Defines whether the SSL certificate is used by a CDN resource.\n\nPossible values:\n- **true** - Certificate is used by a CDN resource.\n- **false** - Certificate is not used by a CDN resource.","type":"boolean"},"name":{"description":"SSL certificate name.\n","type":"string"},"sslCertificateChain":{"description":"Parameter is **deprecated**.","type":"string"},"sslCertificateWo":{"description":"Public part of the SSL certificate.\n\nAll chain of the SSL certificate should be added. This is a write-only field — it will be sent to the API but never stored in state.","type":"string"},"sslCertificateWoVersion":{"type":"number"},"sslId":{"type":"number"},"sslPrivateKeyWo":{"description":"Private key of the SSL certificate. This is a write-only field — it will be sent to the API but never stored in state.","type":"string"},"validateRootCa":{"description":"Defines whether to check the SSL certificate for a signature from a trusted certificate authority.\n\nPossible values:\n\n- **true** - SSL certificate must be verified to be signed by a trusted certificate authority.\n- **false** - SSL certificate will not be verified to be signed by a trusted certificate authority.","type":"boolean"},"validityNotAfter":{"description":"Date when certificate become untrusted (ISO 8601/RFC 3339 format, UTC.)","type":"string"},"validityNotBefore":{"description":"Date when certificate become valid (ISO 8601/RFC 3339 format, UTC.)","type":"string"}},"required":["cdnCertificateId","certIssuer","certSubjectAlt","certSubjectCn","deleted","hasRelatedResources","name","sslCertificateChain","sslId","validateRootCa","validityNotAfter","validityNotBefore"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnCertificate resources.\n","properties":{"automated":{"description":"Must be **true** to issue certificate automatically.","type":"boolean"},"cdnCertificateId":{"description":"SSL certificate ID.","type":"number"},"certIssuer":{"description":"Name of the certification center issued the SSL certificate.","type":"string"},"certSubjectAlt":{"description":"Alternative domain names that the SSL certificate secures.","type":"string"},"certSubjectCn":{"description":"Domain name that the SSL certificate secures.","type":"string"},"deleted":{"description":"Defines whether the certificate has been deleted. Parameter is **deprecated**.\n\nPossible values:\n- **true** - Certificate has been deleted.\n- **false** - Certificate has not been deleted.","type":"boolean"},"hasRelatedResources":{"description":"Defines whether the SSL certificate is used by a CDN resource.\n\nPossible values:\n- **true** - Certificate is used by a CDN resource.\n- **false** - Certificate is not used by a CDN resource.","type":"boolean"},"name":{"description":"SSL certificate name.\n","type":"string"},"sslCertificateChain":{"description":"Parameter is **deprecated**.","type":"string"},"sslCertificateWo":{"description":"Public part of the SSL certificate.\n\nAll chain of the SSL certificate should be added. This is a write-only field — it will be sent to the API but never stored in state.","type":"string"},"sslCertificateWoVersion":{"type":"number"},"sslId":{"type":"number"},"sslPrivateKeyWo":{"description":"Private key of the SSL certificate. This is a write-only field — it will be sent to the API but never stored in state.","type":"string"},"validateRootCa":{"description":"Defines whether to check the SSL certificate for a signature from a trusted certificate authority.\n\nPossible values:\n\n- **true** - SSL certificate must be verified to be signed by a trusted certificate authority.\n- **false** - SSL certificate will not be verified to be signed by a trusted certificate authority.","type":"boolean"},"validityNotAfter":{"description":"Date when certificate become untrusted (ISO 8601/RFC 3339 format, UTC.)","type":"string"},"validityNotBefore":{"description":"Date when certificate become valid (ISO 8601/RFC 3339 format, UTC.)","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cdnOriginGroup:CdnOriginGroup":{"description":"\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cdnOriginGroup:CdnOriginGroup example '<origin_group_id>'\n```\n\n","inputProperties":{"name":{"description":"Origin group name.\n","type":"string"},"proxyNextUpstreams":{"description":"Defines cases when the request should be passed on to the next origin.\n","items":{"type":"string"},"type":"array"},"s3CredentialsVersion":{"type":"number"},"sources":{"description":"List of origin sources. Each source can be a host origin (with <span pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\">`source`</span> field) or an S3 origin (with <span pulumi-lang-nodejs=\"`originType \" pulumi-lang-dotnet=\"`OriginType \" pulumi-lang-go=\"`originType \" pulumi-lang-python=\"`origin_type \" pulumi-lang-yaml=\"`originType \" pulumi-lang-java=\"`originType \">`origin_type </span>= \"s3\"` and a <span pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\">`config`</span> block).\n","items":{"$ref":"#/types/gcore:index%2FCdnOriginGroupSource:CdnOriginGroupSource"},"type":"array"},"useNext":{"description":"Defines whether to use the next origin from the origin group if origin responds with the cases specified in <span pulumi-lang-nodejs=\"`proxyNextUpstream`\" pulumi-lang-dotnet=\"`ProxyNextUpstream`\" pulumi-lang-go=\"`proxyNextUpstream`\" pulumi-lang-python=\"`proxy_next_upstream`\" pulumi-lang-yaml=\"`proxyNextUpstream`\" pulumi-lang-java=\"`proxyNextUpstream`\">`proxy_next_upstream`</span>.\nIf you enable it, you must specify cases in <span pulumi-lang-nodejs=\"`proxyNextUpstream`\" pulumi-lang-dotnet=\"`ProxyNextUpstream`\" pulumi-lang-go=\"`proxyNextUpstream`\" pulumi-lang-python=\"`proxy_next_upstream`\" pulumi-lang-yaml=\"`proxyNextUpstream`\" pulumi-lang-java=\"`proxyNextUpstream`\">`proxy_next_upstream`</span>.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.","type":"boolean"}},"properties":{"cdnOriginGroupId":{"description":"Origin group ID.","type":"number"},"hasRelatedResources":{"description":"Defines whether the origin group has related CDN resources.\n\nPossible values:\n- **true** - Origin group has related CDN resources.\n- **false** - Origin group does not have related CDN resources.","type":"boolean"},"name":{"description":"Origin group name.\n","type":"string"},"proxyNextUpstreams":{"description":"Defines cases when the request should be passed on to the next origin.\n","items":{"type":"string"},"type":"array"},"s3CredentialsVersion":{"type":"number"},"sources":{"description":"List of origin sources. Each source can be a host origin (with <span pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\">`source`</span> field) or an S3 origin (with <span pulumi-lang-nodejs=\"`originType \" pulumi-lang-dotnet=\"`OriginType \" pulumi-lang-go=\"`originType \" pulumi-lang-python=\"`origin_type \" pulumi-lang-yaml=\"`originType \" pulumi-lang-java=\"`originType \">`origin_type </span>= \"s3\"` and a <span pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\">`config`</span> block).\n","items":{"$ref":"#/types/gcore:index%2FCdnOriginGroupSource:CdnOriginGroupSource"},"type":"array"},"useNext":{"description":"Defines whether to use the next origin from the origin group if origin responds with the cases specified in <span pulumi-lang-nodejs=\"`proxyNextUpstream`\" pulumi-lang-dotnet=\"`ProxyNextUpstream`\" pulumi-lang-go=\"`proxyNextUpstream`\" pulumi-lang-python=\"`proxy_next_upstream`\" pulumi-lang-yaml=\"`proxyNextUpstream`\" pulumi-lang-java=\"`proxyNextUpstream`\">`proxy_next_upstream`</span>.\nIf you enable it, you must specify cases in <span pulumi-lang-nodejs=\"`proxyNextUpstream`\" pulumi-lang-dotnet=\"`ProxyNextUpstream`\" pulumi-lang-go=\"`proxyNextUpstream`\" pulumi-lang-python=\"`proxy_next_upstream`\" pulumi-lang-yaml=\"`proxyNextUpstream`\" pulumi-lang-java=\"`proxyNextUpstream`\">`proxy_next_upstream`</span>.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.","type":"boolean"}},"required":["cdnOriginGroupId","hasRelatedResources","name","proxyNextUpstreams","sources","useNext"],"requiredInputs":["sources"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnOriginGroup resources.\n","properties":{"cdnOriginGroupId":{"description":"Origin group ID.","type":"number"},"hasRelatedResources":{"description":"Defines whether the origin group has related CDN resources.\n\nPossible values:\n- **true** - Origin group has related CDN resources.\n- **false** - Origin group does not have related CDN resources.","type":"boolean"},"name":{"description":"Origin group name.\n","type":"string"},"proxyNextUpstreams":{"description":"Defines cases when the request should be passed on to the next origin.\n","items":{"type":"string"},"type":"array"},"s3CredentialsVersion":{"type":"number"},"sources":{"description":"List of origin sources. Each source can be a host origin (with <span pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\">`source`</span> field) or an S3 origin (with <span pulumi-lang-nodejs=\"`originType \" pulumi-lang-dotnet=\"`OriginType \" pulumi-lang-go=\"`originType \" pulumi-lang-python=\"`origin_type \" pulumi-lang-yaml=\"`originType \" pulumi-lang-java=\"`originType \">`origin_type </span>= \"s3\"` and a <span pulumi-lang-nodejs=\"`config`\" pulumi-lang-dotnet=\"`Config`\" pulumi-lang-go=\"`config`\" pulumi-lang-python=\"`config`\" pulumi-lang-yaml=\"`config`\" pulumi-lang-java=\"`config`\">`config`</span> block).\n","items":{"$ref":"#/types/gcore:index%2FCdnOriginGroupSource:CdnOriginGroupSource"},"type":"array"},"useNext":{"description":"Defines whether to use the next origin from the origin group if origin responds with the cases specified in <span pulumi-lang-nodejs=\"`proxyNextUpstream`\" pulumi-lang-dotnet=\"`ProxyNextUpstream`\" pulumi-lang-go=\"`proxyNextUpstream`\" pulumi-lang-python=\"`proxy_next_upstream`\" pulumi-lang-yaml=\"`proxyNextUpstream`\" pulumi-lang-java=\"`proxyNextUpstream`\">`proxy_next_upstream`</span>.\nIf you enable it, you must specify cases in <span pulumi-lang-nodejs=\"`proxyNextUpstream`\" pulumi-lang-dotnet=\"`ProxyNextUpstream`\" pulumi-lang-go=\"`proxyNextUpstream`\" pulumi-lang-python=\"`proxy_next_upstream`\" pulumi-lang-yaml=\"`proxyNextUpstream`\" pulumi-lang-java=\"`proxyNextUpstream`\">`proxy_next_upstream`</span>.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.","type":"boolean"}},"type":"object"},"type":"object"},"gcore:index/cdnResource:CdnResource":{"description":"## Example Usage\n\n### Basic CDN resource\n\nCreate a CDN resource with an origin group and common caching and security options.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst example = new gcore.CdnOriginGroup(\"example\", {\n    name: \"origin_group_1\",\n    useNext: true,\n    sources: [{\n        source: \"example.com\",\n        enabled: true,\n    }],\n});\nconst exampleCdnResource = new gcore.CdnResource(\"example\", {\n    cname: \"cdn.example.com\",\n    originGroup: example.cdnOriginGroupId,\n    originProtocol: \"MATCH\",\n    secondaryHostnames: [\"cdn2.example.com\"],\n    options: {\n        edgeCacheSettings: {\n            enabled: true,\n            \"default\": \"8d\",\n        },\n        browserCacheSettings: {\n            enabled: true,\n            value: \"1d\",\n        },\n        redirectHttpToHttps: {\n            enabled: true,\n            value: true,\n        },\n        gzipOn: {\n            enabled: true,\n            value: true,\n        },\n        cors: {\n            enabled: true,\n            values: [\"*\"],\n        },\n        rewrite: {\n            enabled: true,\n            body: \"/(.*) /$1\",\n        },\n        tlsVersions: {\n            enabled: true,\n            values: [\"TLSv1.2\"],\n        },\n        forceReturn: {\n            enabled: true,\n            code: 200,\n            body: \"OK\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample = gcore.CdnOriginGroup(\"example\",\n    name=\"origin_group_1\",\n    use_next=True,\n    sources=[{\n        \"source\": \"example.com\",\n        \"enabled\": True,\n    }])\nexample_cdn_resource = gcore.CdnResource(\"example\",\n    cname=\"cdn.example.com\",\n    origin_group=example.cdn_origin_group_id,\n    origin_protocol=\"MATCH\",\n    secondary_hostnames=[\"cdn2.example.com\"],\n    options={\n        \"edge_cache_settings\": {\n            \"enabled\": True,\n            \"default\": \"8d\",\n        },\n        \"browser_cache_settings\": {\n            \"enabled\": True,\n            \"value\": \"1d\",\n        },\n        \"redirect_http_to_https\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"gzip_on\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"cors\": {\n            \"enabled\": True,\n            \"values\": [\"*\"],\n        },\n        \"rewrite\": {\n            \"enabled\": True,\n            \"body\": \"/(.*) /$1\",\n        },\n        \"tls_versions\": {\n            \"enabled\": True,\n            \"values\": [\"TLSv1.2\"],\n        },\n        \"force_return\": {\n            \"enabled\": True,\n            \"code\": 200,\n            \"body\": \"OK\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Gcore.CdnOriginGroup(\"example\", new()\n    {\n        Name = \"origin_group_1\",\n        UseNext = true,\n        Sources = new[]\n        {\n            new Gcore.Inputs.CdnOriginGroupSourceArgs\n            {\n                Source = \"example.com\",\n                Enabled = true,\n            },\n        },\n    });\n\n    var exampleCdnResource = new Gcore.CdnResource(\"example\", new()\n    {\n        Cname = \"cdn.example.com\",\n        OriginGroup = example.CdnOriginGroupId,\n        OriginProtocol = \"MATCH\",\n        SecondaryHostnames = new[]\n        {\n            \"cdn2.example.com\",\n        },\n        Options = new Gcore.Inputs.CdnResourceOptionsArgs\n        {\n            EdgeCacheSettings = new Gcore.Inputs.CdnResourceOptionsEdgeCacheSettingsArgs\n            {\n                Enabled = true,\n                Default = \"8d\",\n            },\n            BrowserCacheSettings = new Gcore.Inputs.CdnResourceOptionsBrowserCacheSettingsArgs\n            {\n                Enabled = true,\n                Value = \"1d\",\n            },\n            RedirectHttpToHttps = new Gcore.Inputs.CdnResourceOptionsRedirectHttpToHttpsArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            GzipOn = new Gcore.Inputs.CdnResourceOptionsGzipOnArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            Cors = new Gcore.Inputs.CdnResourceOptionsCorsArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"*\",\n                },\n            },\n            Rewrite = new Gcore.Inputs.CdnResourceOptionsRewriteArgs\n            {\n                Enabled = true,\n                Body = \"/(.*) /$1\",\n            },\n            TlsVersions = new Gcore.Inputs.CdnResourceOptionsTlsVersionsArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"TLSv1.2\",\n                },\n            },\n            ForceReturn = new Gcore.Inputs.CdnResourceOptionsForceReturnArgs\n            {\n                Enabled = true,\n                Code = 200,\n                Body = \"OK\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gcore.NewCdnOriginGroup(ctx, \"example\", &gcore.CdnOriginGroupArgs{\n\t\t\tName:    pulumi.String(\"origin_group_1\"),\n\t\t\tUseNext: pulumi.Bool(true),\n\t\t\tSources: gcore.CdnOriginGroupSourceArray{\n\t\t\t\t&gcore.CdnOriginGroupSourceArgs{\n\t\t\t\t\tSource:  pulumi.String(\"example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCdnResource(ctx, \"example\", &gcore.CdnResourceArgs{\n\t\t\tCname:          pulumi.String(\"cdn.example.com\"),\n\t\t\tOriginGroup:    example.CdnOriginGroupId,\n\t\t\tOriginProtocol: pulumi.String(\"MATCH\"),\n\t\t\tSecondaryHostnames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cdn2.example.com\"),\n\t\t\t},\n\t\t\tOptions: &gcore.CdnResourceOptionsArgs{\n\t\t\t\tEdgeCacheSettings: &gcore.CdnResourceOptionsEdgeCacheSettingsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tDefault: pulumi.String(\"8d\"),\n\t\t\t\t},\n\t\t\t\tBrowserCacheSettings: &gcore.CdnResourceOptionsBrowserCacheSettingsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.String(\"1d\"),\n\t\t\t\t},\n\t\t\t\tRedirectHttpToHttps: &gcore.CdnResourceOptionsRedirectHttpToHttpsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tGzipOn: &gcore.CdnResourceOptionsGzipOnArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tCors: &gcore.CdnResourceOptionsCorsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRewrite: &gcore.CdnResourceOptionsRewriteArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tBody:    pulumi.String(\"/(.*) /$1\"),\n\t\t\t\t},\n\t\t\t\tTlsVersions: &gcore.CdnResourceOptionsTlsVersionsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tForceReturn: &gcore.CdnResourceOptionsForceReturnArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tCode:    pulumi.Float64(200),\n\t\t\t\t\tBody:    pulumi.String(\"OK\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CdnOriginGroup;\nimport com.pulumi.gcore.CdnOriginGroupArgs;\nimport com.pulumi.gcore.inputs.CdnOriginGroupSourceArgs;\nimport com.pulumi.gcore.CdnResource;\nimport com.pulumi.gcore.CdnResourceArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsEdgeCacheSettingsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsBrowserCacheSettingsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsRedirectHttpToHttpsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsGzipOnArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsCorsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsRewriteArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsTlsVersionsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsForceReturnArgs;\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 CdnOriginGroup(\"example\", CdnOriginGroupArgs.builder()\n            .name(\"origin_group_1\")\n            .useNext(true)\n            .sources(CdnOriginGroupSourceArgs.builder()\n                .source(\"example.com\")\n                .enabled(true)\n                .build())\n            .build());\n\n        var exampleCdnResource = new CdnResource(\"exampleCdnResource\", CdnResourceArgs.builder()\n            .cname(\"cdn.example.com\")\n            .originGroup(example.cdnOriginGroupId())\n            .originProtocol(\"MATCH\")\n            .secondaryHostnames(\"cdn2.example.com\")\n            .options(CdnResourceOptionsArgs.builder()\n                .edgeCacheSettings(CdnResourceOptionsEdgeCacheSettingsArgs.builder()\n                    .enabled(true)\n                    .default_(\"8d\")\n                    .build())\n                .browserCacheSettings(CdnResourceOptionsBrowserCacheSettingsArgs.builder()\n                    .enabled(true)\n                    .value(\"1d\")\n                    .build())\n                .redirectHttpToHttps(CdnResourceOptionsRedirectHttpToHttpsArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .gzipOn(CdnResourceOptionsGzipOnArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .cors(CdnResourceOptionsCorsArgs.builder()\n                    .enabled(true)\n                    .values(\"*\")\n                    .build())\n                .rewrite(CdnResourceOptionsRewriteArgs.builder()\n                    .enabled(true)\n                    .body(\"/(.*) /$1\")\n                    .build())\n                .tlsVersions(CdnResourceOptionsTlsVersionsArgs.builder()\n                    .enabled(true)\n                    .values(\"TLSv1.2\")\n                    .build())\n                .forceReturn(CdnResourceOptionsForceReturnArgs.builder()\n                    .enabled(true)\n                    .code(200.0)\n                    .body(\"OK\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: gcore:CdnOriginGroup\n    properties:\n      name: origin_group_1\n      useNext: true\n      sources:\n        - source: example.com\n          enabled: true\n  exampleCdnResource:\n    type: gcore:CdnResource\n    name: example\n    properties:\n      cname: cdn.example.com\n      originGroup: ${example.cdnOriginGroupId}\n      originProtocol: MATCH\n      secondaryHostnames:\n        - cdn2.example.com\n      options:\n        edgeCacheSettings:\n          enabled: true\n          default: 8d\n        browserCacheSettings:\n          enabled: true\n          value: 1d\n        redirectHttpToHttps:\n          enabled: true\n          value: true\n        gzipOn:\n          enabled: true\n          value: true\n        cors:\n          enabled: true\n          values:\n            - '*'\n        rewrite:\n          enabled: true\n          body: /(.*) /$1\n        tlsVersions:\n          enabled: true\n          values:\n            - TLSv1.2\n        forceReturn:\n          enabled: true\n          code: 200\n          body: OK\n```\n<!--End PulumiCodeChooser -->\n\n### Advanced CDN resource\n\nCreate a CDN resource with a comprehensive set of options including caching, security, access control, compression, request/response manipulation, rate limiting, and more.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst example = new gcore.CdnOriginGroup(\"example\", {\n    name: \"origin_group_1\",\n    useNext: true,\n    sources: [{\n        source: \"example.com\",\n        enabled: true,\n    }],\n});\nconst exampleCdnResource = new gcore.CdnResource(\"example\", {\n    cname: \"cdn.example.com\",\n    originGroup: example.cdnOriginGroupId,\n    originProtocol: \"HTTPS\",\n    sslEnabled: true,\n    active: true,\n    description: \"CDN resource with advanced options\",\n    secondaryHostnames: [\n        \"cdn2.example.com\",\n        \"cdn3.example.com\",\n    ],\n    options: {\n        edgeCacheSettings: {\n            enabled: true,\n            value: \"43200s\",\n            customValues: {\n                \"100\": \"400s\",\n                \"101\": \"400s\",\n            },\n        },\n        browserCacheSettings: {\n            enabled: true,\n            value: \"3600s\",\n        },\n        ignoreCookie: {\n            enabled: true,\n            value: true,\n        },\n        ignoreQueryString: {\n            enabled: true,\n            value: false,\n        },\n        slice: {\n            enabled: true,\n            value: true,\n        },\n        stale: {\n            enabled: true,\n            values: [\n                \"http_404\",\n                \"http_500\",\n            ],\n        },\n        redirectHttpToHttps: {\n            enabled: true,\n            value: true,\n        },\n        tlsVersions: {\n            enabled: true,\n            values: [\"TLSv1.2\"],\n        },\n        secureKey: {\n            enabled: true,\n            key: \"secret\",\n            type: 2,\n        },\n        cors: {\n            enabled: true,\n            values: [\"*\"],\n            always: true,\n        },\n        countryAcl: {\n            enabled: true,\n            policyType: \"allow\",\n            exceptedValues: [\n                \"GB\",\n                \"DE\",\n            ],\n        },\n        ipAddressAcl: {\n            enabled: true,\n            policyType: \"deny\",\n            exceptedValues: [\"192.168.1.100/32\"],\n        },\n        referrerAcl: {\n            enabled: true,\n            policyType: \"deny\",\n            exceptedValues: [\"*.google.com\"],\n        },\n        userAgentAcl: {\n            enabled: true,\n            policyType: \"allow\",\n            exceptedValues: [\"UserAgent\"],\n        },\n        gzipOn: {\n            enabled: true,\n            value: true,\n        },\n        brotliCompression: {\n            enabled: true,\n            values: [\n                \"text/html\",\n                \"text/plain\",\n            ],\n        },\n        fetchCompressed: {\n            enabled: true,\n            value: false,\n        },\n        hostHeader: {\n            enabled: true,\n            value: \"host.com\",\n        },\n        forwardHostHeader: {\n            enabled: true,\n            value: false,\n        },\n        sni: {\n            enabled: true,\n            sniType: \"custom\",\n            customHostname: \"custom.example.com\",\n        },\n        rewrite: {\n            enabled: true,\n            body: \"/(.*) /additional_path/$1\",\n            flag: \"break\",\n        },\n        staticRequestHeaders: {\n            enabled: true,\n            value: {\n                \"X-Custom\": \"X-Request\",\n            },\n        },\n        staticResponseHeaders: {\n            enabled: true,\n            values: [\n                {\n                    name: \"X-Custom1\",\n                    values: [\n                        \"Value1\",\n                        \"Value2\",\n                    ],\n                    always: false,\n                },\n                {\n                    name: \"X-Custom2\",\n                    values: [\"CDN\"],\n                    always: true,\n                },\n            ],\n        },\n        responseHeadersHidingPolicy: {\n            enabled: true,\n            mode: \"hide\",\n            excepteds: [\"my-header\"],\n        },\n        limitBandwidth: {\n            enabled: true,\n            limitType: \"static\",\n            speed: 100,\n            buffer: 200,\n        },\n        proxyCacheMethodsSet: {\n            enabled: true,\n            value: false,\n        },\n        proxyConnectTimeout: {\n            enabled: true,\n            value: \"4s\",\n        },\n        proxyReadTimeout: {\n            enabled: true,\n            value: \"10s\",\n        },\n        allowedHttpMethods: {\n            enabled: true,\n            values: [\n                \"GET\",\n                \"POST\",\n            ],\n        },\n        followOriginRedirect: {\n            enabled: true,\n            codes: [\n                301,\n                302,\n            ],\n        },\n        websockets: {\n            enabled: true,\n            value: true,\n        },\n        http3Enabled: {\n            enabled: true,\n            value: true,\n        },\n        imageStack: {\n            enabled: true,\n            quality: 80,\n            avifEnabled: true,\n            webpEnabled: false,\n            pngLossless: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample = gcore.CdnOriginGroup(\"example\",\n    name=\"origin_group_1\",\n    use_next=True,\n    sources=[{\n        \"source\": \"example.com\",\n        \"enabled\": True,\n    }])\nexample_cdn_resource = gcore.CdnResource(\"example\",\n    cname=\"cdn.example.com\",\n    origin_group=example.cdn_origin_group_id,\n    origin_protocol=\"HTTPS\",\n    ssl_enabled=True,\n    active=True,\n    description=\"CDN resource with advanced options\",\n    secondary_hostnames=[\n        \"cdn2.example.com\",\n        \"cdn3.example.com\",\n    ],\n    options={\n        \"edge_cache_settings\": {\n            \"enabled\": True,\n            \"value\": \"43200s\",\n            \"custom_values\": {\n                \"100\": \"400s\",\n                \"101\": \"400s\",\n            },\n        },\n        \"browser_cache_settings\": {\n            \"enabled\": True,\n            \"value\": \"3600s\",\n        },\n        \"ignore_cookie\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"ignore_query_string\": {\n            \"enabled\": True,\n            \"value\": False,\n        },\n        \"slice\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"stale\": {\n            \"enabled\": True,\n            \"values\": [\n                \"http_404\",\n                \"http_500\",\n            ],\n        },\n        \"redirect_http_to_https\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"tls_versions\": {\n            \"enabled\": True,\n            \"values\": [\"TLSv1.2\"],\n        },\n        \"secure_key\": {\n            \"enabled\": True,\n            \"key\": \"secret\",\n            \"type\": 2,\n        },\n        \"cors\": {\n            \"enabled\": True,\n            \"values\": [\"*\"],\n            \"always\": True,\n        },\n        \"country_acl\": {\n            \"enabled\": True,\n            \"policy_type\": \"allow\",\n            \"excepted_values\": [\n                \"GB\",\n                \"DE\",\n            ],\n        },\n        \"ip_address_acl\": {\n            \"enabled\": True,\n            \"policy_type\": \"deny\",\n            \"excepted_values\": [\"192.168.1.100/32\"],\n        },\n        \"referrer_acl\": {\n            \"enabled\": True,\n            \"policy_type\": \"deny\",\n            \"excepted_values\": [\"*.google.com\"],\n        },\n        \"user_agent_acl\": {\n            \"enabled\": True,\n            \"policy_type\": \"allow\",\n            \"excepted_values\": [\"UserAgent\"],\n        },\n        \"gzip_on\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"brotli_compression\": {\n            \"enabled\": True,\n            \"values\": [\n                \"text/html\",\n                \"text/plain\",\n            ],\n        },\n        \"fetch_compressed\": {\n            \"enabled\": True,\n            \"value\": False,\n        },\n        \"host_header\": {\n            \"enabled\": True,\n            \"value\": \"host.com\",\n        },\n        \"forward_host_header\": {\n            \"enabled\": True,\n            \"value\": False,\n        },\n        \"sni\": {\n            \"enabled\": True,\n            \"sni_type\": \"custom\",\n            \"custom_hostname\": \"custom.example.com\",\n        },\n        \"rewrite\": {\n            \"enabled\": True,\n            \"body\": \"/(.*) /additional_path/$1\",\n            \"flag\": \"break\",\n        },\n        \"static_request_headers\": {\n            \"enabled\": True,\n            \"value\": {\n                \"X-Custom\": \"X-Request\",\n            },\n        },\n        \"static_response_headers\": {\n            \"enabled\": True,\n            \"values\": [\n                {\n                    \"name\": \"X-Custom1\",\n                    \"values\": [\n                        \"Value1\",\n                        \"Value2\",\n                    ],\n                    \"always\": False,\n                },\n                {\n                    \"name\": \"X-Custom2\",\n                    \"values\": [\"CDN\"],\n                    \"always\": True,\n                },\n            ],\n        },\n        \"response_headers_hiding_policy\": {\n            \"enabled\": True,\n            \"mode\": \"hide\",\n            \"excepteds\": [\"my-header\"],\n        },\n        \"limit_bandwidth\": {\n            \"enabled\": True,\n            \"limit_type\": \"static\",\n            \"speed\": 100,\n            \"buffer\": 200,\n        },\n        \"proxy_cache_methods_set\": {\n            \"enabled\": True,\n            \"value\": False,\n        },\n        \"proxy_connect_timeout\": {\n            \"enabled\": True,\n            \"value\": \"4s\",\n        },\n        \"proxy_read_timeout\": {\n            \"enabled\": True,\n            \"value\": \"10s\",\n        },\n        \"allowed_http_methods\": {\n            \"enabled\": True,\n            \"values\": [\n                \"GET\",\n                \"POST\",\n            ],\n        },\n        \"follow_origin_redirect\": {\n            \"enabled\": True,\n            \"codes\": [\n                301,\n                302,\n            ],\n        },\n        \"websockets\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"http3_enabled\": {\n            \"enabled\": True,\n            \"value\": True,\n        },\n        \"image_stack\": {\n            \"enabled\": True,\n            \"quality\": 80,\n            \"avif_enabled\": True,\n            \"webp_enabled\": False,\n            \"png_lossless\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Gcore.CdnOriginGroup(\"example\", new()\n    {\n        Name = \"origin_group_1\",\n        UseNext = true,\n        Sources = new[]\n        {\n            new Gcore.Inputs.CdnOriginGroupSourceArgs\n            {\n                Source = \"example.com\",\n                Enabled = true,\n            },\n        },\n    });\n\n    var exampleCdnResource = new Gcore.CdnResource(\"example\", new()\n    {\n        Cname = \"cdn.example.com\",\n        OriginGroup = example.CdnOriginGroupId,\n        OriginProtocol = \"HTTPS\",\n        SslEnabled = true,\n        Active = true,\n        Description = \"CDN resource with advanced options\",\n        SecondaryHostnames = new[]\n        {\n            \"cdn2.example.com\",\n            \"cdn3.example.com\",\n        },\n        Options = new Gcore.Inputs.CdnResourceOptionsArgs\n        {\n            EdgeCacheSettings = new Gcore.Inputs.CdnResourceOptionsEdgeCacheSettingsArgs\n            {\n                Enabled = true,\n                Value = \"43200s\",\n                CustomValues = \n                {\n                    { \"100\", \"400s\" },\n                    { \"101\", \"400s\" },\n                },\n            },\n            BrowserCacheSettings = new Gcore.Inputs.CdnResourceOptionsBrowserCacheSettingsArgs\n            {\n                Enabled = true,\n                Value = \"3600s\",\n            },\n            IgnoreCookie = new Gcore.Inputs.CdnResourceOptionsIgnoreCookieArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            IgnoreQueryString = new Gcore.Inputs.CdnResourceOptionsIgnoreQueryStringArgs\n            {\n                Enabled = true,\n                Value = false,\n            },\n            Slice = new Gcore.Inputs.CdnResourceOptionsSliceArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            Stale = new Gcore.Inputs.CdnResourceOptionsStaleArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"http_404\",\n                    \"http_500\",\n                },\n            },\n            RedirectHttpToHttps = new Gcore.Inputs.CdnResourceOptionsRedirectHttpToHttpsArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            TlsVersions = new Gcore.Inputs.CdnResourceOptionsTlsVersionsArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"TLSv1.2\",\n                },\n            },\n            SecureKey = new Gcore.Inputs.CdnResourceOptionsSecureKeyArgs\n            {\n                Enabled = true,\n                Key = \"secret\",\n                Type = 2,\n            },\n            Cors = new Gcore.Inputs.CdnResourceOptionsCorsArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"*\",\n                },\n                Always = true,\n            },\n            CountryAcl = new Gcore.Inputs.CdnResourceOptionsCountryAclArgs\n            {\n                Enabled = true,\n                PolicyType = \"allow\",\n                ExceptedValues = new[]\n                {\n                    \"GB\",\n                    \"DE\",\n                },\n            },\n            IpAddressAcl = new Gcore.Inputs.CdnResourceOptionsIpAddressAclArgs\n            {\n                Enabled = true,\n                PolicyType = \"deny\",\n                ExceptedValues = new[]\n                {\n                    \"192.168.1.100/32\",\n                },\n            },\n            ReferrerAcl = new Gcore.Inputs.CdnResourceOptionsReferrerAclArgs\n            {\n                Enabled = true,\n                PolicyType = \"deny\",\n                ExceptedValues = new[]\n                {\n                    \"*.google.com\",\n                },\n            },\n            UserAgentAcl = new Gcore.Inputs.CdnResourceOptionsUserAgentAclArgs\n            {\n                Enabled = true,\n                PolicyType = \"allow\",\n                ExceptedValues = new[]\n                {\n                    \"UserAgent\",\n                },\n            },\n            GzipOn = new Gcore.Inputs.CdnResourceOptionsGzipOnArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            BrotliCompression = new Gcore.Inputs.CdnResourceOptionsBrotliCompressionArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"text/html\",\n                    \"text/plain\",\n                },\n            },\n            FetchCompressed = new Gcore.Inputs.CdnResourceOptionsFetchCompressedArgs\n            {\n                Enabled = true,\n                Value = false,\n            },\n            HostHeader = new Gcore.Inputs.CdnResourceOptionsHostHeaderArgs\n            {\n                Enabled = true,\n                Value = \"host.com\",\n            },\n            ForwardHostHeader = new Gcore.Inputs.CdnResourceOptionsForwardHostHeaderArgs\n            {\n                Enabled = true,\n                Value = false,\n            },\n            Sni = new Gcore.Inputs.CdnResourceOptionsSniArgs\n            {\n                Enabled = true,\n                SniType = \"custom\",\n                CustomHostname = \"custom.example.com\",\n            },\n            Rewrite = new Gcore.Inputs.CdnResourceOptionsRewriteArgs\n            {\n                Enabled = true,\n                Body = \"/(.*) /additional_path/$1\",\n                Flag = \"break\",\n            },\n            StaticRequestHeaders = new Gcore.Inputs.CdnResourceOptionsStaticRequestHeadersArgs\n            {\n                Enabled = true,\n                Value = \n                {\n                    { \"X-Custom\", \"X-Request\" },\n                },\n            },\n            StaticResponseHeaders = new Gcore.Inputs.CdnResourceOptionsStaticResponseHeadersArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    new Gcore.Inputs.CdnResourceOptionsStaticResponseHeadersValueArgs\n                    {\n                        Name = \"X-Custom1\",\n                        Values = new[]\n                        {\n                            \"Value1\",\n                            \"Value2\",\n                        },\n                        Always = false,\n                    },\n                    new Gcore.Inputs.CdnResourceOptionsStaticResponseHeadersValueArgs\n                    {\n                        Name = \"X-Custom2\",\n                        Values = new[]\n                        {\n                            \"CDN\",\n                        },\n                        Always = true,\n                    },\n                },\n            },\n            ResponseHeadersHidingPolicy = new Gcore.Inputs.CdnResourceOptionsResponseHeadersHidingPolicyArgs\n            {\n                Enabled = true,\n                Mode = \"hide\",\n                Excepteds = new[]\n                {\n                    \"my-header\",\n                },\n            },\n            LimitBandwidth = new Gcore.Inputs.CdnResourceOptionsLimitBandwidthArgs\n            {\n                Enabled = true,\n                LimitType = \"static\",\n                Speed = 100,\n                Buffer = 200,\n            },\n            ProxyCacheMethodsSet = new Gcore.Inputs.CdnResourceOptionsProxyCacheMethodsSetArgs\n            {\n                Enabled = true,\n                Value = false,\n            },\n            ProxyConnectTimeout = new Gcore.Inputs.CdnResourceOptionsProxyConnectTimeoutArgs\n            {\n                Enabled = true,\n                Value = \"4s\",\n            },\n            ProxyReadTimeout = new Gcore.Inputs.CdnResourceOptionsProxyReadTimeoutArgs\n            {\n                Enabled = true,\n                Value = \"10s\",\n            },\n            AllowedHttpMethods = new Gcore.Inputs.CdnResourceOptionsAllowedHttpMethodsArgs\n            {\n                Enabled = true,\n                Values = new[]\n                {\n                    \"GET\",\n                    \"POST\",\n                },\n            },\n            FollowOriginRedirect = new Gcore.Inputs.CdnResourceOptionsFollowOriginRedirectArgs\n            {\n                Enabled = true,\n                Codes = new[]\n                {\n                    301,\n                    302,\n                },\n            },\n            Websockets = new Gcore.Inputs.CdnResourceOptionsWebsocketsArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            Http3Enabled = new Gcore.Inputs.CdnResourceOptionsHttp3EnabledArgs\n            {\n                Enabled = true,\n                Value = true,\n            },\n            ImageStack = new Gcore.Inputs.CdnResourceOptionsImageStackArgs\n            {\n                Enabled = true,\n                Quality = 80,\n                AvifEnabled = true,\n                WebpEnabled = false,\n                PngLossless = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := gcore.NewCdnOriginGroup(ctx, \"example\", &gcore.CdnOriginGroupArgs{\n\t\t\tName:    pulumi.String(\"origin_group_1\"),\n\t\t\tUseNext: pulumi.Bool(true),\n\t\t\tSources: gcore.CdnOriginGroupSourceArray{\n\t\t\t\t&gcore.CdnOriginGroupSourceArgs{\n\t\t\t\t\tSource:  pulumi.String(\"example.com\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCdnResource(ctx, \"example\", &gcore.CdnResourceArgs{\n\t\t\tCname:          pulumi.String(\"cdn.example.com\"),\n\t\t\tOriginGroup:    example.CdnOriginGroupId,\n\t\t\tOriginProtocol: pulumi.String(\"HTTPS\"),\n\t\t\tSslEnabled:     pulumi.Bool(true),\n\t\t\tActive:         pulumi.Bool(true),\n\t\t\tDescription:    pulumi.String(\"CDN resource with advanced options\"),\n\t\t\tSecondaryHostnames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"cdn2.example.com\"),\n\t\t\t\tpulumi.String(\"cdn3.example.com\"),\n\t\t\t},\n\t\t\tOptions: &gcore.CdnResourceOptionsArgs{\n\t\t\t\tEdgeCacheSettings: &gcore.CdnResourceOptionsEdgeCacheSettingsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.String(\"43200s\"),\n\t\t\t\t\tCustomValues: pulumi.StringMap{\n\t\t\t\t\t\t\"100\": pulumi.String(\"400s\"),\n\t\t\t\t\t\t\"101\": pulumi.String(\"400s\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tBrowserCacheSettings: &gcore.CdnResourceOptionsBrowserCacheSettingsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.String(\"3600s\"),\n\t\t\t\t},\n\t\t\t\tIgnoreCookie: &gcore.CdnResourceOptionsIgnoreCookieArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tIgnoreQueryString: &gcore.CdnResourceOptionsIgnoreQueryStringArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tSlice: &gcore.CdnResourceOptionsSliceArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tStale: &gcore.CdnResourceOptionsStaleArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"http_404\"),\n\t\t\t\t\t\tpulumi.String(\"http_500\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRedirectHttpToHttps: &gcore.CdnResourceOptionsRedirectHttpToHttpsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tTlsVersions: &gcore.CdnResourceOptionsTlsVersionsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"TLSv1.2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tSecureKey: &gcore.CdnResourceOptionsSecureKeyArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tKey:     pulumi.String(\"secret\"),\n\t\t\t\t\tType:    pulumi.Float64(2),\n\t\t\t\t},\n\t\t\t\tCors: &gcore.CdnResourceOptionsCorsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tAlways: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tCountryAcl: &gcore.CdnResourceOptionsCountryAclArgs{\n\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\tPolicyType: pulumi.String(\"allow\"),\n\t\t\t\t\tExceptedValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GB\"),\n\t\t\t\t\t\tpulumi.String(\"DE\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tIpAddressAcl: &gcore.CdnResourceOptionsIpAddressAclArgs{\n\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\tPolicyType: pulumi.String(\"deny\"),\n\t\t\t\t\tExceptedValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"192.168.1.100/32\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tReferrerAcl: &gcore.CdnResourceOptionsReferrerAclArgs{\n\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\tPolicyType: pulumi.String(\"deny\"),\n\t\t\t\t\tExceptedValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*.google.com\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUserAgentAcl: &gcore.CdnResourceOptionsUserAgentAclArgs{\n\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\tPolicyType: pulumi.String(\"allow\"),\n\t\t\t\t\tExceptedValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"UserAgent\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tGzipOn: &gcore.CdnResourceOptionsGzipOnArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tBrotliCompression: &gcore.CdnResourceOptionsBrotliCompressionArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"text/html\"),\n\t\t\t\t\t\tpulumi.String(\"text/plain\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tFetchCompressed: &gcore.CdnResourceOptionsFetchCompressedArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tHostHeader: &gcore.CdnResourceOptionsHostHeaderArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.String(\"host.com\"),\n\t\t\t\t},\n\t\t\t\tForwardHostHeader: &gcore.CdnResourceOptionsForwardHostHeaderArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tSni: &gcore.CdnResourceOptionsSniArgs{\n\t\t\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\t\t\tSniType:        pulumi.String(\"custom\"),\n\t\t\t\t\tCustomHostname: pulumi.String(\"custom.example.com\"),\n\t\t\t\t},\n\t\t\t\tRewrite: &gcore.CdnResourceOptionsRewriteArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tBody:    pulumi.String(\"/(.*) /additional_path/$1\"),\n\t\t\t\t\tFlag:    pulumi.String(\"break\"),\n\t\t\t\t},\n\t\t\t\tStaticRequestHeaders: &gcore.CdnResourceOptionsStaticRequestHeadersArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue: pulumi.StringMap{\n\t\t\t\t\t\t\"X-Custom\": pulumi.String(\"X-Request\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStaticResponseHeaders: &gcore.CdnResourceOptionsStaticResponseHeadersArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: gcore.CdnResourceOptionsStaticResponseHeadersValueArray{\n\t\t\t\t\t\t&gcore.CdnResourceOptionsStaticResponseHeadersValueArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"X-Custom1\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Value1\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Value2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAlways: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t&gcore.CdnResourceOptionsStaticResponseHeadersValueArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"X-Custom2\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CDN\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAlways: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tResponseHeadersHidingPolicy: &gcore.CdnResourceOptionsResponseHeadersHidingPolicyArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tMode:    pulumi.String(\"hide\"),\n\t\t\t\t\tExcepteds: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my-header\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tLimitBandwidth: &gcore.CdnResourceOptionsLimitBandwidthArgs{\n\t\t\t\t\tEnabled:   pulumi.Bool(true),\n\t\t\t\t\tLimitType: pulumi.String(\"static\"),\n\t\t\t\t\tSpeed:     pulumi.Float64(100),\n\t\t\t\t\tBuffer:    pulumi.Float64(200),\n\t\t\t\t},\n\t\t\t\tProxyCacheMethodsSet: &gcore.CdnResourceOptionsProxyCacheMethodsSetArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tProxyConnectTimeout: &gcore.CdnResourceOptionsProxyConnectTimeoutArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.String(\"4s\"),\n\t\t\t\t},\n\t\t\t\tProxyReadTimeout: &gcore.CdnResourceOptionsProxyReadTimeoutArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.String(\"10s\"),\n\t\t\t\t},\n\t\t\t\tAllowedHttpMethods: &gcore.CdnResourceOptionsAllowedHttpMethodsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"GET\"),\n\t\t\t\t\t\tpulumi.String(\"POST\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tFollowOriginRedirect: &gcore.CdnResourceOptionsFollowOriginRedirectArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tCodes: pulumi.Float64Array{\n\t\t\t\t\t\tpulumi.Float64(301),\n\t\t\t\t\t\tpulumi.Float64(302),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tWebsockets: &gcore.CdnResourceOptionsWebsocketsArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tHttp3Enabled: &gcore.CdnResourceOptionsHttp3EnabledArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tValue:   pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tImageStack: &gcore.CdnResourceOptionsImageStackArgs{\n\t\t\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\t\t\tQuality:     pulumi.Float64(80),\n\t\t\t\t\tAvifEnabled: pulumi.Bool(true),\n\t\t\t\t\tWebpEnabled: pulumi.Bool(false),\n\t\t\t\t\tPngLossless: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CdnOriginGroup;\nimport com.pulumi.gcore.CdnOriginGroupArgs;\nimport com.pulumi.gcore.inputs.CdnOriginGroupSourceArgs;\nimport com.pulumi.gcore.CdnResource;\nimport com.pulumi.gcore.CdnResourceArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsEdgeCacheSettingsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsBrowserCacheSettingsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsIgnoreCookieArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsIgnoreQueryStringArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsSliceArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsStaleArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsRedirectHttpToHttpsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsTlsVersionsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsSecureKeyArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsCorsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsCountryAclArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsIpAddressAclArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsReferrerAclArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsUserAgentAclArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsGzipOnArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsBrotliCompressionArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsFetchCompressedArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsHostHeaderArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsForwardHostHeaderArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsSniArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsRewriteArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsStaticRequestHeadersArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsStaticResponseHeadersArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsResponseHeadersHidingPolicyArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsLimitBandwidthArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsProxyCacheMethodsSetArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsProxyConnectTimeoutArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsProxyReadTimeoutArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsAllowedHttpMethodsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsFollowOriginRedirectArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsWebsocketsArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsHttp3EnabledArgs;\nimport com.pulumi.gcore.inputs.CdnResourceOptionsImageStackArgs;\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 CdnOriginGroup(\"example\", CdnOriginGroupArgs.builder()\n            .name(\"origin_group_1\")\n            .useNext(true)\n            .sources(CdnOriginGroupSourceArgs.builder()\n                .source(\"example.com\")\n                .enabled(true)\n                .build())\n            .build());\n\n        var exampleCdnResource = new CdnResource(\"exampleCdnResource\", CdnResourceArgs.builder()\n            .cname(\"cdn.example.com\")\n            .originGroup(example.cdnOriginGroupId())\n            .originProtocol(\"HTTPS\")\n            .sslEnabled(true)\n            .active(true)\n            .description(\"CDN resource with advanced options\")\n            .secondaryHostnames(            \n                \"cdn2.example.com\",\n                \"cdn3.example.com\")\n            .options(CdnResourceOptionsArgs.builder()\n                .edgeCacheSettings(CdnResourceOptionsEdgeCacheSettingsArgs.builder()\n                    .enabled(true)\n                    .value(\"43200s\")\n                    .customValues(Map.ofEntries(\n                        Map.entry(\"100\", \"400s\"),\n                        Map.entry(\"101\", \"400s\")\n                    ))\n                    .build())\n                .browserCacheSettings(CdnResourceOptionsBrowserCacheSettingsArgs.builder()\n                    .enabled(true)\n                    .value(\"3600s\")\n                    .build())\n                .ignoreCookie(CdnResourceOptionsIgnoreCookieArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .ignoreQueryString(CdnResourceOptionsIgnoreQueryStringArgs.builder()\n                    .enabled(true)\n                    .value(false)\n                    .build())\n                .slice(CdnResourceOptionsSliceArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .stale(CdnResourceOptionsStaleArgs.builder()\n                    .enabled(true)\n                    .values(                    \n                        \"http_404\",\n                        \"http_500\")\n                    .build())\n                .redirectHttpToHttps(CdnResourceOptionsRedirectHttpToHttpsArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .tlsVersions(CdnResourceOptionsTlsVersionsArgs.builder()\n                    .enabled(true)\n                    .values(\"TLSv1.2\")\n                    .build())\n                .secureKey(CdnResourceOptionsSecureKeyArgs.builder()\n                    .enabled(true)\n                    .key(\"secret\")\n                    .type(2.0)\n                    .build())\n                .cors(CdnResourceOptionsCorsArgs.builder()\n                    .enabled(true)\n                    .values(\"*\")\n                    .always(true)\n                    .build())\n                .countryAcl(CdnResourceOptionsCountryAclArgs.builder()\n                    .enabled(true)\n                    .policyType(\"allow\")\n                    .exceptedValues(                    \n                        \"GB\",\n                        \"DE\")\n                    .build())\n                .ipAddressAcl(CdnResourceOptionsIpAddressAclArgs.builder()\n                    .enabled(true)\n                    .policyType(\"deny\")\n                    .exceptedValues(\"192.168.1.100/32\")\n                    .build())\n                .referrerAcl(CdnResourceOptionsReferrerAclArgs.builder()\n                    .enabled(true)\n                    .policyType(\"deny\")\n                    .exceptedValues(\"*.google.com\")\n                    .build())\n                .userAgentAcl(CdnResourceOptionsUserAgentAclArgs.builder()\n                    .enabled(true)\n                    .policyType(\"allow\")\n                    .exceptedValues(\"UserAgent\")\n                    .build())\n                .gzipOn(CdnResourceOptionsGzipOnArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .brotliCompression(CdnResourceOptionsBrotliCompressionArgs.builder()\n                    .enabled(true)\n                    .values(                    \n                        \"text/html\",\n                        \"text/plain\")\n                    .build())\n                .fetchCompressed(CdnResourceOptionsFetchCompressedArgs.builder()\n                    .enabled(true)\n                    .value(false)\n                    .build())\n                .hostHeader(CdnResourceOptionsHostHeaderArgs.builder()\n                    .enabled(true)\n                    .value(\"host.com\")\n                    .build())\n                .forwardHostHeader(CdnResourceOptionsForwardHostHeaderArgs.builder()\n                    .enabled(true)\n                    .value(false)\n                    .build())\n                .sni(CdnResourceOptionsSniArgs.builder()\n                    .enabled(true)\n                    .sniType(\"custom\")\n                    .customHostname(\"custom.example.com\")\n                    .build())\n                .rewrite(CdnResourceOptionsRewriteArgs.builder()\n                    .enabled(true)\n                    .body(\"/(.*) /additional_path/$1\")\n                    .flag(\"break\")\n                    .build())\n                .staticRequestHeaders(CdnResourceOptionsStaticRequestHeadersArgs.builder()\n                    .enabled(true)\n                    .value(Map.of(\"X-Custom\", \"X-Request\"))\n                    .build())\n                .staticResponseHeaders(CdnResourceOptionsStaticResponseHeadersArgs.builder()\n                    .enabled(true)\n                    .values(                    \n                        CdnResourceOptionsStaticResponseHeadersValueArgs.builder()\n                            .name(\"X-Custom1\")\n                            .values(                            \n                                \"Value1\",\n                                \"Value2\")\n                            .always(false)\n                            .build(),\n                        CdnResourceOptionsStaticResponseHeadersValueArgs.builder()\n                            .name(\"X-Custom2\")\n                            .values(\"CDN\")\n                            .always(true)\n                            .build())\n                    .build())\n                .responseHeadersHidingPolicy(CdnResourceOptionsResponseHeadersHidingPolicyArgs.builder()\n                    .enabled(true)\n                    .mode(\"hide\")\n                    .excepteds(\"my-header\")\n                    .build())\n                .limitBandwidth(CdnResourceOptionsLimitBandwidthArgs.builder()\n                    .enabled(true)\n                    .limitType(\"static\")\n                    .speed(100.0)\n                    .buffer(200.0)\n                    .build())\n                .proxyCacheMethodsSet(CdnResourceOptionsProxyCacheMethodsSetArgs.builder()\n                    .enabled(true)\n                    .value(false)\n                    .build())\n                .proxyConnectTimeout(CdnResourceOptionsProxyConnectTimeoutArgs.builder()\n                    .enabled(true)\n                    .value(\"4s\")\n                    .build())\n                .proxyReadTimeout(CdnResourceOptionsProxyReadTimeoutArgs.builder()\n                    .enabled(true)\n                    .value(\"10s\")\n                    .build())\n                .allowedHttpMethods(CdnResourceOptionsAllowedHttpMethodsArgs.builder()\n                    .enabled(true)\n                    .values(                    \n                        \"GET\",\n                        \"POST\")\n                    .build())\n                .followOriginRedirect(CdnResourceOptionsFollowOriginRedirectArgs.builder()\n                    .enabled(true)\n                    .codes(                    \n                        301.0,\n                        302.0)\n                    .build())\n                .websockets(CdnResourceOptionsWebsocketsArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .http3Enabled(CdnResourceOptionsHttp3EnabledArgs.builder()\n                    .enabled(true)\n                    .value(true)\n                    .build())\n                .imageStack(CdnResourceOptionsImageStackArgs.builder()\n                    .enabled(true)\n                    .quality(80.0)\n                    .avifEnabled(true)\n                    .webpEnabled(false)\n                    .pngLossless(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: gcore:CdnOriginGroup\n    properties:\n      name: origin_group_1\n      useNext: true\n      sources:\n        - source: example.com\n          enabled: true\n  exampleCdnResource:\n    type: gcore:CdnResource\n    name: example\n    properties:\n      cname: cdn.example.com\n      originGroup: ${example.cdnOriginGroupId}\n      originProtocol: HTTPS\n      sslEnabled: true\n      active: true\n      description: CDN resource with advanced options\n      secondaryHostnames:\n        - cdn2.example.com\n        - cdn3.example.com\n      options:\n        edgeCacheSettings:\n          enabled: true\n          value: 43200s\n          customValues:\n            '100': 400s\n            '101': 400s\n        browserCacheSettings:\n          enabled: true\n          value: 3600s\n        ignoreCookie:\n          enabled: true\n          value: true\n        ignoreQueryString:\n          enabled: true\n          value: false\n        slice:\n          enabled: true\n          value: true\n        stale:\n          enabled: true\n          values:\n            - http_404\n            - http_500\n        redirectHttpToHttps:\n          enabled: true\n          value: true\n        tlsVersions:\n          enabled: true\n          values:\n            - TLSv1.2\n        secureKey:\n          enabled: true\n          key: secret\n          type: 2\n        cors:\n          enabled: true\n          values:\n            - '*'\n          always: true\n        countryAcl:\n          enabled: true\n          policyType: allow\n          exceptedValues:\n            - GB\n            - DE\n        ipAddressAcl:\n          enabled: true\n          policyType: deny\n          exceptedValues:\n            - 192.168.1.100/32\n        referrerAcl:\n          enabled: true\n          policyType: deny\n          exceptedValues:\n            - '*.google.com'\n        userAgentAcl:\n          enabled: true\n          policyType: allow\n          exceptedValues:\n            - UserAgent\n        gzipOn:\n          enabled: true\n          value: true\n        brotliCompression:\n          enabled: true\n          values:\n            - text/html\n            - text/plain\n        fetchCompressed:\n          enabled: true\n          value: false\n        hostHeader:\n          enabled: true\n          value: host.com\n        forwardHostHeader:\n          enabled: true\n          value: false\n        sni:\n          enabled: true\n          sniType: custom\n          customHostname: custom.example.com\n        rewrite:\n          enabled: true\n          body: /(.*) /additional_path/$1\n          flag: break\n        staticRequestHeaders:\n          enabled: true\n          value:\n            X-Custom: X-Request\n        staticResponseHeaders:\n          enabled: true\n          values:\n            - name: X-Custom1\n              values:\n                - Value1\n                - Value2\n              always: false\n            - name: X-Custom2\n              values:\n                - CDN\n              always: true\n        responseHeadersHidingPolicy:\n          enabled: true\n          mode: hide\n          excepteds:\n            - my-header\n        limitBandwidth:\n          enabled: true\n          limitType: static\n          speed: 100\n          buffer: 200\n        proxyCacheMethodsSet:\n          enabled: true\n          value: false\n        proxyConnectTimeout:\n          enabled: true\n          value: 4s\n        proxyReadTimeout:\n          enabled: true\n          value: 10s\n        allowedHttpMethods:\n          enabled: true\n          values:\n            - GET\n            - POST\n        followOriginRedirect:\n          enabled: true\n          codes:\n            - 301\n            - 302\n        websockets:\n          enabled: true\n          value: true\n        http3Enabled:\n          enabled: true\n          value: true\n        imageStack:\n          enabled: true\n          quality: 80\n          avifEnabled: true\n          webpEnabled: false\n          pngLossless: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cdnResource:CdnResource example '<resource_id>'\n```\n\n","inputProperties":{"active":{"description":"Enables or disables a CDN resource.\n\nPossible values:\n- **true** - CDN resource is active. Content is being delivered.\n- **false** - CDN resource is deactivated. Content is not being delivered.","type":"boolean"},"cname":{"description":"Delivery domains that will be used for content delivery through a CDN.\n","type":"string"},"description":{"description":"Optional comment describing the CDN resource.","type":"string"},"name":{"description":"CDN resource name.","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnResourceOptions:CdnResourceOptions","description":"List of options that can be configured for the CDN resource.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the CDN resource.\nOption may inherit its value from the global account settings."},"origin":{"description":"IP address or domain name of the origin and the port, if custom port is used.\n\nYou can use either the <span pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\">`origin`</span> or `originGroup` parameter in the request.","type":"string"},"originGroup":{"description":"Origin group ID with which the CDN resource is associated.\n\nYou can use either the <span pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\">`origin`</span> or `originGroup` parameter in the request.","type":"number"},"originProtocol":{"description":"Protocol used by CDN servers to request content from an origin source.\n\nPossible values:\n- **HTTPS** - CDN servers will connect to the origin via HTTPS.\n- **HTTP** - CDN servers will connect to the origin via HTTP.\n- **MATCH** - connection protocol will be chosen automatically (content on the origin source should be available for the CDN both through HTTP and HTTPS).\n\nIf protocol is not specified, HTTP is used to connect to an origin server.\nAvailable values: \"HTTP\", \"HTTPS\", \"MATCH\".","type":"string"},"primaryResource":{"description":"ID of the main CDN resource which has a shared caching zone with a reserve CDN resource.\n\nIf the parameter is not empty, then the current CDN resource is the reserve.\nYou cannot change some options, create rules, set up origin shielding, or use the reserve CDN resource for Streaming.","type":"number"},"proxySslCa":{"description":"ID of the trusted CA certificate used to verify an origin.\n\nIt can be used only with `<span pulumi-lang-nodejs=\"\"proxySslEnabled\"\" pulumi-lang-dotnet=\"\"ProxySslEnabled\"\" pulumi-lang-go=\"\"proxySslEnabled\"\" pulumi-lang-python=\"\"proxy_ssl_enabled\"\" pulumi-lang-yaml=\"\"proxySslEnabled\"\" pulumi-lang-java=\"\"proxySslEnabled\"\">\"proxy_ssl_enabled\"</span>: true`.","type":"number"},"proxySslData":{"description":"ID of the SSL certificate used to verify an origin.\n\nIt can be used only with `<span pulumi-lang-nodejs=\"\"proxySslEnabled\"\" pulumi-lang-dotnet=\"\"ProxySslEnabled\"\" pulumi-lang-go=\"\"proxySslEnabled\"\" pulumi-lang-python=\"\"proxy_ssl_enabled\"\" pulumi-lang-yaml=\"\"proxySslEnabled\"\" pulumi-lang-java=\"\"proxySslEnabled\"\">\"proxy_ssl_enabled\"</span>: true`.","type":"number"},"proxySslEnabled":{"description":"Enables or disables SSL certificate validation of the origin server before completing any connection.\n\nPossible values:\n- **true** - Origin SSL certificate validation is enabled.\n- **false** - Origin SSL certificate validation is disabled.","type":"boolean"},"secondaryHostnames":{"description":"Additional delivery domains (CNAMEs) that will be used to deliver content via the CDN.\n\nUp to ten additional CNAMEs are possible.","items":{"type":"string"},"type":"array"},"sslData":{"description":"ID of the SSL certificate linked to the CDN resource.\n\nCan be used only with `\"sslEnabled\": true`.","type":"number"},"sslEnabled":{"description":"Defines whether the HTTPS protocol enabled for content delivery.\n\nPossible values:\n- **true** - HTTPS is enabled.\n- **false** - HTTPS is disabled.","type":"boolean"},"waapApiDomainEnabled":{"description":"Defines whether the associated WAAP Domain is identified as an API Domain.\n\nPossible values:\n- **true** - The associated WAAP Domain is designated as an API Domain.\n- **false** - The associated WAAP Domain is not designated as an API Domain.","type":"boolean"}},"properties":{"active":{"description":"Enables or disables a CDN resource.\n\nPossible values:\n- **true** - CDN resource is active. Content is being delivered.\n- **false** - CDN resource is deactivated. Content is not being delivered.","type":"boolean"},"canPurgeByUrls":{"description":"Defines whether the CDN resource can be used for purge by URLs feature.\n\nIt's available only in case the CDN resource has enabled <span pulumi-lang-nodejs=\"`ignoreVaryHeader`\" pulumi-lang-dotnet=\"`IgnoreVaryHeader`\" pulumi-lang-go=\"`ignoreVaryHeader`\" pulumi-lang-python=\"`ignore_vary_header`\" pulumi-lang-yaml=\"`ignoreVaryHeader`\" pulumi-lang-java=\"`ignoreVaryHeader`\">`ignore_vary_header`</span> option.","type":"boolean"},"cdnResourceId":{"description":"CDN resource ID.","type":"number"},"client":{"description":"ID of an account to which the CDN resource belongs.","type":"number"},"cname":{"description":"Delivery domains that will be used for content delivery through a CDN.\n","type":"string"},"created":{"description":"Date of CDN resource creation.","type":"string"},"description":{"description":"Optional comment describing the CDN resource.","type":"string"},"fullCustomEnabled":{"description":"Defines whether the CDN resource has a custom configuration.\n\nPossible values:\n- **true** - CDN resource has a custom configuration. You cannot change resource settings, except for the SSL certificate. To change other settings, contact technical support.\n- **false** - CDN resource has a regular configuration. You can change CDN resource settings.","type":"boolean"},"isPrimary":{"description":"Defines whether a CDN resource has a cache zone shared with other CDN resources.\n\nPossible values:\n- **true** - CDN resource is main and has a shared caching zone with other CDN resources, which are called reserve.\n- **false** - CDN resource is reserve and it has a shared caching zone with the main CDN resource. You cannot change some options, create rules, set up origin shielding and use the reserve resource for Streaming.\n- **null** - CDN resource does not have a shared cache zone.\n\nThe main CDN resource is specified in the <span pulumi-lang-nodejs=\"`primaryResource`\" pulumi-lang-dotnet=\"`PrimaryResource`\" pulumi-lang-go=\"`primaryResource`\" pulumi-lang-python=\"`primary_resource`\" pulumi-lang-yaml=\"`primaryResource`\" pulumi-lang-java=\"`primaryResource`\">`primary_resource`</span> field. It cannot be suspended unless all related reserve CDN resources are suspended.","type":"boolean"},"name":{"description":"CDN resource name.","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnResourceOptions:CdnResourceOptions","description":"List of options that can be configured for the CDN resource.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the CDN resource.\nOption may inherit its value from the global account settings."},"origin":{"description":"IP address or domain name of the origin and the port, if custom port is used.\n\nYou can use either the <span pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\">`origin`</span> or `originGroup` parameter in the request.","type":"string"},"originGroup":{"description":"Origin group ID with which the CDN resource is associated.\n\nYou can use either the <span pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\">`origin`</span> or `originGroup` parameter in the request.","type":"number"},"originGroupName":{"description":"Origin group name.","type":"string"},"originProtocol":{"description":"Protocol used by CDN servers to request content from an origin source.\n\nPossible values:\n- **HTTPS** - CDN servers will connect to the origin via HTTPS.\n- **HTTP** - CDN servers will connect to the origin via HTTP.\n- **MATCH** - connection protocol will be chosen automatically (content on the origin source should be available for the CDN both through HTTP and HTTPS).\n\nIf protocol is not specified, HTTP is used to connect to an origin server.\nAvailable values: \"HTTP\", \"HTTPS\", \"MATCH\".","type":"string"},"presetApplied":{"description":"Defines whether the CDN resource has a preset applied.\n\nPossible values:\n- **true** - CDN resource has a preset applied. CDN resource options included in the preset cannot be edited.\n- **false** - CDN resource does not have a preset applied.","type":"boolean"},"primaryResource":{"description":"ID of the main CDN resource which has a shared caching zone with a reserve CDN resource.\n\nIf the parameter is not empty, then the current CDN resource is the reserve.\nYou cannot change some options, create rules, set up origin shielding, or use the reserve CDN resource for Streaming.","type":"number"},"proxySslCa":{"description":"ID of the trusted CA certificate used to verify an origin.\n\nIt can be used only with `<span pulumi-lang-nodejs=\"\"proxySslEnabled\"\" pulumi-lang-dotnet=\"\"ProxySslEnabled\"\" pulumi-lang-go=\"\"proxySslEnabled\"\" pulumi-lang-python=\"\"proxy_ssl_enabled\"\" pulumi-lang-yaml=\"\"proxySslEnabled\"\" pulumi-lang-java=\"\"proxySslEnabled\"\">\"proxy_ssl_enabled\"</span>: true`.","type":"number"},"proxySslData":{"description":"ID of the SSL certificate used to verify an origin.\n\nIt can be used only with `<span pulumi-lang-nodejs=\"\"proxySslEnabled\"\" pulumi-lang-dotnet=\"\"ProxySslEnabled\"\" pulumi-lang-go=\"\"proxySslEnabled\"\" pulumi-lang-python=\"\"proxy_ssl_enabled\"\" pulumi-lang-yaml=\"\"proxySslEnabled\"\" pulumi-lang-java=\"\"proxySslEnabled\"\">\"proxy_ssl_enabled\"</span>: true`.","type":"number"},"proxySslEnabled":{"description":"Enables or disables SSL certificate validation of the origin server before completing any connection.\n\nPossible values:\n- **true** - Origin SSL certificate validation is enabled.\n- **false** - Origin SSL certificate validation is disabled.","type":"boolean"},"rules":{"description":"Rules configured for the CDN resource.","items":{"type":"string"},"type":"array"},"secondaryHostnames":{"description":"Additional delivery domains (CNAMEs) that will be used to deliver content via the CDN.\n\nUp to ten additional CNAMEs are possible.","items":{"type":"string"},"type":"array"},"shieldDc":{"description":"Name of the origin shielding location data center.\n\nParameter returns **null** if origin shielding is disabled.","type":"string"},"shieldEnabled":{"description":"Defines whether origin shield is active and working for the CDN resource.\n\nPossible values:\n- **true** - Origin shield is active.\n- **false** - Origin shield is not active.","type":"boolean"},"shieldRoutingMap":{"description":"Defines whether the origin shield with a dynamic location is enabled for the CDN resource.\n\nTo manage origin shielding, you must contact customer support.","type":"number"},"shielded":{"description":"Defines whether origin shielding feature is enabled for the resource.\n\nPossible values:\n- **true** - Origin shielding is enabled.\n- **false** - Origin shielding is disabled.","type":"boolean"},"sslData":{"description":"ID of the SSL certificate linked to the CDN resource.\n\nCan be used only with `\"sslEnabled\": true`.","type":"number"},"sslEnabled":{"description":"Defines whether the HTTPS protocol enabled for content delivery.\n\nPossible values:\n- **true** - HTTPS is enabled.\n- **false** - HTTPS is disabled.","type":"boolean"},"suspendDate":{"description":"Date when the CDN resource was suspended automatically if there is no traffic on it for 90 days.\n\nNot specified if the resource was not stopped due to lack of traffic.","type":"string"},"suspended":{"description":"Defines whether the CDN resource has been automatically suspended because there was no traffic on it for 90 days.\n\nPossible values:\n- **true** - CDN resource is currently automatically suspended.\n- **false** - CDN resource is not automatically suspended.\n\nYou can enable CDN resource using the <span pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\">`active`</span> field. If there is no traffic on the CDN resource within seven days following activation, it will be suspended again.\n\nTo avoid CDN resource suspension due to no traffic, contact technical support.","type":"boolean"},"vpEnabled":{"description":"Defines whether the CDN resource is integrated with the Streaming Platform.\n\nPossible values:\n- **true** - CDN resource is configured for Streaming Platform. Changing resource settings can affect its operation.\n- **false** - CDN resource is not configured for Streaming Platform.","type":"boolean"},"waapApiDomainEnabled":{"description":"Defines whether the associated WAAP Domain is identified as an API Domain.\n\nPossible values:\n- **true** - The associated WAAP Domain is designated as an API Domain.\n- **false** - The associated WAAP Domain is not designated as an API Domain.","type":"boolean"},"waapDomainId":{"description":"The ID of the associated WAAP domain.","type":"string"}},"required":["active","canPurgeByUrls","cdnResourceId","client","cname","created","description","fullCustomEnabled","isPrimary","name","options","origin","originGroup","originGroupName","originProtocol","presetApplied","proxySslCa","proxySslData","proxySslEnabled","rules","secondaryHostnames","shieldDc","shieldEnabled","shieldRoutingMap","shielded","sslData","sslEnabled","suspendDate","suspended","vpEnabled","waapDomainId"],"requiredInputs":["cname"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnResource resources.\n","properties":{"active":{"description":"Enables or disables a CDN resource.\n\nPossible values:\n- **true** - CDN resource is active. Content is being delivered.\n- **false** - CDN resource is deactivated. Content is not being delivered.","type":"boolean"},"canPurgeByUrls":{"description":"Defines whether the CDN resource can be used for purge by URLs feature.\n\nIt's available only in case the CDN resource has enabled <span pulumi-lang-nodejs=\"`ignoreVaryHeader`\" pulumi-lang-dotnet=\"`IgnoreVaryHeader`\" pulumi-lang-go=\"`ignoreVaryHeader`\" pulumi-lang-python=\"`ignore_vary_header`\" pulumi-lang-yaml=\"`ignoreVaryHeader`\" pulumi-lang-java=\"`ignoreVaryHeader`\">`ignore_vary_header`</span> option.","type":"boolean"},"cdnResourceId":{"description":"CDN resource ID.","type":"number"},"client":{"description":"ID of an account to which the CDN resource belongs.","type":"number"},"cname":{"description":"Delivery domains that will be used for content delivery through a CDN.\n","type":"string"},"created":{"description":"Date of CDN resource creation.","type":"string"},"description":{"description":"Optional comment describing the CDN resource.","type":"string"},"fullCustomEnabled":{"description":"Defines whether the CDN resource has a custom configuration.\n\nPossible values:\n- **true** - CDN resource has a custom configuration. You cannot change resource settings, except for the SSL certificate. To change other settings, contact technical support.\n- **false** - CDN resource has a regular configuration. You can change CDN resource settings.","type":"boolean"},"isPrimary":{"description":"Defines whether a CDN resource has a cache zone shared with other CDN resources.\n\nPossible values:\n- **true** - CDN resource is main and has a shared caching zone with other CDN resources, which are called reserve.\n- **false** - CDN resource is reserve and it has a shared caching zone with the main CDN resource. You cannot change some options, create rules, set up origin shielding and use the reserve resource for Streaming.\n- **null** - CDN resource does not have a shared cache zone.\n\nThe main CDN resource is specified in the <span pulumi-lang-nodejs=\"`primaryResource`\" pulumi-lang-dotnet=\"`PrimaryResource`\" pulumi-lang-go=\"`primaryResource`\" pulumi-lang-python=\"`primary_resource`\" pulumi-lang-yaml=\"`primaryResource`\" pulumi-lang-java=\"`primaryResource`\">`primary_resource`</span> field. It cannot be suspended unless all related reserve CDN resources are suspended.","type":"boolean"},"name":{"description":"CDN resource name.","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnResourceOptions:CdnResourceOptions","description":"List of options that can be configured for the CDN resource.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the CDN resource.\nOption may inherit its value from the global account settings."},"origin":{"description":"IP address or domain name of the origin and the port, if custom port is used.\n\nYou can use either the <span pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\">`origin`</span> or `originGroup` parameter in the request.","type":"string"},"originGroup":{"description":"Origin group ID with which the CDN resource is associated.\n\nYou can use either the <span pulumi-lang-nodejs=\"`origin`\" pulumi-lang-dotnet=\"`Origin`\" pulumi-lang-go=\"`origin`\" pulumi-lang-python=\"`origin`\" pulumi-lang-yaml=\"`origin`\" pulumi-lang-java=\"`origin`\">`origin`</span> or `originGroup` parameter in the request.","type":"number"},"originGroupName":{"description":"Origin group name.","type":"string"},"originProtocol":{"description":"Protocol used by CDN servers to request content from an origin source.\n\nPossible values:\n- **HTTPS** - CDN servers will connect to the origin via HTTPS.\n- **HTTP** - CDN servers will connect to the origin via HTTP.\n- **MATCH** - connection protocol will be chosen automatically (content on the origin source should be available for the CDN both through HTTP and HTTPS).\n\nIf protocol is not specified, HTTP is used to connect to an origin server.\nAvailable values: \"HTTP\", \"HTTPS\", \"MATCH\".","type":"string"},"presetApplied":{"description":"Defines whether the CDN resource has a preset applied.\n\nPossible values:\n- **true** - CDN resource has a preset applied. CDN resource options included in the preset cannot be edited.\n- **false** - CDN resource does not have a preset applied.","type":"boolean"},"primaryResource":{"description":"ID of the main CDN resource which has a shared caching zone with a reserve CDN resource.\n\nIf the parameter is not empty, then the current CDN resource is the reserve.\nYou cannot change some options, create rules, set up origin shielding, or use the reserve CDN resource for Streaming.","type":"number"},"proxySslCa":{"description":"ID of the trusted CA certificate used to verify an origin.\n\nIt can be used only with `<span pulumi-lang-nodejs=\"\"proxySslEnabled\"\" pulumi-lang-dotnet=\"\"ProxySslEnabled\"\" pulumi-lang-go=\"\"proxySslEnabled\"\" pulumi-lang-python=\"\"proxy_ssl_enabled\"\" pulumi-lang-yaml=\"\"proxySslEnabled\"\" pulumi-lang-java=\"\"proxySslEnabled\"\">\"proxy_ssl_enabled\"</span>: true`.","type":"number"},"proxySslData":{"description":"ID of the SSL certificate used to verify an origin.\n\nIt can be used only with `<span pulumi-lang-nodejs=\"\"proxySslEnabled\"\" pulumi-lang-dotnet=\"\"ProxySslEnabled\"\" pulumi-lang-go=\"\"proxySslEnabled\"\" pulumi-lang-python=\"\"proxy_ssl_enabled\"\" pulumi-lang-yaml=\"\"proxySslEnabled\"\" pulumi-lang-java=\"\"proxySslEnabled\"\">\"proxy_ssl_enabled\"</span>: true`.","type":"number"},"proxySslEnabled":{"description":"Enables or disables SSL certificate validation of the origin server before completing any connection.\n\nPossible values:\n- **true** - Origin SSL certificate validation is enabled.\n- **false** - Origin SSL certificate validation is disabled.","type":"boolean"},"rules":{"description":"Rules configured for the CDN resource.","items":{"type":"string"},"type":"array"},"secondaryHostnames":{"description":"Additional delivery domains (CNAMEs) that will be used to deliver content via the CDN.\n\nUp to ten additional CNAMEs are possible.","items":{"type":"string"},"type":"array"},"shieldDc":{"description":"Name of the origin shielding location data center.\n\nParameter returns **null** if origin shielding is disabled.","type":"string"},"shieldEnabled":{"description":"Defines whether origin shield is active and working for the CDN resource.\n\nPossible values:\n- **true** - Origin shield is active.\n- **false** - Origin shield is not active.","type":"boolean"},"shieldRoutingMap":{"description":"Defines whether the origin shield with a dynamic location is enabled for the CDN resource.\n\nTo manage origin shielding, you must contact customer support.","type":"number"},"shielded":{"description":"Defines whether origin shielding feature is enabled for the resource.\n\nPossible values:\n- **true** - Origin shielding is enabled.\n- **false** - Origin shielding is disabled.","type":"boolean"},"sslData":{"description":"ID of the SSL certificate linked to the CDN resource.\n\nCan be used only with `\"sslEnabled\": true`.","type":"number"},"sslEnabled":{"description":"Defines whether the HTTPS protocol enabled for content delivery.\n\nPossible values:\n- **true** - HTTPS is enabled.\n- **false** - HTTPS is disabled.","type":"boolean"},"suspendDate":{"description":"Date when the CDN resource was suspended automatically if there is no traffic on it for 90 days.\n\nNot specified if the resource was not stopped due to lack of traffic.","type":"string"},"suspended":{"description":"Defines whether the CDN resource has been automatically suspended because there was no traffic on it for 90 days.\n\nPossible values:\n- **true** - CDN resource is currently automatically suspended.\n- **false** - CDN resource is not automatically suspended.\n\nYou can enable CDN resource using the <span pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\">`active`</span> field. If there is no traffic on the CDN resource within seven days following activation, it will be suspended again.\n\nTo avoid CDN resource suspension due to no traffic, contact technical support.","type":"boolean"},"vpEnabled":{"description":"Defines whether the CDN resource is integrated with the Streaming Platform.\n\nPossible values:\n- **true** - CDN resource is configured for Streaming Platform. Changing resource settings can affect its operation.\n- **false** - CDN resource is not configured for Streaming Platform.","type":"boolean"},"waapApiDomainEnabled":{"description":"Defines whether the associated WAAP Domain is identified as an API Domain.\n\nPossible values:\n- **true** - The associated WAAP Domain is designated as an API Domain.\n- **false** - The associated WAAP Domain is not designated as an API Domain.","type":"boolean"},"waapDomainId":{"description":"The ID of the associated WAAP domain.","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cdnResourceRule:CdnResourceRule":{"description":"CDN resource rules set custom caching, delivery, and security options for specific URL patterns or file types.\n\n## Example Usage\n\n### Basic CDN rule\n\nCreate a CDN resource rule that matches a URL pattern and overrides the origin protocol.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a CDN resource rule\nconst example = new gcore.CdnResourceRule(\"example\", {\n    resourceId: 12345,\n    name: \"my-cdn-rule\",\n    rule: \"/assets/*.png\",\n    ruleType: 0,\n    active: true,\n    overrideOriginProtocol: \"HTTPS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a CDN resource rule\nexample = gcore.CdnResourceRule(\"example\",\n    resource_id=12345,\n    name=\"my-cdn-rule\",\n    rule=\"/assets/*.png\",\n    rule_type=0,\n    active=True,\n    override_origin_protocol=\"HTTPS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a CDN resource rule\n    var example = new Gcore.CdnResourceRule(\"example\", new()\n    {\n        ResourceId = 12345,\n        Name = \"my-cdn-rule\",\n        Rule = \"/assets/*.png\",\n        RuleType = 0,\n        Active = true,\n        OverrideOriginProtocol = \"HTTPS\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a CDN resource rule\n\t\t_, err := gcore.NewCdnResourceRule(ctx, \"example\", &gcore.CdnResourceRuleArgs{\n\t\t\tResourceId:             pulumi.Float64(12345),\n\t\t\tName:                   pulumi.String(\"my-cdn-rule\"),\n\t\t\tRule:                   pulumi.String(\"/assets/*.png\"),\n\t\t\tRuleType:               pulumi.Float64(0),\n\t\t\tActive:                 pulumi.Bool(true),\n\t\t\tOverrideOriginProtocol: pulumi.String(\"HTTPS\"),\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.gcore.CdnResourceRule;\nimport com.pulumi.gcore.CdnResourceRuleArgs;\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        // Create a CDN resource rule\n        var example = new CdnResourceRule(\"example\", CdnResourceRuleArgs.builder()\n            .resourceId(12345.0)\n            .name(\"my-cdn-rule\")\n            .rule(\"/assets/*.png\")\n            .ruleType(0.0)\n            .active(true)\n            .overrideOriginProtocol(\"HTTPS\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a CDN resource rule\n  example:\n    type: gcore:CdnResourceRule\n    properties:\n      resourceId: 12345\n      name: my-cdn-rule\n      rule: /assets/*.png\n      ruleType: 0\n      active: true\n      overrideOriginProtocol: HTTPS\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cdnResourceRule:CdnResourceRule example '<resource_id>/<rule_id>'\n```\n\n","inputProperties":{"active":{"description":"Enables or disables a rule.\n\nPossible values:\n- **true** - Rule is active, rule settings are applied.\n- **false** - Rule is inactive, rule settings are not applied.","type":"boolean"},"name":{"description":"Rule name.\n","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptions:CdnResourceRuleOptions","description":"List of options that can be configured for the rule.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the rule.\nOption inherits its value from the CDN resource settings."},"originGroup":{"description":"ID of the origin group to which the rule is applied.\n\nIf the origin group is not specified, the rule is applied to the origin group that the CDN resource is associated with.","type":"number"},"overrideOriginProtocol":{"description":"Sets a protocol other than the one specified in the CDN resource settings to connect to the origin.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\n- **null** - `originProtocol` setting is inherited from the CDN resource settings.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"resourceId":{"type":"number"},"rule":{"description":"Path to the file or folder for which the rule will be applied.\n","type":"string"},"ruleType":{"description":"Rule type.\n\nPossible values:\n- **Type 0** - Regular expression. Must start with '^/' or '/'.\n- **Type 1** - Regular expression. Note that for this rule type we automatically add / to each rule pattern before your regular expression. This type is **legacy**, please use Type 0.","type":"number"},"weight":{"description":"Rule execution order: from lowest (1) to highest.\n\nIf requested URI matches multiple rules, the one higher in the order of the rules will be applied.","type":"number"}},"properties":{"active":{"description":"Enables or disables a rule.\n\nPossible values:\n- **true** - Rule is active, rule settings are applied.\n- **false** - Rule is inactive, rule settings are not applied.","type":"boolean"},"cdnResourceRuleId":{"description":"Rule ID.","type":"number"},"deleted":{"description":"Defines whether the rule has been deleted.\n\nPossible values:\n- **true** - Rule has been deleted.\n- **false** - Rule has not been deleted.","type":"boolean"},"name":{"description":"Rule name.\n","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptions:CdnResourceRuleOptions","description":"List of options that can be configured for the rule.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the rule.\nOption inherits its value from the CDN resource settings."},"originGroup":{"description":"ID of the origin group to which the rule is applied.\n\nIf the origin group is not specified, the rule is applied to the origin group that the CDN resource is associated with.","type":"number"},"originProtocol":{"description":"Protocol used by CDN servers to request content from an origin source.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"overrideOriginProtocol":{"description":"Sets a protocol other than the one specified in the CDN resource settings to connect to the origin.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\n- **null** - `originProtocol` setting is inherited from the CDN resource settings.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"presetApplied":{"description":"Defines whether the rule has an applied preset.\n\nPossible values:\n- **true** - Rule has a preset applied.\n- **false** - Rule does not have a preset applied.\n\nIf a preset is applied to the rule, the options included in the preset cannot be edited for the rule.","type":"boolean"},"primaryRule":{"description":"ID of the rule with which the current rule is synchronized within the CDN resource shared cache zone feature.","type":"number"},"resourceId":{"type":"number"},"rule":{"description":"Path to the file or folder for which the rule will be applied.\n","type":"string"},"ruleType":{"description":"Rule type.\n\nPossible values:\n- **Type 0** - Regular expression. Must start with '^/' or '/'.\n- **Type 1** - Regular expression. Note that for this rule type we automatically add / to each rule pattern before your regular expression. This type is **legacy**, please use Type 0.","type":"number"},"weight":{"description":"Rule execution order: from lowest (1) to highest.\n\nIf requested URI matches multiple rules, the one higher in the order of the rules will be applied.","type":"number"}},"required":["cdnResourceRuleId","deleted","name","options","originProtocol","presetApplied","primaryRule","resourceId","rule","ruleType","weight"],"requiredInputs":["resourceId","rule","ruleType"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnResourceRule resources.\n","properties":{"active":{"description":"Enables or disables a rule.\n\nPossible values:\n- **true** - Rule is active, rule settings are applied.\n- **false** - Rule is inactive, rule settings are not applied.","type":"boolean"},"cdnResourceRuleId":{"description":"Rule ID.","type":"number"},"deleted":{"description":"Defines whether the rule has been deleted.\n\nPossible values:\n- **true** - Rule has been deleted.\n- **false** - Rule has not been deleted.","type":"boolean"},"name":{"description":"Rule name.\n","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptions:CdnResourceRuleOptions","description":"List of options that can be configured for the rule.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the rule.\nOption inherits its value from the CDN resource settings."},"originGroup":{"description":"ID of the origin group to which the rule is applied.\n\nIf the origin group is not specified, the rule is applied to the origin group that the CDN resource is associated with.","type":"number"},"originProtocol":{"description":"Protocol used by CDN servers to request content from an origin source.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"overrideOriginProtocol":{"description":"Sets a protocol other than the one specified in the CDN resource settings to connect to the origin.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\n- **null** - `originProtocol` setting is inherited from the CDN resource settings.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"presetApplied":{"description":"Defines whether the rule has an applied preset.\n\nPossible values:\n- **true** - Rule has a preset applied.\n- **false** - Rule does not have a preset applied.\n\nIf a preset is applied to the rule, the options included in the preset cannot be edited for the rule.","type":"boolean"},"primaryRule":{"description":"ID of the rule with which the current rule is synchronized within the CDN resource shared cache zone feature.","type":"number"},"resourceId":{"type":"number"},"rule":{"description":"Path to the file or folder for which the rule will be applied.\n","type":"string"},"ruleType":{"description":"Rule type.\n\nPossible values:\n- **Type 0** - Regular expression. Must start with '^/' or '/'.\n- **Type 1** - Regular expression. Note that for this rule type we automatically add / to each rule pattern before your regular expression. This type is **legacy**, please use Type 0.","type":"number"},"weight":{"description":"Rule execution order: from lowest (1) to highest.\n\nIf requested URI matches multiple rules, the one higher in the order of the rules will be applied.","type":"number"}},"type":"object"},"type":"object"},"gcore:index/cdnRuleTemplate:CdnRuleTemplate":{"description":"CDN rule templates define reusable rule configurations that can be applied across multiple CDN resources for consistent caching, delivery, and security policies.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  exampleCdnRuleTemplate:\n    type: gcore:CdnRuleTemplate\n    name: example_cdn_rule_template\n    properties:\n      rule: /folder/images/*.png\n      ruleType: 0\n      name: All images template\n      options:\n        allowedHttpMethods:\n          enabled: true\n          values:\n            - GET\n            - POST\n        brotliCompression:\n          enabled: true\n          values:\n            - text/html\n            - text/plain\n        browserCacheSettings:\n          enabled: true\n          value: 3600s\n        cacheHttpHeaders:\n          enabled: false\n          values:\n            - vary\n            - content-length\n            - last-modified\n            - connection\n            - accept-ranges\n            - content-type\n            - content-encoding\n            - etag\n            - cache-control\n            - expires\n            - keep-alive\n            - server\n        cors:\n          enabled: true\n          values:\n            - domain.com\n            - domain2.com\n          always: true\n        countryAcl:\n          enabled: true\n          exceptedValues:\n            - GB\n            - DE\n          policyType: allow\n        disableCache:\n          enabled: true\n          value: false\n        disableProxyForceRanges:\n          enabled: true\n          value: true\n        edgeCacheSettings:\n          enabled: true\n          customValues:\n            '100': 43200s\n          default: '321669910225'\n          value: 43200s\n        fastedge:\n          enabled: true\n          onRequestBody:\n            appId: '1001'\n            enabled: true\n            executeOnEdge: true\n            executeOnShield: false\n            interruptOnError: true\n          onRequestHeaders:\n            appId: '1001'\n            enabled: true\n            executeOnEdge: true\n            executeOnShield: false\n            interruptOnError: true\n          onResponseBody:\n            appId: '1001'\n            enabled: true\n            executeOnEdge: true\n            executeOnShield: false\n            interruptOnError: true\n          onResponseHeaders:\n            appId: '1001'\n            enabled: true\n            executeOnEdge: true\n            executeOnShield: false\n            interruptOnError: true\n        fetchCompressed:\n          enabled: true\n          value: false\n        followOriginRedirect:\n          codes:\n            - 302\n            - 308\n          enabled: true\n        forceReturn:\n          body: http://example.com/redirect_address\n          code: 301\n          enabled: true\n          timeInterval:\n            endTime: 20:00\n            startTime: 09:00\n            timeZone: CET\n        forwardHostHeader:\n          enabled: false\n          value: false\n        gzipOn:\n          enabled: true\n          value: true\n        hostHeader:\n          enabled: true\n          value: host.com\n        ignoreCookie:\n          enabled: true\n          value: true\n        ignoreQueryString:\n          enabled: true\n          value: false\n        imageStack:\n          enabled: true\n          avifEnabled: true\n          pngLossless: true\n          quality: 80\n          webpEnabled: false\n        ipAddressAcl:\n          enabled: true\n          exceptedValues:\n            - 192.168.1.100/32\n          policyType: deny\n        limitBandwidth:\n          enabled: true\n          limitType: static\n          buffer: 200\n          speed: 100\n        proxyCacheKey:\n          enabled: true\n          value: $scheme$uri\n        proxyCacheMethodsSet:\n          enabled: true\n          value: false\n        proxyConnectTimeout:\n          enabled: true\n          value: 4s\n        proxyReadTimeout:\n          enabled: true\n          value: 10s\n        queryParamsBlacklist:\n          enabled: true\n          values:\n            - some\n            - blacklisted\n            - query\n        queryParamsWhitelist:\n          enabled: true\n          values:\n            - some\n            - whitelisted\n            - query\n        queryStringForwarding:\n          enabled: true\n          forwardFromFileTypes:\n            - m3u8\n            - mpd\n          forwardToFileTypes:\n            - ts\n            - mp4\n          forwardExceptKeys:\n            - debug_info\n          forwardOnlyKeys:\n            - auth_token\n            - session_id\n        redirectHttpToHttps:\n          enabled: true\n          value: true\n        redirectHttpsToHttp:\n          enabled: false\n          value: true\n        referrerAcl:\n          enabled: true\n          exceptedValues:\n            - example.com\n            - '*.example.net'\n          policyType: deny\n        responseHeadersHidingPolicy:\n          enabled: true\n          excepteds:\n            - my-header\n          mode: hide\n        rewrite:\n          body: /(.*) /additional_path/$1\n          enabled: true\n          flag: break\n        secureKey:\n          enabled: true\n          key: secretkey\n          type: 2\n        slice:\n          enabled: true\n          value: true\n        sni:\n          customHostname: custom.example.com\n          enabled: true\n          sniType: custom\n        stale:\n          enabled: true\n          values:\n            - http_404\n            - http_500\n        staticResponseHeaders:\n          enabled: true\n          values:\n            - name: X-Example\n              values:\n                - Value_1\n              always: true\n            - name: X-Example-Multiple\n              values:\n                - Value_1\n                - Value_2\n                - Value_3\n              always: false\n        staticHeaders:\n          enabled: true\n          value:\n            x-Example: Value_1\n            x-Example-Multiple:\n              - Value_2\n              - Value_3\n        staticRequestHeaders:\n          enabled: true\n          value:\n            Header-One: Value 1\n            Header-Two: Value 2\n        userAgentAcl:\n          enabled: true\n          exceptedValues:\n            - UserAgent Value\n            - ~*.*bot.*\n            - \"\"\n          policyType: allow\n        waap:\n          enabled: true\n          value: true\n        websockets:\n          enabled: true\n          value: true\n      overrideOriginProtocol: HTTPS\n      weight: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import gcore:index/cdnRuleTemplate:CdnRuleTemplate example '<rule_template_id>'\n```\n\n","inputProperties":{"name":{"description":"Rule template name.","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptions:CdnRuleTemplateOptions","description":"List of options that can be configured for the rule.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the rule.\nOption inherits its value from the CDN resource settings."},"overrideOriginProtocol":{"description":"Sets a protocol other than the one specified in the CDN resource settings to connect to the origin.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\n- **null** - `originProtocol` setting is inherited from the CDN resource settings.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"rule":{"description":"Path to the file or folder for which the rule will be applied.\n","type":"string"},"ruleType":{"description":"Rule type.\n\nPossible values:\n- **Type 0** - Regular expression. Must start with '^/' or '/'.\n- **Type 1** - Regular expression. Note that for this rule type we automatically add / to each rule pattern before your regular expression. This type is **legacy**, please use Type 0.","type":"number"},"weight":{"description":"Rule execution order: from lowest (1) to highest.\n\nIf requested URI matches multiple rules, the one higher in the order of the rules will be applied.","type":"number"}},"properties":{"cdnRuleTemplateId":{"description":"Rule template ID.","type":"number"},"client":{"description":"Client ID","type":"number"},"default":{"description":"Defines whether the template is a system template developed for common cases. System templates are available to all customers.\n\nPossible values:\n- **true** - Template is a system template and cannot be changed by a user.\n- **false** - Template is a custom template and can be changed by a user.","type":"boolean"},"deleted":{"description":"Defines whether the template has been deleted.\n\nPossible values:\n- **true** - Template has been deleted.\n- **false** - Template has not been deleted.","type":"boolean"},"name":{"description":"Rule template name.","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptions:CdnRuleTemplateOptions","description":"List of options that can be configured for the rule.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the rule.\nOption inherits its value from the CDN resource settings."},"overrideOriginProtocol":{"description":"Sets a protocol other than the one specified in the CDN resource settings to connect to the origin.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\n- **null** - `originProtocol` setting is inherited from the CDN resource settings.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"rule":{"description":"Path to the file or folder for which the rule will be applied.\n","type":"string"},"ruleType":{"description":"Rule type.\n\nPossible values:\n- **Type 0** - Regular expression. Must start with '^/' or '/'.\n- **Type 1** - Regular expression. Note that for this rule type we automatically add / to each rule pattern before your regular expression. This type is **legacy**, please use Type 0.","type":"number"},"template":{"description":"Determines whether the rule is a template.","type":"boolean"},"weight":{"description":"Rule execution order: from lowest (1) to highest.\n\nIf requested URI matches multiple rules, the one higher in the order of the rules will be applied.","type":"number"}},"required":["cdnRuleTemplateId","client","default","deleted","name","options","rule","ruleType","template"],"requiredInputs":["rule","ruleType"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnRuleTemplate resources.\n","properties":{"cdnRuleTemplateId":{"description":"Rule template ID.","type":"number"},"client":{"description":"Client ID","type":"number"},"default":{"description":"Defines whether the template is a system template developed for common cases. System templates are available to all customers.\n\nPossible values:\n- **true** - Template is a system template and cannot be changed by a user.\n- **false** - Template is a custom template and can be changed by a user.","type":"boolean"},"deleted":{"description":"Defines whether the template has been deleted.\n\nPossible values:\n- **true** - Template has been deleted.\n- **false** - Template has not been deleted.","type":"boolean"},"name":{"description":"Rule template name.","type":"string"},"options":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptions:CdnRuleTemplateOptions","description":"List of options that can be configured for the rule.\n\nIn case of <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> value the option is not added to the rule.\nOption inherits its value from the CDN resource settings."},"overrideOriginProtocol":{"description":"Sets a protocol other than the one specified in the CDN resource settings to connect to the origin.\n\nPossible values:\n- **HTTPS** - CDN servers connect to origin via HTTPS protocol.\n- **HTTP** - CDN servers connect to origin via HTTP protocol.\n- **MATCH** - Connection protocol is chosen automatically; in this case, content on origin source should be available for the CDN both through HTTP and HTTPS protocols.\n- **null** - `originProtocol` setting is inherited from the CDN resource settings.\nAvailable values: \"HTTPS\", \"HTTP\", \"MATCH\".","type":"string"},"rule":{"description":"Path to the file or folder for which the rule will be applied.\n","type":"string"},"ruleType":{"description":"Rule type.\n\nPossible values:\n- **Type 0** - Regular expression. Must start with '^/' or '/'.\n- **Type 1** - Regular expression. Note that for this rule type we automatically add / to each rule pattern before your regular expression. This type is **legacy**, please use Type 0.","type":"number"},"template":{"description":"Determines whether the rule is a template.","type":"boolean"},"weight":{"description":"Rule execution order: from lowest (1) to highest.\n\nIf requested URI matches multiple rules, the one higher in the order of the rules will be applied.","type":"number"}},"type":"object"},"type":"object"},"gcore:index/cdnTrustedCaCertificate:CdnTrustedCaCertificate":{"description":"Trusted CA certificates verify the authenticity of CDN origin servers during HTTPS connections.\n\n## Example Usage\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cdnTrustedCaCertificate:CdnTrustedCaCertificate example '<id>'\n```\n\n","inputProperties":{"name":{"description":"CA certificate name.\n","type":"string"},"sslCertificate":{"description":"Public part of the CA certificate.\n\nIt must be in the PEM format.","type":"string"}},"properties":{"cdnTrustedCaCertificateId":{"description":"CA certificate ID.","type":"number"},"certIssuer":{"description":"Name of the certification center that issued the CA certificate.","type":"string"},"certSubjectAlt":{"description":"Alternative domain names that the CA certificate secures.","type":"string"},"certSubjectCn":{"description":"Domain name that the CA certificate secures.","type":"string"},"deleted":{"description":"Defines whether the certificate has been deleted. Parameter is **deprecated**.\n\nPossible values:\n- **true** - Certificate has been deleted.\n- **false** - Certificate has not been deleted.","type":"boolean"},"hasRelatedResources":{"description":"Defines whether the CA certificate is used by a CDN resource.\n\nPossible values:\n- **true** - Certificate is used by a CDN resource.\n- **false** - Certificate is not used by a CDN resource.","type":"boolean"},"name":{"description":"CA certificate name.\n","type":"string"},"sslCertificate":{"description":"Public part of the CA certificate.\n\nIt must be in the PEM format.","type":"string"},"sslCertificateChain":{"description":"Parameter is **deprecated**.","type":"string"},"validityNotAfter":{"description":"Date when the CA certificate become untrusted (ISO 8601/RFC 3339 format, UTC.)","type":"string"},"validityNotBefore":{"description":"Date when the CA certificate become valid (ISO 8601/RFC 3339 format, UTC.)","type":"string"}},"required":["cdnTrustedCaCertificateId","certIssuer","certSubjectAlt","certSubjectCn","deleted","hasRelatedResources","name","sslCertificate","sslCertificateChain","validityNotAfter","validityNotBefore"],"requiredInputs":["sslCertificate"],"stateInputs":{"description":"Input properties used for looking up and filtering CdnTrustedCaCertificate resources.\n","properties":{"cdnTrustedCaCertificateId":{"description":"CA certificate ID.","type":"number"},"certIssuer":{"description":"Name of the certification center that issued the CA certificate.","type":"string"},"certSubjectAlt":{"description":"Alternative domain names that the CA certificate secures.","type":"string"},"certSubjectCn":{"description":"Domain name that the CA certificate secures.","type":"string"},"deleted":{"description":"Defines whether the certificate has been deleted. Parameter is **deprecated**.\n\nPossible values:\n- **true** - Certificate has been deleted.\n- **false** - Certificate has not been deleted.","type":"boolean"},"hasRelatedResources":{"description":"Defines whether the CA certificate is used by a CDN resource.\n\nPossible values:\n- **true** - Certificate is used by a CDN resource.\n- **false** - Certificate is not used by a CDN resource.","type":"boolean"},"name":{"description":"CA certificate name.\n","type":"string"},"sslCertificate":{"description":"Public part of the CA certificate.\n\nIt must be in the PEM format.","type":"string"},"sslCertificateChain":{"description":"Parameter is **deprecated**.","type":"string"},"validityNotAfter":{"description":"Date when the CA certificate become untrusted (ISO 8601/RFC 3339 format, UTC.)","type":"string"},"validityNotBefore":{"description":"Date when the CA certificate become valid (ISO 8601/RFC 3339 format, UTC.)","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudBaremetalServer:CloudBaremetalServer":{"description":"Bare metal servers are dedicated physical machines with direct hardware access, supporting provisioning, rebuilding, and network configuration within a cloud region.\n\n## Example Usage\n\n### Baremetal server with one public interface\n\nCreate a basic baremetal server with a single external IPv4 interface.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an SSH key for baremetal server access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a baremetal server with a single external interface\nconst server = new gcore.CloudBaremetalServer(\"server\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm1-infrastructure-small\",\n    name: \"my-bare-metal\",\n    imageId: \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    sshKeyName: myKey.name,\n    interfaces: [{\n        type: \"external\",\n        ipFamily: \"ipv4\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an SSH key for baremetal server access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a baremetal server with a single external interface\nserver = gcore.CloudBaremetalServer(\"server\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm1-infrastructure-small\",\n    name=\"my-bare-metal\",\n    image_id=\"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    ssh_key_name=my_key.name,\n    interfaces=[{\n        \"type\": \"external\",\n        \"ip_family\": \"ipv4\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an SSH key for baremetal server access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a baremetal server with a single external interface\n    var server = new Gcore.CloudBaremetalServer(\"server\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm1-infrastructure-small\",\n        Name = \"my-bare-metal\",\n        ImageId = \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n        SshKeyName = myKey.Name,\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudBaremetalServerInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"ipv4\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an SSH key for baremetal server access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a baremetal server with a single external interface\n\t\t_, err = gcore.NewCloudBaremetalServer(ctx, \"server\", &gcore.CloudBaremetalServerArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"bm1-infrastructure-small\"),\n\t\t\tName:       pulumi.String(\"my-bare-metal\"),\n\t\t\tImageId:    pulumi.String(\"0f25a566-91a4-4507-aa42-bdd732fb998d\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tInterfaces: gcore.CloudBaremetalServerInterfaceArray{\n\t\t\t\t&gcore.CloudBaremetalServerInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudBaremetalServer;\nimport com.pulumi.gcore.CloudBaremetalServerArgs;\nimport com.pulumi.gcore.inputs.CloudBaremetalServerInterfaceArgs;\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        // Create an SSH key for baremetal server access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a baremetal server with a single external interface\n        var server = new CloudBaremetalServer(\"server\", CloudBaremetalServerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm1-infrastructure-small\")\n            .name(\"my-bare-metal\")\n            .imageId(\"0f25a566-91a4-4507-aa42-bdd732fb998d\")\n            .sshKeyName(myKey.name())\n            .interfaces(CloudBaremetalServerInterfaceArgs.builder()\n                .type(\"external\")\n                .ipFamily(\"ipv4\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an SSH key for baremetal server access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a baremetal server with a single external interface\n  server:\n    type: gcore:CloudBaremetalServer\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm1-infrastructure-small\n      name: my-bare-metal\n      imageId: 0f25a566-91a4-4507-aa42-bdd732fb998d\n      sshKeyName: ${myKey.name}\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n```\n<!--End PulumiCodeChooser -->\n\n### Baremetal server with two interfaces\n\nCreate a baremetal server with two network interfaces: one public and one private.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a private network and subnet (baremetal requires vlan, not vxlan)\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    type: \"vlan\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n});\n// Create an SSH key for baremetal server access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a baremetal server with two interfaces: one public, one private\nconst serverWithTwoInterfaces = new gcore.CloudBaremetalServer(\"server_with_two_interfaces\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm1-infrastructure-small\",\n    name: \"my-bare-metal\",\n    imageId: \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    sshKeyName: myKey.name,\n    interfaces: [\n        {\n            type: \"external\",\n            ipFamily: \"ipv4\",\n        },\n        {\n            type: \"subnet\",\n            networkId: network.id,\n            subnetId: subnet.id,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a private network and subnet (baremetal requires vlan, not vxlan)\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    type=\"vlan\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ])\n# Create an SSH key for baremetal server access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a baremetal server with two interfaces: one public, one private\nserver_with_two_interfaces = gcore.CloudBaremetalServer(\"server_with_two_interfaces\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm1-infrastructure-small\",\n    name=\"my-bare-metal\",\n    image_id=\"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    ssh_key_name=my_key.name,\n    interfaces=[\n        {\n            \"type\": \"external\",\n            \"ip_family\": \"ipv4\",\n        },\n        {\n            \"type\": \"subnet\",\n            \"network_id\": network.id,\n            \"subnet_id\": subnet.id,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a private network and subnet (baremetal requires vlan, not vxlan)\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        Type = \"vlan\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n    });\n\n    // Create an SSH key for baremetal server access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a baremetal server with two interfaces: one public, one private\n    var serverWithTwoInterfaces = new Gcore.CloudBaremetalServer(\"server_with_two_interfaces\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm1-infrastructure-small\",\n        Name = \"my-bare-metal\",\n        ImageId = \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n        SshKeyName = myKey.Name,\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudBaremetalServerInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"ipv4\",\n            },\n            new Gcore.Inputs.CloudBaremetalServerInterfaceArgs\n            {\n                Type = \"subnet\",\n                NetworkId = network.Id,\n                SubnetId = subnet.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a private network and subnet (baremetal requires vlan, not vxlan)\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t\tType:      pulumi.String(\"vlan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an SSH key for baremetal server access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a baremetal server with two interfaces: one public, one private\n\t\t_, err = gcore.NewCloudBaremetalServer(ctx, \"server_with_two_interfaces\", &gcore.CloudBaremetalServerArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"bm1-infrastructure-small\"),\n\t\t\tName:       pulumi.String(\"my-bare-metal\"),\n\t\t\tImageId:    pulumi.String(\"0f25a566-91a4-4507-aa42-bdd732fb998d\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tInterfaces: gcore.CloudBaremetalServerInterfaceArray{\n\t\t\t\t&gcore.CloudBaremetalServerInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t},\n\t\t\t\t&gcore.CloudBaremetalServerInterfaceArgs{\n\t\t\t\t\tType:      pulumi.String(\"subnet\"),\n\t\t\t\t\tNetworkId: network.ID(),\n\t\t\t\t\tSubnetId:  subnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudBaremetalServer;\nimport com.pulumi.gcore.CloudBaremetalServerArgs;\nimport com.pulumi.gcore.inputs.CloudBaremetalServerInterfaceArgs;\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        // Create a private network and subnet (baremetal requires vlan, not vxlan)\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .type(\"vlan\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .build());\n\n        // Create an SSH key for baremetal server access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a baremetal server with two interfaces: one public, one private\n        var serverWithTwoInterfaces = new CloudBaremetalServer(\"serverWithTwoInterfaces\", CloudBaremetalServerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm1-infrastructure-small\")\n            .name(\"my-bare-metal\")\n            .imageId(\"0f25a566-91a4-4507-aa42-bdd732fb998d\")\n            .sshKeyName(myKey.name())\n            .interfaces(            \n                CloudBaremetalServerInterfaceArgs.builder()\n                    .type(\"external\")\n                    .ipFamily(\"ipv4\")\n                    .build(),\n                CloudBaremetalServerInterfaceArgs.builder()\n                    .type(\"subnet\")\n                    .networkId(network.id())\n                    .subnetId(subnet.id())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a private network and subnet (baremetal requires vlan, not vxlan)\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n      type: vlan\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n  # Create an SSH key for baremetal server access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a baremetal server with two interfaces: one public, one private\n  serverWithTwoInterfaces:\n    type: gcore:CloudBaremetalServer\n    name: server_with_two_interfaces\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm1-infrastructure-small\n      name: my-bare-metal\n      imageId: 0f25a566-91a4-4507-aa42-bdd732fb998d\n      sshKeyName: ${myKey.name}\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n        - type: subnet\n          networkId: ${network.id}\n          subnetId: ${subnet.id}\n```\n<!--End PulumiCodeChooser -->\n\n### Windows baremetal server\n\nCreate a Windows baremetal server with a public interface.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a Windows baremetal server with a public interface\nconst windowsServer = new gcore.CloudBaremetalServer(\"windows_server\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm1-infrastructure-small\",\n    name: \"my-windows-bare-metal\",\n    imageId: \"408a0e4d-6a28-4bae-93fa-f738d964f555\",\n    passwordWo: \"my-s3cR3tP@ssw0rd\",\n    passwordWoVersion: 1,\n    interfaces: [{\n        type: \"external\",\n        ipFamily: \"ipv4\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a Windows baremetal server with a public interface\nwindows_server = gcore.CloudBaremetalServer(\"windows_server\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm1-infrastructure-small\",\n    name=\"my-windows-bare-metal\",\n    image_id=\"408a0e4d-6a28-4bae-93fa-f738d964f555\",\n    password_wo=\"my-s3cR3tP@ssw0rd\",\n    password_wo_version=1,\n    interfaces=[{\n        \"type\": \"external\",\n        \"ip_family\": \"ipv4\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a Windows baremetal server with a public interface\n    var windowsServer = new Gcore.CloudBaremetalServer(\"windows_server\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm1-infrastructure-small\",\n        Name = \"my-windows-bare-metal\",\n        ImageId = \"408a0e4d-6a28-4bae-93fa-f738d964f555\",\n        PasswordWo = \"my-s3cR3tP@ssw0rd\",\n        PasswordWoVersion = 1,\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudBaremetalServerInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"ipv4\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a Windows baremetal server with a public interface\n\t\t_, err := gcore.NewCloudBaremetalServer(ctx, \"windows_server\", &gcore.CloudBaremetalServerArgs{\n\t\t\tProjectId:         pulumi.Float64(1),\n\t\t\tRegionId:          pulumi.Float64(1),\n\t\t\tFlavor:            pulumi.String(\"bm1-infrastructure-small\"),\n\t\t\tName:              pulumi.String(\"my-windows-bare-metal\"),\n\t\t\tImageId:           pulumi.String(\"408a0e4d-6a28-4bae-93fa-f738d964f555\"),\n\t\t\tPasswordWo:        pulumi.String(\"my-s3cR3tP@ssw0rd\"),\n\t\t\tPasswordWoVersion: pulumi.Float64(1),\n\t\t\tInterfaces: gcore.CloudBaremetalServerInterfaceArray{\n\t\t\t\t&gcore.CloudBaremetalServerInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudBaremetalServer;\nimport com.pulumi.gcore.CloudBaremetalServerArgs;\nimport com.pulumi.gcore.inputs.CloudBaremetalServerInterfaceArgs;\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        // Create a Windows baremetal server with a public interface\n        var windowsServer = new CloudBaremetalServer(\"windowsServer\", CloudBaremetalServerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm1-infrastructure-small\")\n            .name(\"my-windows-bare-metal\")\n            .imageId(\"408a0e4d-6a28-4bae-93fa-f738d964f555\")\n            .passwordWo(\"my-s3cR3tP@ssw0rd\")\n            .passwordWoVersion(1.0)\n            .interfaces(CloudBaremetalServerInterfaceArgs.builder()\n                .type(\"external\")\n                .ipFamily(\"ipv4\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a Windows baremetal server with a public interface\n  windowsServer:\n    type: gcore:CloudBaremetalServer\n    name: windows_server\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm1-infrastructure-small\n      name: my-windows-bare-metal\n      imageId: 408a0e4d-6a28-4bae-93fa-f738d964f555\n      passwordWo: my-s3cR3tP@ssw0rd\n      passwordWoVersion: 1\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n```\n<!--End PulumiCodeChooser -->\n\n### Baremetal server with reserved public IP\n\nCreate a baremetal server using a pre-allocated reserved fixed IP address.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an SSH key for baremetal server access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Reserve a public IP address\nconst externalFixedIp = new gcore.CloudReservedFixedIp(\"external_fixed_ip\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"external\",\n});\n// Create a baremetal server using the reserved public IP\nconst serverWithReservedAddress = new gcore.CloudBaremetalServer(\"server_with_reserved_address\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm1-infrastructure-small\",\n    name: \"my-bare-metal\",\n    imageId: \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    sshKeyName: myKey.name,\n    interfaces: [{\n        type: \"reserved_fixed_ip\",\n        portId: externalFixedIp.portId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an SSH key for baremetal server access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Reserve a public IP address\nexternal_fixed_ip = gcore.CloudReservedFixedIp(\"external_fixed_ip\",\n    project_id=1,\n    region_id=1,\n    type=\"external\")\n# Create a baremetal server using the reserved public IP\nserver_with_reserved_address = gcore.CloudBaremetalServer(\"server_with_reserved_address\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm1-infrastructure-small\",\n    name=\"my-bare-metal\",\n    image_id=\"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    ssh_key_name=my_key.name,\n    interfaces=[{\n        \"type\": \"reserved_fixed_ip\",\n        \"port_id\": external_fixed_ip.port_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an SSH key for baremetal server access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Reserve a public IP address\n    var externalFixedIp = new Gcore.CloudReservedFixedIp(\"external_fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"external\",\n    });\n\n    // Create a baremetal server using the reserved public IP\n    var serverWithReservedAddress = new Gcore.CloudBaremetalServer(\"server_with_reserved_address\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm1-infrastructure-small\",\n        Name = \"my-bare-metal\",\n        ImageId = \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n        SshKeyName = myKey.Name,\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudBaremetalServerInterfaceArgs\n            {\n                Type = \"reserved_fixed_ip\",\n                PortId = externalFixedIp.PortId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an SSH key for baremetal server access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reserve a public IP address\n\t\texternalFixedIp, err := gcore.NewCloudReservedFixedIp(ctx, \"external_fixed_ip\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"external\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a baremetal server using the reserved public IP\n\t\t_, err = gcore.NewCloudBaremetalServer(ctx, \"server_with_reserved_address\", &gcore.CloudBaremetalServerArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"bm1-infrastructure-small\"),\n\t\t\tName:       pulumi.String(\"my-bare-metal\"),\n\t\t\tImageId:    pulumi.String(\"0f25a566-91a4-4507-aa42-bdd732fb998d\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tInterfaces: gcore.CloudBaremetalServerInterfaceArray{\n\t\t\t\t&gcore.CloudBaremetalServerInterfaceArgs{\n\t\t\t\t\tType:   pulumi.String(\"reserved_fixed_ip\"),\n\t\t\t\t\tPortId: externalFixedIp.PortId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\nimport com.pulumi.gcore.CloudBaremetalServer;\nimport com.pulumi.gcore.CloudBaremetalServerArgs;\nimport com.pulumi.gcore.inputs.CloudBaremetalServerInterfaceArgs;\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        // Create an SSH key for baremetal server access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Reserve a public IP address\n        var externalFixedIp = new CloudReservedFixedIp(\"externalFixedIp\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"external\")\n            .build());\n\n        // Create a baremetal server using the reserved public IP\n        var serverWithReservedAddress = new CloudBaremetalServer(\"serverWithReservedAddress\", CloudBaremetalServerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm1-infrastructure-small\")\n            .name(\"my-bare-metal\")\n            .imageId(\"0f25a566-91a4-4507-aa42-bdd732fb998d\")\n            .sshKeyName(myKey.name())\n            .interfaces(CloudBaremetalServerInterfaceArgs.builder()\n                .type(\"reserved_fixed_ip\")\n                .portId(externalFixedIp.portId())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an SSH key for baremetal server access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Reserve a public IP address\n  externalFixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: external_fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: external\n  # Create a baremetal server using the reserved public IP\n  serverWithReservedAddress:\n    type: gcore:CloudBaremetalServer\n    name: server_with_reserved_address\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm1-infrastructure-small\n      name: my-bare-metal\n      imageId: 0f25a566-91a4-4507-aa42-bdd732fb998d\n      sshKeyName: ${myKey.name}\n      interfaces:\n        - type: reserved_fixed_ip\n          portId: ${externalFixedIp.portId}\n```\n<!--End PulumiCodeChooser -->\n\n### Baremetal server with floating IP\n\nCreate a baremetal server and attach a floating IP address for external access.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a private network and subnet\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    type: \"vlan\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n});\n// Create an SSH key for baremetal server access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Reserve a fixed IP on the private subnet\nconst fixedIp = new gcore.CloudReservedFixedIp(\"fixed_ip\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"subnet\",\n    networkId: network.id,\n    subnetId: subnet.id,\n});\n// Create a floating IP and associate it with the fixed IP\nconst floatingIp = new gcore.CloudFloatingIp(\"floating_ip\", {\n    projectId: 1,\n    regionId: 1,\n    fixedIpAddress: fixedIp.fixedIpAddress,\n    portId: fixedIp.portId,\n});\n// Create a baremetal server with floating IP for external access\nconst serverWithFloatingIp = new gcore.CloudBaremetalServer(\"server_with_floating_ip\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm1-infrastructure-small\",\n    name: \"my-bare-metal\",\n    imageId: \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    sshKeyName: myKey.name,\n    interfaces: [{\n        type: \"reserved_fixed_ip\",\n        portId: fixedIp.portId,\n        floatingIp: {\n            source: \"existing\",\n            existingFloatingId: floatingIp.id,\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a private network and subnet\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    type=\"vlan\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ])\n# Create an SSH key for baremetal server access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Reserve a fixed IP on the private subnet\nfixed_ip = gcore.CloudReservedFixedIp(\"fixed_ip\",\n    project_id=1,\n    region_id=1,\n    type=\"subnet\",\n    network_id=network.id,\n    subnet_id=subnet.id)\n# Create a floating IP and associate it with the fixed IP\nfloating_ip = gcore.CloudFloatingIp(\"floating_ip\",\n    project_id=1,\n    region_id=1,\n    fixed_ip_address=fixed_ip.fixed_ip_address,\n    port_id=fixed_ip.port_id)\n# Create a baremetal server with floating IP for external access\nserver_with_floating_ip = gcore.CloudBaremetalServer(\"server_with_floating_ip\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm1-infrastructure-small\",\n    name=\"my-bare-metal\",\n    image_id=\"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n    ssh_key_name=my_key.name,\n    interfaces=[{\n        \"type\": \"reserved_fixed_ip\",\n        \"port_id\": fixed_ip.port_id,\n        \"floating_ip\": {\n            \"source\": \"existing\",\n            \"existing_floating_id\": floating_ip.id,\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a private network and subnet\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        Type = \"vlan\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n    });\n\n    // Create an SSH key for baremetal server access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Reserve a fixed IP on the private subnet\n    var fixedIp = new Gcore.CloudReservedFixedIp(\"fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"subnet\",\n        NetworkId = network.Id,\n        SubnetId = subnet.Id,\n    });\n\n    // Create a floating IP and associate it with the fixed IP\n    var floatingIp = new Gcore.CloudFloatingIp(\"floating_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FixedIpAddress = fixedIp.FixedIpAddress,\n        PortId = fixedIp.PortId,\n    });\n\n    // Create a baremetal server with floating IP for external access\n    var serverWithFloatingIp = new Gcore.CloudBaremetalServer(\"server_with_floating_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm1-infrastructure-small\",\n        Name = \"my-bare-metal\",\n        ImageId = \"0f25a566-91a4-4507-aa42-bdd732fb998d\",\n        SshKeyName = myKey.Name,\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudBaremetalServerInterfaceArgs\n            {\n                Type = \"reserved_fixed_ip\",\n                PortId = fixedIp.PortId,\n                FloatingIp = new Gcore.Inputs.CloudBaremetalServerInterfaceFloatingIpArgs\n                {\n                    Source = \"existing\",\n                    ExistingFloatingId = floatingIp.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a private network and subnet\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t\tType:      pulumi.String(\"vlan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an SSH key for baremetal server access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reserve a fixed IP on the private subnet\n\t\tfixedIp, err := gcore.NewCloudReservedFixedIp(ctx, \"fixed_ip\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"subnet\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tSubnetId:  subnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a floating IP and associate it with the fixed IP\n\t\tfloatingIp, err := gcore.NewCloudFloatingIp(ctx, \"floating_ip\", &gcore.CloudFloatingIpArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tFixedIpAddress: fixedIp.FixedIpAddress,\n\t\t\tPortId:         fixedIp.PortId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a baremetal server with floating IP for external access\n\t\t_, err = gcore.NewCloudBaremetalServer(ctx, \"server_with_floating_ip\", &gcore.CloudBaremetalServerArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"bm1-infrastructure-small\"),\n\t\t\tName:       pulumi.String(\"my-bare-metal\"),\n\t\t\tImageId:    pulumi.String(\"0f25a566-91a4-4507-aa42-bdd732fb998d\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tInterfaces: gcore.CloudBaremetalServerInterfaceArray{\n\t\t\t\t&gcore.CloudBaremetalServerInterfaceArgs{\n\t\t\t\t\tType:   pulumi.String(\"reserved_fixed_ip\"),\n\t\t\t\t\tPortId: fixedIp.PortId,\n\t\t\t\t\tFloatingIp: &gcore.CloudBaremetalServerInterfaceFloatingIpArgs{\n\t\t\t\t\t\tSource:             pulumi.String(\"existing\"),\n\t\t\t\t\t\tExistingFloatingId: floatingIp.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\nimport com.pulumi.gcore.CloudFloatingIp;\nimport com.pulumi.gcore.CloudFloatingIpArgs;\nimport com.pulumi.gcore.CloudBaremetalServer;\nimport com.pulumi.gcore.CloudBaremetalServerArgs;\nimport com.pulumi.gcore.inputs.CloudBaremetalServerInterfaceArgs;\nimport com.pulumi.gcore.inputs.CloudBaremetalServerInterfaceFloatingIpArgs;\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        // Create a private network and subnet\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .type(\"vlan\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .build());\n\n        // Create an SSH key for baremetal server access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Reserve a fixed IP on the private subnet\n        var fixedIp = new CloudReservedFixedIp(\"fixedIp\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"subnet\")\n            .networkId(network.id())\n            .subnetId(subnet.id())\n            .build());\n\n        // Create a floating IP and associate it with the fixed IP\n        var floatingIp = new CloudFloatingIp(\"floatingIp\", CloudFloatingIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .fixedIpAddress(fixedIp.fixedIpAddress())\n            .portId(fixedIp.portId())\n            .build());\n\n        // Create a baremetal server with floating IP for external access\n        var serverWithFloatingIp = new CloudBaremetalServer(\"serverWithFloatingIp\", CloudBaremetalServerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm1-infrastructure-small\")\n            .name(\"my-bare-metal\")\n            .imageId(\"0f25a566-91a4-4507-aa42-bdd732fb998d\")\n            .sshKeyName(myKey.name())\n            .interfaces(CloudBaremetalServerInterfaceArgs.builder()\n                .type(\"reserved_fixed_ip\")\n                .portId(fixedIp.portId())\n                .floatingIp(CloudBaremetalServerInterfaceFloatingIpArgs.builder()\n                    .source(\"existing\")\n                    .existingFloatingId(floatingIp.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a private network and subnet\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n      type: vlan\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n  # Create an SSH key for baremetal server access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Reserve a fixed IP on the private subnet\n  fixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: subnet\n      networkId: ${network.id}\n      subnetId: ${subnet.id}\n  # Create a floating IP and associate it with the fixed IP\n  floatingIp:\n    type: gcore:CloudFloatingIp\n    name: floating_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      fixedIpAddress: ${fixedIp.fixedIpAddress}\n      portId: ${fixedIp.portId}\n  # Create a baremetal server with floating IP for external access\n  serverWithFloatingIp:\n    type: gcore:CloudBaremetalServer\n    name: server_with_floating_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm1-infrastructure-small\n      name: my-bare-metal\n      imageId: 0f25a566-91a4-4507-aa42-bdd732fb998d\n      sshKeyName: ${myKey.name}\n      interfaces:\n        - type: reserved_fixed_ip\n          portId: ${fixedIp.portId}\n          floatingIp:\n            source: existing\n            existingFloatingId: ${floatingIp.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudBaremetalServer:CloudBaremetalServer example '<project_id>/<region_id>/<server_id>'\n```\n\n","inputProperties":{"appConfig":{"additionalProperties":{"type":"string"},"description":"Parameters for the application template if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>.","type":"object"},"apptemplateId":{"description":"Apptemplate ID. Either <span pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\">`image_id`</span> or <span pulumi-lang-nodejs=\"`apptemplateId`\" pulumi-lang-dotnet=\"`ApptemplateId`\" pulumi-lang-go=\"`apptemplateId`\" pulumi-lang-python=\"`apptemplate_id`\" pulumi-lang-yaml=\"`apptemplateId`\" pulumi-lang-java=\"`apptemplateId`\">`apptemplate_id`</span> is required.","type":"string"},"flavor":{"description":"The flavor of the instance.\n","type":"string"},"imageId":{"description":"Image ID. Either <span pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\">`image_id`</span> or <span pulumi-lang-nodejs=\"`apptemplateId`\" pulumi-lang-dotnet=\"`ApptemplateId`\" pulumi-lang-go=\"`apptemplateId`\" pulumi-lang-python=\"`apptemplate_id`\" pulumi-lang-yaml=\"`apptemplateId`\" pulumi-lang-java=\"`apptemplateId`\">`apptemplate_id`</span> is required.","type":"string"},"interfaces":{"description":"A list of network interfaces for the server. You can create one or more interfaces - private, public, or both.\n","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerInterface:CloudBaremetalServerInterface"},"type":"array"},"name":{"description":"Server name.","type":"string"},"nameTemplate":{"description":"If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.","type":"string"},"passwordWo":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.","type":"string"},"passwordWoVersion":{"description":"Version of the password write-only field. Increment this value to trigger a replacement when changing the password.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"regionId":{"description":"Region ID","type":"number"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"userData":{"description":"String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the <span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>: https://cloudinit.readthedocs.io/en/latest/topics/examples.html","type":"string"},"username":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.","type":"string"}},"properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerAddresses:CloudBaremetalServerAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network","type":"object"},"appConfig":{"additionalProperties":{"type":"string"},"description":"Parameters for the application template if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>.","type":"object"},"apptemplateId":{"description":"Apptemplate ID. Either <span pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\">`image_id`</span> or <span pulumi-lang-nodejs=\"`apptemplateId`\" pulumi-lang-dotnet=\"`ApptemplateId`\" pulumi-lang-go=\"`apptemplateId`\" pulumi-lang-python=\"`apptemplate_id`\" pulumi-lang-yaml=\"`apptemplateId`\" pulumi-lang-java=\"`apptemplateId`\">`apptemplate_id`</span> is required.","type":"string"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerBlackholePort:CloudBaremetalServerBlackholePort"},"type":"array"},"createdAt":{"description":"Datetime when bare metal server was created","type":"string"},"fixedIpAssignments":{"description":"Fixed IP assigned to instance","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerFixedIpAssignment:CloudBaremetalServerFixedIpAssignment"},"type":"array"},"flavor":{"description":"The flavor of the instance.\n","type":"string"},"imageId":{"description":"Image ID. Either <span pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\">`image_id`</span> or <span pulumi-lang-nodejs=\"`apptemplateId`\" pulumi-lang-dotnet=\"`ApptemplateId`\" pulumi-lang-go=\"`apptemplateId`\" pulumi-lang-python=\"`apptemplate_id`\" pulumi-lang-yaml=\"`apptemplateId`\" pulumi-lang-java=\"`apptemplateId`\">`apptemplate_id`</span> is required.","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerInstanceIsolation:CloudBaremetalServerInstanceIsolation","description":"Instance isolation information"},"interfaces":{"description":"A list of network interfaces for the server. You can create one or more interfaces - private, public, or both.\n","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerInterface:CloudBaremetalServerInterface"},"type":"array"},"name":{"description":"Server name.","type":"string"},"nameTemplate":{"description":"If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.","type":"string"},"passwordWo":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.","type":"string"},"passwordWoVersion":{"description":"Version of the password write-only field. Increment this value to trigger a replacement when changing the password.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"region":{"description":"Region name","type":"string"},"regionId":{"description":"Region ID","type":"number"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).","type":"string"},"status":{"description":"Bare metal server status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD_REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT_RESIZE\", \"SHELVED\", \"SHELVED_OFFLOADED\", \"SHUTOFF\", \"SOFT_DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"userData":{"description":"String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the <span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>: https://cloudinit.readthedocs.io/en/latest/topics/examples.html","type":"string"},"username":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.","type":"string"},"vmState":{"description":"Bare metal server state\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".","type":"string"}},"required":["addresses","blackholePorts","createdAt","fixedIpAssignments","flavor","instanceIsolation","interfaces","name","region","status","tags","vmState"],"requiredInputs":["flavor","interfaces"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudBaremetalServer resources.\n","properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerAddresses:CloudBaremetalServerAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network","type":"object"},"appConfig":{"additionalProperties":{"type":"string"},"description":"Parameters for the application template if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>.","type":"object"},"apptemplateId":{"description":"Apptemplate ID. Either <span pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\">`image_id`</span> or <span pulumi-lang-nodejs=\"`apptemplateId`\" pulumi-lang-dotnet=\"`ApptemplateId`\" pulumi-lang-go=\"`apptemplateId`\" pulumi-lang-python=\"`apptemplate_id`\" pulumi-lang-yaml=\"`apptemplateId`\" pulumi-lang-java=\"`apptemplateId`\">`apptemplate_id`</span> is required.","type":"string"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerBlackholePort:CloudBaremetalServerBlackholePort"},"type":"array"},"createdAt":{"description":"Datetime when bare metal server was created","type":"string"},"fixedIpAssignments":{"description":"Fixed IP assigned to instance","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerFixedIpAssignment:CloudBaremetalServerFixedIpAssignment"},"type":"array"},"flavor":{"description":"The flavor of the instance.\n","type":"string"},"imageId":{"description":"Image ID. Either <span pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\">`image_id`</span> or <span pulumi-lang-nodejs=\"`apptemplateId`\" pulumi-lang-dotnet=\"`ApptemplateId`\" pulumi-lang-go=\"`apptemplateId`\" pulumi-lang-python=\"`apptemplate_id`\" pulumi-lang-yaml=\"`apptemplateId`\" pulumi-lang-java=\"`apptemplateId`\">`apptemplate_id`</span> is required.","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerInstanceIsolation:CloudBaremetalServerInstanceIsolation","description":"Instance isolation information"},"interfaces":{"description":"A list of network interfaces for the server. You can create one or more interfaces - private, public, or both.\n","items":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerInterface:CloudBaremetalServerInterface"},"type":"array"},"name":{"description":"Server name.","type":"string"},"nameTemplate":{"description":"If you want server names to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.","type":"string"},"passwordWo":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.","type":"string"},"passwordWoVersion":{"description":"Version of the password write-only field. Increment this value to trigger a replacement when changing the password.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"region":{"description":"Region name","type":"string"},"regionId":{"description":"Region ID","type":"number"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).","type":"string"},"status":{"description":"Bare metal server status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD_REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT_RESIZE\", \"SHELVED\", \"SHELVED_OFFLOADED\", \"SHUTOFF\", \"SOFT_DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"userData":{"description":"String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the <span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>: https://cloudinit.readthedocs.io/en/latest/topics/examples.html","type":"string"},"username":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.","type":"string"},"vmState":{"description":"Bare metal server state\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudFileShare:CloudFileShare":{"description":"File shares provide NFS-based shared storage that can be mounted by virtual machines and Kubernetes clusters for persistent data.\n\n## Example Usage\n\n### Standard NFS file share\n\nCreate a standard NFS file share attached to an existing network.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst fileShareStandard = new gcore.CloudFileShare(\"file_share_standard\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"tf-file-share-standard\",\n    size: 20,\n    typeName: \"standard\",\n    protocol: \"NFS\",\n    network: {\n        networkId: \"378ba73d-16c5-4a4e-a755-d9406dd73e63\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nfile_share_standard = gcore.CloudFileShare(\"file_share_standard\",\n    project_id=1,\n    region_id=1,\n    name=\"tf-file-share-standard\",\n    size=20,\n    type_name=\"standard\",\n    protocol=\"NFS\",\n    network={\n        \"network_id\": \"378ba73d-16c5-4a4e-a755-d9406dd73e63\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var fileShareStandard = new Gcore.CloudFileShare(\"file_share_standard\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"tf-file-share-standard\",\n        Size = 20,\n        TypeName = \"standard\",\n        Protocol = \"NFS\",\n        Network = new Gcore.Inputs.CloudFileShareNetworkArgs\n        {\n            NetworkId = \"378ba73d-16c5-4a4e-a755-d9406dd73e63\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudFileShare(ctx, \"file_share_standard\", &gcore.CloudFileShareArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"tf-file-share-standard\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"standard\"),\n\t\t\tProtocol:  pulumi.String(\"NFS\"),\n\t\t\tNetwork: &gcore.CloudFileShareNetworkArgs{\n\t\t\t\tNetworkId: pulumi.String(\"378ba73d-16c5-4a4e-a755-d9406dd73e63\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudFileShare;\nimport com.pulumi.gcore.CloudFileShareArgs;\nimport com.pulumi.gcore.inputs.CloudFileShareNetworkArgs;\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 fileShareStandard = new CloudFileShare(\"fileShareStandard\", CloudFileShareArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"tf-file-share-standard\")\n            .size(20.0)\n            .typeName(\"standard\")\n            .protocol(\"NFS\")\n            .network(CloudFileShareNetworkArgs.builder()\n                .networkId(\"378ba73d-16c5-4a4e-a755-d9406dd73e63\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fileShareStandard:\n    type: gcore:CloudFileShare\n    name: file_share_standard\n    properties:\n      projectId: 1\n      regionId: 1\n      name: tf-file-share-standard\n      size: 20\n      typeName: standard\n      protocol: NFS\n      network:\n        networkId: 378ba73d-16c5-4a4e-a755-d9406dd73e63\n```\n<!--End PulumiCodeChooser -->\n\n### VAST NFS file share\n\nCreate a VAST-backed NFS file share with custom share settings.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst fileShareVast = new gcore.CloudFileShare(\"file_share_vast\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"tf-file-share-vast\",\n    size: 10,\n    typeName: \"vast\",\n    protocol: \"NFS\",\n    shareSettings: {\n        allowedCharacters: \"LCD\",\n        pathLength: \"LCD\",\n        rootSquash: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nfile_share_vast = gcore.CloudFileShare(\"file_share_vast\",\n    project_id=1,\n    region_id=1,\n    name=\"tf-file-share-vast\",\n    size=10,\n    type_name=\"vast\",\n    protocol=\"NFS\",\n    share_settings={\n        \"allowed_characters\": \"LCD\",\n        \"path_length\": \"LCD\",\n        \"root_squash\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var fileShareVast = new Gcore.CloudFileShare(\"file_share_vast\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"tf-file-share-vast\",\n        Size = 10,\n        TypeName = \"vast\",\n        Protocol = \"NFS\",\n        ShareSettings = new Gcore.Inputs.CloudFileShareShareSettingsArgs\n        {\n            AllowedCharacters = \"LCD\",\n            PathLength = \"LCD\",\n            RootSquash = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudFileShare(ctx, \"file_share_vast\", &gcore.CloudFileShareArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"tf-file-share-vast\"),\n\t\t\tSize:      pulumi.Float64(10),\n\t\t\tTypeName:  pulumi.String(\"vast\"),\n\t\t\tProtocol:  pulumi.String(\"NFS\"),\n\t\t\tShareSettings: &gcore.CloudFileShareShareSettingsArgs{\n\t\t\t\tAllowedCharacters: pulumi.String(\"LCD\"),\n\t\t\t\tPathLength:        pulumi.String(\"LCD\"),\n\t\t\t\tRootSquash:        pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudFileShare;\nimport com.pulumi.gcore.CloudFileShareArgs;\nimport com.pulumi.gcore.inputs.CloudFileShareShareSettingsArgs;\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 fileShareVast = new CloudFileShare(\"fileShareVast\", CloudFileShareArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"tf-file-share-vast\")\n            .size(10.0)\n            .typeName(\"vast\")\n            .protocol(\"NFS\")\n            .shareSettings(CloudFileShareShareSettingsArgs.builder()\n                .allowedCharacters(\"LCD\")\n                .pathLength(\"LCD\")\n                .rootSquash(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  fileShareVast:\n    type: gcore:CloudFileShare\n    name: file_share_vast\n    properties:\n      projectId: 1\n      regionId: 1\n      name: tf-file-share-vast\n      size: 10\n      typeName: vast\n      protocol: NFS\n      shareSettings:\n        allowedCharacters: LCD\n        pathLength: LCD\n        rootSquash: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudFileShare:CloudFileShare example '<project_id>/<region_id>/<file_share_id>'\n```\n\n","inputProperties":{"name":{"description":"File share name","type":"string"},"network":{"$ref":"#/types/gcore:index%2FCloudFileShareNetwork:CloudFileShareNetwork","description":"File share network configuration"},"projectId":{"description":"Project ID","type":"number"},"protocol":{"description":"File share protocol\nAvailable values: \"NFS\".","type":"string"},"regionId":{"description":"Region ID","type":"number"},"shareSettings":{"$ref":"#/types/gcore:index%2FCloudFileShareShareSettings:CloudFileShareShareSettings","description":"Configuration settings for the share"},"size":{"description":"File share size in GiB","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"typeName":{"description":"Standard file share type\nAvailable values: \"standard\", \"vast\".","type":"string"}},"properties":{"accessRuleIds":{"description":"List of access rules IDs associated with the file share","items":{"type":"string"},"type":"array"},"connectionPoint":{"description":"Connection point. Can be null during File share creation","type":"string"},"createdAt":{"description":"Datetime when the file share was created","type":"string"},"creatorTaskId":{"description":"Task that created this entity","type":"string"},"name":{"description":"File share name","type":"string"},"network":{"$ref":"#/types/gcore:index%2FCloudFileShareNetwork:CloudFileShareNetwork","description":"File share network configuration"},"networkId":{"description":"Network ID.","type":"string"},"networkName":{"description":"Network name.","type":"string"},"projectId":{"description":"Project ID","type":"number"},"protocol":{"description":"File share protocol\nAvailable values: \"NFS\".","type":"string"},"region":{"description":"Region name","type":"string"},"regionId":{"description":"Region ID","type":"number"},"shareNetworkName":{"description":"Share network name. May be null if the file share was created with volume type VAST","type":"string"},"shareSettings":{"$ref":"#/types/gcore:index%2FCloudFileShareShareSettings:CloudFileShareShareSettings","description":"Configuration settings for the share"},"size":{"description":"File share size in GiB","type":"number"},"status":{"description":"File share status\nAvailable values: \"available\", <span pulumi-lang-nodejs=\"\"awaitingTransfer\"\" pulumi-lang-dotnet=\"\"AwaitingTransfer\"\" pulumi-lang-go=\"\"awaitingTransfer\"\" pulumi-lang-python=\"\"awaiting_transfer\"\" pulumi-lang-yaml=\"\"awaitingTransfer\"\" pulumi-lang-java=\"\"awaitingTransfer\"\">\"awaiting_transfer\"</span>, <span pulumi-lang-nodejs=\"\"backupCreating\"\" pulumi-lang-dotnet=\"\"BackupCreating\"\" pulumi-lang-go=\"\"backupCreating\"\" pulumi-lang-python=\"\"backup_creating\"\" pulumi-lang-yaml=\"\"backupCreating\"\" pulumi-lang-java=\"\"backupCreating\"\">\"backup_creating\"</span>, <span pulumi-lang-nodejs=\"\"backupRestoring\"\" pulumi-lang-dotnet=\"\"BackupRestoring\"\" pulumi-lang-go=\"\"backupRestoring\"\" pulumi-lang-python=\"\"backup_restoring\"\" pulumi-lang-yaml=\"\"backupRestoring\"\" pulumi-lang-java=\"\"backupRestoring\"\">\"backup_restoring\"</span>, <span pulumi-lang-nodejs=\"\"backupRestoringError\"\" pulumi-lang-dotnet=\"\"BackupRestoringError\"\" pulumi-lang-go=\"\"backupRestoringError\"\" pulumi-lang-python=\"\"backup_restoring_error\"\" pulumi-lang-yaml=\"\"backupRestoringError\"\" pulumi-lang-java=\"\"backupRestoringError\"\">\"backup_restoring_error\"</span>, \"creating\", <span pulumi-lang-nodejs=\"\"creatingFromSnapshot\"\" pulumi-lang-dotnet=\"\"CreatingFromSnapshot\"\" pulumi-lang-go=\"\"creatingFromSnapshot\"\" pulumi-lang-python=\"\"creating_from_snapshot\"\" pulumi-lang-yaml=\"\"creatingFromSnapshot\"\" pulumi-lang-java=\"\"creatingFromSnapshot\"\">\"creating_from_snapshot\"</span>, \"deleted\", \"deleting\", \"ensuring\", \"error\", <span pulumi-lang-nodejs=\"\"errorDeleting\"\" pulumi-lang-dotnet=\"\"ErrorDeleting\"\" pulumi-lang-go=\"\"errorDeleting\"\" pulumi-lang-python=\"\"error_deleting\"\" pulumi-lang-yaml=\"\"errorDeleting\"\" pulumi-lang-java=\"\"errorDeleting\"\">\"error_deleting\"</span>, \"extending\", <span pulumi-lang-nodejs=\"\"extendingError\"\" pulumi-lang-dotnet=\"\"ExtendingError\"\" pulumi-lang-go=\"\"extendingError\"\" pulumi-lang-python=\"\"extending_error\"\" pulumi-lang-yaml=\"\"extendingError\"\" pulumi-lang-java=\"\"extendingError\"\">\"extending_error\"</span>, \"inactive\", <span pulumi-lang-nodejs=\"\"manageError\"\" pulumi-lang-dotnet=\"\"ManageError\"\" pulumi-lang-go=\"\"manageError\"\" pulumi-lang-python=\"\"manage_error\"\" pulumi-lang-yaml=\"\"manageError\"\" pulumi-lang-java=\"\"manageError\"\">\"manage_error\"</span>, <span pulumi-lang-nodejs=\"\"manageStarting\"\" pulumi-lang-dotnet=\"\"ManageStarting\"\" pulumi-lang-go=\"\"manageStarting\"\" pulumi-lang-python=\"\"manage_starting\"\" pulumi-lang-yaml=\"\"manageStarting\"\" pulumi-lang-java=\"\"manageStarting\"\">\"manage_starting\"</span>, \"migrating\", <span pulumi-lang-nodejs=\"\"migratingTo\"\" pulumi-lang-dotnet=\"\"MigratingTo\"\" pulumi-lang-go=\"\"migratingTo\"\" pulumi-lang-python=\"\"migrating_to\"\" pulumi-lang-yaml=\"\"migratingTo\"\" pulumi-lang-java=\"\"migratingTo\"\">\"migrating_to\"</span>, <span pulumi-lang-nodejs=\"\"replicationChange\"\" pulumi-lang-dotnet=\"\"ReplicationChange\"\" pulumi-lang-go=\"\"replicationChange\"\" pulumi-lang-python=\"\"replication_change\"\" pulumi-lang-yaml=\"\"replicationChange\"\" pulumi-lang-java=\"\"replicationChange\"\">\"replication_change\"</span>, \"reverting\", <span pulumi-lang-nodejs=\"\"revertingError\"\" pulumi-lang-dotnet=\"\"RevertingError\"\" pulumi-lang-go=\"\"revertingError\"\" pulumi-lang-python=\"\"reverting_error\"\" pulumi-lang-yaml=\"\"revertingError\"\" pulumi-lang-java=\"\"revertingError\"\">\"reverting_error\"</span>, \"shrinking\", <span pulumi-lang-nodejs=\"\"shrinkingError\"\" pulumi-lang-dotnet=\"\"ShrinkingError\"\" pulumi-lang-go=\"\"shrinkingError\"\" pulumi-lang-python=\"\"shrinking_error\"\" pulumi-lang-yaml=\"\"shrinkingError\"\" pulumi-lang-java=\"\"shrinkingError\"\">\"shrinking_error\"</span>, <span pulumi-lang-nodejs=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-dotnet=\"\"ShrinkingPossibleDataLossError\"\" pulumi-lang-go=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-python=\"\"shrinking_possible_data_loss_error\"\" pulumi-lang-yaml=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-java=\"\"shrinkingPossibleDataLossError\"\">\"shrinking_possible_data_loss_error\"</span>, <span pulumi-lang-nodejs=\"\"unmanageError\"\" pulumi-lang-dotnet=\"\"UnmanageError\"\" pulumi-lang-go=\"\"unmanageError\"\" pulumi-lang-python=\"\"unmanage_error\"\" pulumi-lang-yaml=\"\"unmanageError\"\" pulumi-lang-java=\"\"unmanageError\"\">\"unmanage_error\"</span>, <span pulumi-lang-nodejs=\"\"unmanageStarting\"\" pulumi-lang-dotnet=\"\"UnmanageStarting\"\" pulumi-lang-go=\"\"unmanageStarting\"\" pulumi-lang-python=\"\"unmanage_starting\"\" pulumi-lang-yaml=\"\"unmanageStarting\"\" pulumi-lang-java=\"\"unmanageStarting\"\">\"unmanage_starting\"</span>, \"unmanaged\".","type":"string"},"subnetId":{"description":"Subnet ID.","type":"string"},"subnetName":{"description":"Subnet name.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"typeName":{"description":"Standard file share type\nAvailable values: \"standard\", \"vast\".","type":"string"}},"required":["accessRuleIds","connectionPoint","createdAt","creatorTaskId","name","networkId","networkName","protocol","region","shareNetworkName","shareSettings","size","status","subnetId","subnetName","tags","typeName"],"requiredInputs":["protocol","size"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudFileShare resources.\n","properties":{"accessRuleIds":{"description":"List of access rules IDs associated with the file share","items":{"type":"string"},"type":"array"},"connectionPoint":{"description":"Connection point. Can be null during File share creation","type":"string"},"createdAt":{"description":"Datetime when the file share was created","type":"string"},"creatorTaskId":{"description":"Task that created this entity","type":"string"},"name":{"description":"File share name","type":"string"},"network":{"$ref":"#/types/gcore:index%2FCloudFileShareNetwork:CloudFileShareNetwork","description":"File share network configuration"},"networkId":{"description":"Network ID.","type":"string"},"networkName":{"description":"Network name.","type":"string"},"projectId":{"description":"Project ID","type":"number"},"protocol":{"description":"File share protocol\nAvailable values: \"NFS\".","type":"string"},"region":{"description":"Region name","type":"string"},"regionId":{"description":"Region ID","type":"number"},"shareNetworkName":{"description":"Share network name. May be null if the file share was created with volume type VAST","type":"string"},"shareSettings":{"$ref":"#/types/gcore:index%2FCloudFileShareShareSettings:CloudFileShareShareSettings","description":"Configuration settings for the share"},"size":{"description":"File share size in GiB","type":"number"},"status":{"description":"File share status\nAvailable values: \"available\", <span pulumi-lang-nodejs=\"\"awaitingTransfer\"\" pulumi-lang-dotnet=\"\"AwaitingTransfer\"\" pulumi-lang-go=\"\"awaitingTransfer\"\" pulumi-lang-python=\"\"awaiting_transfer\"\" pulumi-lang-yaml=\"\"awaitingTransfer\"\" pulumi-lang-java=\"\"awaitingTransfer\"\">\"awaiting_transfer\"</span>, <span pulumi-lang-nodejs=\"\"backupCreating\"\" pulumi-lang-dotnet=\"\"BackupCreating\"\" pulumi-lang-go=\"\"backupCreating\"\" pulumi-lang-python=\"\"backup_creating\"\" pulumi-lang-yaml=\"\"backupCreating\"\" pulumi-lang-java=\"\"backupCreating\"\">\"backup_creating\"</span>, <span pulumi-lang-nodejs=\"\"backupRestoring\"\" pulumi-lang-dotnet=\"\"BackupRestoring\"\" pulumi-lang-go=\"\"backupRestoring\"\" pulumi-lang-python=\"\"backup_restoring\"\" pulumi-lang-yaml=\"\"backupRestoring\"\" pulumi-lang-java=\"\"backupRestoring\"\">\"backup_restoring\"</span>, <span pulumi-lang-nodejs=\"\"backupRestoringError\"\" pulumi-lang-dotnet=\"\"BackupRestoringError\"\" pulumi-lang-go=\"\"backupRestoringError\"\" pulumi-lang-python=\"\"backup_restoring_error\"\" pulumi-lang-yaml=\"\"backupRestoringError\"\" pulumi-lang-java=\"\"backupRestoringError\"\">\"backup_restoring_error\"</span>, \"creating\", <span pulumi-lang-nodejs=\"\"creatingFromSnapshot\"\" pulumi-lang-dotnet=\"\"CreatingFromSnapshot\"\" pulumi-lang-go=\"\"creatingFromSnapshot\"\" pulumi-lang-python=\"\"creating_from_snapshot\"\" pulumi-lang-yaml=\"\"creatingFromSnapshot\"\" pulumi-lang-java=\"\"creatingFromSnapshot\"\">\"creating_from_snapshot\"</span>, \"deleted\", \"deleting\", \"ensuring\", \"error\", <span pulumi-lang-nodejs=\"\"errorDeleting\"\" pulumi-lang-dotnet=\"\"ErrorDeleting\"\" pulumi-lang-go=\"\"errorDeleting\"\" pulumi-lang-python=\"\"error_deleting\"\" pulumi-lang-yaml=\"\"errorDeleting\"\" pulumi-lang-java=\"\"errorDeleting\"\">\"error_deleting\"</span>, \"extending\", <span pulumi-lang-nodejs=\"\"extendingError\"\" pulumi-lang-dotnet=\"\"ExtendingError\"\" pulumi-lang-go=\"\"extendingError\"\" pulumi-lang-python=\"\"extending_error\"\" pulumi-lang-yaml=\"\"extendingError\"\" pulumi-lang-java=\"\"extendingError\"\">\"extending_error\"</span>, \"inactive\", <span pulumi-lang-nodejs=\"\"manageError\"\" pulumi-lang-dotnet=\"\"ManageError\"\" pulumi-lang-go=\"\"manageError\"\" pulumi-lang-python=\"\"manage_error\"\" pulumi-lang-yaml=\"\"manageError\"\" pulumi-lang-java=\"\"manageError\"\">\"manage_error\"</span>, <span pulumi-lang-nodejs=\"\"manageStarting\"\" pulumi-lang-dotnet=\"\"ManageStarting\"\" pulumi-lang-go=\"\"manageStarting\"\" pulumi-lang-python=\"\"manage_starting\"\" pulumi-lang-yaml=\"\"manageStarting\"\" pulumi-lang-java=\"\"manageStarting\"\">\"manage_starting\"</span>, \"migrating\", <span pulumi-lang-nodejs=\"\"migratingTo\"\" pulumi-lang-dotnet=\"\"MigratingTo\"\" pulumi-lang-go=\"\"migratingTo\"\" pulumi-lang-python=\"\"migrating_to\"\" pulumi-lang-yaml=\"\"migratingTo\"\" pulumi-lang-java=\"\"migratingTo\"\">\"migrating_to\"</span>, <span pulumi-lang-nodejs=\"\"replicationChange\"\" pulumi-lang-dotnet=\"\"ReplicationChange\"\" pulumi-lang-go=\"\"replicationChange\"\" pulumi-lang-python=\"\"replication_change\"\" pulumi-lang-yaml=\"\"replicationChange\"\" pulumi-lang-java=\"\"replicationChange\"\">\"replication_change\"</span>, \"reverting\", <span pulumi-lang-nodejs=\"\"revertingError\"\" pulumi-lang-dotnet=\"\"RevertingError\"\" pulumi-lang-go=\"\"revertingError\"\" pulumi-lang-python=\"\"reverting_error\"\" pulumi-lang-yaml=\"\"revertingError\"\" pulumi-lang-java=\"\"revertingError\"\">\"reverting_error\"</span>, \"shrinking\", <span pulumi-lang-nodejs=\"\"shrinkingError\"\" pulumi-lang-dotnet=\"\"ShrinkingError\"\" pulumi-lang-go=\"\"shrinkingError\"\" pulumi-lang-python=\"\"shrinking_error\"\" pulumi-lang-yaml=\"\"shrinkingError\"\" pulumi-lang-java=\"\"shrinkingError\"\">\"shrinking_error\"</span>, <span pulumi-lang-nodejs=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-dotnet=\"\"ShrinkingPossibleDataLossError\"\" pulumi-lang-go=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-python=\"\"shrinking_possible_data_loss_error\"\" pulumi-lang-yaml=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-java=\"\"shrinkingPossibleDataLossError\"\">\"shrinking_possible_data_loss_error\"</span>, <span pulumi-lang-nodejs=\"\"unmanageError\"\" pulumi-lang-dotnet=\"\"UnmanageError\"\" pulumi-lang-go=\"\"unmanageError\"\" pulumi-lang-python=\"\"unmanage_error\"\" pulumi-lang-yaml=\"\"unmanageError\"\" pulumi-lang-java=\"\"unmanageError\"\">\"unmanage_error\"</span>, <span pulumi-lang-nodejs=\"\"unmanageStarting\"\" pulumi-lang-dotnet=\"\"UnmanageStarting\"\" pulumi-lang-go=\"\"unmanageStarting\"\" pulumi-lang-python=\"\"unmanage_starting\"\" pulumi-lang-yaml=\"\"unmanageStarting\"\" pulumi-lang-java=\"\"unmanageStarting\"\">\"unmanage_starting\"</span>, \"unmanaged\".","type":"string"},"subnetId":{"description":"Subnet ID.","type":"string"},"subnetName":{"description":"Subnet name.","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"typeName":{"description":"Standard file share type\nAvailable values: \"standard\", \"vast\".","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudFileShareAccessRule:CloudFileShareAccessRule":{"description":"File share access rules control which IP addresses can mount a file share and their permissions (read-only or read-write).\n\n## Example Usage\n\n### All attributes\n\nThe following example shows all configurable attributes for this resource.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudFileShareAccessRule = new gcore.CloudFileShareAccessRule(\"example_cloud_file_share_access_rule\", {\n    projectId: 1,\n    regionId: 1,\n    fileShareId: \"bd8c47ee-e565-4e26-8840-b537e6827b08\",\n    accessMode: \"ro\",\n    ipAddress: \"192.168.1.1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_file_share_access_rule = gcore.CloudFileShareAccessRule(\"example_cloud_file_share_access_rule\",\n    project_id=1,\n    region_id=1,\n    file_share_id=\"bd8c47ee-e565-4e26-8840-b537e6827b08\",\n    access_mode=\"ro\",\n    ip_address=\"192.168.1.1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudFileShareAccessRule = new Gcore.CloudFileShareAccessRule(\"example_cloud_file_share_access_rule\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FileShareId = \"bd8c47ee-e565-4e26-8840-b537e6827b08\",\n        AccessMode = \"ro\",\n        IpAddress = \"192.168.1.1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudFileShareAccessRule(ctx, \"example_cloud_file_share_access_rule\", &gcore.CloudFileShareAccessRuleArgs{\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t\tFileShareId: pulumi.String(\"bd8c47ee-e565-4e26-8840-b537e6827b08\"),\n\t\t\tAccessMode:  pulumi.String(\"ro\"),\n\t\t\tIpAddress:   pulumi.String(\"192.168.1.1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudFileShareAccessRule;\nimport com.pulumi.gcore.CloudFileShareAccessRuleArgs;\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 exampleCloudFileShareAccessRule = new CloudFileShareAccessRule(\"exampleCloudFileShareAccessRule\", CloudFileShareAccessRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .fileShareId(\"bd8c47ee-e565-4e26-8840-b537e6827b08\")\n            .accessMode(\"ro\")\n            .ipAddress(\"192.168.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleCloudFileShareAccessRule:\n    type: gcore:CloudFileShareAccessRule\n    name: example_cloud_file_share_access_rule\n    properties:\n      projectId: 1\n      regionId: 1\n      fileShareId: bd8c47ee-e565-4e26-8840-b537e6827b08\n      accessMode: ro\n      ipAddress: 192.168.1.1\n```\n<!--End PulumiCodeChooser -->\n","inputProperties":{"accessMode":{"description":"Access mode\nAvailable values: \"ro\", \"rw\".\n","type":"string"},"fileShareId":{"description":"File Share ID\n","type":"string"},"ipAddress":{"description":"Source IP or network\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"properties":{"accessLevel":{"description":"Access mode\nAvailable values: \"ro\", \"rw\".\n","type":"string"},"accessMode":{"description":"Access mode\nAvailable values: \"ro\", \"rw\".\n","type":"string"},"accessTo":{"description":"Source IP or network\n","type":"string"},"fileShareId":{"description":"File Share ID\n","type":"string"},"ipAddress":{"description":"Source IP or network\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"state":{"description":"Access Rule state\nAvailable values: \"active\", \"applying\", \"denying\", \"error\", \"new\", \"queued*to*apply\", \"queued*to*deny\".\n","type":"string"}},"required":["accessLevel","accessMode","accessTo","fileShareId","ipAddress","state"],"requiredInputs":["accessMode","fileShareId","ipAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudFileShareAccessRule resources.\n","properties":{"accessLevel":{"description":"Access mode\nAvailable values: \"ro\", \"rw\".\n","type":"string"},"accessMode":{"description":"Access mode\nAvailable values: \"ro\", \"rw\".\n","type":"string"},"accessTo":{"description":"Source IP or network\n","type":"string"},"fileShareId":{"description":"File Share ID\n","type":"string"},"ipAddress":{"description":"Source IP or network\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"state":{"description":"Access Rule state\nAvailable values: \"active\", \"applying\", \"denying\", \"error\", \"new\", \"queued*to*apply\", \"queued*to*deny\".\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudFloatingIp:CloudFloatingIp":{"description":"A floating IP is a static IP address that points to one of your Instances. It allows you to redirect network traffic to any of your Instances in the same datacenter.\n\n## Example Usage\n\n### Unattached floating IP\n\nAllocate a floating IP address without attaching it to any resource.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a floating IP address\nconst publicIp = new gcore.CloudFloatingIp(\"public_ip\", {\n    projectId: 1,\n    regionId: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a floating IP address\npublic_ip = gcore.CloudFloatingIp(\"public_ip\",\n    project_id=1,\n    region_id=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a floating IP address\n    var publicIp = new Gcore.CloudFloatingIp(\"public_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a floating IP address\n\t\t_, err := gcore.NewCloudFloatingIp(ctx, \"public_ip\", &gcore.CloudFloatingIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudFloatingIp;\nimport com.pulumi.gcore.CloudFloatingIpArgs;\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        // Create a floating IP address\n        var publicIp = new CloudFloatingIp(\"publicIp\", CloudFloatingIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a floating IP address\n  publicIp:\n    type: gcore:CloudFloatingIp\n    name: public_ip\n    properties:\n      projectId: 1\n      regionId: 1\n```\n<!--End PulumiCodeChooser -->\n\n### Attach to an instance port\n\nAllocate a floating IP and immediately attach it to an existing instance port.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Attach a floating IP to an existing instance port\nconst webIp = new gcore.CloudFloatingIp(\"web_ip\", {\n    projectId: 1,\n    regionId: 1,\n    portId: \"ee2402d0-f0cd-4503-9b75-69be1d11c5f1\",\n    fixedIpAddress: \"192.168.10.15\",\n    tags: {\n        environment: \"production\",\n        role: \"web-server\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Attach a floating IP to an existing instance port\nweb_ip = gcore.CloudFloatingIp(\"web_ip\",\n    project_id=1,\n    region_id=1,\n    port_id=\"ee2402d0-f0cd-4503-9b75-69be1d11c5f1\",\n    fixed_ip_address=\"192.168.10.15\",\n    tags={\n        \"environment\": \"production\",\n        \"role\": \"web-server\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Attach a floating IP to an existing instance port\n    var webIp = new Gcore.CloudFloatingIp(\"web_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        PortId = \"ee2402d0-f0cd-4503-9b75-69be1d11c5f1\",\n        FixedIpAddress = \"192.168.10.15\",\n        Tags = \n        {\n            { \"environment\", \"production\" },\n            { \"role\", \"web-server\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Attach a floating IP to an existing instance port\n\t\t_, err := gcore.NewCloudFloatingIp(ctx, \"web_ip\", &gcore.CloudFloatingIpArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tPortId:         pulumi.String(\"ee2402d0-f0cd-4503-9b75-69be1d11c5f1\"),\n\t\t\tFixedIpAddress: pulumi.String(\"192.168.10.15\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t\t\"role\":        pulumi.String(\"web-server\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudFloatingIp;\nimport com.pulumi.gcore.CloudFloatingIpArgs;\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        // Attach a floating IP to an existing instance port\n        var webIp = new CloudFloatingIp(\"webIp\", CloudFloatingIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .portId(\"ee2402d0-f0cd-4503-9b75-69be1d11c5f1\")\n            .fixedIpAddress(\"192.168.10.15\")\n            .tags(Map.ofEntries(\n                Map.entry(\"environment\", \"production\"),\n                Map.entry(\"role\", \"web-server\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Attach a floating IP to an existing instance port\n  webIp:\n    type: gcore:CloudFloatingIp\n    name: web_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      portId: ee2402d0-f0cd-4503-9b75-69be1d11c5f1\n      fixedIpAddress: 192.168.10.15\n      tags:\n        environment: production\n        role: web-server\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudFloatingIp:CloudFloatingIp example '<project_id>/<region_id>/<floating_ip_id>'\n```\n\n","inputProperties":{"fixedIpAddress":{"description":"If the port has multiple IP addresses, a specific one can be selected using this field. If not specified, the first IP in the port's list will be used by default.\n","type":"string"},"portId":{"description":"If provided, the floating IP will be immediately attached to the specified port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"If the port has multiple IP addresses, a specific one can be selected using this field. If not specified, the first IP in the port's list will be used by default.\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"portId":{"description":"If provided, the floating IP will be immediately attached to the specified port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"required":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","portId","region","routerId","status","tags"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudFloatingIp resources.\n","properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"If the port has multiple IP addresses, a specific one can be selected using this field. If not specified, the first IP in the port's list will be used by default.\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"portId":{"description":"If provided, the floating IP will be immediately attached to the specified port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"type":"object"},"type":"object"},"gcore:index/cloudGpuBaremetalCluster:CloudGpuBaremetalCluster":{"description":"## Example Usage\n\n### Prerequisite\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Prerequisite resources for GPU bare metal cluster examples\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    type: \"vlan\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n});\nconst keypair = new gcore.CloudSshKey(\"keypair\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... gcore@gcore.com\",\n});\nconst vast = gcore.getCloudFileShare({\n    projectId: 1,\n    regionId: 1,\n    findOneBy: {\n        name: \"my-files-share\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Prerequisite resources for GPU bare metal cluster examples\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    type=\"vlan\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id)\nkeypair = gcore.CloudSshKey(\"keypair\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... gcore@gcore.com\")\nvast = gcore.get_cloud_file_share(project_id=1,\n    region_id=1,\n    find_one_by={\n        \"name\": \"my-files-share\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Prerequisite resources for GPU bare metal cluster examples\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        Type = \"vlan\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n    });\n\n    var keypair = new Gcore.CloudSshKey(\"keypair\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... gcore@gcore.com\",\n    });\n\n    var vast = Gcore.GetCloudFileShare.Invoke(new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FindOneBy = new Gcore.Inputs.GetCloudFileShareFindOneByInputArgs\n        {\n            Name = \"my-files-share\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Prerequisite resources for GPU bare metal cluster examples\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t\tType:      pulumi.String(\"vlan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSshKey(ctx, \"keypair\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... gcore@gcore.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.LookupCloudFileShare(ctx, &gcore.LookupCloudFileShareArgs{\n\t\t\tProjectId: pulumi.Float64Ref(1),\n\t\t\tRegionId:  pulumi.Float64Ref(1),\n\t\t\tFindOneBy: gcore.GetCloudFileShareFindOneBy{\n\t\t\t\tName: pulumi.StringRef(\"my-files-share\"),\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.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.GcoreFunctions;\nimport com.pulumi.gcore.inputs.GetCloudFileShareArgs;\nimport com.pulumi.gcore.inputs.GetCloudFileShareFindOneByArgs;\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        // Prerequisite resources for GPU bare metal cluster examples\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .type(\"vlan\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .build());\n\n        var keypair = new CloudSshKey(\"keypair\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... gcore@gcore.com\")\n            .build());\n\n        final var vast = GcoreFunctions.getCloudFileShare(GetCloudFileShareArgs.builder()\n            .projectId(1)\n            .regionId(1)\n            .findOneBy(GetCloudFileShareFindOneByArgs.builder()\n                .name(\"my-files-share\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Prerequisite resources for GPU bare metal cluster examples\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n      type: vlan\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n  keypair:\n    type: gcore:CloudSshKey\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... gcore@gcore.com\nvariables:\n  vast:\n    fn::invoke:\n      function: gcore:getCloudFileShare\n      arguments:\n        projectId: 1\n        regionId: 1\n        findOneBy:\n          name: my-files-share\n```\n<!--End PulumiCodeChooser -->\n\n### Creating GPU cluster with one public interface and tags\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// GPU bare metal cluster with one public interface and tags\nconst gpuCluster = new gcore.CloudGpuBaremetalCluster(\"gpu_cluster\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm3-ai-ndp2-1xlarge-h100-80-8\",\n    imageId: \"234c133c-b37e-4744-8a26-dc32fe407066\",\n    name: \"my-gpu-cluster\",\n    serversCount: 1,\n    serversSettings: {\n        interfaces: [{\n            type: \"external\",\n        }],\n        credentials: {\n            sshKeyName: \"my-keypair\",\n        },\n    },\n    tags: {\n        \"my-tag-key\": \"my-tag-value\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# GPU bare metal cluster with one public interface and tags\ngpu_cluster = gcore.CloudGpuBaremetalCluster(\"gpu_cluster\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm3-ai-ndp2-1xlarge-h100-80-8\",\n    image_id=\"234c133c-b37e-4744-8a26-dc32fe407066\",\n    name=\"my-gpu-cluster\",\n    servers_count=1,\n    servers_settings={\n        \"interfaces\": [{\n            \"type\": \"external\",\n        }],\n        \"credentials\": {\n            \"ssh_key_name\": \"my-keypair\",\n        },\n    },\n    tags={\n        \"my-tag-key\": \"my-tag-value\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // GPU bare metal cluster with one public interface and tags\n    var gpuCluster = new Gcore.CloudGpuBaremetalCluster(\"gpu_cluster\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm3-ai-ndp2-1xlarge-h100-80-8\",\n        ImageId = \"234c133c-b37e-4744-8a26-dc32fe407066\",\n        Name = \"my-gpu-cluster\",\n        ServersCount = 1,\n        ServersSettings = new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsArgs\n        {\n            Interfaces = new[]\n            {\n                new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsInterfaceArgs\n                {\n                    Type = \"external\",\n                },\n            },\n            Credentials = new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsCredentialsArgs\n            {\n                SshKeyName = \"my-keypair\",\n            },\n        },\n        Tags = \n        {\n            { \"my-tag-key\", \"my-tag-value\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// GPU bare metal cluster with one public interface and tags\n\t\t_, err := gcore.NewCloudGpuBaremetalCluster(ctx, \"gpu_cluster\", &gcore.CloudGpuBaremetalClusterArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tFlavor:       pulumi.String(\"bm3-ai-ndp2-1xlarge-h100-80-8\"),\n\t\t\tImageId:      pulumi.String(\"234c133c-b37e-4744-8a26-dc32fe407066\"),\n\t\t\tName:         pulumi.String(\"my-gpu-cluster\"),\n\t\t\tServersCount: pulumi.Float64(1),\n\t\t\tServersSettings: &gcore.CloudGpuBaremetalClusterServersSettingsArgs{\n\t\t\t\tInterfaces: gcore.CloudGpuBaremetalClusterServersSettingsInterfaceArray{\n\t\t\t\t\t&gcore.CloudGpuBaremetalClusterServersSettingsInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"external\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCredentials: &gcore.CloudGpuBaremetalClusterServersSettingsCredentialsArgs{\n\t\t\t\t\tSshKeyName: pulumi.String(\"my-keypair\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"my-tag-key\": pulumi.String(\"my-tag-value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudGpuBaremetalCluster;\nimport com.pulumi.gcore.CloudGpuBaremetalClusterArgs;\nimport com.pulumi.gcore.inputs.CloudGpuBaremetalClusterServersSettingsArgs;\nimport com.pulumi.gcore.inputs.CloudGpuBaremetalClusterServersSettingsCredentialsArgs;\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        // GPU bare metal cluster with one public interface and tags\n        var gpuCluster = new CloudGpuBaremetalCluster(\"gpuCluster\", CloudGpuBaremetalClusterArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm3-ai-ndp2-1xlarge-h100-80-8\")\n            .imageId(\"234c133c-b37e-4744-8a26-dc32fe407066\")\n            .name(\"my-gpu-cluster\")\n            .serversCount(1.0)\n            .serversSettings(CloudGpuBaremetalClusterServersSettingsArgs.builder()\n                .interfaces(CloudGpuBaremetalClusterServersSettingsInterfaceArgs.builder()\n                    .type(\"external\")\n                    .build())\n                .credentials(CloudGpuBaremetalClusterServersSettingsCredentialsArgs.builder()\n                    .sshKeyName(\"my-keypair\")\n                    .build())\n                .build())\n            .tags(Map.of(\"my-tag-key\", \"my-tag-value\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # GPU bare metal cluster with one public interface and tags\n  gpuCluster:\n    type: gcore:CloudGpuBaremetalCluster\n    name: gpu_cluster\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm3-ai-ndp2-1xlarge-h100-80-8\n      imageId: 234c133c-b37e-4744-8a26-dc32fe407066\n      name: my-gpu-cluster\n      serversCount: 1\n      serversSettings:\n        interfaces:\n          - type: external\n        credentials:\n          sshKeyName: my-keypair\n      tags:\n        my-tag-key: my-tag-value\n```\n<!--End PulumiCodeChooser -->\n\n### Creating GPU cluster with two interfaces\n\nThis example demonstrates how to create a baremetal GPU cluster with two network interfaces: one public and one private.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// GPU bare metal cluster with two interfaces: one public and one private\nconst gpuCluster = new gcore.CloudGpuBaremetalCluster(\"gpu_cluster\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"bm3-ai-ndp2-1xlarge-h100-80-8\",\n    imageId: \"234c133c-b37e-4744-8a26-dc32fe407066\",\n    name: \"my-gpu-cluster\",\n    serversCount: 1,\n    serversSettings: {\n        interfaces: [\n            {\n                type: \"external\",\n            },\n            {\n                type: \"subnet\",\n                networkId: network.id,\n                subnetId: subnet.id,\n            },\n        ],\n        credentials: {\n            sshKeyName: \"my-keypair\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# GPU bare metal cluster with two interfaces: one public and one private\ngpu_cluster = gcore.CloudGpuBaremetalCluster(\"gpu_cluster\",\n    project_id=1,\n    region_id=1,\n    flavor=\"bm3-ai-ndp2-1xlarge-h100-80-8\",\n    image_id=\"234c133c-b37e-4744-8a26-dc32fe407066\",\n    name=\"my-gpu-cluster\",\n    servers_count=1,\n    servers_settings={\n        \"interfaces\": [\n            {\n                \"type\": \"external\",\n            },\n            {\n                \"type\": \"subnet\",\n                \"network_id\": network[\"id\"],\n                \"subnet_id\": subnet[\"id\"],\n            },\n        ],\n        \"credentials\": {\n            \"ssh_key_name\": \"my-keypair\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // GPU bare metal cluster with two interfaces: one public and one private\n    var gpuCluster = new Gcore.CloudGpuBaremetalCluster(\"gpu_cluster\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"bm3-ai-ndp2-1xlarge-h100-80-8\",\n        ImageId = \"234c133c-b37e-4744-8a26-dc32fe407066\",\n        Name = \"my-gpu-cluster\",\n        ServersCount = 1,\n        ServersSettings = new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsArgs\n        {\n            Interfaces = new[]\n            {\n                new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsInterfaceArgs\n                {\n                    Type = \"external\",\n                },\n                new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsInterfaceArgs\n                {\n                    Type = \"subnet\",\n                    NetworkId = network.Id,\n                    SubnetId = subnet.Id,\n                },\n            },\n            Credentials = new Gcore.Inputs.CloudGpuBaremetalClusterServersSettingsCredentialsArgs\n            {\n                SshKeyName = \"my-keypair\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// GPU bare metal cluster with two interfaces: one public and one private\n\t\t_, err := gcore.NewCloudGpuBaremetalCluster(ctx, \"gpu_cluster\", &gcore.CloudGpuBaremetalClusterArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tFlavor:       pulumi.String(\"bm3-ai-ndp2-1xlarge-h100-80-8\"),\n\t\t\tImageId:      pulumi.String(\"234c133c-b37e-4744-8a26-dc32fe407066\"),\n\t\t\tName:         pulumi.String(\"my-gpu-cluster\"),\n\t\t\tServersCount: pulumi.Float64(1),\n\t\t\tServersSettings: &gcore.CloudGpuBaremetalClusterServersSettingsArgs{\n\t\t\t\tInterfaces: gcore.CloudGpuBaremetalClusterServersSettingsInterfaceArray{\n\t\t\t\t\t&gcore.CloudGpuBaremetalClusterServersSettingsInterfaceArgs{\n\t\t\t\t\t\tType: pulumi.String(\"external\"),\n\t\t\t\t\t},\n\t\t\t\t\t&gcore.CloudGpuBaremetalClusterServersSettingsInterfaceArgs{\n\t\t\t\t\t\tType:      pulumi.String(\"subnet\"),\n\t\t\t\t\t\tNetworkId: pulumi.Any(network.Id),\n\t\t\t\t\t\tSubnetId:  pulumi.Any(subnet.Id),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCredentials: &gcore.CloudGpuBaremetalClusterServersSettingsCredentialsArgs{\n\t\t\t\t\tSshKeyName: pulumi.String(\"my-keypair\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudGpuBaremetalCluster;\nimport com.pulumi.gcore.CloudGpuBaremetalClusterArgs;\nimport com.pulumi.gcore.inputs.CloudGpuBaremetalClusterServersSettingsArgs;\nimport com.pulumi.gcore.inputs.CloudGpuBaremetalClusterServersSettingsCredentialsArgs;\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        // GPU bare metal cluster with two interfaces: one public and one private\n        var gpuCluster = new CloudGpuBaremetalCluster(\"gpuCluster\", CloudGpuBaremetalClusterArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"bm3-ai-ndp2-1xlarge-h100-80-8\")\n            .imageId(\"234c133c-b37e-4744-8a26-dc32fe407066\")\n            .name(\"my-gpu-cluster\")\n            .serversCount(1.0)\n            .serversSettings(CloudGpuBaremetalClusterServersSettingsArgs.builder()\n                .interfaces(                \n                    CloudGpuBaremetalClusterServersSettingsInterfaceArgs.builder()\n                        .type(\"external\")\n                        .build(),\n                    CloudGpuBaremetalClusterServersSettingsInterfaceArgs.builder()\n                        .type(\"subnet\")\n                        .networkId(network.id())\n                        .subnetId(subnet.id())\n                        .build())\n                .credentials(CloudGpuBaremetalClusterServersSettingsCredentialsArgs.builder()\n                    .sshKeyName(\"my-keypair\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # GPU bare metal cluster with two interfaces: one public and one private\n  gpuCluster:\n    type: gcore:CloudGpuBaremetalCluster\n    name: gpu_cluster\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: bm3-ai-ndp2-1xlarge-h100-80-8\n      imageId: 234c133c-b37e-4744-8a26-dc32fe407066\n      name: my-gpu-cluster\n      serversCount: 1\n      serversSettings:\n        interfaces:\n          - type: external\n          - type: subnet\n            networkId: ${network.id}\n            subnetId: ${subnet.id}\n        credentials:\n          sshKeyName: my-keypair\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudGpuBaremetalCluster:CloudGpuBaremetalCluster example '<project_id>/<region_id>/<cluster_id>'\n```\n\n","inputProperties":{"flavor":{"description":"Cluster flavor ID\n","type":"string"},"imageId":{"description":"System image ID\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Number of servers in the cluster\n","type":"number"},"serversSettings":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettings:CloudGpuBaremetalClusterServersSettings","description":"Configuration settings for the servers in the cluster\n"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"properties":{"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor ID\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"imageId":{"description":"System image ID\n","type":"string"},"managedBy":{"description":"User type managing the resource\nAvailable values: \"k8s\", \"user\".\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Number of servers in the cluster\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettings:CloudGpuBaremetalClusterServersSettings","description":"Configuration settings for the servers in the cluster\n"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"tasks":{"description":"List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:\n","items":{"type":"string"},"type":"array"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"required":["createdAt","flavor","hasPendingChanges","imageId","managedBy","name","serversCount","serversIds","serversSettings","status","tags","tasks","updatedAt"],"requiredInputs":["flavor","imageId","serversCount","serversSettings"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudGpuBaremetalCluster resources.\n","properties":{"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor ID\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"imageId":{"description":"System image ID\n","type":"string"},"managedBy":{"description":"User type managing the resource\nAvailable values: \"k8s\", \"user\".\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Number of servers in the cluster\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettings:CloudGpuBaremetalClusterServersSettings","description":"Configuration settings for the servers in the cluster\n"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"tasks":{"description":"List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:\n","items":{"type":"string"},"type":"array"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudGpuBaremetalClusterImage:CloudGpuBaremetalClusterImage":{"description":"GPU bare metal images are custom boot images for bare metal GPU servers.\n\n## Example Usage\n\n### Upload custom image from URL\n\nUpload a custom OS image for use with GPU bare metal clusters.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Upload a custom image for GPU bare metal clusters\nconst ubuntu = new gcore.CloudGpuBaremetalClusterImage(\"ubuntu\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"ubuntu-gpu-baremetal\",\n    url: \"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n    architecture: \"x86_64\",\n    osType: \"linux\",\n    sshKey: \"allow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Upload a custom image for GPU bare metal clusters\nubuntu = gcore.CloudGpuBaremetalClusterImage(\"ubuntu\",\n    project_id=1,\n    region_id=1,\n    name=\"ubuntu-gpu-baremetal\",\n    url=\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n    architecture=\"x86_64\",\n    os_type=\"linux\",\n    ssh_key=\"allow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Upload a custom image for GPU bare metal clusters\n    var ubuntu = new Gcore.CloudGpuBaremetalClusterImage(\"ubuntu\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"ubuntu-gpu-baremetal\",\n        Url = \"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n        Architecture = \"x86_64\",\n        OsType = \"linux\",\n        SshKey = \"allow\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Upload a custom image for GPU bare metal clusters\n\t\t_, err := gcore.NewCloudGpuBaremetalClusterImage(ctx, \"ubuntu\", &gcore.CloudGpuBaremetalClusterImageArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"ubuntu-gpu-baremetal\"),\n\t\t\tUrl:          pulumi.String(\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\"),\n\t\t\tArchitecture: pulumi.String(\"x86_64\"),\n\t\t\tOsType:       pulumi.String(\"linux\"),\n\t\t\tSshKey:       pulumi.String(\"allow\"),\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.gcore.CloudGpuBaremetalClusterImage;\nimport com.pulumi.gcore.CloudGpuBaremetalClusterImageArgs;\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        // Upload a custom image for GPU bare metal clusters\n        var ubuntu = new CloudGpuBaremetalClusterImage(\"ubuntu\", CloudGpuBaremetalClusterImageArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"ubuntu-gpu-baremetal\")\n            .url(\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\")\n            .architecture(\"x86_64\")\n            .osType(\"linux\")\n            .sshKey(\"allow\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Upload a custom image for GPU bare metal clusters\n  ubuntu:\n    type: gcore:CloudGpuBaremetalClusterImage\n    properties:\n      projectId: 1\n      regionId: 1\n      name: ubuntu-gpu-baremetal\n      url: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\n      architecture: x86_64\n      osType: linux\n      sshKey: allow\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudGpuBaremetalClusterImage:CloudGpuBaremetalClusterImage example '<project_id>/<region_id>/<image_id>'\n```\n\n","inputProperties":{"architecture":{"description":"Image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image. Linux by default\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"sshKey":{"description":"Permission to use a ssh key in instances\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"url":{"description":"Image URL\n","type":"string"}},"properties":{"architecture":{"description":"Image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image. Linux by default\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Image size in bytes.\n","type":"number"},"sshKey":{"description":"Permission to use a ssh key in instances\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"url":{"description":"Image URL\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"required":["architecture","cowFormat","createdAt","gpuDriver","gpuDriverType","gpuDriverVersion","minDisk","minRam","name","osType","size","sshKey","status","tags","updatedAt","url","visibility"],"requiredInputs":["url"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudGpuBaremetalClusterImage resources.\n","properties":{"architecture":{"description":"Image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image. Linux by default\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Image size in bytes.\n","type":"number"},"sshKey":{"description":"Permission to use a ssh key in instances\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"url":{"description":"Image URL\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudGpuVirtualCluster:CloudGpuVirtualCluster":{"description":"GPU virtual clusters provide managed virtual GPU servers with auto-scaling for parallel computation workloads.\n\n## Example Usage\n\n### Basic GPU cluster with public networking\n\nCreate a GPU virtual cluster with external IPv4 networking and a boot volume from an image.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a GPU virtual cluster with public networking\nconst example = new gcore.CloudGpuVirtualCluster(\"example\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-gpu-cluster\",\n    flavor: \"g3-ai-192-1536-12000-l40s-48-8\",\n    serversCount: 2,\n    serversSettings: {\n        interfaces: [{\n            name: \"pub_net\",\n            type: \"external\",\n            ipFamily: \"ipv4\",\n        }],\n        volumes: [{\n            name: \"root-volume\",\n            size: 120,\n            type: \"ssd_hiiops\",\n            source: \"image\",\n            imageId: \"4536337d-17c7-48f4-8ac5-01a41dc06f58\",\n            bootIndex: 0,\n        }],\n        credentials: {\n            sshKeyName: \"my-ssh-key\",\n        },\n    },\n    tags: {\n        environment: \"ml-training\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a GPU virtual cluster with public networking\nexample = gcore.CloudGpuVirtualCluster(\"example\",\n    project_id=1,\n    region_id=1,\n    name=\"my-gpu-cluster\",\n    flavor=\"g3-ai-192-1536-12000-l40s-48-8\",\n    servers_count=2,\n    servers_settings={\n        \"interfaces\": [{\n            \"name\": \"pub_net\",\n            \"type\": \"external\",\n            \"ip_family\": \"ipv4\",\n        }],\n        \"volumes\": [{\n            \"name\": \"root-volume\",\n            \"size\": 120,\n            \"type\": \"ssd_hiiops\",\n            \"source\": \"image\",\n            \"image_id\": \"4536337d-17c7-48f4-8ac5-01a41dc06f58\",\n            \"boot_index\": 0,\n        }],\n        \"credentials\": {\n            \"ssh_key_name\": \"my-ssh-key\",\n        },\n    },\n    tags={\n        \"environment\": \"ml-training\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a GPU virtual cluster with public networking\n    var example = new Gcore.CloudGpuVirtualCluster(\"example\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-gpu-cluster\",\n        Flavor = \"g3-ai-192-1536-12000-l40s-48-8\",\n        ServersCount = 2,\n        ServersSettings = new Gcore.Inputs.CloudGpuVirtualClusterServersSettingsArgs\n        {\n            Interfaces = new[]\n            {\n                new Gcore.Inputs.CloudGpuVirtualClusterServersSettingsInterfaceArgs\n                {\n                    Name = \"pub_net\",\n                    Type = \"external\",\n                    IpFamily = \"ipv4\",\n                },\n            },\n            Volumes = new[]\n            {\n                new Gcore.Inputs.CloudGpuVirtualClusterServersSettingsVolumeArgs\n                {\n                    Name = \"root-volume\",\n                    Size = 120,\n                    Type = \"ssd_hiiops\",\n                    Source = \"image\",\n                    ImageId = \"4536337d-17c7-48f4-8ac5-01a41dc06f58\",\n                    BootIndex = 0,\n                },\n            },\n            Credentials = new Gcore.Inputs.CloudGpuVirtualClusterServersSettingsCredentialsArgs\n            {\n                SshKeyName = \"my-ssh-key\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"ml-training\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a GPU virtual cluster with public networking\n\t\t_, err := gcore.NewCloudGpuVirtualCluster(ctx, \"example\", &gcore.CloudGpuVirtualClusterArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"my-gpu-cluster\"),\n\t\t\tFlavor:       pulumi.String(\"g3-ai-192-1536-12000-l40s-48-8\"),\n\t\t\tServersCount: pulumi.Float64(2),\n\t\t\tServersSettings: &gcore.CloudGpuVirtualClusterServersSettingsArgs{\n\t\t\t\tInterfaces: gcore.CloudGpuVirtualClusterServersSettingsInterfaceArray{\n\t\t\t\t\t&gcore.CloudGpuVirtualClusterServersSettingsInterfaceArgs{\n\t\t\t\t\t\tName:     pulumi.String(\"pub_net\"),\n\t\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tVolumes: gcore.CloudGpuVirtualClusterServersSettingsVolumeArray{\n\t\t\t\t\t&gcore.CloudGpuVirtualClusterServersSettingsVolumeArgs{\n\t\t\t\t\t\tName:      pulumi.String(\"root-volume\"),\n\t\t\t\t\t\tSize:      pulumi.Float64(120),\n\t\t\t\t\t\tType:      pulumi.String(\"ssd_hiiops\"),\n\t\t\t\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\t\t\t\tImageId:   pulumi.String(\"4536337d-17c7-48f4-8ac5-01a41dc06f58\"),\n\t\t\t\t\t\tBootIndex: pulumi.Float64(0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCredentials: &gcore.CloudGpuVirtualClusterServersSettingsCredentialsArgs{\n\t\t\t\t\tSshKeyName: pulumi.String(\"my-ssh-key\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"ml-training\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudGpuVirtualCluster;\nimport com.pulumi.gcore.CloudGpuVirtualClusterArgs;\nimport com.pulumi.gcore.inputs.CloudGpuVirtualClusterServersSettingsArgs;\nimport com.pulumi.gcore.inputs.CloudGpuVirtualClusterServersSettingsCredentialsArgs;\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        // Create a GPU virtual cluster with public networking\n        var example = new CloudGpuVirtualCluster(\"example\", CloudGpuVirtualClusterArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-gpu-cluster\")\n            .flavor(\"g3-ai-192-1536-12000-l40s-48-8\")\n            .serversCount(2.0)\n            .serversSettings(CloudGpuVirtualClusterServersSettingsArgs.builder()\n                .interfaces(CloudGpuVirtualClusterServersSettingsInterfaceArgs.builder()\n                    .name(\"pub_net\")\n                    .type(\"external\")\n                    .ipFamily(\"ipv4\")\n                    .build())\n                .volumes(CloudGpuVirtualClusterServersSettingsVolumeArgs.builder()\n                    .name(\"root-volume\")\n                    .size(120.0)\n                    .type(\"ssd_hiiops\")\n                    .source(\"image\")\n                    .imageId(\"4536337d-17c7-48f4-8ac5-01a41dc06f58\")\n                    .bootIndex(0.0)\n                    .build())\n                .credentials(CloudGpuVirtualClusterServersSettingsCredentialsArgs.builder()\n                    .sshKeyName(\"my-ssh-key\")\n                    .build())\n                .build())\n            .tags(Map.of(\"environment\", \"ml-training\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a GPU virtual cluster with public networking\n  example:\n    type: gcore:CloudGpuVirtualCluster\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-gpu-cluster\n      flavor: g3-ai-192-1536-12000-l40s-48-8\n      serversCount: 2\n      serversSettings:\n        interfaces:\n          - name: pub_net\n            type: external\n            ipFamily: ipv4\n        volumes:\n          - name: root-volume\n            size: 120\n            type: ssd_hiiops\n            source: image\n            imageId: 4536337d-17c7-48f4-8ac5-01a41dc06f58\n            bootIndex: 0\n        credentials:\n          sshKeyName: my-ssh-key\n      tags:\n        environment: ml-training\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudGpuVirtualCluster:CloudGpuVirtualCluster example '<project_id>/<region_id>/<cluster_id>'\n```\n\n","inputProperties":{"flavor":{"description":"Cluster flavor ID\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Number of servers in the cluster\n","type":"number"},"serversSettings":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettings:CloudGpuVirtualClusterServersSettings","description":"Configuration settings for the servers in the cluster\n"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"properties":{"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor ID\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Number of servers in the cluster\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettings:CloudGpuVirtualClusterServersSettings","description":"Configuration settings for the servers in the cluster\n"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"required":["createdAt","flavor","hasPendingChanges","name","serversCount","serversIds","serversSettings","status","tags","updatedAt"],"requiredInputs":["flavor","serversCount","serversSettings"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudGpuVirtualCluster resources.\n","properties":{"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor ID\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"name":{"description":"Cluster name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"serversCount":{"description":"Number of servers in the cluster\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettings:CloudGpuVirtualClusterServersSettings","description":"Configuration settings for the servers in the cluster\n"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudGpuVirtualClusterImage:CloudGpuVirtualClusterImage":{"description":"GPU virtual images are custom boot images for virtual GPU cluster instances.\n\n## Example Usage\n\n### Upload custom image from URL\n\nUpload a custom OS image for use with GPU virtual clusters.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Upload a custom image for GPU virtual clusters\nconst ubuntu = new gcore.CloudGpuVirtualClusterImage(\"ubuntu\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"ubuntu-gpu-virtual\",\n    url: \"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n    architecture: \"x86_64\",\n    osType: \"linux\",\n    sshKey: \"allow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Upload a custom image for GPU virtual clusters\nubuntu = gcore.CloudGpuVirtualClusterImage(\"ubuntu\",\n    project_id=1,\n    region_id=1,\n    name=\"ubuntu-gpu-virtual\",\n    url=\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n    architecture=\"x86_64\",\n    os_type=\"linux\",\n    ssh_key=\"allow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Upload a custom image for GPU virtual clusters\n    var ubuntu = new Gcore.CloudGpuVirtualClusterImage(\"ubuntu\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"ubuntu-gpu-virtual\",\n        Url = \"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n        Architecture = \"x86_64\",\n        OsType = \"linux\",\n        SshKey = \"allow\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Upload a custom image for GPU virtual clusters\n\t\t_, err := gcore.NewCloudGpuVirtualClusterImage(ctx, \"ubuntu\", &gcore.CloudGpuVirtualClusterImageArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"ubuntu-gpu-virtual\"),\n\t\t\tUrl:          pulumi.String(\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\"),\n\t\t\tArchitecture: pulumi.String(\"x86_64\"),\n\t\t\tOsType:       pulumi.String(\"linux\"),\n\t\t\tSshKey:       pulumi.String(\"allow\"),\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.gcore.CloudGpuVirtualClusterImage;\nimport com.pulumi.gcore.CloudGpuVirtualClusterImageArgs;\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        // Upload a custom image for GPU virtual clusters\n        var ubuntu = new CloudGpuVirtualClusterImage(\"ubuntu\", CloudGpuVirtualClusterImageArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"ubuntu-gpu-virtual\")\n            .url(\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\")\n            .architecture(\"x86_64\")\n            .osType(\"linux\")\n            .sshKey(\"allow\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Upload a custom image for GPU virtual clusters\n  ubuntu:\n    type: gcore:CloudGpuVirtualClusterImage\n    properties:\n      projectId: 1\n      regionId: 1\n      name: ubuntu-gpu-virtual\n      url: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\n      architecture: x86_64\n      osType: linux\n      sshKey: allow\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudGpuVirtualClusterImage:CloudGpuVirtualClusterImage example '<project_id>/<region_id>/<image_id>'\n```\n\n","inputProperties":{"architecture":{"description":"Image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image. Linux by default\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"sshKey":{"description":"Permission to use a ssh key in instances\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"url":{"description":"Image URL\n","type":"string"}},"properties":{"architecture":{"description":"Image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image. Linux by default\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Image size in bytes.\n","type":"number"},"sshKey":{"description":"Permission to use a ssh key in instances\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"url":{"description":"Image URL\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"required":["architecture","cowFormat","createdAt","gpuDriver","gpuDriverType","gpuDriverVersion","minDisk","minRam","name","osType","size","sshKey","status","tags","updatedAt","url","visibility"],"requiredInputs":["url"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudGpuVirtualClusterImage resources.\n","properties":{"architecture":{"description":"Image architecture type: aarch64, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image. Linux by default\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 19.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Image size in bytes.\n","type":"number"},"sshKey":{"description":"Permission to use a ssh key in instances\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"url":{"description":"Image URL\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudInferenceRegistryCredential:CloudInferenceRegistryCredential":{"description":"Registry credentials store authentication details for private container registries used by inference deployments.\n\n## Example Usage\n\n### Docker Hub registry credential\n\nCreate a container registry credential for pulling private images from Docker Hub.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a container registry credential for private image pulls\nconst example = new gcore.CloudInferenceRegistryCredential(\"example\", {\n    projectId: 1,\n    name: \"docker-io\",\n    username: \"my-username\",\n    passwordWo: \"my-password\",\n    passwordWoVersion: 1,\n    registryUrl: \"docker.io\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a container registry credential for private image pulls\nexample = gcore.CloudInferenceRegistryCredential(\"example\",\n    project_id=1,\n    name=\"docker-io\",\n    username=\"my-username\",\n    password_wo=\"my-password\",\n    password_wo_version=1,\n    registry_url=\"docker.io\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a container registry credential for private image pulls\n    var example = new Gcore.CloudInferenceRegistryCredential(\"example\", new()\n    {\n        ProjectId = 1,\n        Name = \"docker-io\",\n        Username = \"my-username\",\n        PasswordWo = \"my-password\",\n        PasswordWoVersion = 1,\n        RegistryUrl = \"docker.io\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a container registry credential for private image pulls\n\t\t_, err := gcore.NewCloudInferenceRegistryCredential(ctx, \"example\", &gcore.CloudInferenceRegistryCredentialArgs{\n\t\t\tProjectId:         pulumi.Float64(1),\n\t\t\tName:              pulumi.String(\"docker-io\"),\n\t\t\tUsername:          pulumi.String(\"my-username\"),\n\t\t\tPasswordWo:        pulumi.String(\"my-password\"),\n\t\t\tPasswordWoVersion: pulumi.Float64(1),\n\t\t\tRegistryUrl:       pulumi.String(\"docker.io\"),\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.gcore.CloudInferenceRegistryCredential;\nimport com.pulumi.gcore.CloudInferenceRegistryCredentialArgs;\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        // Create a container registry credential for private image pulls\n        var example = new CloudInferenceRegistryCredential(\"example\", CloudInferenceRegistryCredentialArgs.builder()\n            .projectId(1.0)\n            .name(\"docker-io\")\n            .username(\"my-username\")\n            .passwordWo(\"my-password\")\n            .passwordWoVersion(1.0)\n            .registryUrl(\"docker.io\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a container registry credential for private image pulls\n  example:\n    type: gcore:CloudInferenceRegistryCredential\n    properties:\n      projectId: 1\n      name: docker-io\n      username: my-username\n      passwordWo: my-password\n      passwordWoVersion: 1\n      registryUrl: docker.io\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudInferenceRegistryCredential:CloudInferenceRegistryCredential example '<project_id>/<credential_name>'\n```\n\n","inputProperties":{"name":{"description":"Registry credential name.","type":"string"},"passwordWo":{"description":"Registry password.","type":"string"},"passwordWoVersion":{"description":"Registry credential password write-only version. Used to trigger updates of the write-only password field.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"registryUrl":{"description":"Registry URL.","type":"string"},"username":{"description":"Registry username.","type":"string"}},"properties":{"name":{"description":"Registry credential name.","type":"string"},"passwordWo":{"description":"Registry password.","type":"string"},"passwordWoVersion":{"description":"Registry credential password write-only version. Used to trigger updates of the write-only password field.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"registryUrl":{"description":"Registry URL.","type":"string"},"username":{"description":"Registry username.","type":"string"}},"required":["name","passwordWo","passwordWoVersion","registryUrl","username"],"requiredInputs":["passwordWo","passwordWoVersion","registryUrl","username"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudInferenceRegistryCredential resources.\n","properties":{"name":{"description":"Registry credential name.","type":"string"},"passwordWo":{"description":"Registry password.","type":"string"},"passwordWoVersion":{"description":"Registry credential password write-only version. Used to trigger updates of the write-only password field.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"registryUrl":{"description":"Registry URL.","type":"string"},"username":{"description":"Registry username.","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudInferenceSecret:CloudInferenceSecret":{"description":"Inference secrets store sensitive values such as AWS credentials used for SQS-based autoscaling triggers in deployments.\n\n## Example Usage\n\n### AWS IAM secret for SQS triggers\n\nCreate an AWS IAM secret for use with inference deployment SQS triggers.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an AWS IAM secret for use with inference SQS triggers\nconst example = new gcore.CloudInferenceSecret(\"example\", {\n    projectId: 1,\n    name: \"my-aws-iam-secret\",\n    type: \"aws-iam\",\n    dataWoVersion: 1,\n    data: {\n        awsAccessKeyIdWo: \"my-aws-access-key-id\",\n        awsSecretAccessKeyWo: \"my-aws-secret-key\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an AWS IAM secret for use with inference SQS triggers\nexample = gcore.CloudInferenceSecret(\"example\",\n    project_id=1,\n    name=\"my-aws-iam-secret\",\n    type=\"aws-iam\",\n    data_wo_version=1,\n    data={\n        \"aws_access_key_id_wo\": \"my-aws-access-key-id\",\n        \"aws_secret_access_key_wo\": \"my-aws-secret-key\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an AWS IAM secret for use with inference SQS triggers\n    var example = new Gcore.CloudInferenceSecret(\"example\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-aws-iam-secret\",\n        Type = \"aws-iam\",\n        DataWoVersion = 1,\n        Data = new Gcore.Inputs.CloudInferenceSecretDataArgs\n        {\n            AwsAccessKeyIdWo = \"my-aws-access-key-id\",\n            AwsSecretAccessKeyWo = \"my-aws-secret-key\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an AWS IAM secret for use with inference SQS triggers\n\t\t_, err := gcore.NewCloudInferenceSecret(ctx, \"example\", &gcore.CloudInferenceSecretArgs{\n\t\t\tProjectId:     pulumi.Float64(1),\n\t\t\tName:          pulumi.String(\"my-aws-iam-secret\"),\n\t\t\tType:          pulumi.String(\"aws-iam\"),\n\t\t\tDataWoVersion: pulumi.Float64(1),\n\t\t\tData: &gcore.CloudInferenceSecretDataArgs{\n\t\t\t\tAwsAccessKeyIdWo:     pulumi.String(\"my-aws-access-key-id\"),\n\t\t\t\tAwsSecretAccessKeyWo: pulumi.String(\"my-aws-secret-key\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudInferenceSecret;\nimport com.pulumi.gcore.CloudInferenceSecretArgs;\nimport com.pulumi.gcore.inputs.CloudInferenceSecretDataArgs;\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        // Create an AWS IAM secret for use with inference SQS triggers\n        var example = new CloudInferenceSecret(\"example\", CloudInferenceSecretArgs.builder()\n            .projectId(1.0)\n            .name(\"my-aws-iam-secret\")\n            .type(\"aws-iam\")\n            .dataWoVersion(1.0)\n            .data(CloudInferenceSecretDataArgs.builder()\n                .awsAccessKeyIdWo(\"my-aws-access-key-id\")\n                .awsSecretAccessKeyWo(\"my-aws-secret-key\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an AWS IAM secret for use with inference SQS triggers\n  example:\n    type: gcore:CloudInferenceSecret\n    properties:\n      projectId: 1\n      name: my-aws-iam-secret\n      type: aws-iam\n      dataWoVersion: 1\n      data:\n        awsAccessKeyIdWo: my-aws-access-key-id\n        awsSecretAccessKeyWo: my-aws-secret-key\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudInferenceSecret:CloudInferenceSecret example '<project_id>/<secret_name>'\n```\n\n","inputProperties":{"data":{"$ref":"#/types/gcore:index%2FCloudInferenceSecretData:CloudInferenceSecretData","description":"Secret data.\n"},"dataWoVersion":{"description":"The version of the data sensitive params - used to trigger updates of write-only params.\n","type":"number"},"name":{"description":"Secret name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"type":{"description":"Secret type. Currently only `aws-iam` is supported.\n","type":"string"}},"properties":{"data":{"$ref":"#/types/gcore:index%2FCloudInferenceSecretData:CloudInferenceSecretData","description":"Secret data.\n"},"dataWoVersion":{"description":"The version of the data sensitive params - used to trigger updates of write-only params.\n","type":"number"},"name":{"description":"Secret name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"type":{"description":"Secret type. Currently only `aws-iam` is supported.\n","type":"string"}},"required":["data","dataWoVersion","name","type"],"requiredInputs":["data","dataWoVersion","type"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudInferenceSecret resources.\n","properties":{"data":{"$ref":"#/types/gcore:index%2FCloudInferenceSecretData:CloudInferenceSecretData","description":"Secret data.\n"},"dataWoVersion":{"description":"The version of the data sensitive params - used to trigger updates of write-only params.\n","type":"number"},"name":{"description":"Secret name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"type":{"description":"Secret type. Currently only `aws-iam` is supported.\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudInstance:CloudInstance":{"description":"Instances are cloud virtual machines with configurable CPU, memory, storage, and networking, supporting various operating systems and workloads.\n\n## Example Usage\n\n### Instance with one public interface\n\nCreate a basic instance with a single external IPv4 interface.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an SSH key for instance access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n});\n// Create an instance with a single external interface\nconst instanceWithOneInterface = new gcore.CloudInstance(\"instance_with_one_interface\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"g1-standard-2-4\",\n    name: \"my-instance\",\n    sshKeyName: myKey.name,\n    volumes: [{\n        volumeId: bootVolume.id,\n    }],\n    interfaces: [{\n        type: \"external\",\n        ipFamily: \"ipv4\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an SSH key for instance access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\")\n# Create an instance with a single external interface\ninstance_with_one_interface = gcore.CloudInstance(\"instance_with_one_interface\",\n    project_id=1,\n    region_id=1,\n    flavor=\"g1-standard-2-4\",\n    name=\"my-instance\",\n    ssh_key_name=my_key.name,\n    volumes=[{\n        \"volume_id\": boot_volume.id,\n    }],\n    interfaces=[{\n        \"type\": \"external\",\n        \"ip_family\": \"ipv4\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an SSH key for instance access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n    });\n\n    // Create an instance with a single external interface\n    var instanceWithOneInterface = new Gcore.CloudInstance(\"instance_with_one_interface\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"g1-standard-2-4\",\n        Name = \"my-instance\",\n        SshKeyName = myKey.Name,\n        Volumes = new[]\n        {\n            new Gcore.Inputs.CloudInstanceVolumeArgs\n            {\n                VolumeId = bootVolume.Id,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"ipv4\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an SSH key for instance access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a boot volume from an image\n\t\tbootVolume, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an instance with a single external interface\n\t\t_, err = gcore.NewCloudInstance(ctx, \"instance_with_one_interface\", &gcore.CloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"g1-standard-2-4\"),\n\t\t\tName:       pulumi.String(\"my-instance\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tVolumes: gcore.CloudInstanceVolumeArray{\n\t\t\t\t&gcore.CloudInstanceVolumeArgs{\n\t\t\t\t\tVolumeId: bootVolume.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudInstanceInterfaceArray{\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\nimport com.pulumi.gcore.CloudInstance;\nimport com.pulumi.gcore.CloudInstanceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceVolumeArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceArgs;\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        // Create an SSH key for instance access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .build());\n\n        // Create an instance with a single external interface\n        var instanceWithOneInterface = new CloudInstance(\"instanceWithOneInterface\", CloudInstanceArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"g1-standard-2-4\")\n            .name(\"my-instance\")\n            .sshKeyName(myKey.name())\n            .volumes(CloudInstanceVolumeArgs.builder()\n                .volumeId(bootVolume.id())\n                .build())\n            .interfaces(CloudInstanceInterfaceArgs.builder()\n                .type(\"external\")\n                .ipFamily(\"ipv4\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an SSH key for instance access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n  # Create an instance with a single external interface\n  instanceWithOneInterface:\n    type: gcore:CloudInstance\n    name: instance_with_one_interface\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      sshKeyName: ${myKey.name}\n      volumes:\n        - volumeId: ${bootVolume.id}\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n```\n<!--End PulumiCodeChooser -->\n\n### Instance with two interfaces\n\nCreate an instance with two network interfaces: one public and one private.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a private network and subnet\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    type: \"vxlan\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n});\n// Create an SSH key for instance access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n});\n// Create an instance with two interfaces: one public, one private\nconst instanceWithTwoInterfaces = new gcore.CloudInstance(\"instance_with_two_interfaces\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"g1-standard-2-4\",\n    name: \"my-instance\",\n    sshKeyName: myKey.name,\n    volumes: [{\n        volumeId: bootVolume.id,\n    }],\n    interfaces: [\n        {\n            type: \"external\",\n            ipFamily: \"ipv4\",\n        },\n        {\n            type: \"subnet\",\n            networkId: network.id,\n            subnetId: subnet.id,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a private network and subnet\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    type=\"vxlan\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ])\n# Create an SSH key for instance access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\")\n# Create an instance with two interfaces: one public, one private\ninstance_with_two_interfaces = gcore.CloudInstance(\"instance_with_two_interfaces\",\n    project_id=1,\n    region_id=1,\n    flavor=\"g1-standard-2-4\",\n    name=\"my-instance\",\n    ssh_key_name=my_key.name,\n    volumes=[{\n        \"volume_id\": boot_volume.id,\n    }],\n    interfaces=[\n        {\n            \"type\": \"external\",\n            \"ip_family\": \"ipv4\",\n        },\n        {\n            \"type\": \"subnet\",\n            \"network_id\": network.id,\n            \"subnet_id\": subnet.id,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a private network and subnet\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        Type = \"vxlan\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n    });\n\n    // Create an SSH key for instance access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n    });\n\n    // Create an instance with two interfaces: one public, one private\n    var instanceWithTwoInterfaces = new Gcore.CloudInstance(\"instance_with_two_interfaces\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"g1-standard-2-4\",\n        Name = \"my-instance\",\n        SshKeyName = myKey.Name,\n        Volumes = new[]\n        {\n            new Gcore.Inputs.CloudInstanceVolumeArgs\n            {\n                VolumeId = bootVolume.Id,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"ipv4\",\n            },\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"subnet\",\n                NetworkId = network.Id,\n                SubnetId = subnet.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a private network and subnet\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t\tType:      pulumi.String(\"vxlan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an SSH key for instance access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a boot volume from an image\n\t\tbootVolume, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an instance with two interfaces: one public, one private\n\t\t_, err = gcore.NewCloudInstance(ctx, \"instance_with_two_interfaces\", &gcore.CloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"g1-standard-2-4\"),\n\t\t\tName:       pulumi.String(\"my-instance\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tVolumes: gcore.CloudInstanceVolumeArray{\n\t\t\t\t&gcore.CloudInstanceVolumeArgs{\n\t\t\t\t\tVolumeId: bootVolume.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudInstanceInterfaceArray{\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t},\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:      pulumi.String(\"subnet\"),\n\t\t\t\t\tNetworkId: network.ID(),\n\t\t\t\t\tSubnetId:  subnet.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\nimport com.pulumi.gcore.CloudInstance;\nimport com.pulumi.gcore.CloudInstanceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceVolumeArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceArgs;\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        // Create a private network and subnet\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .type(\"vxlan\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .build());\n\n        // Create an SSH key for instance access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .build());\n\n        // Create an instance with two interfaces: one public, one private\n        var instanceWithTwoInterfaces = new CloudInstance(\"instanceWithTwoInterfaces\", CloudInstanceArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"g1-standard-2-4\")\n            .name(\"my-instance\")\n            .sshKeyName(myKey.name())\n            .volumes(CloudInstanceVolumeArgs.builder()\n                .volumeId(bootVolume.id())\n                .build())\n            .interfaces(            \n                CloudInstanceInterfaceArgs.builder()\n                    .type(\"external\")\n                    .ipFamily(\"ipv4\")\n                    .build(),\n                CloudInstanceInterfaceArgs.builder()\n                    .type(\"subnet\")\n                    .networkId(network.id())\n                    .subnetId(subnet.id())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a private network and subnet\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n      type: vxlan\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n  # Create an SSH key for instance access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n  # Create an instance with two interfaces: one public, one private\n  instanceWithTwoInterfaces:\n    type: gcore:CloudInstance\n    name: instance_with_two_interfaces\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      sshKeyName: ${myKey.name}\n      volumes:\n        - volumeId: ${bootVolume.id}\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n        - type: subnet\n          networkId: ${network.id}\n          subnetId: ${subnet.id}\n```\n<!--End PulumiCodeChooser -->\n\n### Windows instance\n\nCreate a Windows instance with a public interface.\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  bootVolumeWindows:\n    type: gcore:CloudVolume\n    name: boot_volume_windows\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-windows-boot-volume\n      source: image\n      imageId: a2c1681c-94e0-4aab-8fa3-09a8e662d4c0\n      size: 50\n      typeName: ssd_hiiops\n  windowsInstance:\n    type: gcore:CloudInstance\n    name: windows_instance\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1w-standard-4-8\n      name: my-windows-instance\n      password: my-s3cR3tP@ssw0rd\n      volumes:\n        - volumeId: ${bootVolumeWindows.id}\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n```\n<!--End PulumiCodeChooser -->\n\n### Dual-stack public interface\n\nCreate an instance with both IPv4 and IPv6 addresses on a single interface.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an SSH key for instance access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n});\n// Create an instance with dual-stack (IPv4 + IPv6) public interface\nconst instanceWithDualstack = new gcore.CloudInstance(\"instance_with_dualstack\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"g1-standard-2-4\",\n    name: \"my-instance\",\n    sshKeyName: myKey.name,\n    volumes: [{\n        volumeId: bootVolume.id,\n    }],\n    interfaces: [{\n        type: \"external\",\n        ipFamily: \"dual\",\n    }],\n});\nexport const addresses = instanceWithDualstack.addresses;\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an SSH key for instance access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\")\n# Create an instance with dual-stack (IPv4 + IPv6) public interface\ninstance_with_dualstack = gcore.CloudInstance(\"instance_with_dualstack\",\n    project_id=1,\n    region_id=1,\n    flavor=\"g1-standard-2-4\",\n    name=\"my-instance\",\n    ssh_key_name=my_key.name,\n    volumes=[{\n        \"volume_id\": boot_volume.id,\n    }],\n    interfaces=[{\n        \"type\": \"external\",\n        \"ip_family\": \"dual\",\n    }])\npulumi.export(\"addresses\", instance_with_dualstack.addresses)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an SSH key for instance access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n    });\n\n    // Create an instance with dual-stack (IPv4 + IPv6) public interface\n    var instanceWithDualstack = new Gcore.CloudInstance(\"instance_with_dualstack\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"g1-standard-2-4\",\n        Name = \"my-instance\",\n        SshKeyName = myKey.Name,\n        Volumes = new[]\n        {\n            new Gcore.Inputs.CloudInstanceVolumeArgs\n            {\n                VolumeId = bootVolume.Id,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"dual\",\n            },\n        },\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"addresses\"] = instanceWithDualstack.Addresses,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an SSH key for instance access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a boot volume from an image\n\t\tbootVolume, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an instance with dual-stack (IPv4 + IPv6) public interface\n\t\tinstanceWithDualstack, err := gcore.NewCloudInstance(ctx, \"instance_with_dualstack\", &gcore.CloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"g1-standard-2-4\"),\n\t\t\tName:       pulumi.String(\"my-instance\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tVolumes: gcore.CloudInstanceVolumeArray{\n\t\t\t\t&gcore.CloudInstanceVolumeArgs{\n\t\t\t\t\tVolumeId: bootVolume.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudInstanceInterfaceArray{\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"dual\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"addresses\", instanceWithDualstack.Addresses)\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.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\nimport com.pulumi.gcore.CloudInstance;\nimport com.pulumi.gcore.CloudInstanceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceVolumeArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceArgs;\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        // Create an SSH key for instance access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .build());\n\n        // Create an instance with dual-stack (IPv4 + IPv6) public interface\n        var instanceWithDualstack = new CloudInstance(\"instanceWithDualstack\", CloudInstanceArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"g1-standard-2-4\")\n            .name(\"my-instance\")\n            .sshKeyName(myKey.name())\n            .volumes(CloudInstanceVolumeArgs.builder()\n                .volumeId(bootVolume.id())\n                .build())\n            .interfaces(CloudInstanceInterfaceArgs.builder()\n                .type(\"external\")\n                .ipFamily(\"dual\")\n                .build())\n            .build());\n\n        ctx.export(\"addresses\", instanceWithDualstack.addresses());\n    }\n}\n```\n```yaml\nresources:\n  # Create an SSH key for instance access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n  # Create an instance with dual-stack (IPv4 + IPv6) public interface\n  instanceWithDualstack:\n    type: gcore:CloudInstance\n    name: instance_with_dualstack\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      sshKeyName: ${myKey.name}\n      volumes:\n        - volumeId: ${bootVolume.id}\n      interfaces:\n        - type: external\n          ipFamily: dual\noutputs:\n  addresses: ${instanceWithDualstack.addresses}\n```\n<!--End PulumiCodeChooser -->\n\n### Instance with floating IP\n\nCreate an instance and attach a floating IP address for external access.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a private network and subnet\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    type: \"vxlan\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n});\n// Create an SSH key for instance access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n});\n// Reserve a fixed IP on the private subnet\nconst fixedIp = new gcore.CloudReservedFixedIp(\"fixed_ip\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"subnet\",\n    networkId: network.id,\n    subnetId: subnet.id,\n});\n// Create a floating IP and associate it with the fixed IP\nconst floatingIp = new gcore.CloudFloatingIp(\"floating_ip\", {\n    projectId: 1,\n    regionId: 1,\n    fixedIpAddress: fixedIp.fixedIpAddress,\n    portId: fixedIp.portId,\n});\n// Create an instance with floating IP for external access\nconst instanceWithFloatingIp = new gcore.CloudInstance(\"instance_with_floating_ip\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"g1-standard-2-4\",\n    name: \"my-instance\",\n    sshKeyName: myKey.name,\n    volumes: [{\n        volumeId: bootVolume.id,\n    }],\n    interfaces: [{\n        type: \"reserved_fixed_ip\",\n        portId: fixedIp.portId,\n        floatingIp: {\n            source: \"existing\",\n            existingFloatingId: floatingIp.id,\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a private network and subnet\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    type=\"vxlan\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ])\n# Create an SSH key for instance access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\")\n# Reserve a fixed IP on the private subnet\nfixed_ip = gcore.CloudReservedFixedIp(\"fixed_ip\",\n    project_id=1,\n    region_id=1,\n    type=\"subnet\",\n    network_id=network.id,\n    subnet_id=subnet.id)\n# Create a floating IP and associate it with the fixed IP\nfloating_ip = gcore.CloudFloatingIp(\"floating_ip\",\n    project_id=1,\n    region_id=1,\n    fixed_ip_address=fixed_ip.fixed_ip_address,\n    port_id=fixed_ip.port_id)\n# Create an instance with floating IP for external access\ninstance_with_floating_ip = gcore.CloudInstance(\"instance_with_floating_ip\",\n    project_id=1,\n    region_id=1,\n    flavor=\"g1-standard-2-4\",\n    name=\"my-instance\",\n    ssh_key_name=my_key.name,\n    volumes=[{\n        \"volume_id\": boot_volume.id,\n    }],\n    interfaces=[{\n        \"type\": \"reserved_fixed_ip\",\n        \"port_id\": fixed_ip.port_id,\n        \"floating_ip\": {\n            \"source\": \"existing\",\n            \"existing_floating_id\": floating_ip.id,\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a private network and subnet\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        Type = \"vxlan\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n    });\n\n    // Create an SSH key for instance access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n    });\n\n    // Reserve a fixed IP on the private subnet\n    var fixedIp = new Gcore.CloudReservedFixedIp(\"fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"subnet\",\n        NetworkId = network.Id,\n        SubnetId = subnet.Id,\n    });\n\n    // Create a floating IP and associate it with the fixed IP\n    var floatingIp = new Gcore.CloudFloatingIp(\"floating_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FixedIpAddress = fixedIp.FixedIpAddress,\n        PortId = fixedIp.PortId,\n    });\n\n    // Create an instance with floating IP for external access\n    var instanceWithFloatingIp = new Gcore.CloudInstance(\"instance_with_floating_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"g1-standard-2-4\",\n        Name = \"my-instance\",\n        SshKeyName = myKey.Name,\n        Volumes = new[]\n        {\n            new Gcore.Inputs.CloudInstanceVolumeArgs\n            {\n                VolumeId = bootVolume.Id,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"reserved_fixed_ip\",\n                PortId = fixedIp.PortId,\n                FloatingIp = new Gcore.Inputs.CloudInstanceInterfaceFloatingIpArgs\n                {\n                    Source = \"existing\",\n                    ExistingFloatingId = floatingIp.Id,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a private network and subnet\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t\tType:      pulumi.String(\"vxlan\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an SSH key for instance access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a boot volume from an image\n\t\tbootVolume, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reserve a fixed IP on the private subnet\n\t\tfixedIp, err := gcore.NewCloudReservedFixedIp(ctx, \"fixed_ip\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"subnet\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tSubnetId:  subnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a floating IP and associate it with the fixed IP\n\t\tfloatingIp, err := gcore.NewCloudFloatingIp(ctx, \"floating_ip\", &gcore.CloudFloatingIpArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tFixedIpAddress: fixedIp.FixedIpAddress,\n\t\t\tPortId:         fixedIp.PortId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an instance with floating IP for external access\n\t\t_, err = gcore.NewCloudInstance(ctx, \"instance_with_floating_ip\", &gcore.CloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"g1-standard-2-4\"),\n\t\t\tName:       pulumi.String(\"my-instance\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tVolumes: gcore.CloudInstanceVolumeArray{\n\t\t\t\t&gcore.CloudInstanceVolumeArgs{\n\t\t\t\t\tVolumeId: bootVolume.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudInstanceInterfaceArray{\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:   pulumi.String(\"reserved_fixed_ip\"),\n\t\t\t\t\tPortId: fixedIp.PortId,\n\t\t\t\t\tFloatingIp: &gcore.CloudInstanceInterfaceFloatingIpArgs{\n\t\t\t\t\t\tSource:             pulumi.String(\"existing\"),\n\t\t\t\t\t\tExistingFloatingId: floatingIp.ID(),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\nimport com.pulumi.gcore.CloudFloatingIp;\nimport com.pulumi.gcore.CloudFloatingIpArgs;\nimport com.pulumi.gcore.CloudInstance;\nimport com.pulumi.gcore.CloudInstanceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceVolumeArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceFloatingIpArgs;\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        // Create a private network and subnet\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .type(\"vxlan\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .build());\n\n        // Create an SSH key for instance access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .build());\n\n        // Reserve a fixed IP on the private subnet\n        var fixedIp = new CloudReservedFixedIp(\"fixedIp\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"subnet\")\n            .networkId(network.id())\n            .subnetId(subnet.id())\n            .build());\n\n        // Create a floating IP and associate it with the fixed IP\n        var floatingIp = new CloudFloatingIp(\"floatingIp\", CloudFloatingIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .fixedIpAddress(fixedIp.fixedIpAddress())\n            .portId(fixedIp.portId())\n            .build());\n\n        // Create an instance with floating IP for external access\n        var instanceWithFloatingIp = new CloudInstance(\"instanceWithFloatingIp\", CloudInstanceArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"g1-standard-2-4\")\n            .name(\"my-instance\")\n            .sshKeyName(myKey.name())\n            .volumes(CloudInstanceVolumeArgs.builder()\n                .volumeId(bootVolume.id())\n                .build())\n            .interfaces(CloudInstanceInterfaceArgs.builder()\n                .type(\"reserved_fixed_ip\")\n                .portId(fixedIp.portId())\n                .floatingIp(CloudInstanceInterfaceFloatingIpArgs.builder()\n                    .source(\"existing\")\n                    .existingFloatingId(floatingIp.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a private network and subnet\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n      type: vxlan\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n  # Create an SSH key for instance access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n  # Reserve a fixed IP on the private subnet\n  fixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: subnet\n      networkId: ${network.id}\n      subnetId: ${subnet.id}\n  # Create a floating IP and associate it with the fixed IP\n  floatingIp:\n    type: gcore:CloudFloatingIp\n    name: floating_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      fixedIpAddress: ${fixedIp.fixedIpAddress}\n      portId: ${fixedIp.portId}\n  # Create an instance with floating IP for external access\n  instanceWithFloatingIp:\n    type: gcore:CloudInstance\n    name: instance_with_floating_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      sshKeyName: ${myKey.name}\n      volumes:\n        - volumeId: ${bootVolume.id}\n      interfaces:\n        - type: reserved_fixed_ip\n          portId: ${fixedIp.portId}\n          floatingIp:\n            source: existing\n            existingFloatingId: ${floatingIp.id}\n```\n<!--End PulumiCodeChooser -->\n\n### Instance with reserved public IP\n\nCreate an instance using a pre-allocated reserved fixed IP address.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an SSH key for instance access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n});\n// Reserve a public IP address\nconst externalFixedIp = new gcore.CloudReservedFixedIp(\"external_fixed_ip\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"external\",\n});\n// Create an instance using the reserved public IP\nconst instanceWithReservedAddress = new gcore.CloudInstance(\"instance_with_reserved_address\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"g1-standard-2-4\",\n    name: \"my-instance\",\n    sshKeyName: myKey.name,\n    volumes: [{\n        volumeId: bootVolume.id,\n    }],\n    interfaces: [{\n        type: \"reserved_fixed_ip\",\n        portId: externalFixedIp.portId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an SSH key for instance access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\")\n# Reserve a public IP address\nexternal_fixed_ip = gcore.CloudReservedFixedIp(\"external_fixed_ip\",\n    project_id=1,\n    region_id=1,\n    type=\"external\")\n# Create an instance using the reserved public IP\ninstance_with_reserved_address = gcore.CloudInstance(\"instance_with_reserved_address\",\n    project_id=1,\n    region_id=1,\n    flavor=\"g1-standard-2-4\",\n    name=\"my-instance\",\n    ssh_key_name=my_key.name,\n    volumes=[{\n        \"volume_id\": boot_volume.id,\n    }],\n    interfaces=[{\n        \"type\": \"reserved_fixed_ip\",\n        \"port_id\": external_fixed_ip.port_id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an SSH key for instance access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n    });\n\n    // Reserve a public IP address\n    var externalFixedIp = new Gcore.CloudReservedFixedIp(\"external_fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"external\",\n    });\n\n    // Create an instance using the reserved public IP\n    var instanceWithReservedAddress = new Gcore.CloudInstance(\"instance_with_reserved_address\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"g1-standard-2-4\",\n        Name = \"my-instance\",\n        SshKeyName = myKey.Name,\n        Volumes = new[]\n        {\n            new Gcore.Inputs.CloudInstanceVolumeArgs\n            {\n                VolumeId = bootVolume.Id,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"reserved_fixed_ip\",\n                PortId = externalFixedIp.PortId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an SSH key for instance access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a boot volume from an image\n\t\tbootVolume, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Reserve a public IP address\n\t\texternalFixedIp, err := gcore.NewCloudReservedFixedIp(ctx, \"external_fixed_ip\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"external\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an instance using the reserved public IP\n\t\t_, err = gcore.NewCloudInstance(ctx, \"instance_with_reserved_address\", &gcore.CloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"g1-standard-2-4\"),\n\t\t\tName:       pulumi.String(\"my-instance\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tVolumes: gcore.CloudInstanceVolumeArray{\n\t\t\t\t&gcore.CloudInstanceVolumeArgs{\n\t\t\t\t\tVolumeId: bootVolume.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudInstanceInterfaceArray{\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:   pulumi.String(\"reserved_fixed_ip\"),\n\t\t\t\t\tPortId: externalFixedIp.PortId,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\nimport com.pulumi.gcore.CloudInstance;\nimport com.pulumi.gcore.CloudInstanceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceVolumeArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceArgs;\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        // Create an SSH key for instance access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .build());\n\n        // Reserve a public IP address\n        var externalFixedIp = new CloudReservedFixedIp(\"externalFixedIp\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"external\")\n            .build());\n\n        // Create an instance using the reserved public IP\n        var instanceWithReservedAddress = new CloudInstance(\"instanceWithReservedAddress\", CloudInstanceArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"g1-standard-2-4\")\n            .name(\"my-instance\")\n            .sshKeyName(myKey.name())\n            .volumes(CloudInstanceVolumeArgs.builder()\n                .volumeId(bootVolume.id())\n                .build())\n            .interfaces(CloudInstanceInterfaceArgs.builder()\n                .type(\"reserved_fixed_ip\")\n                .portId(externalFixedIp.portId())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an SSH key for instance access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n  # Reserve a public IP address\n  externalFixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: external_fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: external\n  # Create an instance using the reserved public IP\n  instanceWithReservedAddress:\n    type: gcore:CloudInstance\n    name: instance_with_reserved_address\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      sshKeyName: ${myKey.name}\n      volumes:\n        - volumeId: ${bootVolume.id}\n      interfaces:\n        - type: reserved_fixed_ip\n          portId: ${externalFixedIp.portId}\n```\n<!--End PulumiCodeChooser -->\n\n### Instance with custom security group\n\nCreate an instance with a custom security group allowing SSH, HTTP, and HTTPS inbound traffic.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an SSH key for instance access\nconst myKey = new gcore.CloudSshKey(\"my_key\", {\n    projectId: 1,\n    name: \"my-keypair\",\n    publicKey: \"ssh-ed25519 ...your public key... user@example.com\",\n});\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n});\n// Create a security group, then add rules as separate resources\nconst webServer = new gcore.CloudSecurityGroup(\"web_server\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"web-server-only\",\n});\nconst egressLow = new gcore.CloudSecurityGroupRule(\"egress_low\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: webServer.id,\n    direction: \"egress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 1,\n    portRangeMax: 24,\n    description: \"Allow outgoing TCP except SMTP\",\n});\nconst egressHigh = new gcore.CloudSecurityGroupRule(\"egress_high\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: webServer.id,\n    direction: \"egress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 26,\n    portRangeMax: 65535,\n    description: \"Allow outgoing TCP except SMTP\",\n});\nconst ssh = new gcore.CloudSecurityGroupRule(\"ssh\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: webServer.id,\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 22,\n    portRangeMax: 22,\n    description: \"Allow SSH\",\n});\nconst http = new gcore.CloudSecurityGroupRule(\"http\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: webServer.id,\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 80,\n    portRangeMax: 80,\n    description: \"Allow HTTP\",\n});\nconst https = new gcore.CloudSecurityGroupRule(\"https\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: webServer.id,\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 443,\n    portRangeMax: 443,\n    description: \"Allow HTTPS\",\n});\n// Create an instance with the custom security group\nconst instanceWithCustomSg = new gcore.CloudInstance(\"instance_with_custom_sg\", {\n    projectId: 1,\n    regionId: 1,\n    flavor: \"g1-standard-2-4\",\n    name: \"my-instance\",\n    sshKeyName: myKey.name,\n    volumes: [{\n        volumeId: bootVolume.id,\n    }],\n    interfaces: [{\n        type: \"external\",\n        ipFamily: \"ipv4\",\n        securityGroups: [{\n            id: webServer.id,\n        }],\n    }],\n    securityGroups: [{\n        id: webServer.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an SSH key for instance access\nmy_key = gcore.CloudSshKey(\"my_key\",\n    project_id=1,\n    name=\"my-keypair\",\n    public_key=\"ssh-ed25519 ...your public key... user@example.com\")\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\")\n# Create a security group, then add rules as separate resources\nweb_server = gcore.CloudSecurityGroup(\"web_server\",\n    project_id=1,\n    region_id=1,\n    name=\"web-server-only\")\negress_low = gcore.CloudSecurityGroupRule(\"egress_low\",\n    project_id=1,\n    region_id=1,\n    group_id=web_server.id,\n    direction=\"egress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=1,\n    port_range_max=24,\n    description=\"Allow outgoing TCP except SMTP\")\negress_high = gcore.CloudSecurityGroupRule(\"egress_high\",\n    project_id=1,\n    region_id=1,\n    group_id=web_server.id,\n    direction=\"egress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=26,\n    port_range_max=65535,\n    description=\"Allow outgoing TCP except SMTP\")\nssh = gcore.CloudSecurityGroupRule(\"ssh\",\n    project_id=1,\n    region_id=1,\n    group_id=web_server.id,\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=22,\n    port_range_max=22,\n    description=\"Allow SSH\")\nhttp = gcore.CloudSecurityGroupRule(\"http\",\n    project_id=1,\n    region_id=1,\n    group_id=web_server.id,\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=80,\n    port_range_max=80,\n    description=\"Allow HTTP\")\nhttps = gcore.CloudSecurityGroupRule(\"https\",\n    project_id=1,\n    region_id=1,\n    group_id=web_server.id,\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=443,\n    port_range_max=443,\n    description=\"Allow HTTPS\")\n# Create an instance with the custom security group\ninstance_with_custom_sg = gcore.CloudInstance(\"instance_with_custom_sg\",\n    project_id=1,\n    region_id=1,\n    flavor=\"g1-standard-2-4\",\n    name=\"my-instance\",\n    ssh_key_name=my_key.name,\n    volumes=[{\n        \"volume_id\": boot_volume.id,\n    }],\n    interfaces=[{\n        \"type\": \"external\",\n        \"ip_family\": \"ipv4\",\n        \"security_groups\": [{\n            \"id\": web_server.id,\n        }],\n    }],\n    security_groups=[{\n        \"id\": web_server.id,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an SSH key for instance access\n    var myKey = new Gcore.CloudSshKey(\"my_key\", new()\n    {\n        ProjectId = 1,\n        Name = \"my-keypair\",\n        PublicKey = \"ssh-ed25519 ...your public key... user@example.com\",\n    });\n\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n    });\n\n    // Create a security group, then add rules as separate resources\n    var webServer = new Gcore.CloudSecurityGroup(\"web_server\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"web-server-only\",\n    });\n\n    var egressLow = new Gcore.CloudSecurityGroupRule(\"egress_low\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = webServer.Id,\n        Direction = \"egress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 1,\n        PortRangeMax = 24,\n        Description = \"Allow outgoing TCP except SMTP\",\n    });\n\n    var egressHigh = new Gcore.CloudSecurityGroupRule(\"egress_high\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = webServer.Id,\n        Direction = \"egress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 26,\n        PortRangeMax = 65535,\n        Description = \"Allow outgoing TCP except SMTP\",\n    });\n\n    var ssh = new Gcore.CloudSecurityGroupRule(\"ssh\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = webServer.Id,\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 22,\n        PortRangeMax = 22,\n        Description = \"Allow SSH\",\n    });\n\n    var http = new Gcore.CloudSecurityGroupRule(\"http\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = webServer.Id,\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 80,\n        PortRangeMax = 80,\n        Description = \"Allow HTTP\",\n    });\n\n    var https = new Gcore.CloudSecurityGroupRule(\"https\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = webServer.Id,\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 443,\n        PortRangeMax = 443,\n        Description = \"Allow HTTPS\",\n    });\n\n    // Create an instance with the custom security group\n    var instanceWithCustomSg = new Gcore.CloudInstance(\"instance_with_custom_sg\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Flavor = \"g1-standard-2-4\",\n        Name = \"my-instance\",\n        SshKeyName = myKey.Name,\n        Volumes = new[]\n        {\n            new Gcore.Inputs.CloudInstanceVolumeArgs\n            {\n                VolumeId = bootVolume.Id,\n            },\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudInstanceInterfaceArgs\n            {\n                Type = \"external\",\n                IpFamily = \"ipv4\",\n                SecurityGroups = new[]\n                {\n                    new Gcore.Inputs.CloudInstanceInterfaceSecurityGroupArgs\n                    {\n                        Id = webServer.Id,\n                    },\n                },\n            },\n        },\n        SecurityGroups = new[]\n        {\n            new Gcore.Inputs.CloudInstanceSecurityGroupArgs\n            {\n                Id = webServer.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an SSH key for instance access\n\t\tmyKey, err := gcore.NewCloudSshKey(ctx, \"my_key\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-keypair\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 ...your public key... user@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a boot volume from an image\n\t\tbootVolume, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a security group, then add rules as separate resources\n\t\twebServer, err := gcore.NewCloudSecurityGroup(ctx, \"web_server\", &gcore.CloudSecurityGroupArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"web-server-only\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"egress_low\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      webServer.ID(),\n\t\t\tDirection:    pulumi.String(\"egress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(1),\n\t\t\tPortRangeMax: pulumi.Float64(24),\n\t\t\tDescription:  pulumi.String(\"Allow outgoing TCP except SMTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"egress_high\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      webServer.ID(),\n\t\t\tDirection:    pulumi.String(\"egress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(26),\n\t\t\tPortRangeMax: pulumi.Float64(65535),\n\t\t\tDescription:  pulumi.String(\"Allow outgoing TCP except SMTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"ssh\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      webServer.ID(),\n\t\t\tDirection:    pulumi.String(\"ingress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(22),\n\t\t\tPortRangeMax: pulumi.Float64(22),\n\t\t\tDescription:  pulumi.String(\"Allow SSH\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"http\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      webServer.ID(),\n\t\t\tDirection:    pulumi.String(\"ingress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(80),\n\t\t\tPortRangeMax: pulumi.Float64(80),\n\t\t\tDescription:  pulumi.String(\"Allow HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"https\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      webServer.ID(),\n\t\t\tDirection:    pulumi.String(\"ingress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(443),\n\t\t\tPortRangeMax: pulumi.Float64(443),\n\t\t\tDescription:  pulumi.String(\"Allow HTTPS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an instance with the custom security group\n\t\t_, err = gcore.NewCloudInstance(ctx, \"instance_with_custom_sg\", &gcore.CloudInstanceArgs{\n\t\t\tProjectId:  pulumi.Float64(1),\n\t\t\tRegionId:   pulumi.Float64(1),\n\t\t\tFlavor:     pulumi.String(\"g1-standard-2-4\"),\n\t\t\tName:       pulumi.String(\"my-instance\"),\n\t\t\tSshKeyName: myKey.Name,\n\t\t\tVolumes: gcore.CloudInstanceVolumeArray{\n\t\t\t\t&gcore.CloudInstanceVolumeArgs{\n\t\t\t\t\tVolumeId: bootVolume.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudInstanceInterfaceArray{\n\t\t\t\t&gcore.CloudInstanceInterfaceArgs{\n\t\t\t\t\tType:     pulumi.String(\"external\"),\n\t\t\t\t\tIpFamily: pulumi.String(\"ipv4\"),\n\t\t\t\t\tSecurityGroups: gcore.CloudInstanceInterfaceSecurityGroupArray{\n\t\t\t\t\t\t&gcore.CloudInstanceInterfaceSecurityGroupArgs{\n\t\t\t\t\t\t\tId: webServer.ID(),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tSecurityGroups: gcore.CloudInstanceSecurityGroupArray{\n\t\t\t\t&gcore.CloudInstanceSecurityGroupArgs{\n\t\t\t\t\tId: webServer.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\nimport com.pulumi.gcore.CloudSecurityGroup;\nimport com.pulumi.gcore.CloudSecurityGroupArgs;\nimport com.pulumi.gcore.CloudSecurityGroupRule;\nimport com.pulumi.gcore.CloudSecurityGroupRuleArgs;\nimport com.pulumi.gcore.CloudInstance;\nimport com.pulumi.gcore.CloudInstanceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceVolumeArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceInterfaceArgs;\nimport com.pulumi.gcore.inputs.CloudInstanceSecurityGroupArgs;\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        // Create an SSH key for instance access\n        var myKey = new CloudSshKey(\"myKey\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"my-keypair\")\n            .publicKey(\"ssh-ed25519 ...your public key... user@example.com\")\n            .build());\n\n        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .build());\n\n        // Create a security group, then add rules as separate resources\n        var webServer = new CloudSecurityGroup(\"webServer\", CloudSecurityGroupArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"web-server-only\")\n            .build());\n\n        var egressLow = new CloudSecurityGroupRule(\"egressLow\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(webServer.id())\n            .direction(\"egress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(1.0)\n            .portRangeMax(24.0)\n            .description(\"Allow outgoing TCP except SMTP\")\n            .build());\n\n        var egressHigh = new CloudSecurityGroupRule(\"egressHigh\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(webServer.id())\n            .direction(\"egress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(26.0)\n            .portRangeMax(65535.0)\n            .description(\"Allow outgoing TCP except SMTP\")\n            .build());\n\n        var ssh = new CloudSecurityGroupRule(\"ssh\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(webServer.id())\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(22.0)\n            .portRangeMax(22.0)\n            .description(\"Allow SSH\")\n            .build());\n\n        var http = new CloudSecurityGroupRule(\"http\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(webServer.id())\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(80.0)\n            .portRangeMax(80.0)\n            .description(\"Allow HTTP\")\n            .build());\n\n        var https = new CloudSecurityGroupRule(\"https\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(webServer.id())\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(443.0)\n            .portRangeMax(443.0)\n            .description(\"Allow HTTPS\")\n            .build());\n\n        // Create an instance with the custom security group\n        var instanceWithCustomSg = new CloudInstance(\"instanceWithCustomSg\", CloudInstanceArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .flavor(\"g1-standard-2-4\")\n            .name(\"my-instance\")\n            .sshKeyName(myKey.name())\n            .volumes(CloudInstanceVolumeArgs.builder()\n                .volumeId(bootVolume.id())\n                .build())\n            .interfaces(CloudInstanceInterfaceArgs.builder()\n                .type(\"external\")\n                .ipFamily(\"ipv4\")\n                .securityGroups(CloudInstanceInterfaceSecurityGroupArgs.builder()\n                    .id(webServer.id())\n                    .build())\n                .build())\n            .securityGroups(CloudInstanceSecurityGroupArgs.builder()\n                .id(webServer.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an SSH key for instance access\n  myKey:\n    type: gcore:CloudSshKey\n    name: my_key\n    properties:\n      projectId: 1\n      name: my-keypair\n      publicKey: ssh-ed25519 ...your public key... user@example.com\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n  # Create a security group, then add rules as separate resources\n  webServer:\n    type: gcore:CloudSecurityGroup\n    name: web_server\n    properties:\n      projectId: 1\n      regionId: 1\n      name: web-server-only\n  egressLow:\n    type: gcore:CloudSecurityGroupRule\n    name: egress_low\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${webServer.id}\n      direction: egress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 1\n      portRangeMax: 24\n      description: Allow outgoing TCP except SMTP\n  egressHigh:\n    type: gcore:CloudSecurityGroupRule\n    name: egress_high\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${webServer.id}\n      direction: egress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 26\n      portRangeMax: 65535\n      description: Allow outgoing TCP except SMTP\n  ssh:\n    type: gcore:CloudSecurityGroupRule\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${webServer.id}\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 22\n      portRangeMax: 22\n      description: Allow SSH\n  http:\n    type: gcore:CloudSecurityGroupRule\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${webServer.id}\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 80\n      portRangeMax: 80\n      description: Allow HTTP\n  https:\n    type: gcore:CloudSecurityGroupRule\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${webServer.id}\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 443\n      portRangeMax: 443\n      description: Allow HTTPS\n  # Create an instance with the custom security group\n  instanceWithCustomSg:\n    type: gcore:CloudInstance\n    name: instance_with_custom_sg\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      sshKeyName: ${myKey.name}\n      volumes:\n        - volumeId: ${bootVolume.id}\n      interfaces:\n        - type: external\n          ipFamily: ipv4\n          securityGroups:\n            - id: ${webServer.id}\n      securityGroups:\n        - id: ${webServer.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudInstance:CloudInstance example '<project_id>/<region_id>/<instance_id>'\n```\n\n","inputProperties":{"allowAppPorts":{"description":"Set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>. This allows application ports in the security group for instances created from a marketplace application template.","type":"boolean"},"configuration":{"additionalProperties":{"type":"string"},"description":"Parameters for the application template if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>.","type":"object"},"flavor":{"description":"The flavor of the instance.\n","type":"string"},"interfaces":{"description":"A list of network interfaces for the instance. You can create one or more interfaces - private, public, or both.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceInterface:CloudInstanceInterface"},"type":"array"},"name":{"description":"Instance name.","type":"string"},"nameTemplate":{"description":"If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.","type":"string"},"passwordWo":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.","type":"string"},"passwordWoVersion":{"description":"Instance password write-only version. Used to trigger updates of the write-only password field.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"regionId":{"description":"Region ID","type":"number"},"securityGroups":{"description":"Specifies security group UUIDs to be applied to all instance network interfaces.","items":{"$ref":"#/types/gcore:index%2FCloudInstanceSecurityGroup:CloudInstanceSecurityGroup"},"type":"array"},"servergroupId":{"description":"Placement group ID for instance placement policy.\n\nSupported group types:\n- `anti-affinity`: Ensures instances are placed on different hosts for high availability.\n- <span pulumi-lang-nodejs=\"`affinity`\" pulumi-lang-dotnet=\"`Affinity`\" pulumi-lang-go=\"`affinity`\" pulumi-lang-python=\"`affinity`\" pulumi-lang-yaml=\"`affinity`\" pulumi-lang-java=\"`affinity`\">`affinity`</span>: Places instances on the same host for low-latency communication.\n- `soft-anti-affinity`: Tries to place instances on different hosts but allows sharing if needed.","type":"string"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"userData":{"description":"String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the <span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>: https://cloudinit.readthedocs.io/en/latest/topics/examples.html","type":"string"},"username":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.","type":"string"},"vmState":{"description":"Virtual machine state. Set to 'active' to start the instance or 'stopped' to stop it.\nAvailable values: \"active\", \"stopped\".","type":"string"},"volumes":{"description":"List of existing volumes to attach to the instance. Create volumes separately using gcore*cloud*volume resource.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceVolume:CloudInstanceVolume"},"type":"array"}},"properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FCloudInstanceAddresses:CloudInstanceAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network","type":"object"},"allowAppPorts":{"description":"Set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>. This allows application ports in the security group for instances created from a marketplace application template.","type":"boolean"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system","items":{"$ref":"#/types/gcore:index%2FCloudInstanceBlackholePort:CloudInstanceBlackholePort"},"type":"array"},"configuration":{"additionalProperties":{"type":"string"},"description":"Parameters for the application template if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>.","type":"object"},"createdAt":{"description":"Datetime when instance was created","type":"string"},"creatorTaskId":{"description":"Task that created this entity","type":"string"},"ddosProfile":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfile:CloudInstanceDdosProfile","description":"Advanced DDoS protection profile. It is always <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> if query parameter `with_ddos=true` is not set."},"fixedIpAssignments":{"description":"Fixed IP assigned to instance","items":{"$ref":"#/types/gcore:index%2FCloudInstanceFixedIpAssignment:CloudInstanceFixedIpAssignment"},"type":"array"},"flavor":{"description":"The flavor of the instance.\n","type":"string"},"instanceDescription":{"description":"Instance description","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FCloudInstanceInstanceIsolation:CloudInstanceInstanceIsolation","description":"Instance isolation information"},"interfaces":{"description":"A list of network interfaces for the instance. You can create one or more interfaces - private, public, or both.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceInterface:CloudInstanceInterface"},"type":"array"},"name":{"description":"Instance name.","type":"string"},"nameTemplate":{"description":"If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.","type":"string"},"passwordWo":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.","type":"string"},"passwordWoVersion":{"description":"Instance password write-only version. Used to trigger updates of the write-only password field.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"region":{"description":"Region name","type":"string"},"regionId":{"description":"Region ID","type":"number"},"securityGroups":{"description":"Specifies security group UUIDs to be applied to all instance network interfaces.","items":{"$ref":"#/types/gcore:index%2FCloudInstanceSecurityGroup:CloudInstanceSecurityGroup"},"type":"array"},"servergroupId":{"description":"Placement group ID for instance placement policy.\n\nSupported group types:\n- `anti-affinity`: Ensures instances are placed on different hosts for high availability.\n- <span pulumi-lang-nodejs=\"`affinity`\" pulumi-lang-dotnet=\"`Affinity`\" pulumi-lang-go=\"`affinity`\" pulumi-lang-python=\"`affinity`\" pulumi-lang-yaml=\"`affinity`\" pulumi-lang-java=\"`affinity`\">`affinity`</span>: Places instances on the same host for low-latency communication.\n- `soft-anti-affinity`: Tries to place instances on different hosts but allows sharing if needed.","type":"string"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).","type":"string"},"status":{"description":"Instance status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD_REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT_RESIZE\", \"SHELVED\", \"SHELVED_OFFLOADED\", \"SHUTOFF\", \"SOFT_DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"taskState":{"description":"Task state","type":"string"},"userData":{"description":"String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the <span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>: https://cloudinit.readthedocs.io/en/latest/topics/examples.html","type":"string"},"username":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.","type":"string"},"vmState":{"description":"Virtual machine state. Set to 'active' to start the instance or 'stopped' to stop it.\nAvailable values: \"active\", \"stopped\".","type":"string"},"volumes":{"description":"List of existing volumes to attach to the instance. Create volumes separately using gcore*cloud*volume resource.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceVolume:CloudInstanceVolume"},"type":"array"}},"required":["addresses","blackholePorts","createdAt","creatorTaskId","ddosProfile","fixedIpAssignments","flavor","instanceDescription","instanceIsolation","interfaces","name","region","status","tags","taskState","vmState","volumes"],"requiredInputs":["flavor","interfaces","volumes"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudInstance resources.\n","properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FCloudInstanceAddresses:CloudInstanceAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network","type":"object"},"allowAppPorts":{"description":"Set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>. This allows application ports in the security group for instances created from a marketplace application template.","type":"boolean"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system","items":{"$ref":"#/types/gcore:index%2FCloudInstanceBlackholePort:CloudInstanceBlackholePort"},"type":"array"},"configuration":{"additionalProperties":{"type":"string"},"description":"Parameters for the application template if creating the instance from an <span pulumi-lang-nodejs=\"`apptemplate`\" pulumi-lang-dotnet=\"`Apptemplate`\" pulumi-lang-go=\"`apptemplate`\" pulumi-lang-python=\"`apptemplate`\" pulumi-lang-yaml=\"`apptemplate`\" pulumi-lang-java=\"`apptemplate`\">`apptemplate`</span>.","type":"object"},"createdAt":{"description":"Datetime when instance was created","type":"string"},"creatorTaskId":{"description":"Task that created this entity","type":"string"},"ddosProfile":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfile:CloudInstanceDdosProfile","description":"Advanced DDoS protection profile. It is always <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> if query parameter `with_ddos=true` is not set."},"fixedIpAssignments":{"description":"Fixed IP assigned to instance","items":{"$ref":"#/types/gcore:index%2FCloudInstanceFixedIpAssignment:CloudInstanceFixedIpAssignment"},"type":"array"},"flavor":{"description":"The flavor of the instance.\n","type":"string"},"instanceDescription":{"description":"Instance description","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FCloudInstanceInstanceIsolation:CloudInstanceInstanceIsolation","description":"Instance isolation information"},"interfaces":{"description":"A list of network interfaces for the instance. You can create one or more interfaces - private, public, or both.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceInterface:CloudInstanceInterface"},"type":"array"},"name":{"description":"Instance name.","type":"string"},"nameTemplate":{"description":"If you want the instance name to be automatically generated based on IP addresses, you can provide a name template instead of specifying the name manually. The template should include a placeholder that will be replaced during provisioning. Supported placeholders are: `{ip_octets}` (last 3 octets of the IP), `{two_ip_octets}`, and `{one_ip_octet}`.","type":"string"},"passwordWo":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. When only 'password' is provided, it is set as the password for the default user of the image. For Windows instances, 'username' cannot be specified. Use the 'password' field to set the password for the 'Admin' user on Windows. Use the 'user_data' field to provide a script to create new users on Windows. The password of the Admin user cannot be updated via 'user_data'.","type":"string"},"passwordWoVersion":{"description":"Instance password write-only version. Used to trigger updates of the write-only password field.","type":"number"},"projectId":{"description":"Project ID","type":"number"},"region":{"description":"Region name","type":"string"},"regionId":{"description":"Region ID","type":"number"},"securityGroups":{"description":"Specifies security group UUIDs to be applied to all instance network interfaces.","items":{"$ref":"#/types/gcore:index%2FCloudInstanceSecurityGroup:CloudInstanceSecurityGroup"},"type":"array"},"servergroupId":{"description":"Placement group ID for instance placement policy.\n\nSupported group types:\n- `anti-affinity`: Ensures instances are placed on different hosts for high availability.\n- <span pulumi-lang-nodejs=\"`affinity`\" pulumi-lang-dotnet=\"`Affinity`\" pulumi-lang-go=\"`affinity`\" pulumi-lang-python=\"`affinity`\" pulumi-lang-yaml=\"`affinity`\" pulumi-lang-java=\"`affinity`\">`affinity`</span>: Places instances on the same host for low-latency communication.\n- `soft-anti-affinity`: Tries to place instances on different hosts but allows sharing if needed.","type":"string"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).","type":"string"},"status":{"description":"Instance status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD_REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT_RESIZE\", \"SHELVED\", \"SHELVED_OFFLOADED\", \"SHUTOFF\", \"SOFT_DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.","type":"object"},"taskState":{"description":"Task state","type":"string"},"userData":{"description":"String in base64 format. For Linux instances, 'user_data' is ignored when 'password' field is provided. For Windows instances, Admin user password is set by 'password' field and cannot be updated via 'user_data'. Examples of the <span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>: https://cloudinit.readthedocs.io/en/latest/topics/examples.html","type":"string"},"username":{"description":"For Linux instances, 'username' and 'password' are used to create a new user. For Windows instances, 'username' cannot be specified. Use 'password' field to set the password for the 'Admin' user on Windows.","type":"string"},"vmState":{"description":"Virtual machine state. Set to 'active' to start the instance or 'stopped' to stop it.\nAvailable values: \"active\", \"stopped\".","type":"string"},"volumes":{"description":"List of existing volumes to attach to the instance. Create volumes separately using gcore*cloud*volume resource.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceVolume:CloudInstanceVolume"},"type":"array"}},"type":"object"},"type":"object"},"gcore:index/cloudInstanceImage:CloudInstanceImage":{"description":"Instance images are operating system images (public, private, or shared) used to boot cloud instances.\n\n## Example Usage\n\n### Upload custom image from URL\n\nUpload a custom instance image from a publicly accessible URL.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Upload a custom instance image from URL\nconst ubuntu = new gcore.CloudInstanceImage(\"ubuntu\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"ubuntu-22.04-custom\",\n    url: \"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n    osDistro: \"ubuntu\",\n    osType: \"linux\",\n    osVersion: \"22.04\",\n    sshKey: \"allow\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Upload a custom instance image from URL\nubuntu = gcore.CloudInstanceImage(\"ubuntu\",\n    project_id=1,\n    region_id=1,\n    name=\"ubuntu-22.04-custom\",\n    url=\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n    os_distro=\"ubuntu\",\n    os_type=\"linux\",\n    os_version=\"22.04\",\n    ssh_key=\"allow\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Upload a custom instance image from URL\n    var ubuntu = new Gcore.CloudInstanceImage(\"ubuntu\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"ubuntu-22.04-custom\",\n        Url = \"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\",\n        OsDistro = \"ubuntu\",\n        OsType = \"linux\",\n        OsVersion = \"22.04\",\n        SshKey = \"allow\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Upload a custom instance image from URL\n\t\t_, err := gcore.NewCloudInstanceImage(ctx, \"ubuntu\", &gcore.CloudInstanceImageArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"ubuntu-22.04-custom\"),\n\t\t\tUrl:       pulumi.String(\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\"),\n\t\t\tOsDistro:  pulumi.String(\"ubuntu\"),\n\t\t\tOsType:    pulumi.String(\"linux\"),\n\t\t\tOsVersion: pulumi.String(\"22.04\"),\n\t\t\tSshKey:    pulumi.String(\"allow\"),\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.gcore.CloudInstanceImage;\nimport com.pulumi.gcore.CloudInstanceImageArgs;\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        // Upload a custom instance image from URL\n        var ubuntu = new CloudInstanceImage(\"ubuntu\", CloudInstanceImageArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"ubuntu-22.04-custom\")\n            .url(\"https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\")\n            .osDistro(\"ubuntu\")\n            .osType(\"linux\")\n            .osVersion(\"22.04\")\n            .sshKey(\"allow\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Upload a custom instance image from URL\n  ubuntu:\n    type: gcore:CloudInstanceImage\n    properties:\n      projectId: 1\n      regionId: 1\n      name: ubuntu-22.04-custom\n      url: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img\n      osDistro: ubuntu\n      osType: linux\n      osVersion: '22.04'\n      sshKey: allow\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudInstanceImage:CloudInstanceImage example '<project_id>/<region_id>/<image_id>'\n```\n\n","inputProperties":{"architecture":{"description":"Image CPU architecture type: <span pulumi-lang-nodejs=\"`aarch64`\" pulumi-lang-dotnet=\"`Aarch64`\" pulumi-lang-go=\"`aarch64`\" pulumi-lang-python=\"`aarch64`\" pulumi-lang-yaml=\"`aarch64`\" pulumi-lang-java=\"`aarch64`\">`aarch64`</span>, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"hwMachineType":{"description":"A virtual chipset type.\nAvailable values: \"pc\", \"q35\".\n","type":"string"},"isBaremetal":{"description":"Set to true if the image will be used by bare metal servers. Defaults to false.\n","type":"boolean"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image.\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 22.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"sshKey":{"description":"Whether the image supports SSH key or not\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"url":{"description":"URL of the image to download.\n","type":"string"}},"properties":{"architecture":{"description":"Image CPU architecture type: <span pulumi-lang-nodejs=\"`aarch64`\" pulumi-lang-dotnet=\"`Aarch64`\" pulumi-lang-go=\"`aarch64`\" pulumi-lang-python=\"`aarch64`\" pulumi-lang-yaml=\"`aarch64`\" pulumi-lang-java=\"`aarch64`\">`aarch64`</span>, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"currencyCode":{"description":"Currency code. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"string"},"description":{"description":"Image description\n","type":"string"},"diskFormat":{"description":"Disk format\n","type":"string"},"displayOrder":{"type":"number"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"hwMachineType":{"description":"A virtual chipset type.\nAvailable values: \"pc\", \"q35\".\n","type":"string"},"isBaremetal":{"description":"Set to true if the image will be used by bare metal servers. Defaults to false.\n","type":"boolean"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image.\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 22.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"pricePerHour":{"description":"Price per hour. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"number"},"pricePerMonth":{"description":"Price per month. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"number"},"priceStatus":{"description":"Price status for the UI\nAvailable values: \"error\", \"hide\", \"show\".\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"size":{"description":"Image size in bytes\n","type":"number"},"sshKey":{"description":"Whether the image supports SSH key or not\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status, i.e. active\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"url":{"description":"URL of the image to download.\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"required":["architecture","cowFormat","createdAt","creatorTaskId","currencyCode","description","diskFormat","displayOrder","gpuDriver","gpuDriverType","gpuDriverVersion","isBaremetal","minDisk","minRam","name","osType","pricePerHour","pricePerMonth","priceStatus","region","size","sshKey","status","tags","updatedAt","url","visibility"],"requiredInputs":["url"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudInstanceImage resources.\n","properties":{"architecture":{"description":"Image CPU architecture type: <span pulumi-lang-nodejs=\"`aarch64`\" pulumi-lang-dotnet=\"`Aarch64`\" pulumi-lang-go=\"`aarch64`\" pulumi-lang-python=\"`aarch64`\" pulumi-lang-yaml=\"`aarch64`\" pulumi-lang-java=\"`aarch64`\">`aarch64`</span>, <span pulumi-lang-nodejs=\"`x8664`\" pulumi-lang-dotnet=\"`X8664`\" pulumi-lang-go=\"`x8664`\" pulumi-lang-python=\"`x86_64`\" pulumi-lang-yaml=\"`x8664`\" pulumi-lang-java=\"`x8664`\">`x86_64`</span>\nAvailable values: \"aarch64\", <span pulumi-lang-nodejs=\"\"x8664\"\" pulumi-lang-dotnet=\"\"X8664\"\" pulumi-lang-go=\"\"x8664\"\" pulumi-lang-python=\"\"x86_64\"\" pulumi-lang-yaml=\"\"x8664\"\" pulumi-lang-java=\"\"x8664\"\">\"x86_64\"</span>.\n","type":"string"},"cowFormat":{"description":"When True, image cannot be deleted unless all volumes, created from it, are deleted.\n","type":"boolean"},"createdAt":{"description":"Datetime when the image was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"currencyCode":{"description":"Currency code. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"string"},"description":{"description":"Image description\n","type":"string"},"diskFormat":{"description":"Disk format\n","type":"string"},"displayOrder":{"type":"number"},"gpuDriver":{"description":"Name of the GPU driver vendor\n","type":"string"},"gpuDriverType":{"description":"Type of the GPU driver\n","type":"string"},"gpuDriverVersion":{"description":"Version of the installed GPU driver\n","type":"string"},"hwFirmwareType":{"description":"Specifies the type of firmware with which to boot the guest.\nAvailable values: \"bios\", \"uefi\".\n","type":"string"},"hwMachineType":{"description":"A virtual chipset type.\nAvailable values: \"pc\", \"q35\".\n","type":"string"},"isBaremetal":{"description":"Set to true if the image will be used by bare metal servers. Defaults to false.\n","type":"boolean"},"minDisk":{"description":"Minimal boot volume required\n","type":"number"},"minRam":{"description":"Minimal VM RAM required\n","type":"number"},"name":{"description":"Image name\n","type":"string"},"osDistro":{"description":"OS Distribution, i.e. Debian, CentOS, Ubuntu, CoreOS etc.\n","type":"string"},"osType":{"description":"The operating system installed on the image.\nAvailable values: \"linux\", \"windows\".\n","type":"string"},"osVersion":{"description":"OS version, i.e. 22.04 (for Ubuntu) or 9.4 for Debian\n","type":"string"},"pricePerHour":{"description":"Price per hour. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"number"},"pricePerMonth":{"description":"Price per month. Shown if the <span pulumi-lang-nodejs=\"`includePrices`\" pulumi-lang-dotnet=\"`IncludePrices`\" pulumi-lang-go=\"`includePrices`\" pulumi-lang-python=\"`include_prices`\" pulumi-lang-yaml=\"`includePrices`\" pulumi-lang-java=\"`includePrices`\">`include_prices`</span> query parameter if set to true\n","type":"number"},"priceStatus":{"description":"Price status for the UI\nAvailable values: \"error\", \"hide\", \"show\".\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"size":{"description":"Image size in bytes\n","type":"number"},"sshKey":{"description":"Whether the image supports SSH key or not\nAvailable values: \"allow\", \"deny\", \"required\".\n","type":"string"},"status":{"description":"Image status, i.e. active\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"updatedAt":{"description":"Datetime when the image was updated\n","type":"string"},"url":{"description":"URL of the image to download.\n","type":"string"},"visibility":{"description":"Image visibility. Globally visible images are public\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudK8sCluster:CloudK8sCluster":{"description":"Managed Kubernetes clusters with configurable worker node pools, networking, and cluster add-ons.\n\n## Example Usage\n\n### Managed Kubernetes cluster in a private network\n\nCreates a K8s cluster with a single node pool attached to an existing private network and subnet.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n});\nconst cluster = new gcore.CloudK8sCluster(\"cluster\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-k8s-cluster\",\n    fixedNetwork: network.id,\n    fixedSubnet: subnet.id,\n    keypair: myKeypair.name,\n    version: \"v1.31.9\",\n    pools: [{\n        name: \"my-k8s-pool\",\n        flavorId: \"g1-standard-2-4\",\n        servergroupPolicy: \"soft-anti-affinity\",\n        minNodeCount: 1,\n        maxNodeCount: 1,\n        bootVolumeSize: 10,\n        bootVolumeType: \"standard\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id)\ncluster = gcore.CloudK8sCluster(\"cluster\",\n    project_id=1,\n    region_id=1,\n    name=\"my-k8s-cluster\",\n    fixed_network=network.id,\n    fixed_subnet=subnet.id,\n    keypair=my_keypair[\"name\"],\n    version=\"v1.31.9\",\n    pools=[{\n        \"name\": \"my-k8s-pool\",\n        \"flavor_id\": \"g1-standard-2-4\",\n        \"servergroup_policy\": \"soft-anti-affinity\",\n        \"min_node_count\": 1,\n        \"max_node_count\": 1,\n        \"boot_volume_size\": 10,\n        \"boot_volume_type\": \"standard\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n    });\n\n    var cluster = new Gcore.CloudK8sCluster(\"cluster\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-k8s-cluster\",\n        FixedNetwork = network.Id,\n        FixedSubnet = subnet.Id,\n        Keypair = myKeypair.Name,\n        Version = \"v1.31.9\",\n        Pools = new[]\n        {\n            new Gcore.Inputs.CloudK8sClusterPoolArgs\n            {\n                Name = \"my-k8s-pool\",\n                FlavorId = \"g1-standard-2-4\",\n                ServergroupPolicy = \"soft-anti-affinity\",\n                MinNodeCount = 1,\n                MaxNodeCount = 1,\n                BootVolumeSize = 10,\n                BootVolumeType = \"standard\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudK8sCluster(ctx, \"cluster\", &gcore.CloudK8sClusterArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"my-k8s-cluster\"),\n\t\t\tFixedNetwork: network.ID(),\n\t\t\tFixedSubnet:  subnet.ID(),\n\t\t\tKeypair:      pulumi.Any(myKeypair.Name),\n\t\t\tVersion:      pulumi.String(\"v1.31.9\"),\n\t\t\tPools: gcore.CloudK8sClusterPoolArray{\n\t\t\t\t&gcore.CloudK8sClusterPoolArgs{\n\t\t\t\t\tName:              pulumi.String(\"my-k8s-pool\"),\n\t\t\t\t\tFlavorId:          pulumi.String(\"g1-standard-2-4\"),\n\t\t\t\t\tServergroupPolicy: pulumi.String(\"soft-anti-affinity\"),\n\t\t\t\t\tMinNodeCount:      pulumi.Float64(1),\n\t\t\t\t\tMaxNodeCount:      pulumi.Float64(1),\n\t\t\t\t\tBootVolumeSize:    pulumi.Float64(10),\n\t\t\t\t\tBootVolumeType:    pulumi.String(\"standard\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudK8sCluster;\nimport com.pulumi.gcore.CloudK8sClusterArgs;\nimport com.pulumi.gcore.inputs.CloudK8sClusterPoolArgs;\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 network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .build());\n\n        var cluster = new CloudK8sCluster(\"cluster\", CloudK8sClusterArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-k8s-cluster\")\n            .fixedNetwork(network.id())\n            .fixedSubnet(subnet.id())\n            .keypair(myKeypair.name())\n            .version(\"v1.31.9\")\n            .pools(CloudK8sClusterPoolArgs.builder()\n                .name(\"my-k8s-pool\")\n                .flavorId(\"g1-standard-2-4\")\n                .servergroupPolicy(\"soft-anti-affinity\")\n                .minNodeCount(1.0)\n                .maxNodeCount(1.0)\n                .bootVolumeSize(10.0)\n                .bootVolumeType(\"standard\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n  cluster:\n    type: gcore:CloudK8sCluster\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-k8s-cluster\n      fixedNetwork: ${network.id}\n      fixedSubnet: ${subnet.id}\n      keypair: ${myKeypair.name}\n      version: v1.31.9\n      pools:\n        - name: my-k8s-pool\n          flavorId: g1-standard-2-4\n          servergroupPolicy: soft-anti-affinity\n          minNodeCount: 1\n          maxNodeCount: 1\n          bootVolumeSize: 10\n          bootVolumeType: standard\n```\n<!--End PulumiCodeChooser -->\n\n### Managed Kubernetes cluster with VAST file share integration\n\nCreates a K8s cluster with Cilium CNI and VAST NFS CSI enabled for shared storage.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst vast = new gcore.CloudFileShare(\"vast\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"tf-file-share-vast\",\n    size: 10,\n    typeName: \"vast\",\n    protocol: \"NFS\",\n    shareSettings: {\n        allowedCharacters: \"LCD\",\n        pathLength: \"LCD\",\n        rootSquash: true,\n    },\n});\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n});\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n});\nconst cluster = new gcore.CloudK8sCluster(\"cluster\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-k8s-cluster\",\n    fixedNetwork: network.id,\n    fixedSubnet: subnet.id,\n    keypair: myKeypair.name,\n    version: \"v1.33.3\",\n    cni: {\n        cloudK8sClusterProvider: \"cilium\",\n    },\n    csi: {\n        nfs: {\n            vastEnabled: true,\n        },\n    },\n    pools: [{\n        name: \"gpu-1\",\n        flavorId: \"bm3-ai-ndp-1xlarge-h100-80-8\",\n        isPublicIpv4: false,\n        minNodeCount: 1,\n        maxNodeCount: 1,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nvast = gcore.CloudFileShare(\"vast\",\n    project_id=1,\n    region_id=1,\n    name=\"tf-file-share-vast\",\n    size=10,\n    type_name=\"vast\",\n    protocol=\"NFS\",\n    share_settings={\n        \"allowed_characters\": \"LCD\",\n        \"path_length\": \"LCD\",\n        \"root_squash\": True,\n    })\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\")\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id)\ncluster = gcore.CloudK8sCluster(\"cluster\",\n    project_id=1,\n    region_id=1,\n    name=\"my-k8s-cluster\",\n    fixed_network=network.id,\n    fixed_subnet=subnet.id,\n    keypair=my_keypair[\"name\"],\n    version=\"v1.33.3\",\n    cni={\n        \"cloud_k8s_cluster_provider\": \"cilium\",\n    },\n    csi={\n        \"nfs\": {\n            \"vast_enabled\": True,\n        },\n    },\n    pools=[{\n        \"name\": \"gpu-1\",\n        \"flavor_id\": \"bm3-ai-ndp-1xlarge-h100-80-8\",\n        \"is_public_ipv4\": False,\n        \"min_node_count\": 1,\n        \"max_node_count\": 1,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var vast = new Gcore.CloudFileShare(\"vast\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"tf-file-share-vast\",\n        Size = 10,\n        TypeName = \"vast\",\n        Protocol = \"NFS\",\n        ShareSettings = new Gcore.Inputs.CloudFileShareShareSettingsArgs\n        {\n            AllowedCharacters = \"LCD\",\n            PathLength = \"LCD\",\n            RootSquash = true,\n        },\n    });\n\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n    });\n\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n    });\n\n    var cluster = new Gcore.CloudK8sCluster(\"cluster\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-k8s-cluster\",\n        FixedNetwork = network.Id,\n        FixedSubnet = subnet.Id,\n        Keypair = myKeypair.Name,\n        Version = \"v1.33.3\",\n        Cni = new Gcore.Inputs.CloudK8sClusterCniArgs\n        {\n            CloudK8sClusterProvider = \"cilium\",\n        },\n        Csi = new Gcore.Inputs.CloudK8sClusterCsiArgs\n        {\n            Nfs = new Gcore.Inputs.CloudK8sClusterCsiNfsArgs\n            {\n                VastEnabled = true,\n            },\n        },\n        Pools = new[]\n        {\n            new Gcore.Inputs.CloudK8sClusterPoolArgs\n            {\n                Name = \"gpu-1\",\n                FlavorId = \"bm3-ai-ndp-1xlarge-h100-80-8\",\n                IsPublicIpv4 = false,\n                MinNodeCount = 1,\n                MaxNodeCount = 1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudFileShare(ctx, \"vast\", &gcore.CloudFileShareArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"tf-file-share-vast\"),\n\t\t\tSize:      pulumi.Float64(10),\n\t\t\tTypeName:  pulumi.String(\"vast\"),\n\t\t\tProtocol:  pulumi.String(\"NFS\"),\n\t\t\tShareSettings: &gcore.CloudFileShareShareSettingsArgs{\n\t\t\t\tAllowedCharacters: pulumi.String(\"LCD\"),\n\t\t\t\tPathLength:        pulumi.String(\"LCD\"),\n\t\t\t\tRootSquash:        pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudK8sCluster(ctx, \"cluster\", &gcore.CloudK8sClusterArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"my-k8s-cluster\"),\n\t\t\tFixedNetwork: network.ID(),\n\t\t\tFixedSubnet:  subnet.ID(),\n\t\t\tKeypair:      pulumi.Any(myKeypair.Name),\n\t\t\tVersion:      pulumi.String(\"v1.33.3\"),\n\t\t\tCni: &gcore.CloudK8sClusterCniArgs{\n\t\t\t\tCloudK8sClusterProvider: pulumi.String(\"cilium\"),\n\t\t\t},\n\t\t\tCsi: &gcore.CloudK8sClusterCsiArgs{\n\t\t\t\tNfs: &gcore.CloudK8sClusterCsiNfsArgs{\n\t\t\t\t\tVastEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPools: gcore.CloudK8sClusterPoolArray{\n\t\t\t\t&gcore.CloudK8sClusterPoolArgs{\n\t\t\t\t\tName:         pulumi.String(\"gpu-1\"),\n\t\t\t\t\tFlavorId:     pulumi.String(\"bm3-ai-ndp-1xlarge-h100-80-8\"),\n\t\t\t\t\tIsPublicIpv4: pulumi.Bool(false),\n\t\t\t\t\tMinNodeCount: pulumi.Float64(1),\n\t\t\t\t\tMaxNodeCount: pulumi.Float64(1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudFileShare;\nimport com.pulumi.gcore.CloudFileShareArgs;\nimport com.pulumi.gcore.inputs.CloudFileShareShareSettingsArgs;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudK8sCluster;\nimport com.pulumi.gcore.CloudK8sClusterArgs;\nimport com.pulumi.gcore.inputs.CloudK8sClusterCniArgs;\nimport com.pulumi.gcore.inputs.CloudK8sClusterCsiArgs;\nimport com.pulumi.gcore.inputs.CloudK8sClusterCsiNfsArgs;\nimport com.pulumi.gcore.inputs.CloudK8sClusterPoolArgs;\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 vast = new CloudFileShare(\"vast\", CloudFileShareArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"tf-file-share-vast\")\n            .size(10.0)\n            .typeName(\"vast\")\n            .protocol(\"NFS\")\n            .shareSettings(CloudFileShareShareSettingsArgs.builder()\n                .allowedCharacters(\"LCD\")\n                .pathLength(\"LCD\")\n                .rootSquash(true)\n                .build())\n            .build());\n\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .build());\n\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .build());\n\n        var cluster = new CloudK8sCluster(\"cluster\", CloudK8sClusterArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-k8s-cluster\")\n            .fixedNetwork(network.id())\n            .fixedSubnet(subnet.id())\n            .keypair(myKeypair.name())\n            .version(\"v1.33.3\")\n            .cni(CloudK8sClusterCniArgs.builder()\n                .cloudK8sClusterProvider(\"cilium\")\n                .build())\n            .csi(CloudK8sClusterCsiArgs.builder()\n                .nfs(CloudK8sClusterCsiNfsArgs.builder()\n                    .vastEnabled(true)\n                    .build())\n                .build())\n            .pools(CloudK8sClusterPoolArgs.builder()\n                .name(\"gpu-1\")\n                .flavorId(\"bm3-ai-ndp-1xlarge-h100-80-8\")\n                .isPublicIpv4(false)\n                .minNodeCount(1.0)\n                .maxNodeCount(1.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  vast:\n    type: gcore:CloudFileShare\n    properties:\n      projectId: 1\n      regionId: 1\n      name: tf-file-share-vast\n      size: 10\n      typeName: vast\n      protocol: NFS\n      shareSettings:\n        allowedCharacters: LCD\n        pathLength: LCD\n        rootSquash: true\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n  cluster:\n    type: gcore:CloudK8sCluster\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-k8s-cluster\n      fixedNetwork: ${network.id}\n      fixedSubnet: ${subnet.id}\n      keypair: ${myKeypair.name}\n      version: v1.33.3\n      cni:\n        cloudK8sClusterProvider: cilium\n      csi:\n        nfs:\n          vastEnabled: true\n      pools:\n        - name: gpu-1\n          flavorId: bm3-ai-ndp-1xlarge-h100-80-8\n          isPublicIpv4: false\n          minNodeCount: 1\n          maxNodeCount: 1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudK8sCluster:CloudK8sCluster example '<project_id>/<region_id>/<cluster_name>'\n```\n\n","inputProperties":{"addOns":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAddOns:CloudK8sClusterAddOns","description":"Cluster add-ons configuration\n"},"authentication":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAuthentication:CloudK8sClusterAuthentication","description":"Authentication settings\n"},"autoscalerConfig":{"additionalProperties":{"type":"string"},"description":"Cluster autoscaler configuration.\n","type":"object"},"cni":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCni:CloudK8sClusterCni","description":"Cluster CNI settings"},"csi":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCsi:CloudK8sClusterCsi","description":"Container Storage Interface (CSI) driver settings"},"fixedNetwork":{"description":"The network of the cluster","type":"string"},"fixedSubnet":{"description":"The subnet of the cluster","type":"string"},"isIpv6":{"description":"Enable public v6 address","type":"boolean"},"keypair":{"description":"The keypair of the cluster\n","type":"string"},"logging":{"$ref":"#/types/gcore:index%2FCloudK8sClusterLogging:CloudK8sClusterLogging","description":"Logging configuration"},"name":{"description":"The name of the cluster\n","type":"string"},"podsIpPool":{"description":"The IP pool for the pods","type":"string"},"podsIpv6Pool":{"description":"The IPv6 pool for the pods","type":"string"},"pools":{"description":"The pools of the cluster\n","items":{"$ref":"#/types/gcore:index%2FCloudK8sClusterPool:CloudK8sClusterPool"},"type":"array"},"projectId":{"description":"Project ID","type":"number"},"regionId":{"description":"Region ID","type":"number"},"servicesIpPool":{"description":"The IP pool for the services","type":"string"},"servicesIpv6Pool":{"description":"The IPv6 pool for the services","type":"string"},"version":{"description":"The version of the k8s cluster\n","type":"string"}},"properties":{"addOns":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAddOns:CloudK8sClusterAddOns","description":"Cluster add-ons configuration\n"},"authentication":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAuthentication:CloudK8sClusterAuthentication","description":"Authentication settings\n"},"autoscalerConfig":{"additionalProperties":{"type":"string"},"description":"Cluster autoscaler configuration.\n","type":"object"},"cni":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCni:CloudK8sClusterCni","description":"Cluster CNI settings"},"createdAt":{"description":"Function creation date","type":"string"},"creatorTaskId":{"description":"Task that created this entity","type":"string"},"csi":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCsi:CloudK8sClusterCsi","description":"Container Storage Interface (CSI) driver settings"},"fixedNetwork":{"description":"The network of the cluster","type":"string"},"fixedSubnet":{"description":"The subnet of the cluster","type":"string"},"isIpv6":{"description":"Enable public v6 address","type":"boolean"},"isPublic":{"description":"Cluster is public","type":"boolean"},"keypair":{"description":"The keypair of the cluster\n","type":"string"},"logging":{"$ref":"#/types/gcore:index%2FCloudK8sClusterLogging:CloudK8sClusterLogging","description":"Logging configuration"},"name":{"description":"The name of the cluster\n","type":"string"},"podsIpPool":{"description":"The IP pool for the pods","type":"string"},"podsIpv6Pool":{"description":"The IPv6 pool for the pods","type":"string"},"pools":{"description":"The pools of the cluster\n","items":{"$ref":"#/types/gcore:index%2FCloudK8sClusterPool:CloudK8sClusterPool"},"type":"array"},"projectId":{"description":"Project ID","type":"number"},"regionId":{"description":"Region ID","type":"number"},"servicesIpPool":{"description":"The IP pool for the services","type":"string"},"servicesIpv6Pool":{"description":"The IPv6 pool for the services","type":"string"},"status":{"description":"Status\nAvailable values: \"Deleting\", \"Provisioned\", \"Provisioning\".","type":"string"},"version":{"description":"The version of the k8s cluster\n","type":"string"}},"required":["addOns","authentication","autoscalerConfig","cni","createdAt","creatorTaskId","csi","fixedNetwork","fixedSubnet","isIpv6","isPublic","keypair","logging","name","podsIpPool","podsIpv6Pool","pools","servicesIpPool","servicesIpv6Pool","status","version"],"requiredInputs":["keypair","pools","version"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudK8sCluster resources.\n","properties":{"addOns":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAddOns:CloudK8sClusterAddOns","description":"Cluster add-ons configuration\n"},"authentication":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAuthentication:CloudK8sClusterAuthentication","description":"Authentication settings\n"},"autoscalerConfig":{"additionalProperties":{"type":"string"},"description":"Cluster autoscaler configuration.\n","type":"object"},"cni":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCni:CloudK8sClusterCni","description":"Cluster CNI settings"},"createdAt":{"description":"Function creation date","type":"string"},"creatorTaskId":{"description":"Task that created this entity","type":"string"},"csi":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCsi:CloudK8sClusterCsi","description":"Container Storage Interface (CSI) driver settings"},"fixedNetwork":{"description":"The network of the cluster","type":"string"},"fixedSubnet":{"description":"The subnet of the cluster","type":"string"},"isIpv6":{"description":"Enable public v6 address","type":"boolean"},"isPublic":{"description":"Cluster is public","type":"boolean"},"keypair":{"description":"The keypair of the cluster\n","type":"string"},"logging":{"$ref":"#/types/gcore:index%2FCloudK8sClusterLogging:CloudK8sClusterLogging","description":"Logging configuration"},"name":{"description":"The name of the cluster\n","type":"string"},"podsIpPool":{"description":"The IP pool for the pods","type":"string"},"podsIpv6Pool":{"description":"The IPv6 pool for the pods","type":"string"},"pools":{"description":"The pools of the cluster\n","items":{"$ref":"#/types/gcore:index%2FCloudK8sClusterPool:CloudK8sClusterPool"},"type":"array"},"projectId":{"description":"Project ID","type":"number"},"regionId":{"description":"Region ID","type":"number"},"servicesIpPool":{"description":"The IP pool for the services","type":"string"},"servicesIpv6Pool":{"description":"The IPv6 pool for the services","type":"string"},"status":{"description":"Status\nAvailable values: \"Deleting\", \"Provisioned\", \"Provisioning\".","type":"string"},"version":{"description":"The version of the k8s cluster\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudLoadBalancer:CloudLoadBalancer":{"description":"Load balancers distribute incoming traffic across multiple instances with support for listeners, pools, and health monitoring.\n\n## Example Usage\n\n### Public load balancer\n\nCreates a public load balancer with a public VIP address.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst publicLb = new gcore.CloudLoadBalancer(\"public_lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"My first public load balancer\",\n    flavor: \"lb1-1-2\",\n    tags: {\n        managed_by: \"terraform\",\n    },\n});\nexport const publicLbIp = publicLb.vipAddress;\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\npublic_lb = gcore.CloudLoadBalancer(\"public_lb\",\n    project_id=1,\n    region_id=1,\n    name=\"My first public load balancer\",\n    flavor=\"lb1-1-2\",\n    tags={\n        \"managed_by\": \"terraform\",\n    })\npulumi.export(\"publicLbIp\", public_lb.vip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var publicLb = new Gcore.CloudLoadBalancer(\"public_lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"My first public load balancer\",\n        Flavor = \"lb1-1-2\",\n        Tags = \n        {\n            { \"managed_by\", \"terraform\" },\n        },\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"publicLbIp\"] = publicLb.VipAddress,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpublicLb, err := gcore.NewCloudLoadBalancer(ctx, \"public_lb\", &gcore.CloudLoadBalancerArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"My first public load balancer\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"managed_by\": pulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"publicLbIp\", publicLb.VipAddress)\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.gcore.CloudLoadBalancer;\nimport com.pulumi.gcore.CloudLoadBalancerArgs;\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 publicLb = new CloudLoadBalancer(\"publicLb\", CloudLoadBalancerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"My first public load balancer\")\n            .flavor(\"lb1-1-2\")\n            .tags(Map.of(\"managed_by\", \"terraform\"))\n            .build());\n\n        ctx.export(\"publicLbIp\", publicLb.vipAddress());\n    }\n}\n```\n```yaml\nresources:\n  publicLb:\n    type: gcore:CloudLoadBalancer\n    name: public_lb\n    properties:\n      projectId: 1\n      regionId: 1\n      name: My first public load balancer\n      flavor: lb1-1-2\n      tags:\n        managed_by: terraform\noutputs:\n  publicLbIp: ${publicLb.vipAddress}\n```\n<!--End PulumiCodeChooser -->\n\n### Public load balancer with reserved fixed IP\n\nAttaches a pre-allocated reserved fixed IP so the VIP address survives destroy/recreate cycles.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nexport = async () => {\n    // After destroying the load balancer, you can attach the Reserved Fixed IP to another load balancer or instance\n    const publicLbFixedIp = new gcore.CloudReservedFixedIp(\"public_lb_fixed_ip\", {\n        projectId: 1,\n        regionId: 1,\n        isVip: false,\n        type: \"external\",\n    });\n    const publicLbWithFixedIp = new gcore.CloudLoadBalancer(\"public_lb_with_fixed_ip\", {\n        projectId: 1,\n        regionId: 1,\n        name: \"My first public load balancer with reserved fixed ip\",\n        flavor: \"lb1-1-2\",\n        vipPortId: publicLbFixedIp.portId,\n    });\n    return {\n        publicLbWithFixedIp: publicLbWithFixedIp.vipAddress,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# After destroying the load balancer, you can attach the Reserved Fixed IP to another load balancer or instance\npublic_lb_fixed_ip = gcore.CloudReservedFixedIp(\"public_lb_fixed_ip\",\n    project_id=1,\n    region_id=1,\n    is_vip=False,\n    type=\"external\")\npublic_lb_with_fixed_ip = gcore.CloudLoadBalancer(\"public_lb_with_fixed_ip\",\n    project_id=1,\n    region_id=1,\n    name=\"My first public load balancer with reserved fixed ip\",\n    flavor=\"lb1-1-2\",\n    vip_port_id=public_lb_fixed_ip.port_id)\npulumi.export(\"publicLbWithFixedIp\", public_lb_with_fixed_ip.vip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // After destroying the load balancer, you can attach the Reserved Fixed IP to another load balancer or instance\n    var publicLbFixedIp = new Gcore.CloudReservedFixedIp(\"public_lb_fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        IsVip = false,\n        Type = \"external\",\n    });\n\n    var publicLbWithFixedIp = new Gcore.CloudLoadBalancer(\"public_lb_with_fixed_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"My first public load balancer with reserved fixed ip\",\n        Flavor = \"lb1-1-2\",\n        VipPortId = publicLbFixedIp.PortId,\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"publicLbWithFixedIp\"] = publicLbWithFixedIp.VipAddress,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// After destroying the load balancer, you can attach the Reserved Fixed IP to another load balancer or instance\n\t\tpublicLbFixedIp, err := gcore.NewCloudReservedFixedIp(ctx, \"public_lb_fixed_ip\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tIsVip:     pulumi.Bool(false),\n\t\t\tType:      pulumi.String(\"external\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpublicLbWithFixedIp, err := gcore.NewCloudLoadBalancer(ctx, \"public_lb_with_fixed_ip\", &gcore.CloudLoadBalancerArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"My first public load balancer with reserved fixed ip\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t\tVipPortId: publicLbFixedIp.PortId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"publicLbWithFixedIp\", publicLbWithFixedIp.VipAddress)\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.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\nimport com.pulumi.gcore.CloudLoadBalancer;\nimport com.pulumi.gcore.CloudLoadBalancerArgs;\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        // After destroying the load balancer, you can attach the Reserved Fixed IP to another load balancer or instance\n        var publicLbFixedIp = new CloudReservedFixedIp(\"publicLbFixedIp\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .isVip(false)\n            .type(\"external\")\n            .build());\n\n        var publicLbWithFixedIp = new CloudLoadBalancer(\"publicLbWithFixedIp\", CloudLoadBalancerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"My first public load balancer with reserved fixed ip\")\n            .flavor(\"lb1-1-2\")\n            .vipPortId(publicLbFixedIp.portId())\n            .build());\n\n        ctx.export(\"publicLbWithFixedIp\", publicLbWithFixedIp.vipAddress());\n    }\n}\n```\n```yaml\nresources:\n  # After destroying the load balancer, you can attach the Reserved Fixed IP to another load balancer or instance\n  publicLbFixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: public_lb_fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      isVip: false\n      type: external\n  publicLbWithFixedIp:\n    type: gcore:CloudLoadBalancer\n    name: public_lb_with_fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      name: My first public load balancer with reserved fixed ip\n      flavor: lb1-1-2\n      vipPortId: ${publicLbFixedIp.portId}\noutputs:\n  publicLbWithFixedIp: ${publicLbWithFixedIp.vipAddress}\n```\n<!--End PulumiCodeChooser -->\n\n### Private load balancer\n\nCreates a load balancer on a private network with no public IP.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst privateNetwork = new gcore.CloudNetwork(\"private_network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-private-network\",\n});\nconst privateSubnet = new gcore.CloudNetworkSubnet(\"private_subnet\", {\n    projectId: 1,\n    regionId: 1,\n    cidr: \"10.0.0.0/24\",\n    name: \"my-private-network-subnet\",\n    networkId: privateNetwork.id,\n});\nconst privateLb = new gcore.CloudLoadBalancer(\"private_lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"My first private load balancer\",\n    flavor: \"lb1-1-2\",\n    vipNetworkId: privateNetwork.id,\n    vipSubnetId: privateSubnet.id,\n});\nexport const privateLbIp = privateLb.vipAddress;\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nprivate_network = gcore.CloudNetwork(\"private_network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-private-network\")\nprivate_subnet = gcore.CloudNetworkSubnet(\"private_subnet\",\n    project_id=1,\n    region_id=1,\n    cidr=\"10.0.0.0/24\",\n    name=\"my-private-network-subnet\",\n    network_id=private_network.id)\nprivate_lb = gcore.CloudLoadBalancer(\"private_lb\",\n    project_id=1,\n    region_id=1,\n    name=\"My first private load balancer\",\n    flavor=\"lb1-1-2\",\n    vip_network_id=private_network.id,\n    vip_subnet_id=private_subnet.id)\npulumi.export(\"privateLbIp\", private_lb.vip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var privateNetwork = new Gcore.CloudNetwork(\"private_network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-private-network\",\n    });\n\n    var privateSubnet = new Gcore.CloudNetworkSubnet(\"private_subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Cidr = \"10.0.0.0/24\",\n        Name = \"my-private-network-subnet\",\n        NetworkId = privateNetwork.Id,\n    });\n\n    var privateLb = new Gcore.CloudLoadBalancer(\"private_lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"My first private load balancer\",\n        Flavor = \"lb1-1-2\",\n        VipNetworkId = privateNetwork.Id,\n        VipSubnetId = privateSubnet.Id,\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"privateLbIp\"] = privateLb.VipAddress,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateNetwork, err := gcore.NewCloudNetwork(ctx, \"private_network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-private-network\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateSubnet, err := gcore.NewCloudNetworkSubnet(ctx, \"private_subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tCidr:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tName:      pulumi.String(\"my-private-network-subnet\"),\n\t\t\tNetworkId: privateNetwork.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateLb, err := gcore.NewCloudLoadBalancer(ctx, \"private_lb\", &gcore.CloudLoadBalancerArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"My first private load balancer\"),\n\t\t\tFlavor:       pulumi.String(\"lb1-1-2\"),\n\t\t\tVipNetworkId: privateNetwork.ID(),\n\t\t\tVipSubnetId:  privateSubnet.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateLbIp\", privateLb.VipAddress)\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.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudLoadBalancer;\nimport com.pulumi.gcore.CloudLoadBalancerArgs;\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 privateNetwork = new CloudNetwork(\"privateNetwork\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-private-network\")\n            .build());\n\n        var privateSubnet = new CloudNetworkSubnet(\"privateSubnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .cidr(\"10.0.0.0/24\")\n            .name(\"my-private-network-subnet\")\n            .networkId(privateNetwork.id())\n            .build());\n\n        var privateLb = new CloudLoadBalancer(\"privateLb\", CloudLoadBalancerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"My first private load balancer\")\n            .flavor(\"lb1-1-2\")\n            .vipNetworkId(privateNetwork.id())\n            .vipSubnetId(privateSubnet.id())\n            .build());\n\n        ctx.export(\"privateLbIp\", privateLb.vipAddress());\n    }\n}\n```\n```yaml\nresources:\n  privateNetwork:\n    type: gcore:CloudNetwork\n    name: private_network\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-private-network\n  privateSubnet:\n    type: gcore:CloudNetworkSubnet\n    name: private_subnet\n    properties:\n      projectId: 1\n      regionId: 1\n      cidr: 10.0.0.0/24\n      name: my-private-network-subnet\n      networkId: ${privateNetwork.id}\n  privateLb:\n    type: gcore:CloudLoadBalancer\n    name: private_lb\n    properties:\n      projectId: 1\n      regionId: 1\n      name: My first private load balancer\n      flavor: lb1-1-2\n      vipNetworkId: ${privateNetwork.id}\n      vipSubnetId: ${privateSubnet.id}\noutputs:\n  privateLbIp: ${privateLb.vipAddress}\n```\n<!--End PulumiCodeChooser -->\n\n### Private load balancer in dual-stack mode\n\nCreates a private load balancer with both IPv4 and IPv6 subnets.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst privateNetworkDualstack = new gcore.CloudNetwork(\"private_network_dualstack\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-private-network-dualstack\",\n});\nconst privateSubnetIpv4 = new gcore.CloudNetworkSubnet(\"private_subnet_ipv4\", {\n    projectId: 1,\n    regionId: 1,\n    cidr: \"10.0.0.0/24\",\n    name: \"my-private-network-subnet-ipv4\",\n    networkId: privateNetworkDualstack.id,\n});\nconst privateSubnetIpv6 = new gcore.CloudNetworkSubnet(\"private_subnet_ipv6\", {\n    projectId: 1,\n    regionId: 1,\n    cidr: \"fd00::/120\",\n    name: \"my-private-network-subnet-ipv6\",\n    networkId: privateNetworkDualstack.id,\n});\nconst privateLbDualstack = new gcore.CloudLoadBalancer(\"private_lb_dualstack\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"My first private dual stack load balancer\",\n    flavor: \"lb1-1-2\",\n    vipNetworkId: privateNetworkDualstack.id,\n    vipIpFamily: \"dual\",\n}, {\n    dependsOn: [\n        privateSubnetIpv4,\n        privateSubnetIpv6,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nprivate_network_dualstack = gcore.CloudNetwork(\"private_network_dualstack\",\n    project_id=1,\n    region_id=1,\n    name=\"my-private-network-dualstack\")\nprivate_subnet_ipv4 = gcore.CloudNetworkSubnet(\"private_subnet_ipv4\",\n    project_id=1,\n    region_id=1,\n    cidr=\"10.0.0.0/24\",\n    name=\"my-private-network-subnet-ipv4\",\n    network_id=private_network_dualstack.id)\nprivate_subnet_ipv6 = gcore.CloudNetworkSubnet(\"private_subnet_ipv6\",\n    project_id=1,\n    region_id=1,\n    cidr=\"fd00::/120\",\n    name=\"my-private-network-subnet-ipv6\",\n    network_id=private_network_dualstack.id)\nprivate_lb_dualstack = gcore.CloudLoadBalancer(\"private_lb_dualstack\",\n    project_id=1,\n    region_id=1,\n    name=\"My first private dual stack load balancer\",\n    flavor=\"lb1-1-2\",\n    vip_network_id=private_network_dualstack.id,\n    vip_ip_family=\"dual\",\n    opts = pulumi.ResourceOptions(depends_on=[\n            private_subnet_ipv4,\n            private_subnet_ipv6,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var privateNetworkDualstack = new Gcore.CloudNetwork(\"private_network_dualstack\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-private-network-dualstack\",\n    });\n\n    var privateSubnetIpv4 = new Gcore.CloudNetworkSubnet(\"private_subnet_ipv4\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Cidr = \"10.0.0.0/24\",\n        Name = \"my-private-network-subnet-ipv4\",\n        NetworkId = privateNetworkDualstack.Id,\n    });\n\n    var privateSubnetIpv6 = new Gcore.CloudNetworkSubnet(\"private_subnet_ipv6\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Cidr = \"fd00::/120\",\n        Name = \"my-private-network-subnet-ipv6\",\n        NetworkId = privateNetworkDualstack.Id,\n    });\n\n    var privateLbDualstack = new Gcore.CloudLoadBalancer(\"private_lb_dualstack\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"My first private dual stack load balancer\",\n        Flavor = \"lb1-1-2\",\n        VipNetworkId = privateNetworkDualstack.Id,\n        VipIpFamily = \"dual\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            privateSubnetIpv4,\n            privateSubnetIpv6,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateNetworkDualstack, err := gcore.NewCloudNetwork(ctx, \"private_network_dualstack\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-private-network-dualstack\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateSubnetIpv4, err := gcore.NewCloudNetworkSubnet(ctx, \"private_subnet_ipv4\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tCidr:      pulumi.String(\"10.0.0.0/24\"),\n\t\t\tName:      pulumi.String(\"my-private-network-subnet-ipv4\"),\n\t\t\tNetworkId: privateNetworkDualstack.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprivateSubnetIpv6, err := gcore.NewCloudNetworkSubnet(ctx, \"private_subnet_ipv6\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tCidr:      pulumi.String(\"fd00::/120\"),\n\t\t\tName:      pulumi.String(\"my-private-network-subnet-ipv6\"),\n\t\t\tNetworkId: privateNetworkDualstack.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudLoadBalancer(ctx, \"private_lb_dualstack\", &gcore.CloudLoadBalancerArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tName:         pulumi.String(\"My first private dual stack load balancer\"),\n\t\t\tFlavor:       pulumi.String(\"lb1-1-2\"),\n\t\t\tVipNetworkId: privateNetworkDualstack.ID(),\n\t\t\tVipIpFamily:  pulumi.String(\"dual\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprivateSubnetIpv4,\n\t\t\tprivateSubnetIpv6,\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.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.CloudLoadBalancer;\nimport com.pulumi.gcore.CloudLoadBalancerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var privateNetworkDualstack = new CloudNetwork(\"privateNetworkDualstack\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-private-network-dualstack\")\n            .build());\n\n        var privateSubnetIpv4 = new CloudNetworkSubnet(\"privateSubnetIpv4\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .cidr(\"10.0.0.0/24\")\n            .name(\"my-private-network-subnet-ipv4\")\n            .networkId(privateNetworkDualstack.id())\n            .build());\n\n        var privateSubnetIpv6 = new CloudNetworkSubnet(\"privateSubnetIpv6\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .cidr(\"fd00::/120\")\n            .name(\"my-private-network-subnet-ipv6\")\n            .networkId(privateNetworkDualstack.id())\n            .build());\n\n        var privateLbDualstack = new CloudLoadBalancer(\"privateLbDualstack\", CloudLoadBalancerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"My first private dual stack load balancer\")\n            .flavor(\"lb1-1-2\")\n            .vipNetworkId(privateNetworkDualstack.id())\n            .vipIpFamily(\"dual\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    privateSubnetIpv4,\n                    privateSubnetIpv6)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  privateNetworkDualstack:\n    type: gcore:CloudNetwork\n    name: private_network_dualstack\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-private-network-dualstack\n  privateSubnetIpv4:\n    type: gcore:CloudNetworkSubnet\n    name: private_subnet_ipv4\n    properties:\n      projectId: 1\n      regionId: 1\n      cidr: 10.0.0.0/24\n      name: my-private-network-subnet-ipv4\n      networkId: ${privateNetworkDualstack.id}\n  privateSubnetIpv6:\n    type: gcore:CloudNetworkSubnet\n    name: private_subnet_ipv6\n    properties:\n      projectId: 1\n      regionId: 1\n      cidr: fd00::/120\n      name: my-private-network-subnet-ipv6\n      networkId: ${privateNetworkDualstack.id}\n  privateLbDualstack:\n    type: gcore:CloudLoadBalancer\n    name: private_lb_dualstack\n    properties:\n      projectId: 1\n      regionId: 1\n      name: My first private dual stack load balancer\n      flavor: lb1-1-2\n      vipNetworkId: ${privateNetworkDualstack.id}\n      vipIpFamily: dual\n    options:\n      dependsOn:\n        - ${privateSubnetIpv4}\n        - ${privateSubnetIpv6}\n```\n<!--End PulumiCodeChooser -->\n\n### Floating IP for a private load balancer\n\nAssociates a floating IP with an existing private load balancer to provide public access.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nexport = async () => {\n    const privateLbFip = new gcore.CloudFloatingIp(\"private_lb_fip\", {\n        projectId: 1,\n        regionId: 1,\n        fixedIpAddress: privateLb.vipAddress,\n        portId: privateLb.vipPortId,\n    });\n    return {\n        privateLbFip: privateLbFip.floatingIpAddress,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nprivate_lb_fip = gcore.CloudFloatingIp(\"private_lb_fip\",\n    project_id=1,\n    region_id=1,\n    fixed_ip_address=private_lb[\"vipAddress\"],\n    port_id=private_lb[\"vipPortId\"])\npulumi.export(\"privateLbFip\", private_lb_fip.floating_ip_address)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var privateLbFip = new Gcore.CloudFloatingIp(\"private_lb_fip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        FixedIpAddress = privateLb.VipAddress,\n        PortId = privateLb.VipPortId,\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"privateLbFip\"] = privateLbFip.FloatingIpAddress,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprivateLbFip, err := gcore.NewCloudFloatingIp(ctx, \"private_lb_fip\", &gcore.CloudFloatingIpArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tFixedIpAddress: pulumi.Any(privateLb.VipAddress),\n\t\t\tPortId:         pulumi.Any(privateLb.VipPortId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"privateLbFip\", privateLbFip.FloatingIpAddress)\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.gcore.CloudFloatingIp;\nimport com.pulumi.gcore.CloudFloatingIpArgs;\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 privateLbFip = new CloudFloatingIp(\"privateLbFip\", CloudFloatingIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .fixedIpAddress(privateLb.vipAddress())\n            .portId(privateLb.vipPortId())\n            .build());\n\n        ctx.export(\"privateLbFip\", privateLbFip.floatingIpAddress());\n    }\n}\n```\n```yaml\nresources:\n  privateLbFip:\n    type: gcore:CloudFloatingIp\n    name: private_lb_fip\n    properties:\n      projectId: 1\n      regionId: 1\n      fixedIpAddress: ${privateLb.vipAddress}\n      portId: ${privateLb.vipPortId}\noutputs:\n  privateLbFip: ${privateLbFip.floatingIpAddress}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudLoadBalancer:CloudLoadBalancer example '<project_id>/<region_id>/<load_balancer_id>'\n```\n\n","inputProperties":{"flavor":{"description":"Load balancer flavor name\n","type":"string"},"floatingIp":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerFloatingIp:CloudLoadBalancerFloatingIp","description":"Floating IP configuration for assignment\n"},"logging":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerLogging:CloudLoadBalancerLogging","description":"Logging configuration\n"},"name":{"description":"Load balancer name.\n","type":"string"},"preferredConnectivity":{"description":"Preferred option to establish connectivity between load balancer and its pools members. L2 provides best performance, L3 provides less IPs usage. It is taking effect only if <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> + <span pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\">`ip_address`</span> is provided, not <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> + <span pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\">`ip_address`</span>, because we're considering this as intentional <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> specification.\nAvailable values: \"L2\", \"L3\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"vipIpFamily":{"description":"IP family for load balancer subnet auto-selection if <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> is specified\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"vipNetworkId":{"description":"Network ID for load balancer. If not specified, default external network will be used. Mutually exclusive with <span pulumi-lang-nodejs=\"`vipPortId`\" pulumi-lang-dotnet=\"`VipPortId`\" pulumi-lang-go=\"`vipPortId`\" pulumi-lang-python=\"`vip_port_id`\" pulumi-lang-yaml=\"`vipPortId`\" pulumi-lang-java=\"`vipPortId`\">`vip_port_id`</span>\n","type":"string"},"vipPortId":{"description":"Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span>\n","type":"string"},"vipSubnetId":{"description":"Subnet ID for load balancer. If not specified, any subnet from <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> will be selected. Ignored when <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> is not specified.\n","type":"string"}},"properties":{"additionalVips":{"description":"List of additional IP addresses\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerAdditionalVip:CloudLoadBalancerAdditionalVip"},"type":"array"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"createdAt":{"description":"Datetime when the load balancer was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"flavor":{"description":"Load balancer flavor name\n","type":"string"},"floatingIp":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerFloatingIp:CloudLoadBalancerFloatingIp","description":"Floating IP configuration for assignment\n"},"floatingIps":{"description":"List of assigned floating IPs\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerFloatingIp:CloudLoadBalancerFloatingIp"},"type":"array"},"logging":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerLogging:CloudLoadBalancerLogging","description":"Logging configuration\n"},"name":{"description":"Load balancer name.\n","type":"string"},"operatingStatus":{"description":"Load balancer operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"preferredConnectivity":{"description":"Preferred option to establish connectivity between load balancer and its pools members. L2 provides best performance, L3 provides less IPs usage. It is taking effect only if <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> + <span pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\">`ip_address`</span> is provided, not <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> + <span pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\">`ip_address`</span>, because we're considering this as intentional <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> specification.\nAvailable values: \"L2\", \"L3\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"provisioningStatus":{"description":"Load balancer lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"stats":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerStats:CloudLoadBalancerStats","description":"Statistics of load balancer.\n"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerTagsV2:CloudLoadBalancerTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the load balancer was last updated\n","type":"string"},"vipAddress":{"description":"Load balancer IP address\n","type":"string"},"vipFqdn":{"description":"Fully qualified domain name for the load balancer VIP\n","type":"string"},"vipIpFamily":{"description":"IP family for load balancer subnet auto-selection if <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> is specified\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"vipNetworkId":{"description":"Network ID for load balancer. If not specified, default external network will be used. Mutually exclusive with <span pulumi-lang-nodejs=\"`vipPortId`\" pulumi-lang-dotnet=\"`VipPortId`\" pulumi-lang-go=\"`vipPortId`\" pulumi-lang-python=\"`vip_port_id`\" pulumi-lang-yaml=\"`vipPortId`\" pulumi-lang-java=\"`vipPortId`\">`vip_port_id`</span>\n","type":"string"},"vipPortId":{"description":"Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span>\n","type":"string"},"vipSubnetId":{"description":"Subnet ID for load balancer. If not specified, any subnet from <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> will be selected. Ignored when <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> is not specified.\n","type":"string"},"vrrpIps":{"description":"List of VRRP IP addresses\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerVrrpIp:CloudLoadBalancerVrrpIp"},"type":"array"}},"required":["additionalVips","adminStateUp","createdAt","creatorTaskId","floatingIps","logging","name","operatingStatus","preferredConnectivity","provisioningStatus","region","stats","tags","tagsV2s","updatedAt","vipAddress","vipFqdn","vipIpFamily","vipPortId","vrrpIps"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudLoadBalancer resources.\n","properties":{"additionalVips":{"description":"List of additional IP addresses\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerAdditionalVip:CloudLoadBalancerAdditionalVip"},"type":"array"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"createdAt":{"description":"Datetime when the load balancer was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"flavor":{"description":"Load balancer flavor name\n","type":"string"},"floatingIp":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerFloatingIp:CloudLoadBalancerFloatingIp","description":"Floating IP configuration for assignment\n"},"floatingIps":{"description":"List of assigned floating IPs\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerFloatingIp:CloudLoadBalancerFloatingIp"},"type":"array"},"logging":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerLogging:CloudLoadBalancerLogging","description":"Logging configuration\n"},"name":{"description":"Load balancer name.\n","type":"string"},"operatingStatus":{"description":"Load balancer operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"preferredConnectivity":{"description":"Preferred option to establish connectivity between load balancer and its pools members. L2 provides best performance, L3 provides less IPs usage. It is taking effect only if <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> + <span pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\">`ip_address`</span> is provided, not <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> + <span pulumi-lang-nodejs=\"`ipAddress`\" pulumi-lang-dotnet=\"`IpAddress`\" pulumi-lang-go=\"`ipAddress`\" pulumi-lang-python=\"`ip_address`\" pulumi-lang-yaml=\"`ipAddress`\" pulumi-lang-java=\"`ipAddress`\">`ip_address`</span>, because we're considering this as intentional <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> specification.\nAvailable values: \"L2\", \"L3\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"provisioningStatus":{"description":"Load balancer lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"stats":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerStats:CloudLoadBalancerStats","description":"Statistics of load balancer.\n"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerTagsV2:CloudLoadBalancerTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the load balancer was last updated\n","type":"string"},"vipAddress":{"description":"Load balancer IP address\n","type":"string"},"vipFqdn":{"description":"Fully qualified domain name for the load balancer VIP\n","type":"string"},"vipIpFamily":{"description":"IP family for load balancer subnet auto-selection if <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> is specified\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"vipNetworkId":{"description":"Network ID for load balancer. If not specified, default external network will be used. Mutually exclusive with <span pulumi-lang-nodejs=\"`vipPortId`\" pulumi-lang-dotnet=\"`VipPortId`\" pulumi-lang-go=\"`vipPortId`\" pulumi-lang-python=\"`vip_port_id`\" pulumi-lang-yaml=\"`vipPortId`\" pulumi-lang-java=\"`vipPortId`\">`vip_port_id`</span>\n","type":"string"},"vipPortId":{"description":"Existing Reserved Fixed IP port ID for load balancer. Mutually exclusive with <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span>\n","type":"string"},"vipSubnetId":{"description":"Subnet ID for load balancer. If not specified, any subnet from <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> will be selected. Ignored when <span pulumi-lang-nodejs=\"`vipNetworkId`\" pulumi-lang-dotnet=\"`VipNetworkId`\" pulumi-lang-go=\"`vipNetworkId`\" pulumi-lang-python=\"`vip_network_id`\" pulumi-lang-yaml=\"`vipNetworkId`\" pulumi-lang-java=\"`vipNetworkId`\">`vip_network_id`</span> is not specified.\n","type":"string"},"vrrpIps":{"description":"List of VRRP IP addresses\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerVrrpIp:CloudLoadBalancerVrrpIp"},"type":"array"}},"type":"object"},"type":"object"},"gcore:index/cloudLoadBalancerListener:CloudLoadBalancerListener":{"description":"Load balancer listeners handle incoming traffic on specified protocols and ports, forwarding requests to backend pools.\n\n## Example Usage\n\n### TCP listener on port 80\n\nCreates a basic TCP listener on port 80.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst tcp80 = new gcore.CloudLoadBalancerListener(\"tcp_80\", {\n    projectId: 1,\n    regionId: 1,\n    loadBalancerId: lb.id,\n    name: \"tcp-80\",\n    protocol: \"TCP\",\n    protocolPort: 80,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\ntcp80 = gcore.CloudLoadBalancerListener(\"tcp_80\",\n    project_id=1,\n    region_id=1,\n    load_balancer_id=lb[\"id\"],\n    name=\"tcp-80\",\n    protocol=\"TCP\",\n    protocol_port=80)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var tcp80 = new Gcore.CloudLoadBalancerListener(\"tcp_80\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        LoadBalancerId = lb.Id,\n        Name = \"tcp-80\",\n        Protocol = \"TCP\",\n        ProtocolPort = 80,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudLoadBalancerListener(ctx, \"tcp_80\", &gcore.CloudLoadBalancerListenerArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tLoadBalancerId: pulumi.Any(lb.Id),\n\t\t\tName:           pulumi.String(\"tcp-80\"),\n\t\t\tProtocol:       pulumi.String(\"TCP\"),\n\t\t\tProtocolPort:   pulumi.Float64(80),\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.gcore.CloudLoadBalancerListener;\nimport com.pulumi.gcore.CloudLoadBalancerListenerArgs;\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 tcp80 = new CloudLoadBalancerListener(\"tcp80\", CloudLoadBalancerListenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .loadBalancerId(lb.id())\n            .name(\"tcp-80\")\n            .protocol(\"TCP\")\n            .protocolPort(80.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tcp80:\n    type: gcore:CloudLoadBalancerListener\n    name: tcp_80\n    properties:\n      projectId: 1\n      regionId: 1\n      loadBalancerId: ${lb.id}\n      name: tcp-80\n      protocol: TCP\n      protocolPort: 80\n```\n<!--End PulumiCodeChooser -->\n\n### Prometheus metrics listener\n\nCreates a Prometheus listener on port 9101 restricted to a private network with basic auth.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\nimport * as random from \"@pulumi/random\";\n\nexport = async () => {\n    const prometheusPassword = new random.index.Password(\"prometheus_password\", {\n        length: 16,\n        special: true,\n        overrideSpecial: \"!#$%&*()-_=+[]{}<>:?\",\n    });\n    const prometheus9101 = new gcore.CloudLoadBalancerListener(\"prometheus_9101\", {\n        projectId: 1,\n        regionId: 1,\n        loadBalancerId: lb.id,\n        name: \"prometheus-9101\",\n        protocol: \"PROMETHEUS\",\n        protocolPort: 9101,\n        allowedCidrs: [\"10.0.0.0/8\"],\n        userLists: [{\n            username: \"admin1\",\n            encryptedPassword: prometheusPassword.bcryptHash,\n        }],\n    });\n    return {\n        prometheusPassword: prometheusPassword.result,\n    };\n}\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\nimport pulumi_random as random\n\nprometheus_password = random.index.Password(\"prometheus_password\",\n    length=16,\n    special=True,\n    override_special=!#$%&*()-_=+[]{}<>:?)\nprometheus9101 = gcore.CloudLoadBalancerListener(\"prometheus_9101\",\n    project_id=1,\n    region_id=1,\n    load_balancer_id=lb[\"id\"],\n    name=\"prometheus-9101\",\n    protocol=\"PROMETHEUS\",\n    protocol_port=9101,\n    allowed_cidrs=[\"10.0.0.0/8\"],\n    user_lists=[{\n        \"username\": \"admin1\",\n        \"encrypted_password\": prometheus_password[\"bcryptHash\"],\n    }])\npulumi.export(\"prometheusPassword\", prometheus_password[\"result\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\nusing Random = Pulumi.Random;\n\nreturn await Deployment.RunAsync(() => \n{\n    var prometheusPassword = new Random.Index.Password(\"prometheus_password\", new()\n    {\n        Length = 16,\n        Special = true,\n        OverrideSpecial = \"!#$%&*()-_=+[]{}<>:?\",\n    });\n\n    var prometheus9101 = new Gcore.CloudLoadBalancerListener(\"prometheus_9101\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        LoadBalancerId = lb.Id,\n        Name = \"prometheus-9101\",\n        Protocol = \"PROMETHEUS\",\n        ProtocolPort = 9101,\n        AllowedCidrs = new[]\n        {\n            \"10.0.0.0/8\",\n        },\n        UserLists = new[]\n        {\n            new Gcore.Inputs.CloudLoadBalancerListenerUserListArgs\n            {\n                Username = \"admin1\",\n                EncryptedPassword = prometheusPassword.BcryptHash,\n            },\n        },\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"prometheusPassword\"] = prometheusPassword.Result,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-random/sdk/go/random\"\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprometheusPassword, err := random.NewPassword(ctx, \"prometheus_password\", &random.PasswordArgs{\n\t\t\tLength:          16,\n\t\t\tSpecial:         true,\n\t\t\tOverrideSpecial: \"!#$%&*()-_=+[]{}<>:?\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudLoadBalancerListener(ctx, \"prometheus_9101\", &gcore.CloudLoadBalancerListenerArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tLoadBalancerId: pulumi.Any(lb.Id),\n\t\t\tName:           pulumi.String(\"prometheus-9101\"),\n\t\t\tProtocol:       pulumi.String(\"PROMETHEUS\"),\n\t\t\tProtocolPort:   pulumi.Float64(9101),\n\t\t\tAllowedCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/8\"),\n\t\t\t},\n\t\t\tUserLists: gcore.CloudLoadBalancerListenerUserListArray{\n\t\t\t\t&gcore.CloudLoadBalancerListenerUserListArgs{\n\t\t\t\t\tUsername:          pulumi.String(\"admin1\"),\n\t\t\t\t\tEncryptedPassword: prometheusPassword.BcryptHash,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"prometheusPassword\", prometheusPassword.Result)\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.random.Password;\nimport com.pulumi.random.PasswordArgs;\nimport com.pulumi.gcore.CloudLoadBalancerListener;\nimport com.pulumi.gcore.CloudLoadBalancerListenerArgs;\nimport com.pulumi.gcore.inputs.CloudLoadBalancerListenerUserListArgs;\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 prometheusPassword = new Password(\"prometheusPassword\", PasswordArgs.builder()\n            .length(16)\n            .special(true)\n            .overrideSpecial(\"!#$%&*()-_=+[]{}<>:?\")\n            .build());\n\n        var prometheus9101 = new CloudLoadBalancerListener(\"prometheus9101\", CloudLoadBalancerListenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .loadBalancerId(lb.id())\n            .name(\"prometheus-9101\")\n            .protocol(\"PROMETHEUS\")\n            .protocolPort(9101.0)\n            .allowedCidrs(\"10.0.0.0/8\")\n            .userLists(CloudLoadBalancerListenerUserListArgs.builder()\n                .username(\"admin1\")\n                .encryptedPassword(prometheusPassword.bcryptHash())\n                .build())\n            .build());\n\n        ctx.export(\"prometheusPassword\", prometheusPassword.result());\n    }\n}\n```\n```yaml\nresources:\n  prometheusPassword:\n    type: random:Password\n    name: prometheus_password\n    properties:\n      length: 16\n      special: true\n      overrideSpecial: '!#$%&*()-_=+[]{}<>:?'\n  prometheus9101:\n    type: gcore:CloudLoadBalancerListener\n    name: prometheus_9101\n    properties:\n      projectId: 1\n      regionId: 1\n      loadBalancerId: ${lb.id}\n      name: prometheus-9101\n      protocol: PROMETHEUS\n      protocolPort: 9101\n      allowedCidrs: # allow access only from private network\n        - 10.0.0.0/8\n      userLists:\n        - username: admin1\n          encryptedPassword: ${prometheusPassword.bcryptHash}\noutputs:\n  prometheusPassword: ${prometheusPassword.result}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudLoadBalancerListener:CloudLoadBalancerListener example '<project_id>/<region_id>/<listener_id>'\n```\n\n","inputProperties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"allowedCidrs":{"description":"Network CIDRs from which service will be accessible\n","items":{"type":"string"},"type":"array"},"connectionLimit":{"description":"Limit of the simultaneous connections. If -1 is provided, it is translated to the default value 100000.\n","type":"number"},"defaultPoolId":{"description":"ID of already existent Load Balancer Pool to attach listener to.\n","type":"string"},"insertXForwarded":{"description":"Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests. Only used with HTTP or `TERMINATED_HTTPS` protocols.\n","type":"boolean"},"loadBalancerId":{"description":"ID of already existent Load Balancer.\n","type":"string"},"name":{"description":"Load balancer listener name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Load balancer listener protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROMETHEUS\", \"TCP\", \"TERMINATED_HTTPS\", \"UDP\".\n","type":"string"},"protocolPort":{"description":"Protocol port\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS listener\nAvailable values: \"\".\n","type":"string"},"sniSecretIds":{"description":"List of secrets IDs containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners\n","items":{"type":"string"},"type":"array"},"timeoutClientData":{"description":"Frontend client inactivity timeout in milliseconds\n","type":"number"},"userLists":{"description":"Load balancer listener list of username and encrypted password items\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerListenerUserList:CloudLoadBalancerListenerUserList"},"type":"array"}},"properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"allowedCidrs":{"description":"Network CIDRs from which service will be accessible\n","items":{"type":"string"},"type":"array"},"connectionLimit":{"description":"Limit of the simultaneous connections. If -1 is provided, it is translated to the default value 100000.\n","type":"number"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"defaultPoolId":{"description":"ID of already existent Load Balancer Pool to attach listener to.\n","type":"string"},"insertHeaders":{"description":"Dictionary of additional header insertion into HTTP headers. Only used with HTTP and `TERMINATED_HTTPS` protocols.\n","type":"string"},"insertXForwarded":{"description":"Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests. Only used with HTTP or `TERMINATED_HTTPS` protocols.\n","type":"boolean"},"loadBalancerId":{"description":"ID of already existent Load Balancer.\n","type":"string"},"name":{"description":"Load balancer listener name\n","type":"string"},"operatingStatus":{"description":"Listener operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"poolCount":{"description":"Number of pools (for UI)\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Load balancer listener protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROMETHEUS\", \"TCP\", \"TERMINATED_HTTPS\", \"UDP\".\n","type":"string"},"protocolPort":{"description":"Protocol port\n","type":"number"},"provisioningStatus":{"description":"Listener lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS listener\nAvailable values: \"\".\n","type":"string"},"sniSecretIds":{"description":"List of secrets IDs containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners\n","items":{"type":"string"},"type":"array"},"stats":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerListenerStats:CloudLoadBalancerListenerStats","description":"Statistics of the load balancer. It is available only in get functions by a flag.\n"},"timeoutClientData":{"description":"Frontend client inactivity timeout in milliseconds\n","type":"number"},"userLists":{"description":"Load balancer listener list of username and encrypted password items\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerListenerUserList:CloudLoadBalancerListenerUserList"},"type":"array"}},"required":["connectionLimit","creatorTaskId","insertHeaders","loadBalancerId","name","operatingStatus","poolCount","protocol","protocolPort","provisioningStatus","sniSecretIds","stats","timeoutClientData"],"requiredInputs":["loadBalancerId","protocol","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudLoadBalancerListener resources.\n","properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"allowedCidrs":{"description":"Network CIDRs from which service will be accessible\n","items":{"type":"string"},"type":"array"},"connectionLimit":{"description":"Limit of the simultaneous connections. If -1 is provided, it is translated to the default value 100000.\n","type":"number"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"defaultPoolId":{"description":"ID of already existent Load Balancer Pool to attach listener to.\n","type":"string"},"insertHeaders":{"description":"Dictionary of additional header insertion into HTTP headers. Only used with HTTP and `TERMINATED_HTTPS` protocols.\n","type":"string"},"insertXForwarded":{"description":"Add headers X-Forwarded-For, X-Forwarded-Port, X-Forwarded-Proto to requests. Only used with HTTP or `TERMINATED_HTTPS` protocols.\n","type":"boolean"},"loadBalancerId":{"description":"ID of already existent Load Balancer.\n","type":"string"},"name":{"description":"Load balancer listener name\n","type":"string"},"operatingStatus":{"description":"Listener operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"poolCount":{"description":"Number of pools (for UI)\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Load balancer listener protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROMETHEUS\", \"TCP\", \"TERMINATED_HTTPS\", \"UDP\".\n","type":"string"},"protocolPort":{"description":"Protocol port\n","type":"number"},"provisioningStatus":{"description":"Listener lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"ID of the secret where PKCS12 file is stored for `TERMINATED_HTTPS` or PROMETHEUS listener\nAvailable values: \"\".\n","type":"string"},"sniSecretIds":{"description":"List of secrets IDs containing PKCS12 format certificate/key bundles for `TERMINATED_HTTPS` or PROMETHEUS listeners\n","items":{"type":"string"},"type":"array"},"stats":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerListenerStats:CloudLoadBalancerListenerStats","description":"Statistics of the load balancer. It is available only in get functions by a flag.\n"},"timeoutClientData":{"description":"Frontend client inactivity timeout in milliseconds\n","type":"number"},"userLists":{"description":"Load balancer listener list of username and encrypted password items\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerListenerUserList:CloudLoadBalancerListenerUserList"},"type":"array"}},"type":"object"},"type":"object"},"gcore:index/cloudLoadBalancerPool:CloudLoadBalancerPool":{"description":"Load balancer pools group backend instances with a load balancing algorithm and health monitoring configuration.\n\n## Example Usage\n\n### TCP pool with health monitor and session persistence\n\nCreates a TCP pool on port 80 with PING health checks and cookie-based session persistence.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst tcp80 = new gcore.CloudLoadBalancerListener(\"tcp_80\", {\n    projectId: 1,\n    regionId: 1,\n    loadBalancerId: lb.id,\n    name: \"My first tcp listener with pool\",\n    protocol: \"TCP\",\n    protocolPort: 80,\n});\nconst tcp80CloudLoadBalancerPool = new gcore.CloudLoadBalancerPool(\"tcp_80\", {\n    projectId: 1,\n    regionId: 1,\n    loadBalancerId: lb.id,\n    listenerId: tcp80.id,\n    name: \"My first tcp pool\",\n    protocol: \"TCP\",\n    lbAlgorithm: \"ROUND_ROBIN\",\n    healthmonitor: {\n        type: \"PING\",\n        delay: 10,\n        maxRetries: 5,\n        timeout: 5,\n    },\n    sessionPersistence: {\n        type: \"APP_COOKIE\",\n        cookieName: \"test_new_cookie\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\ntcp80 = gcore.CloudLoadBalancerListener(\"tcp_80\",\n    project_id=1,\n    region_id=1,\n    load_balancer_id=lb[\"id\"],\n    name=\"My first tcp listener with pool\",\n    protocol=\"TCP\",\n    protocol_port=80)\ntcp80_cloud_load_balancer_pool = gcore.CloudLoadBalancerPool(\"tcp_80\",\n    project_id=1,\n    region_id=1,\n    load_balancer_id=lb[\"id\"],\n    listener_id=tcp80.id,\n    name=\"My first tcp pool\",\n    protocol=\"TCP\",\n    lb_algorithm=\"ROUND_ROBIN\",\n    healthmonitor={\n        \"type\": \"PING\",\n        \"delay\": 10,\n        \"max_retries\": 5,\n        \"timeout\": 5,\n    },\n    session_persistence={\n        \"type\": \"APP_COOKIE\",\n        \"cookie_name\": \"test_new_cookie\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var tcp80 = new Gcore.CloudLoadBalancerListener(\"tcp_80\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        LoadBalancerId = lb.Id,\n        Name = \"My first tcp listener with pool\",\n        Protocol = \"TCP\",\n        ProtocolPort = 80,\n    });\n\n    var tcp80CloudLoadBalancerPool = new Gcore.CloudLoadBalancerPool(\"tcp_80\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        LoadBalancerId = lb.Id,\n        ListenerId = tcp80.Id,\n        Name = \"My first tcp pool\",\n        Protocol = \"TCP\",\n        LbAlgorithm = \"ROUND_ROBIN\",\n        Healthmonitor = new Gcore.Inputs.CloudLoadBalancerPoolHealthmonitorArgs\n        {\n            Type = \"PING\",\n            Delay = 10,\n            MaxRetries = 5,\n            Timeout = 5,\n        },\n        SessionPersistence = new Gcore.Inputs.CloudLoadBalancerPoolSessionPersistenceArgs\n        {\n            Type = \"APP_COOKIE\",\n            CookieName = \"test_new_cookie\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttcp80, err := gcore.NewCloudLoadBalancerListener(ctx, \"tcp_80\", &gcore.CloudLoadBalancerListenerArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tLoadBalancerId: pulumi.Any(lb.Id),\n\t\t\tName:           pulumi.String(\"My first tcp listener with pool\"),\n\t\t\tProtocol:       pulumi.String(\"TCP\"),\n\t\t\tProtocolPort:   pulumi.Float64(80),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudLoadBalancerPool(ctx, \"tcp_80\", &gcore.CloudLoadBalancerPoolArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tLoadBalancerId: pulumi.Any(lb.Id),\n\t\t\tListenerId:     tcp80.ID(),\n\t\t\tName:           pulumi.String(\"My first tcp pool\"),\n\t\t\tProtocol:       pulumi.String(\"TCP\"),\n\t\t\tLbAlgorithm:    pulumi.String(\"ROUND_ROBIN\"),\n\t\t\tHealthmonitor: &gcore.CloudLoadBalancerPoolHealthmonitorArgs{\n\t\t\t\tType:       pulumi.String(\"PING\"),\n\t\t\t\tDelay:      pulumi.Float64(10),\n\t\t\t\tMaxRetries: pulumi.Float64(5),\n\t\t\t\tTimeout:    pulumi.Float64(5),\n\t\t\t},\n\t\t\tSessionPersistence: &gcore.CloudLoadBalancerPoolSessionPersistenceArgs{\n\t\t\t\tType:       pulumi.String(\"APP_COOKIE\"),\n\t\t\t\tCookieName: pulumi.String(\"test_new_cookie\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudLoadBalancerListener;\nimport com.pulumi.gcore.CloudLoadBalancerListenerArgs;\nimport com.pulumi.gcore.CloudLoadBalancerPool;\nimport com.pulumi.gcore.CloudLoadBalancerPoolArgs;\nimport com.pulumi.gcore.inputs.CloudLoadBalancerPoolHealthmonitorArgs;\nimport com.pulumi.gcore.inputs.CloudLoadBalancerPoolSessionPersistenceArgs;\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 tcp80 = new CloudLoadBalancerListener(\"tcp80\", CloudLoadBalancerListenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .loadBalancerId(lb.id())\n            .name(\"My first tcp listener with pool\")\n            .protocol(\"TCP\")\n            .protocolPort(80.0)\n            .build());\n\n        var tcp80CloudLoadBalancerPool = new CloudLoadBalancerPool(\"tcp80CloudLoadBalancerPool\", CloudLoadBalancerPoolArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .loadBalancerId(lb.id())\n            .listenerId(tcp80.id())\n            .name(\"My first tcp pool\")\n            .protocol(\"TCP\")\n            .lbAlgorithm(\"ROUND_ROBIN\")\n            .healthmonitor(CloudLoadBalancerPoolHealthmonitorArgs.builder()\n                .type(\"PING\")\n                .delay(10.0)\n                .maxRetries(5.0)\n                .timeout(5.0)\n                .build())\n            .sessionPersistence(CloudLoadBalancerPoolSessionPersistenceArgs.builder()\n                .type(\"APP_COOKIE\")\n                .cookieName(\"test_new_cookie\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tcp80:\n    type: gcore:CloudLoadBalancerListener\n    name: tcp_80\n    properties:\n      projectId: 1\n      regionId: 1\n      loadBalancerId: ${lb.id}\n      name: My first tcp listener with pool\n      protocol: TCP\n      protocolPort: 80\n  tcp80CloudLoadBalancerPool:\n    type: gcore:CloudLoadBalancerPool\n    name: tcp_80\n    properties:\n      projectId: 1\n      regionId: 1\n      loadBalancerId: ${lb.id}\n      listenerId: ${tcp80.id}\n      name: My first tcp pool\n      protocol: TCP\n      lbAlgorithm: ROUND_ROBIN\n      healthmonitor:\n        type: PING\n        delay: 10\n        maxRetries: 5\n        timeout: 5\n      sessionPersistence:\n        type: APP_COOKIE\n        cookieName: test_new_cookie\n```\n<!--End PulumiCodeChooser -->\n\n### Proxy protocol pool\n\nCreates a pool using the PROXY protocol with least-connections algorithm on port 8080.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst proxy8080 = new gcore.CloudLoadBalancerListener(\"proxy_8080\", {\n    projectId: 1,\n    regionId: 1,\n    loadBalancerId: lb.id,\n    name: \"My first proxy listener with pool\",\n    protocol: \"TCP\",\n    protocolPort: 8080,\n});\nconst proxy8080CloudLoadBalancerPool = new gcore.CloudLoadBalancerPool(\"proxy_8080\", {\n    projectId: 1,\n    regionId: 1,\n    loadBalancerId: lb.id,\n    listenerId: proxy8080.id,\n    name: \"My first proxy pool\",\n    protocol: \"PROXY\",\n    lbAlgorithm: \"LEAST_CONNECTIONS\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nproxy8080 = gcore.CloudLoadBalancerListener(\"proxy_8080\",\n    project_id=1,\n    region_id=1,\n    load_balancer_id=lb[\"id\"],\n    name=\"My first proxy listener with pool\",\n    protocol=\"TCP\",\n    protocol_port=8080)\nproxy8080_cloud_load_balancer_pool = gcore.CloudLoadBalancerPool(\"proxy_8080\",\n    project_id=1,\n    region_id=1,\n    load_balancer_id=lb[\"id\"],\n    listener_id=proxy8080.id,\n    name=\"My first proxy pool\",\n    protocol=\"PROXY\",\n    lb_algorithm=\"LEAST_CONNECTIONS\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var proxy8080 = new Gcore.CloudLoadBalancerListener(\"proxy_8080\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        LoadBalancerId = lb.Id,\n        Name = \"My first proxy listener with pool\",\n        Protocol = \"TCP\",\n        ProtocolPort = 8080,\n    });\n\n    var proxy8080CloudLoadBalancerPool = new Gcore.CloudLoadBalancerPool(\"proxy_8080\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        LoadBalancerId = lb.Id,\n        ListenerId = proxy8080.Id,\n        Name = \"My first proxy pool\",\n        Protocol = \"PROXY\",\n        LbAlgorithm = \"LEAST_CONNECTIONS\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tproxy8080, err := gcore.NewCloudLoadBalancerListener(ctx, \"proxy_8080\", &gcore.CloudLoadBalancerListenerArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tLoadBalancerId: pulumi.Any(lb.Id),\n\t\t\tName:           pulumi.String(\"My first proxy listener with pool\"),\n\t\t\tProtocol:       pulumi.String(\"TCP\"),\n\t\t\tProtocolPort:   pulumi.Float64(8080),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudLoadBalancerPool(ctx, \"proxy_8080\", &gcore.CloudLoadBalancerPoolArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tLoadBalancerId: pulumi.Any(lb.Id),\n\t\t\tListenerId:     proxy8080.ID(),\n\t\t\tName:           pulumi.String(\"My first proxy pool\"),\n\t\t\tProtocol:       pulumi.String(\"PROXY\"),\n\t\t\tLbAlgorithm:    pulumi.String(\"LEAST_CONNECTIONS\"),\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.gcore.CloudLoadBalancerListener;\nimport com.pulumi.gcore.CloudLoadBalancerListenerArgs;\nimport com.pulumi.gcore.CloudLoadBalancerPool;\nimport com.pulumi.gcore.CloudLoadBalancerPoolArgs;\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 proxy8080 = new CloudLoadBalancerListener(\"proxy8080\", CloudLoadBalancerListenerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .loadBalancerId(lb.id())\n            .name(\"My first proxy listener with pool\")\n            .protocol(\"TCP\")\n            .protocolPort(8080.0)\n            .build());\n\n        var proxy8080CloudLoadBalancerPool = new CloudLoadBalancerPool(\"proxy8080CloudLoadBalancerPool\", CloudLoadBalancerPoolArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .loadBalancerId(lb.id())\n            .listenerId(proxy8080.id())\n            .name(\"My first proxy pool\")\n            .protocol(\"PROXY\")\n            .lbAlgorithm(\"LEAST_CONNECTIONS\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  proxy8080:\n    type: gcore:CloudLoadBalancerListener\n    name: proxy_8080\n    properties:\n      projectId: 1\n      regionId: 1\n      loadBalancerId: ${lb.id}\n      name: My first proxy listener with pool\n      protocol: TCP\n      protocolPort: 8080\n  proxy8080CloudLoadBalancerPool:\n    type: gcore:CloudLoadBalancerPool\n    name: proxy_8080\n    properties:\n      projectId: 1\n      regionId: 1\n      loadBalancerId: ${lb.id}\n      listenerId: ${proxy8080.id}\n      name: My first proxy pool\n      protocol: PROXY\n      lbAlgorithm: LEAST_CONNECTIONS\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudLoadBalancerPool:CloudLoadBalancerPool example '<project_id>/<region_id>/<pool_id>'\n```\n\n","inputProperties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"caSecretId":{"description":"Secret ID of CA certificate bundle\n","type":"string"},"crlSecretId":{"description":"Secret ID of CA revocation list file\n","type":"string"},"healthmonitor":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolHealthmonitor:CloudLoadBalancerPoolHealthmonitor","description":"Health monitor details\n"},"lbAlgorithm":{"description":"Load balancer algorithm\nAvailable values: \"LEAST*CONNECTIONS\", \"ROUND*ROBIN\", \"SOURCE_IP\".\n","type":"string"},"listenerId":{"description":"Listener ID\n","type":"string"},"loadBalancerId":{"description":"Loadbalancer ID\n","type":"string"},"members":{"description":"Pool members\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolMember:CloudLoadBalancerPoolMember"},"type":"array"},"name":{"description":"Pool name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROXY\", \"PROXYV2\", \"TCP\", \"UDP\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"Secret ID for TLS client authentication to the member servers\n","type":"string"},"sessionPersistence":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolSessionPersistence:CloudLoadBalancerPoolSessionPersistence","description":"Session persistence details\n"},"timeoutMemberConnect":{"description":"Backend member connection timeout in milliseconds\n","type":"number"},"timeoutMemberData":{"description":"Backend member inactivity timeout in milliseconds\n","type":"number"}},"properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"caSecretId":{"description":"Secret ID of CA certificate bundle\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"crlSecretId":{"description":"Secret ID of CA revocation list file\n","type":"string"},"healthmonitor":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolHealthmonitor:CloudLoadBalancerPoolHealthmonitor","description":"Health monitor details\n"},"lbAlgorithm":{"description":"Load balancer algorithm\nAvailable values: \"LEAST*CONNECTIONS\", \"ROUND*ROBIN\", \"SOURCE_IP\".\n","type":"string"},"listenerId":{"description":"Listener ID\n","type":"string"},"listeners":{"description":"Listeners IDs\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolListener:CloudLoadBalancerPoolListener"},"type":"array"},"loadBalancerId":{"description":"Loadbalancer ID\n","type":"string"},"loadbalancers":{"description":"Load balancers IDs\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolLoadbalancer:CloudLoadBalancerPoolLoadbalancer"},"type":"array"},"members":{"description":"Pool members\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolMember:CloudLoadBalancerPoolMember"},"type":"array"},"name":{"description":"Pool name\n","type":"string"},"operatingStatus":{"description":"Pool operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROXY\", \"PROXYV2\", \"TCP\", \"UDP\".\n","type":"string"},"provisioningStatus":{"description":"Pool lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"Secret ID for TLS client authentication to the member servers\n","type":"string"},"sessionPersistence":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolSessionPersistence:CloudLoadBalancerPoolSessionPersistence","description":"Session persistence details\n"},"timeoutMemberConnect":{"description":"Backend member connection timeout in milliseconds\n","type":"number"},"timeoutMemberData":{"description":"Backend member inactivity timeout in milliseconds\n","type":"number"}},"required":["creatorTaskId","lbAlgorithm","listeners","loadbalancers","members","name","operatingStatus","protocol","provisioningStatus"],"requiredInputs":["lbAlgorithm","protocol"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudLoadBalancerPool resources.\n","properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"caSecretId":{"description":"Secret ID of CA certificate bundle\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"crlSecretId":{"description":"Secret ID of CA revocation list file\n","type":"string"},"healthmonitor":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolHealthmonitor:CloudLoadBalancerPoolHealthmonitor","description":"Health monitor details\n"},"lbAlgorithm":{"description":"Load balancer algorithm\nAvailable values: \"LEAST*CONNECTIONS\", \"ROUND*ROBIN\", \"SOURCE_IP\".\n","type":"string"},"listenerId":{"description":"Listener ID\n","type":"string"},"listeners":{"description":"Listeners IDs\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolListener:CloudLoadBalancerPoolListener"},"type":"array"},"loadBalancerId":{"description":"Loadbalancer ID\n","type":"string"},"loadbalancers":{"description":"Load balancers IDs\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolLoadbalancer:CloudLoadBalancerPoolLoadbalancer"},"type":"array"},"members":{"description":"Pool members\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolMember:CloudLoadBalancerPoolMember"},"type":"array"},"name":{"description":"Pool name\n","type":"string"},"operatingStatus":{"description":"Pool operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"Protocol\nAvailable values: \"HTTP\", \"HTTPS\", \"PROXY\", \"PROXYV2\", \"TCP\", \"UDP\".\n","type":"string"},"provisioningStatus":{"description":"Pool lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"secretId":{"description":"Secret ID for TLS client authentication to the member servers\n","type":"string"},"sessionPersistence":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerPoolSessionPersistence:CloudLoadBalancerPoolSessionPersistence","description":"Session persistence details\n"},"timeoutMemberConnect":{"description":"Backend member connection timeout in milliseconds\n","type":"number"},"timeoutMemberData":{"description":"Backend member inactivity timeout in milliseconds\n","type":"number"}},"type":"object"},"type":"object"},"gcore:index/cloudLoadBalancerPoolMember:CloudLoadBalancerPoolMember":{"description":"Pool members represent backend instances that receive load-balanced traffic from a pool.\n\n## Example Usage\n\n### Instance member with private IP\n\nAdds a compute instance as a pool member using its reserved fixed IP address.\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  instanceMemberPrivateNetwork:\n    type: gcore:CloudNetwork\n    name: instance_member_private_network\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-private-network\n  instanceMemberPrivateSubnet:\n    type: gcore:CloudNetworkSubnet\n    name: instance_member_private_subnet\n    properties:\n      projectId: 1\n      regionId: 1\n      cidr: 10.0.0.0/24\n      name: my-private-network-subnet\n      networkId: ${instanceMemberPrivateNetwork.id}\n  instanceMemberFixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: instance_member_fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: ip_address\n      networkId: ${instanceMemberPrivateNetwork.id}\n      subnetId: ${instanceMemberPrivateSubnet.id}\n      fixedIpAddress: 10.0.0.11\n      isVip: false\n  instanceMemberVolume:\n    type: gcore:CloudVolume\n    name: instance_member_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: boot volume\n      typeName: ssd_hiiops\n      size: 10\n      imageId: your-ubuntu-image-id\n  instanceMember:\n    type: gcore:CloudInstance\n    name: instance_member\n    properties:\n      projectId: 1\n      regionId: 1\n      nameTemplate: ed-c16-{ip_octets}\n      flavor: g1-standard-1-2\n      volumes:\n        - volumeId: ${instanceMemberVolume.id}\n          bootIndex: 0\n      interfaces:\n        - type: reserved_fixed_ip\n          name: my-private-network-interface\n          portId: ${instanceMemberFixedIp.portId}\n          securityGroups:\n            - id: your-security-group-id\n  instanceMemberCloudLoadBalancerPoolMember:\n    type: gcore:CloudLoadBalancerPoolMember\n    name: instance_member\n    properties:\n      projectId: 1\n      regionId: 1\n      poolId: ${http.id}\n      instanceId: ${instanceMember.id}\n      address: ${instanceMemberFixedIp.fixedIpAddress}\n      protocolPort: 80\n      weight: 1\n```\n<!--End PulumiCodeChooser -->\n\n### Private member with subnet\n\nAdds a private IP address from a specific subnet as a pool member.\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  privateNetwork:\n    type: gcore:CloudNetwork\n    name: private_network\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-private-network\n  privateSubnet:\n    type: gcore:CloudNetworkSubnet\n    name: private_subnet\n    properties:\n      projectId: 1\n      regionId: 1\n      cidr: 10.0.0.0/24\n      name: my-private-network-subnet\n      networkId: ${privateNetwork.id}\n  fixedIp:\n    type: gcore:CloudReservedFixedIp\n    name: fixed_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: ip_address\n      networkId: ${privateNetwork.id}\n      subnetId: ${privateSubnet.id}\n      fixedIpAddress: 10.0.0.10\n      isVip: false\n  privateMember:\n    type: gcore:CloudLoadBalancerPoolMember\n    name: private_member\n    properties:\n      projectId: 1\n      regionId: 1\n      poolId: ${http.id}\n      address: ${fixedIp.fixedIpAddress}\n      subnetId: ${fixedIp.subnetId}\n      protocolPort: 80\n      weight: 1\n```\n<!--End PulumiCodeChooser -->\n\n### Public member\n\nAdds a public IP address as a pool member.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst publicMember = new gcore.CloudLoadBalancerPoolMember(\"public_member\", {\n    projectId: 1,\n    regionId: 1,\n    poolId: http.id,\n    address: \"8.8.8.8\",\n    protocolPort: 80,\n    weight: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\npublic_member = gcore.CloudLoadBalancerPoolMember(\"public_member\",\n    project_id=1,\n    region_id=1,\n    pool_id=http[\"id\"],\n    address=\"8.8.8.8\",\n    protocol_port=80,\n    weight=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var publicMember = new Gcore.CloudLoadBalancerPoolMember(\"public_member\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        PoolId = http.Id,\n        Address = \"8.8.8.8\",\n        ProtocolPort = 80,\n        Weight = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudLoadBalancerPoolMember(ctx, \"public_member\", &gcore.CloudLoadBalancerPoolMemberArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tPoolId:       pulumi.Any(http.Id),\n\t\t\tAddress:      pulumi.String(\"8.8.8.8\"),\n\t\t\tProtocolPort: pulumi.Float64(80),\n\t\t\tWeight:       pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudLoadBalancerPoolMember;\nimport com.pulumi.gcore.CloudLoadBalancerPoolMemberArgs;\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 publicMember = new CloudLoadBalancerPoolMember(\"publicMember\", CloudLoadBalancerPoolMemberArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .poolId(http.id())\n            .address(\"8.8.8.8\")\n            .protocolPort(80.0)\n            .weight(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  publicMember:\n    type: gcore:CloudLoadBalancerPoolMember\n    name: public_member\n    properties:\n      projectId: 1\n      regionId: 1\n      poolId: ${http.id}\n      address: 8.8.8.8\n      protocolPort: 80\n      weight: 1\n```\n<!--End PulumiCodeChooser -->\n","inputProperties":{"address":{"description":"Member IP address\n","type":"string"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"backup":{"description":"Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false.\n","type":"boolean"},"instanceId":{"description":"Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"monitorAddress":{"description":"An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.\n","type":"string"},"monitorPort":{"description":"An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member <span pulumi-lang-nodejs=\"`protocolPort`\" pulumi-lang-dotnet=\"`ProtocolPort`\" pulumi-lang-go=\"`protocolPort`\" pulumi-lang-python=\"`protocol_port`\" pulumi-lang-yaml=\"`protocolPort`\" pulumi-lang-java=\"`protocolPort`\">`protocol_port`</span>.\n","type":"number"},"poolId":{"description":"Pool ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocolPort":{"description":"Member IP port\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"subnetId":{"description":"<span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> in which <span pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\">`address`</span> is present. Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"weight":{"description":"Member weight. Valid values are 0 < <span pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\">`weight`</span> <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:\n","type":"number"}},"properties":{"address":{"description":"Member IP address\n","type":"string"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"backup":{"description":"Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false.\n","type":"boolean"},"instanceId":{"description":"Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"monitorAddress":{"description":"An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.\n","type":"string"},"monitorPort":{"description":"An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member <span pulumi-lang-nodejs=\"`protocolPort`\" pulumi-lang-dotnet=\"`ProtocolPort`\" pulumi-lang-go=\"`protocolPort`\" pulumi-lang-python=\"`protocol_port`\" pulumi-lang-yaml=\"`protocolPort`\" pulumi-lang-java=\"`protocolPort`\">`protocol_port`</span>.\n","type":"number"},"poolId":{"description":"Pool ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocolPort":{"description":"Member IP port\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"subnetId":{"description":"<span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> in which <span pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\">`address`</span> is present. Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"weight":{"description":"Member weight. Valid values are 0 < <span pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\">`weight`</span> <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:\n","type":"number"}},"required":["address","adminStateUp","backup","poolId","protocolPort"],"requiredInputs":["address","poolId","protocolPort"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudLoadBalancerPoolMember resources.\n","properties":{"address":{"description":"Member IP address\n","type":"string"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"backup":{"description":"Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false.\n","type":"boolean"},"instanceId":{"description":"Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"monitorAddress":{"description":"An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.\n","type":"string"},"monitorPort":{"description":"An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member <span pulumi-lang-nodejs=\"`protocolPort`\" pulumi-lang-dotnet=\"`ProtocolPort`\" pulumi-lang-go=\"`protocolPort`\" pulumi-lang-python=\"`protocol_port`\" pulumi-lang-yaml=\"`protocolPort`\" pulumi-lang-java=\"`protocolPort`\">`protocol_port`</span>.\n","type":"number"},"poolId":{"description":"Pool ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocolPort":{"description":"Member IP port\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"subnetId":{"description":"<span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> in which <span pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\">`address`</span> is present. Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"weight":{"description":"Member weight. Valid values are 0 < <span pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\">`weight`</span> <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:\n","type":"number"}},"type":"object"},"type":"object"},"gcore:index/cloudNetwork:CloudNetwork":{"description":"Networks provide software-defined networking infrastructure for connecting instances and other cloud resources within a region.\n\n## Example Usage\n\n### Network with subnet\n\nCreates a private network with a subnet and custom DNS nameservers.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a private network\nconst network = new gcore.CloudNetwork(\"network\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-network\",\n    type: \"vxlan\",\n    tags: {\n        environment: \"production\",\n    },\n});\n// Create a subnet within the network\nconst subnet = new gcore.CloudNetworkSubnet(\"subnet\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-subnet\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a private network\nnetwork = gcore.CloudNetwork(\"network\",\n    project_id=1,\n    region_id=1,\n    name=\"my-network\",\n    type=\"vxlan\",\n    tags={\n        \"environment\": \"production\",\n    })\n# Create a subnet within the network\nsubnet = gcore.CloudNetworkSubnet(\"subnet\",\n    project_id=1,\n    region_id=1,\n    name=\"my-subnet\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network.id,\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a private network\n    var network = new Gcore.CloudNetwork(\"network\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-network\",\n        Type = \"vxlan\",\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n    // Create a subnet within the network\n    var subnet = new Gcore.CloudNetworkSubnet(\"subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-subnet\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a private network\n\t\tnetwork, err := gcore.NewCloudNetwork(ctx, \"network\", &gcore.CloudNetworkArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-network\"),\n\t\t\tType:      pulumi.String(\"vxlan\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a subnet within the network\n\t\t_, err = gcore.NewCloudNetworkSubnet(ctx, \"subnet\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-subnet\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: network.ID(),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetwork;\nimport com.pulumi.gcore.CloudNetworkArgs;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\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        // Create a private network\n        var network = new CloudNetwork(\"network\", CloudNetworkArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-network\")\n            .type(\"vxlan\")\n            .tags(Map.of(\"environment\", \"production\"))\n            .build());\n\n        // Create a subnet within the network\n        var subnet = new CloudNetworkSubnet(\"subnet\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-subnet\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a private network\n  network:\n    type: gcore:CloudNetwork\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-network\n      type: vxlan\n      tags:\n        environment: production\n  # Create a subnet within the network\n  subnet:\n    type: gcore:CloudNetworkSubnet\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-subnet\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudNetwork:CloudNetwork example '<project_id>/<region_id>/<network_id>'\n```\n\n","inputProperties":{"name":{"description":"Network name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"type":{"description":"vlan or vxlan network type is allowed. Default value is vxlan\nAvailable values: \"vlan\", \"vxlan\".\n","type":"string"}},"properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"type":{"description":"vlan or vxlan network type is allowed. Default value is vxlan\nAvailable values: \"vlan\", \"vxlan\".\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","default","external","mtu","name","portSecurityEnabled","region","segmentationId","shared","subnets","tags","type","updatedAt"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudNetwork resources.\n","properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"type":{"description":"vlan or vxlan network type is allowed. Default value is vxlan\nAvailable values: \"vlan\", \"vxlan\".\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudNetworkRouter:CloudNetworkRouter":{"description":"Routers interconnect subnets and manage network routing, including external gateway connectivity and static routes.\n\n## Example Usage\n\n### Router with external gateway\n\nCreates a router with an external gateway (SNAT enabled) and a subnet interface.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a router with external gateway and subnet interface\nconst main = new gcore.CloudNetworkRouter(\"main\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"main-router\",\n    externalGatewayInfo: {\n        enableSnat: true,\n        type: \"default\",\n    },\n    interfaces: [{\n        subnetId: _private.id,\n        type: \"subnet\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a router with external gateway and subnet interface\nmain = gcore.CloudNetworkRouter(\"main\",\n    project_id=1,\n    region_id=1,\n    name=\"main-router\",\n    external_gateway_info={\n        \"enable_snat\": True,\n        \"type\": \"default\",\n    },\n    interfaces=[{\n        \"subnet_id\": private[\"id\"],\n        \"type\": \"subnet\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a router with external gateway and subnet interface\n    var main = new Gcore.CloudNetworkRouter(\"main\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"main-router\",\n        ExternalGatewayInfo = new Gcore.Inputs.CloudNetworkRouterExternalGatewayInfoArgs\n        {\n            EnableSnat = true,\n            Type = \"default\",\n        },\n        Interfaces = new[]\n        {\n            new Gcore.Inputs.CloudNetworkRouterInterfaceArgs\n            {\n                SubnetId = @private.Id,\n                Type = \"subnet\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a router with external gateway and subnet interface\n\t\t_, err := gcore.NewCloudNetworkRouter(ctx, \"main\", &gcore.CloudNetworkRouterArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"main-router\"),\n\t\t\tExternalGatewayInfo: &gcore.CloudNetworkRouterExternalGatewayInfoArgs{\n\t\t\t\tEnableSnat: pulumi.Bool(true),\n\t\t\t\tType:       pulumi.String(\"default\"),\n\t\t\t},\n\t\t\tInterfaces: gcore.CloudNetworkRouterInterfaceArray{\n\t\t\t\t&gcore.CloudNetworkRouterInterfaceArgs{\n\t\t\t\t\tSubnetId: pulumi.Any(private.Id),\n\t\t\t\t\tType:     pulumi.String(\"subnet\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetworkRouter;\nimport com.pulumi.gcore.CloudNetworkRouterArgs;\nimport com.pulumi.gcore.inputs.CloudNetworkRouterExternalGatewayInfoArgs;\nimport com.pulumi.gcore.inputs.CloudNetworkRouterInterfaceArgs;\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        // Create a router with external gateway and subnet interface\n        var main = new CloudNetworkRouter(\"main\", CloudNetworkRouterArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"main-router\")\n            .externalGatewayInfo(CloudNetworkRouterExternalGatewayInfoArgs.builder()\n                .enableSnat(true)\n                .type(\"default\")\n                .build())\n            .interfaces(CloudNetworkRouterInterfaceArgs.builder()\n                .subnetId(private_.id())\n                .type(\"subnet\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a router with external gateway and subnet interface\n  main:\n    type: gcore:CloudNetworkRouter\n    properties:\n      projectId: 1\n      regionId: 1\n      name: main-router\n      externalGatewayInfo:\n        enableSnat: true\n        type: default\n      interfaces:\n        - subnetId: ${private.id}\n          type: subnet\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudNetworkRouter:CloudNetworkRouter example '<project_id>/<region_id>/<router_id>'\n```\n\n","inputProperties":{"externalGatewayInfo":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterExternalGatewayInfo:CloudNetworkRouterExternalGatewayInfo","description":"External gateway configuration. Use type 'default' to let the platform automatically select the external network, or type 'manual' to specify a particular external network via <span pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\">`network_id`</span>. If omitted, the router is created without an external gateway.\n"},"interfaces":{"description":"List of interfaces to attach to router immediately after creation.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterInterface:CloudNetworkRouterInterface"},"type":"array"},"name":{"description":"name of router\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"routes":{"description":"List of custom routes.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterRoute:CloudNetworkRouterRoute"},"type":"array"}},"properties":{"createdAt":{"description":"Datetime when the router was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"distributed":{"description":"Whether the router is distributed or centralized.\n","type":"boolean"},"externalGatewayInfo":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterExternalGatewayInfo:CloudNetworkRouterExternalGatewayInfo","description":"External gateway configuration. Use type 'default' to let the platform automatically select the external network, or type 'manual' to specify a particular external network via <span pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\">`network_id`</span>. If omitted, the router is created without an external gateway.\n"},"interfaces":{"description":"List of interfaces to attach to router immediately after creation.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterInterface:CloudNetworkRouterInterface"},"type":"array"},"name":{"description":"name of router\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routes":{"description":"List of custom routes.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterRoute:CloudNetworkRouterRoute"},"type":"array"},"status":{"description":"Status of the router.\n","type":"string"},"updatedAt":{"description":"Datetime when the router was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","distributed","externalGatewayInfo","interfaces","name","region","routes","status","updatedAt"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudNetworkRouter resources.\n","properties":{"createdAt":{"description":"Datetime when the router was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"distributed":{"description":"Whether the router is distributed or centralized.\n","type":"boolean"},"externalGatewayInfo":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterExternalGatewayInfo:CloudNetworkRouterExternalGatewayInfo","description":"External gateway configuration. Use type 'default' to let the platform automatically select the external network, or type 'manual' to specify a particular external network via <span pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\">`network_id`</span>. If omitted, the router is created without an external gateway.\n"},"interfaces":{"description":"List of interfaces to attach to router immediately after creation.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterInterface:CloudNetworkRouterInterface"},"type":"array"},"name":{"description":"name of router\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routes":{"description":"List of custom routes.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkRouterRoute:CloudNetworkRouterRoute"},"type":"array"},"status":{"description":"Status of the router.\n","type":"string"},"updatedAt":{"description":"Datetime when the router was last updated\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudNetworkSubnet:CloudNetworkSubnet":{"description":"Subnets define IP address ranges within a network for instance connectivity, with support for DHCP and DNS configuration.\n\n## Example Usage\n\n### IPv4 subnet with custom DNS and host routes\n\nCreates an IPv4 subnet with DHCP, custom DNS nameservers, and static host routes.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an IPv4 subnet with custom DNS and host routes\nconst subnetIpv4 = new gcore.CloudNetworkSubnet(\"subnet_ipv4\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"subnet-ipv4\",\n    cidr: \"192.168.10.0/24\",\n    networkId: network.id,\n    dnsNameservers: [\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    enableDhcp: true,\n    gatewayIp: \"192.168.10.1\",\n    ipVersion: 4,\n    hostRoutes: [\n        {\n            destination: \"10.0.3.0/24\",\n            nexthop: \"10.0.0.13\",\n        },\n        {\n            destination: \"10.0.4.0/24\",\n            nexthop: \"10.0.0.14\",\n        },\n    ],\n    tags: {\n        environment: \"production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an IPv4 subnet with custom DNS and host routes\nsubnet_ipv4 = gcore.CloudNetworkSubnet(\"subnet_ipv4\",\n    project_id=1,\n    region_id=1,\n    name=\"subnet-ipv4\",\n    cidr=\"192.168.10.0/24\",\n    network_id=network[\"id\"],\n    dns_nameservers=[\n        \"8.8.4.4\",\n        \"1.1.1.1\",\n    ],\n    enable_dhcp=True,\n    gateway_ip=\"192.168.10.1\",\n    ip_version=4,\n    host_routes=[\n        {\n            \"destination\": \"10.0.3.0/24\",\n            \"nexthop\": \"10.0.0.13\",\n        },\n        {\n            \"destination\": \"10.0.4.0/24\",\n            \"nexthop\": \"10.0.0.14\",\n        },\n    ],\n    tags={\n        \"environment\": \"production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an IPv4 subnet with custom DNS and host routes\n    var subnetIpv4 = new Gcore.CloudNetworkSubnet(\"subnet_ipv4\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"subnet-ipv4\",\n        Cidr = \"192.168.10.0/24\",\n        NetworkId = network.Id,\n        DnsNameservers = new[]\n        {\n            \"8.8.4.4\",\n            \"1.1.1.1\",\n        },\n        EnableDhcp = true,\n        GatewayIp = \"192.168.10.1\",\n        IpVersion = 4,\n        HostRoutes = new[]\n        {\n            new Gcore.Inputs.CloudNetworkSubnetHostRouteArgs\n            {\n                Destination = \"10.0.3.0/24\",\n                Nexthop = \"10.0.0.13\",\n            },\n            new Gcore.Inputs.CloudNetworkSubnetHostRouteArgs\n            {\n                Destination = \"10.0.4.0/24\",\n                Nexthop = \"10.0.0.14\",\n            },\n        },\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an IPv4 subnet with custom DNS and host routes\n\t\t_, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet_ipv4\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"subnet-ipv4\"),\n\t\t\tCidr:      pulumi.String(\"192.168.10.0/24\"),\n\t\t\tNetworkId: pulumi.Any(network.Id),\n\t\t\tDnsNameservers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"8.8.4.4\"),\n\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t},\n\t\t\tEnableDhcp: pulumi.Bool(true),\n\t\t\tGatewayIp:  pulumi.String(\"192.168.10.1\"),\n\t\t\tIpVersion:  pulumi.Float64(4),\n\t\t\tHostRoutes: gcore.CloudNetworkSubnetHostRouteArray{\n\t\t\t\t&gcore.CloudNetworkSubnetHostRouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"10.0.3.0/24\"),\n\t\t\t\t\tNexthop:     pulumi.String(\"10.0.0.13\"),\n\t\t\t\t},\n\t\t\t\t&gcore.CloudNetworkSubnetHostRouteArgs{\n\t\t\t\t\tDestination: pulumi.String(\"10.0.4.0/24\"),\n\t\t\t\t\tNexthop:     pulumi.String(\"10.0.0.14\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\nimport com.pulumi.gcore.inputs.CloudNetworkSubnetHostRouteArgs;\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        // Create an IPv4 subnet with custom DNS and host routes\n        var subnetIpv4 = new CloudNetworkSubnet(\"subnetIpv4\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"subnet-ipv4\")\n            .cidr(\"192.168.10.0/24\")\n            .networkId(network.id())\n            .dnsNameservers(            \n                \"8.8.4.4\",\n                \"1.1.1.1\")\n            .enableDhcp(true)\n            .gatewayIp(\"192.168.10.1\")\n            .ipVersion(4.0)\n            .hostRoutes(            \n                CloudNetworkSubnetHostRouteArgs.builder()\n                    .destination(\"10.0.3.0/24\")\n                    .nexthop(\"10.0.0.13\")\n                    .build(),\n                CloudNetworkSubnetHostRouteArgs.builder()\n                    .destination(\"10.0.4.0/24\")\n                    .nexthop(\"10.0.0.14\")\n                    .build())\n            .tags(Map.of(\"environment\", \"production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an IPv4 subnet with custom DNS and host routes\n  subnetIpv4:\n    type: gcore:CloudNetworkSubnet\n    name: subnet_ipv4\n    properties:\n      projectId: 1\n      regionId: 1\n      name: subnet-ipv4\n      cidr: 192.168.10.0/24\n      networkId: ${network.id}\n      dnsNameservers:\n        - 8.8.4.4\n        - 1.1.1.1\n      enableDhcp: true\n      gatewayIp: 192.168.10.1\n      ipVersion: 4\n      hostRoutes:\n        - destination: 10.0.3.0/24\n          nexthop: 10.0.0.13\n        - destination: 10.0.4.0/24\n          nexthop: 10.0.0.14\n      tags:\n        environment: production\n```\n<!--End PulumiCodeChooser -->\n\n### IPv6 subnet\n\nCreates a basic IPv6 subnet.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an IPv6 subnet\nconst subnetIpv6 = new gcore.CloudNetworkSubnet(\"subnet_ipv6\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"subnet-ipv6\",\n    cidr: \"fd00::/8\",\n    networkId: network.id,\n    ipVersion: 6,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an IPv6 subnet\nsubnet_ipv6 = gcore.CloudNetworkSubnet(\"subnet_ipv6\",\n    project_id=1,\n    region_id=1,\n    name=\"subnet-ipv6\",\n    cidr=\"fd00::/8\",\n    network_id=network[\"id\"],\n    ip_version=6)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an IPv6 subnet\n    var subnetIpv6 = new Gcore.CloudNetworkSubnet(\"subnet_ipv6\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"subnet-ipv6\",\n        Cidr = \"fd00::/8\",\n        NetworkId = network.Id,\n        IpVersion = 6,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an IPv6 subnet\n\t\t_, err := gcore.NewCloudNetworkSubnet(ctx, \"subnet_ipv6\", &gcore.CloudNetworkSubnetArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"subnet-ipv6\"),\n\t\t\tCidr:      pulumi.String(\"fd00::/8\"),\n\t\t\tNetworkId: pulumi.Any(network.Id),\n\t\t\tIpVersion: pulumi.Float64(6),\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.gcore.CloudNetworkSubnet;\nimport com.pulumi.gcore.CloudNetworkSubnetArgs;\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        // Create an IPv6 subnet\n        var subnetIpv6 = new CloudNetworkSubnet(\"subnetIpv6\", CloudNetworkSubnetArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"subnet-ipv6\")\n            .cidr(\"fd00::/8\")\n            .networkId(network.id())\n            .ipVersion(6.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an IPv6 subnet\n  subnetIpv6:\n    type: gcore:CloudNetworkSubnet\n    name: subnet_ipv6\n    properties:\n      projectId: 1\n      regionId: 1\n      name: subnet-ipv6\n      cidr: fd00::/8\n      networkId: ${network.id}\n      ipVersion: 6\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudNetworkSubnet:CloudNetworkSubnet example '<project_id>/<region_id>/<subnet_id>'\n```\n\n","inputProperties":{"cidr":{"description":"CIDR\n","type":"string"},"dnsNameservers":{"description":"List IP addresses of DNS servers to advertise via DHCP.\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"True if DHCP should be enabled\n","type":"boolean"},"gatewayIp":{"description":"Default GW IPv4 address to advertise in DHCP routes in this subnet. Omit this field to let the cloud backend allocate it automatically. Set to null if no gateway must be advertised by this subnet's DHCP (useful when attaching instances to multiple subnets in order to prevent default route conflicts).\n","type":"string"},"hostRoutes":{"description":"List of custom static routes to advertise via DHCP.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkSubnetHostRoute:CloudNetworkSubnetHostRoute"},"type":"array"},"ipVersion":{"description":"IP version\nAvailable values: 4, 6.\n","type":"number"},"name":{"description":"Subnet name\n","type":"string"},"networkId":{"description":"Network ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"properties":{"availableIps":{"description":"Number of available ips in subnet\n","type":"number"},"cidr":{"description":"CIDR\n","type":"string"},"createdAt":{"description":"Datetime when the subnet was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"dnsNameservers":{"description":"List IP addresses of DNS servers to advertise via DHCP.\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"True if DHCP should be enabled\n","type":"boolean"},"gatewayIp":{"description":"Default GW IPv4 address to advertise in DHCP routes in this subnet. Omit this field to let the cloud backend allocate it automatically. Set to null if no gateway must be advertised by this subnet's DHCP (useful when attaching instances to multiple subnets in order to prevent default route conflicts).\n","type":"string"},"hasRouter":{"deprecationMessage":"Deprecated","description":"Deprecated. Always returns <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>.\n","type":"boolean"},"hostRoutes":{"description":"List of custom static routes to advertise via DHCP.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkSubnetHostRoute:CloudNetworkSubnetHostRoute"},"type":"array"},"ipVersion":{"description":"IP version\nAvailable values: 4, 6.\n","type":"number"},"name":{"description":"Subnet name\n","type":"string"},"networkId":{"description":"Network ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"totalIps":{"description":"Total number of ips in subnet\n","type":"number"},"updatedAt":{"description":"Datetime when the subnet was last updated\n","type":"string"}},"required":["availableIps","cidr","createdAt","creatorTaskId","dnsNameservers","enableDhcp","gatewayIp","hasRouter","hostRoutes","ipVersion","name","networkId","region","tags","totalIps","updatedAt"],"requiredInputs":["cidr","networkId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudNetworkSubnet resources.\n","properties":{"availableIps":{"description":"Number of available ips in subnet\n","type":"number"},"cidr":{"description":"CIDR\n","type":"string"},"createdAt":{"description":"Datetime when the subnet was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"dnsNameservers":{"description":"List IP addresses of DNS servers to advertise via DHCP.\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"True if DHCP should be enabled\n","type":"boolean"},"gatewayIp":{"description":"Default GW IPv4 address to advertise in DHCP routes in this subnet. Omit this field to let the cloud backend allocate it automatically. Set to null if no gateway must be advertised by this subnet's DHCP (useful when attaching instances to multiple subnets in order to prevent default route conflicts).\n","type":"string"},"hasRouter":{"deprecationMessage":"Deprecated","description":"Deprecated. Always returns <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>.\n","type":"boolean"},"hostRoutes":{"description":"List of custom static routes to advertise via DHCP.\n","items":{"$ref":"#/types/gcore:index%2FCloudNetworkSubnetHostRoute:CloudNetworkSubnetHostRoute"},"type":"array"},"ipVersion":{"description":"IP version\nAvailable values: 4, 6.\n","type":"number"},"name":{"description":"Subnet name\n","type":"string"},"networkId":{"description":"Network ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"totalIps":{"description":"Total number of ips in subnet\n","type":"number"},"updatedAt":{"description":"Datetime when the subnet was last updated\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudPlacementGroup:CloudPlacementGroup":{"description":"Placement groups enforce affinity or anti-affinity policies that control whether virtual machines are hosted on the same or different physical servers.\n\n## Example Usage\n\n### Basic placement group\n\nCreates an affinity placement group.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst servergroup = new gcore.CloudPlacementGroup(\"servergroup\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-servergroup\",\n    policy: \"affinity\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nservergroup = gcore.CloudPlacementGroup(\"servergroup\",\n    project_id=1,\n    region_id=1,\n    name=\"my-servergroup\",\n    policy=\"affinity\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var servergroup = new Gcore.CloudPlacementGroup(\"servergroup\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-servergroup\",\n        Policy = \"affinity\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudPlacementGroup(ctx, \"servergroup\", &gcore.CloudPlacementGroupArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-servergroup\"),\n\t\t\tPolicy:    pulumi.String(\"affinity\"),\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.gcore.CloudPlacementGroup;\nimport com.pulumi.gcore.CloudPlacementGroupArgs;\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 servergroup = new CloudPlacementGroup(\"servergroup\", CloudPlacementGroupArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-servergroup\")\n            .policy(\"affinity\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  servergroup:\n    type: gcore:CloudPlacementGroup\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-servergroup\n      policy: affinity\n```\n<!--End PulumiCodeChooser -->\n\n### Placement group with two instances\n\nCreates a placement group and assigns two compute instances to it.\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      typeName: ssd_hiiops\n      size: 5\n      imageId: your-ubuntu-image-id\n  bootVolume2:\n    type: gcore:CloudVolume\n    name: boot_volume2\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume2\n      typeName: ssd_hiiops\n      size: 5\n      imageId: your-ubuntu-image-id\n  instance:\n    type: gcore:CloudInstance\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance\n      volumes:\n        - volumeId: ${bootVolume.id}\n          bootIndex: 0\n      interfaces:\n        - type: external\n          name: my-external-interface\n  instance2:\n    type: gcore:CloudInstance\n    properties:\n      projectId: 1\n      regionId: 1\n      flavor: g1-standard-2-4\n      name: my-instance2\n      volumes:\n        - volumeId: ${bootVolume2.id}\n          bootIndex: 0\n      interfaces:\n        - type: external\n          name: my-external-interface\n  servergroup:\n    type: gcore:CloudPlacementGroup\n    properties:\n      projectId: 1\n      regionId: 1\n      name: default\n      policy: affinity\n      instances:\n        - instanceId: ${instance.id}\n        - instanceId: ${instance2.id}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudPlacementGroup:CloudPlacementGroup example '<project_id>/<region_id>/<group_id>'\n```\n\n","inputProperties":{"instances":{"description":"The list of instances in this server group.\n","items":{"$ref":"#/types/gcore:index%2FCloudPlacementGroupInstance:CloudPlacementGroupInstance"},"type":"array"},"name":{"description":"The name of the server group.\n","type":"string"},"policy":{"description":"The server group policy.\nAvailable values: \"affinity\", \"anti-affinity\", \"soft-anti-affinity\".\n","type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"}},"properties":{"instances":{"description":"The list of instances in this server group.\n","items":{"$ref":"#/types/gcore:index%2FCloudPlacementGroupInstance:CloudPlacementGroupInstance"},"type":"array"},"name":{"description":"The name of the server group.\n","type":"string"},"policy":{"description":"The server group policy.\nAvailable values: \"affinity\", \"anti-affinity\", \"soft-anti-affinity\".\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"servergroupId":{"description":"The ID of the server group.\n","type":"string"}},"required":["instances","name","policy","region","servergroupId"],"requiredInputs":["policy"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudPlacementGroup resources.\n","properties":{"instances":{"description":"The list of instances in this server group.\n","items":{"$ref":"#/types/gcore:index%2FCloudPlacementGroupInstance:CloudPlacementGroupInstance"},"type":"array"},"name":{"description":"The name of the server group.\n","type":"string"},"policy":{"description":"The server group policy.\nAvailable values: \"affinity\", \"anti-affinity\", \"soft-anti-affinity\".\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"servergroupId":{"description":"The ID of the server group.\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudProject:CloudProject":{"description":"Projects are organizational units that group cloud resources for access control and billing.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleCloudProject = new gcore.CloudProject(\"example_cloud_project\", {\n    name: \"my-project\",\n    description: \"Project description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_cloud_project = gcore.CloudProject(\"example_cloud_project\",\n    name=\"my-project\",\n    description=\"Project description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleCloudProject = new Gcore.CloudProject(\"example_cloud_project\", new()\n    {\n        Name = \"my-project\",\n        Description = \"Project description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewCloudProject(ctx, \"example_cloud_project\", &gcore.CloudProjectArgs{\n\t\t\tName:        pulumi.String(\"my-project\"),\n\t\t\tDescription: pulumi.String(\"Project description\"),\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.gcore.CloudProject;\nimport com.pulumi.gcore.CloudProjectArgs;\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 exampleCloudProject = new CloudProject(\"exampleCloudProject\", CloudProjectArgs.builder()\n            .name(\"my-project\")\n            .description(\"Project description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleCloudProject:\n    type: gcore:CloudProject\n    name: example_cloud_project\n    properties:\n      name: my-project\n      description: Project description\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import gcore:index/cloudProject:CloudProject example '<project_id>'\n```\n\n","inputProperties":{"description":{"description":"Description of the project.\n","type":"string"},"name":{"description":"Unique project name for a client. Each client always has one \"default\" project.\n","type":"string"}},"properties":{"clientId":{"description":"ID associated with the client.\n","type":"number"},"cloudProjectId":{"description":"Project ID, which is automatically generated upon creation.\n","type":"number"},"createdAt":{"description":"Datetime of creation, which is automatically generated.\n","type":"string"},"description":{"description":"Description of the project.\n","type":"string"},"isDefault":{"description":"Indicates if the project is the default one. Each client always has one default project.\n","type":"boolean"},"name":{"description":"Unique project name for a client. Each client always has one \"default\" project.\n","type":"string"},"state":{"description":"The state of the project.\n","type":"string"}},"required":["clientId","cloudProjectId","createdAt","description","isDefault","name","state"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudProject resources.\n","properties":{"clientId":{"description":"ID associated with the client.\n","type":"number"},"cloudProjectId":{"description":"Project ID, which is automatically generated upon creation.\n","type":"number"},"createdAt":{"description":"Datetime of creation, which is automatically generated.\n","type":"string"},"description":{"description":"Description of the project.\n","type":"string"},"isDefault":{"description":"Indicates if the project is the default one. Each client always has one default project.\n","type":"boolean"},"name":{"description":"Unique project name for a client. Each client always has one \"default\" project.\n","type":"string"},"state":{"description":"The state of the project.\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudReservedFixedIp:CloudReservedFixedIp":{"description":"Reserved fixed IPs are static IP addresses that persist independently of instances and can be used as virtual IPs (VIPs) for high availability.\n\n## Example Usage\n\n### Reserve an external IP address\n\nReserves a public (external) IP address.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Reserve an external (public) IP address\nconst external = new gcore.CloudReservedFixedIp(\"external\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"external\",\n    isVip: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Reserve an external (public) IP address\nexternal = gcore.CloudReservedFixedIp(\"external\",\n    project_id=1,\n    region_id=1,\n    type=\"external\",\n    is_vip=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Reserve an external (public) IP address\n    var external = new Gcore.CloudReservedFixedIp(\"external\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"external\",\n        IsVip = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Reserve an external (public) IP address\n\t\t_, err := gcore.NewCloudReservedFixedIp(ctx, \"external\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"external\"),\n\t\t\tIsVip:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\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        // Reserve an external (public) IP address\n        var external = new CloudReservedFixedIp(\"external\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"external\")\n            .isVip(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Reserve an external (public) IP address\n  external:\n    type: gcore:CloudReservedFixedIp\n    properties:\n      projectId: 1\n      regionId: 1\n      type: external\n      isVip: false\n```\n<!--End PulumiCodeChooser -->\n\n### Reserve a private IP in any subnet\n\nReserves a private IP in any available subnet of a network.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Reserve a private IP in any available subnet of the network\nconst inAnySubnet = new gcore.CloudReservedFixedIp(\"in_any_subnet\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"any_subnet\",\n    networkId: privateNetwork.id,\n    isVip: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Reserve a private IP in any available subnet of the network\nin_any_subnet = gcore.CloudReservedFixedIp(\"in_any_subnet\",\n    project_id=1,\n    region_id=1,\n    type=\"any_subnet\",\n    network_id=private_network[\"id\"],\n    is_vip=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Reserve a private IP in any available subnet of the network\n    var inAnySubnet = new Gcore.CloudReservedFixedIp(\"in_any_subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"any_subnet\",\n        NetworkId = privateNetwork.Id,\n        IsVip = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Reserve a private IP in any available subnet of the network\n\t\t_, err := gcore.NewCloudReservedFixedIp(ctx, \"in_any_subnet\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"any_subnet\"),\n\t\t\tNetworkId: pulumi.Any(privateNetwork.Id),\n\t\t\tIsVip:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\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        // Reserve a private IP in any available subnet of the network\n        var inAnySubnet = new CloudReservedFixedIp(\"inAnySubnet\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"any_subnet\")\n            .networkId(privateNetwork.id())\n            .isVip(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Reserve a private IP in any available subnet of the network\n  inAnySubnet:\n    type: gcore:CloudReservedFixedIp\n    name: in_any_subnet\n    properties:\n      projectId: 1\n      regionId: 1\n      type: any_subnet\n      networkId: ${privateNetwork.id}\n      isVip: false\n```\n<!--End PulumiCodeChooser -->\n\n### Reserve a private IP in a specific subnet\n\nReserves a private IP in a specific subnet of a network.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Reserve a private IP in a specific subnet\nconst inSubnet = new gcore.CloudReservedFixedIp(\"in_subnet\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"subnet\",\n    networkId: privateNetwork.id,\n    subnetId: privateSubnet0.id,\n    isVip: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Reserve a private IP in a specific subnet\nin_subnet = gcore.CloudReservedFixedIp(\"in_subnet\",\n    project_id=1,\n    region_id=1,\n    type=\"subnet\",\n    network_id=private_network[\"id\"],\n    subnet_id=private_subnet0[\"id\"],\n    is_vip=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Reserve a private IP in a specific subnet\n    var inSubnet = new Gcore.CloudReservedFixedIp(\"in_subnet\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"subnet\",\n        NetworkId = privateNetwork.Id,\n        SubnetId = privateSubnet0.Id,\n        IsVip = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Reserve a private IP in a specific subnet\n\t\t_, err := gcore.NewCloudReservedFixedIp(ctx, \"in_subnet\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"subnet\"),\n\t\t\tNetworkId: pulumi.Any(privateNetwork.Id),\n\t\t\tSubnetId:  pulumi.Any(privateSubnet0.Id),\n\t\t\tIsVip:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\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        // Reserve a private IP in a specific subnet\n        var inSubnet = new CloudReservedFixedIp(\"inSubnet\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"subnet\")\n            .networkId(privateNetwork.id())\n            .subnetId(privateSubnet0.id())\n            .isVip(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Reserve a private IP in a specific subnet\n  inSubnet:\n    type: gcore:CloudReservedFixedIp\n    name: in_subnet\n    properties:\n      projectId: 1\n      regionId: 1\n      type: subnet\n      networkId: ${privateNetwork.id}\n      subnetId: ${privateSubnet0.id}\n      isVip: false\n```\n<!--End PulumiCodeChooser -->\n\n### Reserve a specific IP address\n\nReserves a specific IP address in a subnet.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Reserve a specific IP address in a subnet\nconst specificIp = new gcore.CloudReservedFixedIp(\"specific_ip\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"ip_address\",\n    networkId: privateNetwork.id,\n    subnetId: privateSubnet0.id,\n    ipAddress: \"172.16.0.254\",\n    isVip: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Reserve a specific IP address in a subnet\nspecific_ip = gcore.CloudReservedFixedIp(\"specific_ip\",\n    project_id=1,\n    region_id=1,\n    type=\"ip_address\",\n    network_id=private_network[\"id\"],\n    subnet_id=private_subnet0[\"id\"],\n    ip_address=\"172.16.0.254\",\n    is_vip=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Reserve a specific IP address in a subnet\n    var specificIp = new Gcore.CloudReservedFixedIp(\"specific_ip\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"ip_address\",\n        NetworkId = privateNetwork.Id,\n        SubnetId = privateSubnet0.Id,\n        IpAddress = \"172.16.0.254\",\n        IsVip = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Reserve a specific IP address in a subnet\n\t\t_, err := gcore.NewCloudReservedFixedIp(ctx, \"specific_ip\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"ip_address\"),\n\t\t\tNetworkId: pulumi.Any(privateNetwork.Id),\n\t\t\tSubnetId:  pulumi.Any(privateSubnet0.Id),\n\t\t\tIpAddress: pulumi.String(\"172.16.0.254\"),\n\t\t\tIsVip:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\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        // Reserve a specific IP address in a subnet\n        var specificIp = new CloudReservedFixedIp(\"specificIp\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"ip_address\")\n            .networkId(privateNetwork.id())\n            .subnetId(privateSubnet0.id())\n            .ipAddress(\"172.16.0.254\")\n            .isVip(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Reserve a specific IP address in a subnet\n  specificIp:\n    type: gcore:CloudReservedFixedIp\n    name: specific_ip\n    properties:\n      projectId: 1\n      regionId: 1\n      type: ip_address\n      networkId: ${privateNetwork.id}\n      subnetId: ${privateSubnet0.id}\n      ipAddress: 172.16.0.254\n      isVip: false\n```\n<!--End PulumiCodeChooser -->\n\n### Reserve an existing port\n\nReserves an existing port, such as a load balancer VIP port.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Reserve an existing port (e.g., from a load balancer VIP)\nconst lb = new gcore.CloudLoadBalancer(\"lb\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-load-balancer\",\n    flavor: \"lb1-1-2\",\n});\nconst fromPort = new gcore.CloudReservedFixedIp(\"from_port\", {\n    projectId: 1,\n    regionId: 1,\n    type: \"port\",\n    portId: lb.vipPortId,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Reserve an existing port (e.g., from a load balancer VIP)\nlb = gcore.CloudLoadBalancer(\"lb\",\n    project_id=1,\n    region_id=1,\n    name=\"my-load-balancer\",\n    flavor=\"lb1-1-2\")\nfrom_port = gcore.CloudReservedFixedIp(\"from_port\",\n    project_id=1,\n    region_id=1,\n    type=\"port\",\n    port_id=lb.vip_port_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Reserve an existing port (e.g., from a load balancer VIP)\n    var lb = new Gcore.CloudLoadBalancer(\"lb\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-load-balancer\",\n        Flavor = \"lb1-1-2\",\n    });\n\n    var fromPort = new Gcore.CloudReservedFixedIp(\"from_port\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Type = \"port\",\n        PortId = lb.VipPortId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Reserve an existing port (e.g., from a load balancer VIP)\n\t\tlb, err := gcore.NewCloudLoadBalancer(ctx, \"lb\", &gcore.CloudLoadBalancerArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-load-balancer\"),\n\t\t\tFlavor:    pulumi.String(\"lb1-1-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudReservedFixedIp(ctx, \"from_port\", &gcore.CloudReservedFixedIpArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tType:      pulumi.String(\"port\"),\n\t\t\tPortId:    lb.VipPortId,\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.gcore.CloudLoadBalancer;\nimport com.pulumi.gcore.CloudLoadBalancerArgs;\nimport com.pulumi.gcore.CloudReservedFixedIp;\nimport com.pulumi.gcore.CloudReservedFixedIpArgs;\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        // Reserve an existing port (e.g., from a load balancer VIP)\n        var lb = new CloudLoadBalancer(\"lb\", CloudLoadBalancerArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-load-balancer\")\n            .flavor(\"lb1-1-2\")\n            .build());\n\n        var fromPort = new CloudReservedFixedIp(\"fromPort\", CloudReservedFixedIpArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .type(\"port\")\n            .portId(lb.vipPortId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Reserve an existing port (e.g., from a load balancer VIP)\n  lb:\n    type: gcore:CloudLoadBalancer\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-load-balancer\n      flavor: lb1-1-2\n  fromPort:\n    type: gcore:CloudReservedFixedIp\n    name: from_port\n    properties:\n      projectId: 1\n      regionId: 1\n      type: port\n      portId: ${lb.vipPortId}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudReservedFixedIp:CloudReservedFixedIp example '<project_id>/<region_id>/<port_id>'\n```\n\n","inputProperties":{"ipAddress":{"description":"Reserved fixed IP will be allocated the given IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6 or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"isVip":{"description":"If reserved fixed IP is a VIP\n","type":"boolean"},"networkId":{"description":"Reserved fixed IP will be allocated in a subnet of this network\n","type":"string"},"portId":{"description":"Port ID to make a reserved fixed IP (for example, <span pulumi-lang-nodejs=\"`vipPortId`\" pulumi-lang-dotnet=\"`VipPortId`\" pulumi-lang-go=\"`vipPortId`\" pulumi-lang-python=\"`vip_port_id`\" pulumi-lang-yaml=\"`vipPortId`\" pulumi-lang-java=\"`vipPortId`\">`vip_port_id`</span> of the Load Balancer entity).\n","type":"string"},"projectId":{"type":"number"},"regionId":{"type":"number"},"subnetId":{"description":"Reserved fixed IP will be allocated in this subnet\n","type":"string"},"type":{"description":"Must be 'external'\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"ip*address\", \"port\".\n","type":"string"}},"properties":{"allowedAddressPairs":{"description":"Group of subnet masks and/or IP addresses that share the current IP as VIP\n","items":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpAllowedAddressPair:CloudReservedFixedIpAllowedAddressPair"},"type":"array"},"attachments":{"description":"Reserved fixed IP attachment entities\n","items":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpAttachment:CloudReservedFixedIpAttachment"},"type":"array"},"createdAt":{"description":"Datetime when the reserved fixed IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IPv4 address of the reserved fixed IP\n","type":"string"},"fixedIpv6Address":{"description":"IPv6 address of the reserved fixed IP\n","type":"string"},"ipAddress":{"description":"Reserved fixed IP will be allocated the given IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6 or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"isExternal":{"description":"If reserved fixed IP belongs to a public network\n","type":"boolean"},"isVip":{"description":"If reserved fixed IP is a VIP\n","type":"boolean"},"name":{"description":"Reserved fixed IP name\n","type":"string"},"network":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpNetwork:CloudReservedFixedIpNetwork","description":"Network details\n"},"networkId":{"description":"Reserved fixed IP will be allocated in a subnet of this network\n","type":"string"},"portId":{"description":"Port ID to make a reserved fixed IP (for example, <span pulumi-lang-nodejs=\"`vipPortId`\" pulumi-lang-dotnet=\"`VipPortId`\" pulumi-lang-go=\"`vipPortId`\" pulumi-lang-python=\"`vip_port_id`\" pulumi-lang-yaml=\"`vipPortId`\" pulumi-lang-java=\"`vipPortId`\">`vip_port_id`</span> of the Load Balancer entity).\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"status":{"description":"Underlying port status\n","type":"string"},"subnetId":{"description":"Reserved fixed IP will be allocated in this subnet\n","type":"string"},"subnetV6Id":{"description":"ID of the subnet that owns the IPv6 address\n","type":"string"},"type":{"description":"Must be 'external'\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"ip*address\", \"port\".\n","type":"string"},"updatedAt":{"description":"Datetime when the reserved fixed IP was last updated\n","type":"string"}},"required":["allowedAddressPairs","attachments","createdAt","creatorTaskId","fixedIpAddress","fixedIpv6Address","isExternal","name","network","portId","region","status","subnetV6Id","type","updatedAt"],"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudReservedFixedIp resources.\n","properties":{"allowedAddressPairs":{"description":"Group of subnet masks and/or IP addresses that share the current IP as VIP\n","items":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpAllowedAddressPair:CloudReservedFixedIpAllowedAddressPair"},"type":"array"},"attachments":{"description":"Reserved fixed IP attachment entities\n","items":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpAttachment:CloudReservedFixedIpAttachment"},"type":"array"},"createdAt":{"description":"Datetime when the reserved fixed IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IPv4 address of the reserved fixed IP\n","type":"string"},"fixedIpv6Address":{"description":"IPv6 address of the reserved fixed IP\n","type":"string"},"ipAddress":{"description":"Reserved fixed IP will be allocated the given IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6 or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"isExternal":{"description":"If reserved fixed IP belongs to a public network\n","type":"boolean"},"isVip":{"description":"If reserved fixed IP is a VIP\n","type":"boolean"},"name":{"description":"Reserved fixed IP name\n","type":"string"},"network":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpNetwork:CloudReservedFixedIpNetwork","description":"Network details\n"},"networkId":{"description":"Reserved fixed IP will be allocated in a subnet of this network\n","type":"string"},"portId":{"description":"Port ID to make a reserved fixed IP (for example, <span pulumi-lang-nodejs=\"`vipPortId`\" pulumi-lang-dotnet=\"`VipPortId`\" pulumi-lang-go=\"`vipPortId`\" pulumi-lang-python=\"`vip_port_id`\" pulumi-lang-yaml=\"`vipPortId`\" pulumi-lang-java=\"`vipPortId`\">`vip_port_id`</span> of the Load Balancer entity).\n","type":"string"},"projectId":{"type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"type":"number"},"status":{"description":"Underlying port status\n","type":"string"},"subnetId":{"description":"Reserved fixed IP will be allocated in this subnet\n","type":"string"},"subnetV6Id":{"description":"ID of the subnet that owns the IPv6 address\n","type":"string"},"type":{"description":"Must be 'external'\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"ip*address\", \"port\".\n","type":"string"},"updatedAt":{"description":"Datetime when the reserved fixed IP was last updated\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudSecret:CloudSecret":{"description":"Secrets store sensitive data such as TLS certificates and private keys in encrypted form within a cloud region.\n\n## Example Usage\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudSecret:CloudSecret example '<project_id>/<region_id>/<secret_id>'\n```\n\n","inputProperties":{"expiration":{"description":"Datetime when the secret will expire. Defaults to None\n","type":"string"},"name":{"description":"Secret name\n","type":"string"},"payload":{"$ref":"#/types/gcore:index%2FCloudSecretPayload:CloudSecretPayload","description":"Secret payload.\n"},"payloadWoVersion":{"type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"}},"properties":{"algorithm":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"bitLength":{"description":"Metadata provided by a user or system for informational purposes. Value must be greater than zero. Defaults to None\n","type":"number"},"contentTypes":{"additionalProperties":{"type":"string"},"description":"Describes the content-types that can be used to retrieve the payload. The content-type used with symmetric secrets is application/octet-stream\n","type":"object"},"created":{"description":"Datetime when the secret was created. The format is 2020-01-01T12:00:00+00:00\n","type":"string"},"expiration":{"description":"Datetime when the secret will expire. Defaults to None\n","type":"string"},"mode":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"name":{"description":"Secret name\n","type":"string"},"payload":{"$ref":"#/types/gcore:index%2FCloudSecretPayload:CloudSecretPayload","description":"Secret payload.\n"},"payloadWoVersion":{"type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"secretType":{"description":"Secret type, base64 encoded. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API\nAvailable values: \"certificate\", \"opaque\", \"passphrase\", \"private\", \"public\", \"symmetric\".\n","type":"string"},"status":{"description":"Status\n","type":"string"}},"required":["algorithm","bitLength","contentTypes","created","mode","name","payload","payloadWoVersion","secretType","status"],"requiredInputs":["payload","payloadWoVersion"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudSecret resources.\n","properties":{"algorithm":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"bitLength":{"description":"Metadata provided by a user or system for informational purposes. Value must be greater than zero. Defaults to None\n","type":"number"},"contentTypes":{"additionalProperties":{"type":"string"},"description":"Describes the content-types that can be used to retrieve the payload. The content-type used with symmetric secrets is application/octet-stream\n","type":"object"},"created":{"description":"Datetime when the secret was created. The format is 2020-01-01T12:00:00+00:00\n","type":"string"},"expiration":{"description":"Datetime when the secret will expire. Defaults to None\n","type":"string"},"mode":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"name":{"description":"Secret name\n","type":"string"},"payload":{"$ref":"#/types/gcore:index%2FCloudSecretPayload:CloudSecretPayload","description":"Secret payload.\n"},"payloadWoVersion":{"type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"secretType":{"description":"Secret type, base64 encoded. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API\nAvailable values: \"certificate\", \"opaque\", \"passphrase\", \"private\", \"public\", \"symmetric\".\n","type":"string"},"status":{"description":"Status\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudSecurityGroup:CloudSecurityGroup":{"description":"Security groups act as virtual firewalls controlling inbound and outbound traffic for instances and other resources.\n\n## Example Usage\n\n### Web server security group\n\nCreates a security group with HTTP/HTTPS ingress and outbound TCP/VRRP egress rules.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a security group and manage rules as separate resources\nconst example = new gcore.CloudSecurityGroup(\"example\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"web-security-group\",\n    description: \"Allow HTTP, HTTPS, and outbound traffic\",\n    tags: {\n        environment: \"production\",\n    },\n});\nconst allowHttp = new gcore.CloudSecurityGroupRule(\"allow_http\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: example.id,\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 80,\n    portRangeMax: 80,\n    description: \"Allow HTTP\",\n});\nconst allowHttps = new gcore.CloudSecurityGroupRule(\"allow_https\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: example.id,\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 443,\n    portRangeMax: 443,\n    description: \"Allow HTTPS\",\n});\nconst allowEgressTcp = new gcore.CloudSecurityGroupRule(\"allow_egress_tcp\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: example.id,\n    direction: \"egress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    description: \"Allow all outbound TCP\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a security group and manage rules as separate resources\nexample = gcore.CloudSecurityGroup(\"example\",\n    project_id=1,\n    region_id=1,\n    name=\"web-security-group\",\n    description=\"Allow HTTP, HTTPS, and outbound traffic\",\n    tags={\n        \"environment\": \"production\",\n    })\nallow_http = gcore.CloudSecurityGroupRule(\"allow_http\",\n    project_id=1,\n    region_id=1,\n    group_id=example.id,\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=80,\n    port_range_max=80,\n    description=\"Allow HTTP\")\nallow_https = gcore.CloudSecurityGroupRule(\"allow_https\",\n    project_id=1,\n    region_id=1,\n    group_id=example.id,\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=443,\n    port_range_max=443,\n    description=\"Allow HTTPS\")\nallow_egress_tcp = gcore.CloudSecurityGroupRule(\"allow_egress_tcp\",\n    project_id=1,\n    region_id=1,\n    group_id=example.id,\n    direction=\"egress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    description=\"Allow all outbound TCP\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a security group and manage rules as separate resources\n    var example = new Gcore.CloudSecurityGroup(\"example\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"web-security-group\",\n        Description = \"Allow HTTP, HTTPS, and outbound traffic\",\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n    var allowHttp = new Gcore.CloudSecurityGroupRule(\"allow_http\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = example.Id,\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 80,\n        PortRangeMax = 80,\n        Description = \"Allow HTTP\",\n    });\n\n    var allowHttps = new Gcore.CloudSecurityGroupRule(\"allow_https\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = example.Id,\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 443,\n        PortRangeMax = 443,\n        Description = \"Allow HTTPS\",\n    });\n\n    var allowEgressTcp = new Gcore.CloudSecurityGroupRule(\"allow_egress_tcp\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = example.Id,\n        Direction = \"egress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        Description = \"Allow all outbound TCP\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a security group and manage rules as separate resources\n\t\texample, err := gcore.NewCloudSecurityGroup(ctx, \"example\", &gcore.CloudSecurityGroupArgs{\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t\tName:        pulumi.String(\"web-security-group\"),\n\t\t\tDescription: pulumi.String(\"Allow HTTP, HTTPS, and outbound traffic\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"allow_http\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      example.ID(),\n\t\t\tDirection:    pulumi.String(\"ingress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(80),\n\t\t\tPortRangeMax: pulumi.Float64(80),\n\t\t\tDescription:  pulumi.String(\"Allow HTTP\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"allow_https\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:    pulumi.Float64(1),\n\t\t\tRegionId:     pulumi.Float64(1),\n\t\t\tGroupId:      example.ID(),\n\t\t\tDirection:    pulumi.String(\"ingress\"),\n\t\t\tEthertype:    pulumi.String(\"IPv4\"),\n\t\t\tProtocol:     pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin: pulumi.Float64(443),\n\t\t\tPortRangeMax: pulumi.Float64(443),\n\t\t\tDescription:  pulumi.String(\"Allow HTTPS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = gcore.NewCloudSecurityGroupRule(ctx, \"allow_egress_tcp\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:   pulumi.Float64(1),\n\t\t\tRegionId:    pulumi.Float64(1),\n\t\t\tGroupId:     example.ID(),\n\t\t\tDirection:   pulumi.String(\"egress\"),\n\t\t\tEthertype:   pulumi.String(\"IPv4\"),\n\t\t\tProtocol:    pulumi.String(\"tcp\"),\n\t\t\tDescription: pulumi.String(\"Allow all outbound TCP\"),\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.gcore.CloudSecurityGroup;\nimport com.pulumi.gcore.CloudSecurityGroupArgs;\nimport com.pulumi.gcore.CloudSecurityGroupRule;\nimport com.pulumi.gcore.CloudSecurityGroupRuleArgs;\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        // Create a security group and manage rules as separate resources\n        var example = new CloudSecurityGroup(\"example\", CloudSecurityGroupArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"web-security-group\")\n            .description(\"Allow HTTP, HTTPS, and outbound traffic\")\n            .tags(Map.of(\"environment\", \"production\"))\n            .build());\n\n        var allowHttp = new CloudSecurityGroupRule(\"allowHttp\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(example.id())\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(80.0)\n            .portRangeMax(80.0)\n            .description(\"Allow HTTP\")\n            .build());\n\n        var allowHttps = new CloudSecurityGroupRule(\"allowHttps\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(example.id())\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(443.0)\n            .portRangeMax(443.0)\n            .description(\"Allow HTTPS\")\n            .build());\n\n        var allowEgressTcp = new CloudSecurityGroupRule(\"allowEgressTcp\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(example.id())\n            .direction(\"egress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .description(\"Allow all outbound TCP\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a security group and manage rules as separate resources\n  example:\n    type: gcore:CloudSecurityGroup\n    properties:\n      projectId: 1\n      regionId: 1\n      name: web-security-group\n      description: Allow HTTP, HTTPS, and outbound traffic\n      tags:\n        environment: production\n  allowHttp:\n    type: gcore:CloudSecurityGroupRule\n    name: allow_http\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${example.id}\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 80\n      portRangeMax: 80\n      description: Allow HTTP\n  allowHttps:\n    type: gcore:CloudSecurityGroupRule\n    name: allow_https\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${example.id}\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 443\n      portRangeMax: 443\n      description: Allow HTTPS\n  allowEgressTcp:\n    type: gcore:CloudSecurityGroupRule\n    name: allow_egress_tcp\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${example.id}\n      direction: egress\n      ethertype: IPv4\n      protocol: tcp\n      description: Allow all outbound TCP\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudSecurityGroup:CloudSecurityGroup example '<project_id>/<region_id>/<group_id>'\n```\n\n","inputProperties":{"description":{"description":"Security group description\n","type":"string"},"name":{"description":"Security group name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"}},"properties":{"createdAt":{"description":"Datetime when the security group was created\n","type":"string"},"description":{"description":"Security group description\n","type":"string"},"name":{"description":"Security group name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"revisionNumber":{"description":"The number of revisions\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FCloudSecurityGroupTagsV2:CloudSecurityGroupTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the security group was last updated\n","type":"string"}},"required":["createdAt","description","name","region","revisionNumber","tags","tagsV2s","updatedAt"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudSecurityGroup resources.\n","properties":{"createdAt":{"description":"Datetime when the security group was created\n","type":"string"},"description":{"description":"Security group description\n","type":"string"},"name":{"description":"Security group name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"revisionNumber":{"description":"The number of revisions\n","type":"number"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FCloudSecurityGroupTagsV2:CloudSecurityGroupTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the security group was last updated\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudSecurityGroupRule:CloudSecurityGroupRule":{"description":"Security group rules define individual traffic permissions specifying protocol, port range, direction, and allowed sources.\n\n## Example Usage\n\n### Allow HTTPS ingress from internal network\n\nCreates an ingress rule allowing HTTPS traffic from a specific CIDR range.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Allow inbound HTTPS traffic from a specific CIDR\nconst allowHttps = new gcore.CloudSecurityGroupRule(\"allow_https\", {\n    projectId: 1,\n    regionId: 1,\n    groupId: web.id,\n    direction: \"ingress\",\n    ethertype: \"IPv4\",\n    protocol: \"tcp\",\n    portRangeMin: 443,\n    portRangeMax: 443,\n    remoteIpPrefix: \"10.0.0.0/8\",\n    description: \"Allow HTTPS from internal network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Allow inbound HTTPS traffic from a specific CIDR\nallow_https = gcore.CloudSecurityGroupRule(\"allow_https\",\n    project_id=1,\n    region_id=1,\n    group_id=web[\"id\"],\n    direction=\"ingress\",\n    ethertype=\"IPv4\",\n    protocol=\"tcp\",\n    port_range_min=443,\n    port_range_max=443,\n    remote_ip_prefix=\"10.0.0.0/8\",\n    description=\"Allow HTTPS from internal network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Allow inbound HTTPS traffic from a specific CIDR\n    var allowHttps = new Gcore.CloudSecurityGroupRule(\"allow_https\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        GroupId = web.Id,\n        Direction = \"ingress\",\n        Ethertype = \"IPv4\",\n        Protocol = \"tcp\",\n        PortRangeMin = 443,\n        PortRangeMax = 443,\n        RemoteIpPrefix = \"10.0.0.0/8\",\n        Description = \"Allow HTTPS from internal network\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Allow inbound HTTPS traffic from a specific CIDR\n\t\t_, err := gcore.NewCloudSecurityGroupRule(ctx, \"allow_https\", &gcore.CloudSecurityGroupRuleArgs{\n\t\t\tProjectId:      pulumi.Float64(1),\n\t\t\tRegionId:       pulumi.Float64(1),\n\t\t\tGroupId:        pulumi.Any(web.Id),\n\t\t\tDirection:      pulumi.String(\"ingress\"),\n\t\t\tEthertype:      pulumi.String(\"IPv4\"),\n\t\t\tProtocol:       pulumi.String(\"tcp\"),\n\t\t\tPortRangeMin:   pulumi.Float64(443),\n\t\t\tPortRangeMax:   pulumi.Float64(443),\n\t\t\tRemoteIpPrefix: pulumi.String(\"10.0.0.0/8\"),\n\t\t\tDescription:    pulumi.String(\"Allow HTTPS from internal network\"),\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.gcore.CloudSecurityGroupRule;\nimport com.pulumi.gcore.CloudSecurityGroupRuleArgs;\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        // Allow inbound HTTPS traffic from a specific CIDR\n        var allowHttps = new CloudSecurityGroupRule(\"allowHttps\", CloudSecurityGroupRuleArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .groupId(web.id())\n            .direction(\"ingress\")\n            .ethertype(\"IPv4\")\n            .protocol(\"tcp\")\n            .portRangeMin(443.0)\n            .portRangeMax(443.0)\n            .remoteIpPrefix(\"10.0.0.0/8\")\n            .description(\"Allow HTTPS from internal network\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Allow inbound HTTPS traffic from a specific CIDR\n  allowHttps:\n    type: gcore:CloudSecurityGroupRule\n    name: allow_https\n    properties:\n      projectId: 1\n      regionId: 1\n      groupId: ${web.id}\n      direction: ingress\n      ethertype: IPv4\n      protocol: tcp\n      portRangeMin: 443\n      portRangeMax: 443\n      remoteIpPrefix: 10.0.0.0/8\n      description: Allow HTTPS from internal network\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudSecurityGroupRule:CloudSecurityGroupRule example '<project_id>/<region_id>/<group_id>/<rule_id>'\n```\n\n","inputProperties":{"description":{"description":"Rule description\n","type":"string"},"direction":{"description":"Ingress or egress, which is the direction in which the security group is applied\nAvailable values: \"egress\", \"ingress\".\n","type":"string"},"ethertype":{"description":"Ether type\nAvailable values: \"IPv4\", \"IPv6\".\n","type":"string"},"groupId":{"description":"Security group ID\n","type":"string"},"portRangeMax":{"description":"The maximum port number in the range that is matched by the security group rule\n","type":"number"},"portRangeMin":{"description":"The minimum port number in the range that is matched by the security group rule\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"V2 protocol enum without 'any'. Use null for all protocols instead.\nAvailable values: \"ah\", \"dccp\", \"egp\", \"esp\", \"gre\", \"icmp\", \"igmp\", \"ipencap\", \"ipip\", \"ipv6-encap\", \"ipv6-frag\", \"ipv6-icmp\", \"ipv6-nonxt\", \"ipv6-opts\", \"ipv6-route\", \"ospf\", \"pgm\", \"rsvp\", \"sctp\", \"tcp\", \"udp\", \"udplite\", \"vrrp\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"remoteGroupId":{"description":"The remote group UUID to associate with this security group\n","type":"string"},"remoteIpPrefix":{"description":"The remote IP prefix that is matched by this security group rule\n","type":"string"}},"properties":{"description":{"description":"Rule description\n","type":"string"},"direction":{"description":"Ingress or egress, which is the direction in which the security group is applied\nAvailable values: \"egress\", \"ingress\".\n","type":"string"},"ethertype":{"description":"Ether type\nAvailable values: \"IPv4\", \"IPv6\".\n","type":"string"},"groupId":{"description":"Security group ID\n","type":"string"},"portRangeMax":{"description":"The maximum port number in the range that is matched by the security group rule\n","type":"number"},"portRangeMin":{"description":"The minimum port number in the range that is matched by the security group rule\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"V2 protocol enum without 'any'. Use null for all protocols instead.\nAvailable values: \"ah\", \"dccp\", \"egp\", \"esp\", \"gre\", \"icmp\", \"igmp\", \"ipencap\", \"ipip\", \"ipv6-encap\", \"ipv6-frag\", \"ipv6-icmp\", \"ipv6-nonxt\", \"ipv6-opts\", \"ipv6-route\", \"ospf\", \"pgm\", \"rsvp\", \"sctp\", \"tcp\", \"udp\", \"udplite\", \"vrrp\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"remoteGroupId":{"description":"The remote group UUID to associate with this security group\n","type":"string"},"remoteIpPrefix":{"description":"The remote IP prefix that is matched by this security group rule\n","type":"string"}},"required":["direction","groupId"],"requiredInputs":["direction","groupId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudSecurityGroupRule resources.\n","properties":{"description":{"description":"Rule description\n","type":"string"},"direction":{"description":"Ingress or egress, which is the direction in which the security group is applied\nAvailable values: \"egress\", \"ingress\".\n","type":"string"},"ethertype":{"description":"Ether type\nAvailable values: \"IPv4\", \"IPv6\".\n","type":"string"},"groupId":{"description":"Security group ID\n","type":"string"},"portRangeMax":{"description":"The maximum port number in the range that is matched by the security group rule\n","type":"number"},"portRangeMin":{"description":"The minimum port number in the range that is matched by the security group rule\n","type":"number"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"V2 protocol enum without 'any'. Use null for all protocols instead.\nAvailable values: \"ah\", \"dccp\", \"egp\", \"esp\", \"gre\", \"icmp\", \"igmp\", \"ipencap\", \"ipip\", \"ipv6-encap\", \"ipv6-frag\", \"ipv6-icmp\", \"ipv6-nonxt\", \"ipv6-opts\", \"ipv6-route\", \"ospf\", \"pgm\", \"rsvp\", \"sctp\", \"tcp\", \"udp\", \"udplite\", \"vrrp\".\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"remoteGroupId":{"description":"The remote group UUID to associate with this security group\n","type":"string"},"remoteIpPrefix":{"description":"The remote IP prefix that is matched by this security group rule\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudSshKey:CloudSshKey":{"description":"SSH key pairs provide secure authentication to cloud instances, supporting both generated and imported public keys.\n\n## Example Usage\n\n### Upload an existing SSH key\n\nAdd an SSH public key that can be used when creating instances.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Upload an existing SSH public key\nconst deployer = new gcore.CloudSshKey(\"deployer\", {\n    projectId: 1,\n    name: \"deployer-key\",\n    publicKey: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe8rDJP... deployer@workstation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Upload an existing SSH public key\ndeployer = gcore.CloudSshKey(\"deployer\",\n    project_id=1,\n    name=\"deployer-key\",\n    public_key=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe8rDJP... deployer@workstation\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Upload an existing SSH public key\n    var deployer = new Gcore.CloudSshKey(\"deployer\", new()\n    {\n        ProjectId = 1,\n        Name = \"deployer-key\",\n        PublicKey = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe8rDJP... deployer@workstation\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Upload an existing SSH public key\n\t\t_, err := gcore.NewCloudSshKey(ctx, \"deployer\", &gcore.CloudSshKeyArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"deployer-key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe8rDJP... deployer@workstation\"),\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.gcore.CloudSshKey;\nimport com.pulumi.gcore.CloudSshKeyArgs;\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        // Upload an existing SSH public key\n        var deployer = new CloudSshKey(\"deployer\", CloudSshKeyArgs.builder()\n            .projectId(1.0)\n            .name(\"deployer-key\")\n            .publicKey(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe8rDJP... deployer@workstation\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Upload an existing SSH public key\n  deployer:\n    type: gcore:CloudSshKey\n    properties:\n      projectId: 1\n      name: deployer-key\n      publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJe8rDJP... deployer@workstation\n```\n<!--End PulumiCodeChooser -->\n\n> **Tip:** Generate a key pair locally with `ssh-keygen -t ed25519`, then paste the contents of the `.pub` file into <span pulumi-lang-nodejs=\"`publicKey`\" pulumi-lang-dotnet=\"`PublicKey`\" pulumi-lang-go=\"`publicKey`\" pulumi-lang-python=\"`public_key`\" pulumi-lang-yaml=\"`publicKey`\" pulumi-lang-java=\"`publicKey`\">`public_key`</span>.\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudSshKey:CloudSshKey example '<project_id>/<ssh_key_id>'\n```\n\n","inputProperties":{"name":{"description":"SSH key name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"publicKey":{"description":"The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information. You must provide your own public key (usually found in a file like `id_ed25519.pub` or `id_rsa.pub`). Generate your SSH keypair locally using `ssh-keygen` before providing it here.\n","type":"string"},"sharedInProject":{"description":"SSH key is shared with all users in the project\n","type":"boolean"}},"properties":{"createdAt":{"description":"SSH key creation time\n","type":"string"},"fingerprint":{"description":"Fingerprint\n","type":"string"},"name":{"description":"SSH key name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"publicKey":{"description":"The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information. You must provide your own public key (usually found in a file like `id_ed25519.pub` or `id_rsa.pub`). Generate your SSH keypair locally using `ssh-keygen` before providing it here.\n","type":"string"},"sharedInProject":{"description":"SSH key is shared with all users in the project\n","type":"boolean"},"state":{"description":"SSH key state\nAvailable values: \"ACTIVE\", \"DELETING\".\n","type":"string"}},"required":["createdAt","fingerprint","name","publicKey","sharedInProject","state"],"requiredInputs":["publicKey"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudSshKey resources.\n","properties":{"createdAt":{"description":"SSH key creation time\n","type":"string"},"fingerprint":{"description":"Fingerprint\n","type":"string"},"name":{"description":"SSH key name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"publicKey":{"description":"The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information. You must provide your own public key (usually found in a file like `id_ed25519.pub` or `id_rsa.pub`). Generate your SSH keypair locally using `ssh-keygen` before providing it here.\n","type":"string"},"sharedInProject":{"description":"SSH key is shared with all users in the project\n","type":"boolean"},"state":{"description":"SSH key state\nAvailable values: \"ACTIVE\", \"DELETING\".\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/cloudVolume:CloudVolume":{"description":"Volumes are block storage devices that can be attached to instances as boot or data disks, with support for resizing and type changes.\n\n## Example Usage\n\n### Boot volume from image\n\nCreates a boot volume from an OS image.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a boot volume from an image\nconst bootVolume = new gcore.CloudVolume(\"boot_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-boot-volume\",\n    source: \"image\",\n    imageId: \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size: 20,\n    typeName: \"ssd_hiiops\",\n    tags: {\n        environment: \"production\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a boot volume from an image\nboot_volume = gcore.CloudVolume(\"boot_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-boot-volume\",\n    source=\"image\",\n    image_id=\"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n    size=20,\n    type_name=\"ssd_hiiops\",\n    tags={\n        \"environment\": \"production\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a boot volume from an image\n    var bootVolume = new Gcore.CloudVolume(\"boot_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-boot-volume\",\n        Source = \"image\",\n        ImageId = \"6dc4e521-0c72-462f-b2d4-306bcf15e227\",\n        Size = 20,\n        TypeName = \"ssd_hiiops\",\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a boot volume from an image\n\t\t_, err := gcore.NewCloudVolume(ctx, \"boot_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-boot-volume\"),\n\t\t\tSource:    pulumi.String(\"image\"),\n\t\t\tImageId:   pulumi.String(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\"),\n\t\t\tSize:      pulumi.Float64(20),\n\t\t\tTypeName:  pulumi.String(\"ssd_hiiops\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\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        // Create a boot volume from an image\n        var bootVolume = new CloudVolume(\"bootVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-boot-volume\")\n            .source(\"image\")\n            .imageId(\"6dc4e521-0c72-462f-b2d4-306bcf15e227\")\n            .size(20.0)\n            .typeName(\"ssd_hiiops\")\n            .tags(Map.of(\"environment\", \"production\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a boot volume from an image\n  bootVolume:\n    type: gcore:CloudVolume\n    name: boot_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-boot-volume\n      source: image\n      imageId: 6dc4e521-0c72-462f-b2d4-306bcf15e227\n      size: 20\n      typeName: ssd_hiiops\n      tags:\n        environment: production\n```\n<!--End PulumiCodeChooser -->\n\n### Standalone data volume\n\nCreates a blank data volume for additional storage.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a standalone data volume\nconst dataVolume = new gcore.CloudVolume(\"data_volume\", {\n    projectId: 1,\n    regionId: 1,\n    name: \"my-data-volume\",\n    source: \"new-volume\",\n    size: 50,\n    typeName: \"standard\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a standalone data volume\ndata_volume = gcore.CloudVolume(\"data_volume\",\n    project_id=1,\n    region_id=1,\n    name=\"my-data-volume\",\n    source=\"new-volume\",\n    size=50,\n    type_name=\"standard\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a standalone data volume\n    var dataVolume = new Gcore.CloudVolume(\"data_volume\", new()\n    {\n        ProjectId = 1,\n        RegionId = 1,\n        Name = \"my-data-volume\",\n        Source = \"new-volume\",\n        Size = 50,\n        TypeName = \"standard\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a standalone data volume\n\t\t_, err := gcore.NewCloudVolume(ctx, \"data_volume\", &gcore.CloudVolumeArgs{\n\t\t\tProjectId: pulumi.Float64(1),\n\t\t\tRegionId:  pulumi.Float64(1),\n\t\t\tName:      pulumi.String(\"my-data-volume\"),\n\t\t\tSource:    pulumi.String(\"new-volume\"),\n\t\t\tSize:      pulumi.Float64(50),\n\t\t\tTypeName:  pulumi.String(\"standard\"),\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.gcore.CloudVolume;\nimport com.pulumi.gcore.CloudVolumeArgs;\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        // Create a standalone data volume\n        var dataVolume = new CloudVolume(\"dataVolume\", CloudVolumeArgs.builder()\n            .projectId(1.0)\n            .regionId(1.0)\n            .name(\"my-data-volume\")\n            .source(\"new-volume\")\n            .size(50.0)\n            .typeName(\"standard\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a standalone data volume\n  dataVolume:\n    type: gcore:CloudVolume\n    name: data_volume\n    properties:\n      projectId: 1\n      regionId: 1\n      name: my-data-volume\n      source: new-volume\n      size: 50\n      typeName: standard\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/cloudVolume:CloudVolume example '<project_id>/<region_id>/<volume_id>'\n```\n\n","inputProperties":{"attachmentTag":{"description":"Block device attachment tag (not exposed in the user tags). Only used in conjunction with <span pulumi-lang-nodejs=\"`instanceIdToAttachTo`\" pulumi-lang-dotnet=\"`InstanceIdToAttachTo`\" pulumi-lang-go=\"`instanceIdToAttachTo`\" pulumi-lang-python=\"`instance_id_to_attach_to`\" pulumi-lang-yaml=\"`instanceIdToAttachTo`\" pulumi-lang-java=\"`instanceIdToAttachTo`\">`instance_id_to_attach_to`</span>\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"instanceIdToAttachTo":{"description":"<span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> to attach newly-created volume to\n","type":"string"},"lifecyclePolicyIds":{"description":"List of lifecycle policy IDs (snapshot creation schedules) to associate with the volume\n","items":{"type":"number"},"type":"array"},"name":{"description":"Volume name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Volume size in GiB\n","type":"number"},"snapshotId":{"description":"Snapshot ID\n","type":"string"},"source":{"description":"Volume source type\nAvailable values: \"image\", \"snapshot\", \"new-volume\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"typeName":{"description":"Volume type. Defaults to <span pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\">`standard`</span>. If not specified for source <span pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\">`snapshot`</span>, volume type will be derived from the snapshot volume.\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"}},"properties":{"attachmentTag":{"description":"Block device attachment tag (not exposed in the user tags). Only used in conjunction with <span pulumi-lang-nodejs=\"`instanceIdToAttachTo`\" pulumi-lang-dotnet=\"`InstanceIdToAttachTo`\" pulumi-lang-go=\"`instanceIdToAttachTo`\" pulumi-lang-python=\"`instance_id_to_attach_to`\" pulumi-lang-yaml=\"`instanceIdToAttachTo`\" pulumi-lang-java=\"`instanceIdToAttachTo`\">`instance_id_to_attach_to`</span>\n","type":"string"},"attachments":{"description":"List of attachments associated with the volume.\n","items":{"$ref":"#/types/gcore:index%2FCloudVolumeAttachment:CloudVolumeAttachment"},"type":"array"},"bootable":{"description":"Indicates whether the volume is bootable.\n","type":"boolean"},"createdAt":{"description":"The date and time when the volume was created.\n","type":"string"},"creatorTaskId":{"description":"The ID of the task that created this volume.\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"instanceIdToAttachTo":{"description":"<span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> to attach newly-created volume to\n","type":"string"},"isRootVolume":{"description":"Indicates whether this is a root volume.\n","type":"boolean"},"lifecyclePolicyIds":{"description":"List of lifecycle policy IDs (snapshot creation schedules) to associate with the volume\n","items":{"type":"number"},"type":"array"},"limiterStats":{"$ref":"#/types/gcore:index%2FCloudVolumeLimiterStats:CloudVolumeLimiterStats","description":"Schema representing the Quality of Service (QoS) parameters for a volume.\n"},"name":{"description":"Volume name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"The region where the volume is located.\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Volume size in GiB\n","type":"number"},"snapshotId":{"description":"Snapshot ID\n","type":"string"},"snapshotIds":{"description":"List of snapshot IDs associated with this volume.\n","items":{"type":"string"},"type":"array"},"source":{"description":"Volume source type\nAvailable values: \"image\", \"snapshot\", \"new-volume\".\n","type":"string"},"status":{"description":"The current status of the volume.\nAvailable values: \"attaching\", \"available\", \"awaiting-transfer\", \"backing-up\", \"creating\", \"deleting\", \"detaching\", \"downloading\", \"error\", \"error*backing-up\", \"error*deleting\", \"error*extending\", \"error*restoring\", \"extending\", \"in-use\", \"maintenance\", \"reserved\", \"restoring-backup\", \"retyping\", \"reverting\", \"uploading\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"typeName":{"description":"Volume type. Defaults to <span pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\">`standard`</span>. If not specified for source <span pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\">`snapshot`</span>, volume type will be derived from the snapshot volume.\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"},"updatedAt":{"description":"The date and time when the volume was last updated.\n","type":"string"},"volumeImageMetadata":{"additionalProperties":{"type":"string"},"description":"Image metadata for volumes created from an image.\n","type":"object"},"volumeType":{"description":"The type of volume storage.\n","type":"string"}},"required":["attachments","bootable","createdAt","creatorTaskId","isRootVolume","limiterStats","name","region","snapshotIds","source","status","tags","updatedAt","volumeImageMetadata","volumeType"],"requiredInputs":["source"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudVolume resources.\n","properties":{"attachmentTag":{"description":"Block device attachment tag (not exposed in the user tags). Only used in conjunction with <span pulumi-lang-nodejs=\"`instanceIdToAttachTo`\" pulumi-lang-dotnet=\"`InstanceIdToAttachTo`\" pulumi-lang-go=\"`instanceIdToAttachTo`\" pulumi-lang-python=\"`instance_id_to_attach_to`\" pulumi-lang-yaml=\"`instanceIdToAttachTo`\" pulumi-lang-java=\"`instanceIdToAttachTo`\">`instance_id_to_attach_to`</span>\n","type":"string"},"attachments":{"description":"List of attachments associated with the volume.\n","items":{"$ref":"#/types/gcore:index%2FCloudVolumeAttachment:CloudVolumeAttachment"},"type":"array"},"bootable":{"description":"Indicates whether the volume is bootable.\n","type":"boolean"},"createdAt":{"description":"The date and time when the volume was created.\n","type":"string"},"creatorTaskId":{"description":"The ID of the task that created this volume.\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"instanceIdToAttachTo":{"description":"<span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> to attach newly-created volume to\n","type":"string"},"isRootVolume":{"description":"Indicates whether this is a root volume.\n","type":"boolean"},"lifecyclePolicyIds":{"description":"List of lifecycle policy IDs (snapshot creation schedules) to associate with the volume\n","items":{"type":"number"},"type":"array"},"limiterStats":{"$ref":"#/types/gcore:index%2FCloudVolumeLimiterStats:CloudVolumeLimiterStats","description":"Schema representing the Quality of Service (QoS) parameters for a volume.\n"},"name":{"description":"Volume name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"The region where the volume is located.\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"size":{"description":"Volume size in GiB\n","type":"number"},"snapshotId":{"description":"Snapshot ID\n","type":"string"},"snapshotIds":{"description":"List of snapshot IDs associated with this volume.\n","items":{"type":"string"},"type":"array"},"source":{"description":"Volume source type\nAvailable values: \"image\", \"snapshot\", \"new-volume\".\n","type":"string"},"status":{"description":"The current status of the volume.\nAvailable values: \"attaching\", \"available\", \"awaiting-transfer\", \"backing-up\", \"creating\", \"deleting\", \"detaching\", \"downloading\", \"error\", \"error*backing-up\", \"error*deleting\", \"error*extending\", \"error*restoring\", \"extending\", \"in-use\", \"maintenance\", \"reserved\", \"restoring-backup\", \"retyping\", \"reverting\", \"uploading\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags to associate with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Both tag keys and values have a maximum length of 255 characters. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","type":"object"},"typeName":{"description":"Volume type. Defaults to <span pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\">`standard`</span>. If not specified for source <span pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\">`snapshot`</span>, volume type will be derived from the snapshot volume.\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"},"updatedAt":{"description":"The date and time when the volume was last updated.\n","type":"string"},"volumeImageMetadata":{"additionalProperties":{"type":"string"},"description":"Image metadata for volumes created from an image.\n","type":"object"},"volumeType":{"description":"The type of volume storage.\n","type":"string"}},"type":"object"},"type":"object"},"gcore:index/dnsNetworkMapping:DnsNetworkMapping":{"description":"DNS network mappings associate CIDR ranges with network tags for private DNS resolution and traffic-based routing.\n\n## Example Usage\n\n### Private DNS network mapping\n\nCreates a DNS network mapping with IPv4 and IPv6 CIDRs for private DNS resolution.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a DNS network mapping for private DNS resolution\nconst example = new gcore.DnsNetworkMapping(\"example\", {\n    name: \"DevNetwork\",\n    mappings: [{\n        tags: [\n            \"development\",\n            \"test\",\n        ],\n        cidr4s: [\n            \"10.0.0.0/16\",\n            \"10.1.0.0/16\",\n        ],\n        cidr6s: [\"fd00::/8\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a DNS network mapping for private DNS resolution\nexample = gcore.DnsNetworkMapping(\"example\",\n    name=\"DevNetwork\",\n    mappings=[{\n        \"tags\": [\n            \"development\",\n            \"test\",\n        ],\n        \"cidr4s\": [\n            \"10.0.0.0/16\",\n            \"10.1.0.0/16\",\n        ],\n        \"cidr6s\": [\"fd00::/8\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a DNS network mapping for private DNS resolution\n    var example = new Gcore.DnsNetworkMapping(\"example\", new()\n    {\n        Name = \"DevNetwork\",\n        Mappings = new[]\n        {\n            new Gcore.Inputs.DnsNetworkMappingMappingArgs\n            {\n                Tags = new[]\n                {\n                    \"development\",\n                    \"test\",\n                },\n                Cidr4s = new[]\n                {\n                    \"10.0.0.0/16\",\n                    \"10.1.0.0/16\",\n                },\n                Cidr6s = new[]\n                {\n                    \"fd00::/8\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a DNS network mapping for private DNS resolution\n\t\t_, err := gcore.NewDnsNetworkMapping(ctx, \"example\", &gcore.DnsNetworkMappingArgs{\n\t\t\tName: pulumi.String(\"DevNetwork\"),\n\t\t\tMappings: gcore.DnsNetworkMappingMappingArray{\n\t\t\t\t&gcore.DnsNetworkMappingMappingArgs{\n\t\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"development\"),\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t\tCidr4s: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.0.0.0/16\"),\n\t\t\t\t\t\tpulumi.String(\"10.1.0.0/16\"),\n\t\t\t\t\t},\n\t\t\t\t\tCidr6s: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"fd00::/8\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.DnsNetworkMapping;\nimport com.pulumi.gcore.DnsNetworkMappingArgs;\nimport com.pulumi.gcore.inputs.DnsNetworkMappingMappingArgs;\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        // Create a DNS network mapping for private DNS resolution\n        var example = new DnsNetworkMapping(\"example\", DnsNetworkMappingArgs.builder()\n            .name(\"DevNetwork\")\n            .mappings(DnsNetworkMappingMappingArgs.builder()\n                .tags(                \n                    \"development\",\n                    \"test\")\n                .cidr4s(                \n                    \"10.0.0.0/16\",\n                    \"10.1.0.0/16\")\n                .cidr6s(\"fd00::/8\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a DNS network mapping for private DNS resolution\n  example:\n    type: gcore:DnsNetworkMapping\n    properties:\n      name: DevNetwork\n      mappings:\n        - tags:\n            - development\n            - test\n          cidr4s:\n            - 10.0.0.0/16\n            - 10.1.0.0/16\n          cidr6s:\n            - fd00::/8\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/dnsNetworkMapping:DnsNetworkMapping example '<id>'\n```\n\n","inputProperties":{"mappings":{"items":{"$ref":"#/types/gcore:index%2FDnsNetworkMappingMapping:DnsNetworkMappingMapping"},"type":"array"},"name":{"type":"string"}},"properties":{"dnsNetworkMappingId":{"description":"The ID of this resource.\n","type":"number"},"mappings":{"items":{"$ref":"#/types/gcore:index%2FDnsNetworkMappingMapping:DnsNetworkMappingMapping"},"type":"array"},"name":{"type":"string"}},"required":["dnsNetworkMappingId","name"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsNetworkMapping resources.\n","properties":{"dnsNetworkMappingId":{"description":"The ID of this resource.\n","type":"number"},"mappings":{"items":{"$ref":"#/types/gcore:index%2FDnsNetworkMappingMapping:DnsNetworkMappingMapping"},"type":"array"},"name":{"type":"string"}},"type":"object"},"type":"object"},"gcore:index/dnsZone:DnsZone":{"description":"DNS zones are authoritative containers for domain name records, with support for DNSSEC and SOA configuration.\n\n## Example Usage\n\n### Basic DNS zone\n\nCreates a DNS zone with default settings.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Basic DNS Zone\nconst example = new gcore.DnsZone(\"example\", {name: \"example.com\"});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Basic DNS Zone\nexample = gcore.DnsZone(\"example\", name=\"example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Basic DNS Zone\n    var example = new Gcore.DnsZone(\"example\", new()\n    {\n        Name = \"example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Basic DNS Zone\n\t\t_, err := gcore.NewDnsZone(ctx, \"example\", &gcore.DnsZoneArgs{\n\t\t\tName: pulumi.String(\"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.gcore.DnsZone;\nimport com.pulumi.gcore.DnsZoneArgs;\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        // Basic DNS Zone\n        var example = new DnsZone(\"example\", DnsZoneArgs.builder()\n            .name(\"example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Basic DNS Zone\n  example:\n    type: gcore:DnsZone\n    properties:\n      name: example.com\n```\n<!--End PulumiCodeChooser -->\n\n### DNS zone with SOA configuration\n\nCreates a DNS zone with custom SOA record fields.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// DNS Zone with SOA configuration\nconst advanced = new gcore.DnsZone(\"advanced\", {\n    name: \"advanced-example.com\",\n    enabled: true,\n    contact: \"admin@advanced-example.com\",\n    expiry: 604800,\n    nxTtl: 3600,\n    primaryServer: \"ns1.advanced-example.com.\",\n    refresh: 3600,\n    retry: 1800,\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# DNS Zone with SOA configuration\nadvanced = gcore.DnsZone(\"advanced\",\n    name=\"advanced-example.com\",\n    enabled=True,\n    contact=\"admin@advanced-example.com\",\n    expiry=604800,\n    nx_ttl=3600,\n    primary_server=\"ns1.advanced-example.com.\",\n    refresh=3600,\n    retry=1800)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // DNS Zone with SOA configuration\n    var advanced = new Gcore.DnsZone(\"advanced\", new()\n    {\n        Name = \"advanced-example.com\",\n        Enabled = true,\n        Contact = \"admin@advanced-example.com\",\n        Expiry = 604800,\n        NxTtl = 3600,\n        PrimaryServer = \"ns1.advanced-example.com.\",\n        Refresh = 3600,\n        Retry = 1800,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// DNS Zone with SOA configuration\n\t\t_, err := gcore.NewDnsZone(ctx, \"advanced\", &gcore.DnsZoneArgs{\n\t\t\tName:          pulumi.String(\"advanced-example.com\"),\n\t\t\tEnabled:       pulumi.Bool(true),\n\t\t\tContact:       pulumi.String(\"admin@advanced-example.com\"),\n\t\t\tExpiry:        pulumi.Float64(604800),\n\t\t\tNxTtl:         pulumi.Float64(3600),\n\t\t\tPrimaryServer: pulumi.String(\"ns1.advanced-example.com.\"),\n\t\t\tRefresh:       pulumi.Float64(3600),\n\t\t\tRetry:         pulumi.Float64(1800),\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.gcore.DnsZone;\nimport com.pulumi.gcore.DnsZoneArgs;\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        // DNS Zone with SOA configuration\n        var advanced = new DnsZone(\"advanced\", DnsZoneArgs.builder()\n            .name(\"advanced-example.com\")\n            .enabled(true)\n            .contact(\"admin@advanced-example.com\")\n            .expiry(604800.0)\n            .nxTtl(3600.0)\n            .primaryServer(\"ns1.advanced-example.com.\")\n            .refresh(3600.0)\n            .retry(1800.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # DNS Zone with SOA configuration\n  advanced:\n    type: gcore:DnsZone\n    properties:\n      name: advanced-example.com\n      enabled: true # SOA record fields\n      contact: admin@advanced-example.com\n      expiry: 604800\n      nxTtl: 3600\n      primaryServer: ns1.advanced-example.com.\n      refresh: 3600\n      retry: 1800\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/dnsZone:DnsZone example '<name>'\n```\n\n","inputProperties":{"contact":{"description":"email address of the administrator responsible for this zone\n","type":"string"},"dnssecEnabled":{"description":"Whether DNSSEC is enabled for the zone. Set to true to enable DNSSEC, false to disable. Managed via a separate API endpoint.\n","type":"boolean"},"enabled":{"description":"If a zone is disabled, then its records will not be resolved on dns servers\n","type":"boolean"},"expiry":{"description":"number of seconds after which secondary name servers should stop answering request for this zone\n","type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"arbitrarily data of zone in json format\nyou can specify <span pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\">`webhook`</span> url and <span pulumi-lang-nodejs=\"`webhookMethod`\" pulumi-lang-dotnet=\"`WebhookMethod`\" pulumi-lang-go=\"`webhookMethod`\" pulumi-lang-python=\"`webhook_method`\" pulumi-lang-yaml=\"`webhookMethod`\" pulumi-lang-java=\"`webhookMethod`\">`webhook_method`</span> here\nwebhook will get a map with three arrays: for created, updated and deleted rrsets\n<span pulumi-lang-nodejs=\"`webhookMethod`\" pulumi-lang-dotnet=\"`WebhookMethod`\" pulumi-lang-go=\"`webhookMethod`\" pulumi-lang-python=\"`webhook_method`\" pulumi-lang-yaml=\"`webhookMethod`\" pulumi-lang-java=\"`webhookMethod`\">`webhook_method`</span> can be omitted, POST will be used by default\n","type":"object"},"name":{"description":"name of DNS zone\n","type":"string"},"nxTtl":{"description":"Time To Live of cache\n","type":"number"},"primaryServer":{"description":"primary master name server for zone\n","type":"string"},"refresh":{"description":"number of seconds after which secondary name servers should query the master for the SOA record, to detect zone changes.\n","type":"number"},"retry":{"description":"number of seconds after which secondary name servers should retry to request the serial number\n","type":"number"}},"properties":{"contact":{"description":"email address of the administrator responsible for this zone\n","type":"string"},"dnssecEnabled":{"description":"Whether DNSSEC is enabled for the zone. Set to true to enable DNSSEC, false to disable. Managed via a separate API endpoint.\n","type":"boolean"},"enabled":{"description":"If a zone is disabled, then its records will not be resolved on dns servers\n","type":"boolean"},"expiry":{"description":"number of seconds after which secondary name servers should stop answering request for this zone\n","type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"arbitrarily data of zone in json format\nyou can specify <span pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\">`webhook`</span> url and <span pulumi-lang-nodejs=\"`webhookMethod`\" pulumi-lang-dotnet=\"`WebhookMethod`\" pulumi-lang-go=\"`webhookMethod`\" pulumi-lang-python=\"`webhook_method`\" pulumi-lang-yaml=\"`webhookMethod`\" pulumi-lang-java=\"`webhookMethod`\">`webhook_method`</span> here\nwebhook will get a map with three arrays: for created, updated and deleted rrsets\n<span pulumi-lang-nodejs=\"`webhookMethod`\" pulumi-lang-dotnet=\"`WebhookMethod`\" pulumi-lang-go=\"`webhookMethod`\" pulumi-lang-python=\"`webhook_method`\" pulumi-lang-yaml=\"`webhookMethod`\" pulumi-lang-java=\"`webhookMethod`\">`webhook_method`</span> can be omitted, POST will be used by default\n","type":"object"},"name":{"description":"name of DNS zone\n","type":"string"},"nxTtl":{"description":"Time To Live of cache\n","type":"number"},"primaryServer":{"description":"primary master name server for zone\n","type":"string"},"records":{"items":{"$ref":"#/types/gcore:index%2FDnsZoneRecord:DnsZoneRecord"},"type":"array"},"refresh":{"description":"number of seconds after which secondary name servers should query the master for the SOA record, to detect zone changes.\n","type":"number"},"retry":{"description":"number of seconds after which secondary name servers should retry to request the serial number\n","type":"number"},"rrsetsAmount":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetsAmount:DnsZoneRrsetsAmount"},"serial":{"description":"Serial number for this zone. Server-managed: always derived from the zone's last modification timestamp.\n","type":"number"},"status":{"type":"string"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["contact","dnssecEnabled","enabled","expiry","name","nxTtl","primaryServer","records","refresh","retry","rrsetsAmount","serial","status","warnings"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsZone resources.\n","properties":{"contact":{"description":"email address of the administrator responsible for this zone\n","type":"string"},"dnssecEnabled":{"description":"Whether DNSSEC is enabled for the zone. Set to true to enable DNSSEC, false to disable. Managed via a separate API endpoint.\n","type":"boolean"},"enabled":{"description":"If a zone is disabled, then its records will not be resolved on dns servers\n","type":"boolean"},"expiry":{"description":"number of seconds after which secondary name servers should stop answering request for this zone\n","type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"arbitrarily data of zone in json format\nyou can specify <span pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\">`webhook`</span> url and <span pulumi-lang-nodejs=\"`webhookMethod`\" pulumi-lang-dotnet=\"`WebhookMethod`\" pulumi-lang-go=\"`webhookMethod`\" pulumi-lang-python=\"`webhook_method`\" pulumi-lang-yaml=\"`webhookMethod`\" pulumi-lang-java=\"`webhookMethod`\">`webhook_method`</span> here\nwebhook will get a map with three arrays: for created, updated and deleted rrsets\n<span pulumi-lang-nodejs=\"`webhookMethod`\" pulumi-lang-dotnet=\"`WebhookMethod`\" pulumi-lang-go=\"`webhookMethod`\" pulumi-lang-python=\"`webhook_method`\" pulumi-lang-yaml=\"`webhookMethod`\" pulumi-lang-java=\"`webhookMethod`\">`webhook_method`</span> can be omitted, POST will be used by default\n","type":"object"},"name":{"description":"name of DNS zone\n","type":"string"},"nxTtl":{"description":"Time To Live of cache\n","type":"number"},"primaryServer":{"description":"primary master name server for zone\n","type":"string"},"records":{"items":{"$ref":"#/types/gcore:index%2FDnsZoneRecord:DnsZoneRecord"},"type":"array"},"refresh":{"description":"number of seconds after which secondary name servers should query the master for the SOA record, to detect zone changes.\n","type":"number"},"retry":{"description":"number of seconds after which secondary name servers should retry to request the serial number\n","type":"number"},"rrsetsAmount":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetsAmount:DnsZoneRrsetsAmount"},"serial":{"description":"Serial number for this zone. Server-managed: always derived from the zone's last modification timestamp.\n","type":"number"},"status":{"type":"string"},"warnings":{"items":{"type":"string"},"type":"array"}},"type":"object"},"type":"object"},"gcore:index/dnsZoneRrset:DnsZoneRrset":{"description":"DNS resource record sets (RRsets) define individual DNS records such as A, AAAA, CNAME, MX, and TXT with TTL and geo-balancing settings.\n\n## Example Usage\n\n### A record\n\nCreates an A record set with multiple IP addresses.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an A record set\nconst aRecord = new gcore.DnsZoneRrset(\"a_record\", {\n    zoneName: \"example.com\",\n    rrsetName: \"example.com\",\n    rrsetType: \"A\",\n    ttl: 120,\n    resourceRecords: [\n        {\n            contents: [\"127.0.0.100\"],\n        },\n        {\n            contents: [\"127.0.0.200\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an A record set\na_record = gcore.DnsZoneRrset(\"a_record\",\n    zone_name=\"example.com\",\n    rrset_name=\"example.com\",\n    rrset_type=\"A\",\n    ttl=120,\n    resource_records=[\n        {\n            \"contents\": [\"127.0.0.100\"],\n        },\n        {\n            \"contents\": [\"127.0.0.200\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an A record set\n    var aRecord = new Gcore.DnsZoneRrset(\"a_record\", new()\n    {\n        ZoneName = \"example.com\",\n        RrsetName = \"example.com\",\n        RrsetType = \"A\",\n        Ttl = 120,\n        ResourceRecords = new[]\n        {\n            new Gcore.Inputs.DnsZoneRrsetResourceRecordArgs\n            {\n                Contents = new[]\n                {\n                    \"127.0.0.100\",\n                },\n            },\n            new Gcore.Inputs.DnsZoneRrsetResourceRecordArgs\n            {\n                Contents = new[]\n                {\n                    \"127.0.0.200\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an A record set\n\t\t_, err := gcore.NewDnsZoneRrset(ctx, \"a_record\", &gcore.DnsZoneRrsetArgs{\n\t\t\tZoneName:  pulumi.String(\"example.com\"),\n\t\t\tRrsetName: pulumi.String(\"example.com\"),\n\t\t\tRrsetType: pulumi.String(\"A\"),\n\t\t\tTtl:       pulumi.Float64(120),\n\t\t\tResourceRecords: gcore.DnsZoneRrsetResourceRecordArray{\n\t\t\t\t&gcore.DnsZoneRrsetResourceRecordArgs{\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"127.0.0.100\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t&gcore.DnsZoneRrsetResourceRecordArgs{\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"127.0.0.200\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.DnsZoneRrset;\nimport com.pulumi.gcore.DnsZoneRrsetArgs;\nimport com.pulumi.gcore.inputs.DnsZoneRrsetResourceRecordArgs;\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        // Create an A record set\n        var aRecord = new DnsZoneRrset(\"aRecord\", DnsZoneRrsetArgs.builder()\n            .zoneName(\"example.com\")\n            .rrsetName(\"example.com\")\n            .rrsetType(\"A\")\n            .ttl(120.0)\n            .resourceRecords(            \n                DnsZoneRrsetResourceRecordArgs.builder()\n                    .contents(\"127.0.0.100\")\n                    .build(),\n                DnsZoneRrsetResourceRecordArgs.builder()\n                    .contents(\"127.0.0.200\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an A record set\n  aRecord:\n    type: gcore:DnsZoneRrset\n    name: a_record\n    properties:\n      zoneName: example.com\n      rrsetName: example.com\n      rrsetType: A\n      ttl: 120\n      resourceRecords:\n        - contents:\n            - 127.0.0.100\n        - contents:\n            - 127.0.0.200\n```\n<!--End PulumiCodeChooser -->\n\n### MX record\n\nCreates an MX record for mail routing.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create an MX record\nconst mxRecord = new gcore.DnsZoneRrset(\"mx_record\", {\n    zoneName: \"example.com\",\n    rrsetName: \"example.com\",\n    rrsetType: \"MX\",\n    ttl: 300,\n    resourceRecords: [{\n        contents: [\"10 mail.example.com.\"],\n        enabled: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create an MX record\nmx_record = gcore.DnsZoneRrset(\"mx_record\",\n    zone_name=\"example.com\",\n    rrset_name=\"example.com\",\n    rrset_type=\"MX\",\n    ttl=300,\n    resource_records=[{\n        \"contents\": [\"10 mail.example.com.\"],\n        \"enabled\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create an MX record\n    var mxRecord = new Gcore.DnsZoneRrset(\"mx_record\", new()\n    {\n        ZoneName = \"example.com\",\n        RrsetName = \"example.com\",\n        RrsetType = \"MX\",\n        Ttl = 300,\n        ResourceRecords = new[]\n        {\n            new Gcore.Inputs.DnsZoneRrsetResourceRecordArgs\n            {\n                Contents = new[]\n                {\n                    \"10 mail.example.com.\",\n                },\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create an MX record\n\t\t_, err := gcore.NewDnsZoneRrset(ctx, \"mx_record\", &gcore.DnsZoneRrsetArgs{\n\t\t\tZoneName:  pulumi.String(\"example.com\"),\n\t\t\tRrsetName: pulumi.String(\"example.com\"),\n\t\t\tRrsetType: pulumi.String(\"MX\"),\n\t\t\tTtl:       pulumi.Float64(300),\n\t\t\tResourceRecords: gcore.DnsZoneRrsetResourceRecordArray{\n\t\t\t\t&gcore.DnsZoneRrsetResourceRecordArgs{\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10 mail.example.com.\"),\n\t\t\t\t\t},\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.DnsZoneRrset;\nimport com.pulumi.gcore.DnsZoneRrsetArgs;\nimport com.pulumi.gcore.inputs.DnsZoneRrsetResourceRecordArgs;\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        // Create an MX record\n        var mxRecord = new DnsZoneRrset(\"mxRecord\", DnsZoneRrsetArgs.builder()\n            .zoneName(\"example.com\")\n            .rrsetName(\"example.com\")\n            .rrsetType(\"MX\")\n            .ttl(300.0)\n            .resourceRecords(DnsZoneRrsetResourceRecordArgs.builder()\n                .contents(\"10 mail.example.com.\")\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create an MX record\n  mxRecord:\n    type: gcore:DnsZoneRrset\n    name: mx_record\n    properties:\n      zoneName: example.com\n      rrsetName: example.com\n      rrsetType: MX\n      ttl: 300\n      resourceRecords:\n        - contents:\n            - 10 mail.example.com.\n          enabled: true\n```\n<!--End PulumiCodeChooser -->\n\n### TXT record with GeoDNS picker\n\nCreates a TXT record on a subdomain with a GeoDNS picker for location-based responses.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a TXT record on a subdomain\nconst txtRecord = new gcore.DnsZoneRrset(\"txt_record\", {\n    zoneName: \"example.com\",\n    rrsetName: \"subdomain.example.com\",\n    rrsetType: \"TXT\",\n    ttl: 120,\n    resourceRecords: [{\n        contents: [\"v=spf1 include:_spf.google.com ~all\"],\n        enabled: true,\n    }],\n    pickers: [{\n        type: \"geodns\",\n        limit: 1,\n        strict: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a TXT record on a subdomain\ntxt_record = gcore.DnsZoneRrset(\"txt_record\",\n    zone_name=\"example.com\",\n    rrset_name=\"subdomain.example.com\",\n    rrset_type=\"TXT\",\n    ttl=120,\n    resource_records=[{\n        \"contents\": [\"v=spf1 include:_spf.google.com ~all\"],\n        \"enabled\": True,\n    }],\n    pickers=[{\n        \"type\": \"geodns\",\n        \"limit\": 1,\n        \"strict\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a TXT record on a subdomain\n    var txtRecord = new Gcore.DnsZoneRrset(\"txt_record\", new()\n    {\n        ZoneName = \"example.com\",\n        RrsetName = \"subdomain.example.com\",\n        RrsetType = \"TXT\",\n        Ttl = 120,\n        ResourceRecords = new[]\n        {\n            new Gcore.Inputs.DnsZoneRrsetResourceRecordArgs\n            {\n                Contents = new[]\n                {\n                    \"v=spf1 include:_spf.google.com ~all\",\n                },\n                Enabled = true,\n            },\n        },\n        Pickers = new[]\n        {\n            new Gcore.Inputs.DnsZoneRrsetPickerArgs\n            {\n                Type = \"geodns\",\n                Limit = 1,\n                Strict = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a TXT record on a subdomain\n\t\t_, err := gcore.NewDnsZoneRrset(ctx, \"txt_record\", &gcore.DnsZoneRrsetArgs{\n\t\t\tZoneName:  pulumi.String(\"example.com\"),\n\t\t\tRrsetName: pulumi.String(\"subdomain.example.com\"),\n\t\t\tRrsetType: pulumi.String(\"TXT\"),\n\t\t\tTtl:       pulumi.Float64(120),\n\t\t\tResourceRecords: gcore.DnsZoneRrsetResourceRecordArray{\n\t\t\t\t&gcore.DnsZoneRrsetResourceRecordArgs{\n\t\t\t\t\tContents: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"v=spf1 include:_spf.google.com ~all\"),\n\t\t\t\t\t},\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPickers: gcore.DnsZoneRrsetPickerArray{\n\t\t\t\t&gcore.DnsZoneRrsetPickerArgs{\n\t\t\t\t\tType:   pulumi.String(\"geodns\"),\n\t\t\t\t\tLimit:  pulumi.Float64(1),\n\t\t\t\t\tStrict: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.DnsZoneRrset;\nimport com.pulumi.gcore.DnsZoneRrsetArgs;\nimport com.pulumi.gcore.inputs.DnsZoneRrsetResourceRecordArgs;\nimport com.pulumi.gcore.inputs.DnsZoneRrsetPickerArgs;\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        // Create a TXT record on a subdomain\n        var txtRecord = new DnsZoneRrset(\"txtRecord\", DnsZoneRrsetArgs.builder()\n            .zoneName(\"example.com\")\n            .rrsetName(\"subdomain.example.com\")\n            .rrsetType(\"TXT\")\n            .ttl(120.0)\n            .resourceRecords(DnsZoneRrsetResourceRecordArgs.builder()\n                .contents(\"v=spf1 include:_spf.google.com ~all\")\n                .enabled(true)\n                .build())\n            .pickers(DnsZoneRrsetPickerArgs.builder()\n                .type(\"geodns\")\n                .limit(1.0)\n                .strict(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a TXT record on a subdomain\n  txtRecord:\n    type: gcore:DnsZoneRrset\n    name: txt_record\n    properties:\n      zoneName: example.com\n      rrsetName: subdomain.example.com\n      rrsetType: TXT\n      ttl: 120\n      resourceRecords:\n        - contents:\n            - v=spf1 include:_spf.google.com ~all\n          enabled: true\n      pickers:\n        - type: geodns\n          limit: 1\n          strict: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/dnsZoneRrset:DnsZoneRrset example '<zone_name>/<rrset_name>/<rrset_type>'\n```\n\n","inputProperties":{"meta":{"additionalProperties":{"type":"string"},"description":"Meta information for rrset\n","type":"object"},"pickers":{"description":"Set of pickers\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetPicker:DnsZoneRrsetPicker"},"type":"array"},"resourceRecords":{"description":"List of resource record from rrset\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetResourceRecord:DnsZoneRrsetResourceRecord"},"type":"array"},"rrsetName":{"type":"string"},"rrsetType":{"type":"string"},"ttl":{"type":"number"},"zoneName":{"type":"string"}},"properties":{"filterSetId":{"type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"Meta information for rrset\n","type":"object"},"name":{"type":"string"},"pickers":{"description":"Set of pickers\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetPicker:DnsZoneRrsetPicker"},"type":"array"},"resourceRecords":{"description":"List of resource record from rrset\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetResourceRecord:DnsZoneRrsetResourceRecord"},"type":"array"},"rrsetName":{"type":"string"},"rrsetType":{"type":"string"},"ttl":{"type":"number"},"type":{"description":"RRSet type\nAvailable values: \"A\", \"AAAA\", \"NS\", \"CNAME\", \"MX\", \"TXT\", \"SRV\", \"SOA\".\n","type":"string"},"warning":{"description":"Warning about some possible side effects without strictly disallowing operations on rrset\nreadonly\nDeprecated: use Warnings instead\n","type":"string"},"warnings":{"description":"Warning about some possible side effects without strictly disallowing operations on rrset\nreadonly\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetWarning:DnsZoneRrsetWarning"},"type":"array"},"zoneName":{"type":"string"}},"required":["filterSetId","name","resourceRecords","rrsetName","rrsetType","type","warning","warnings","zoneName"],"requiredInputs":["resourceRecords","rrsetName","rrsetType","zoneName"],"stateInputs":{"description":"Input properties used for looking up and filtering DnsZoneRrset resources.\n","properties":{"filterSetId":{"type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"Meta information for rrset\n","type":"object"},"name":{"type":"string"},"pickers":{"description":"Set of pickers\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetPicker:DnsZoneRrsetPicker"},"type":"array"},"resourceRecords":{"description":"List of resource record from rrset\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetResourceRecord:DnsZoneRrsetResourceRecord"},"type":"array"},"rrsetName":{"type":"string"},"rrsetType":{"type":"string"},"ttl":{"type":"number"},"type":{"description":"RRSet type\nAvailable values: \"A\", \"AAAA\", \"NS\", \"CNAME\", \"MX\", \"TXT\", \"SRV\", \"SOA\".\n","type":"string"},"warning":{"description":"Warning about some possible side effects without strictly disallowing operations on rrset\nreadonly\nDeprecated: use Warnings instead\n","type":"string"},"warnings":{"description":"Warning about some possible side effects without strictly disallowing operations on rrset\nreadonly\n","items":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetWarning:DnsZoneRrsetWarning"},"type":"array"},"zoneName":{"type":"string"}},"type":"object"},"type":"object"},"gcore:index/fastedgeApp:FastedgeApp":{"description":"FastEdge applications combine a WebAssembly binary with configuration, environment variables, and secrets for deployment at the CDN edge.\n\n## Example Usage\n\n### Basic FastEdge app\n\nCreate a FastEdge application from a Wasm binary with environment variables.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a FastEdge app from a Wasm binary\nconst example = new gcore.FastedgeApp(\"example\", {\n    name: \"my-edge-app\",\n    comment: \"My FastEdge application\",\n    binary: wasmModule.id,\n    status: 1,\n    env: {\n        API_URL: \"https://api.example.com\",\n        DEBUG: \"false\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a FastEdge app from a Wasm binary\nexample = gcore.FastedgeApp(\"example\",\n    name=\"my-edge-app\",\n    comment=\"My FastEdge application\",\n    binary=wasm_module[\"id\"],\n    status=1,\n    env={\n        \"API_URL\": \"https://api.example.com\",\n        \"DEBUG\": \"false\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a FastEdge app from a Wasm binary\n    var example = new Gcore.FastedgeApp(\"example\", new()\n    {\n        Name = \"my-edge-app\",\n        Comment = \"My FastEdge application\",\n        Binary = wasmModule.Id,\n        Status = 1,\n        Env = \n        {\n            { \"API_URL\", \"https://api.example.com\" },\n            { \"DEBUG\", \"false\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a FastEdge app from a Wasm binary\n\t\t_, err := gcore.NewFastedgeApp(ctx, \"example\", &gcore.FastedgeAppArgs{\n\t\t\tName:    pulumi.String(\"my-edge-app\"),\n\t\t\tComment: pulumi.String(\"My FastEdge application\"),\n\t\t\tBinary:  pulumi.Any(wasmModule.Id),\n\t\t\tStatus:  pulumi.Float64(1),\n\t\t\tEnv: pulumi.StringMap{\n\t\t\t\t\"API_URL\": pulumi.String(\"https://api.example.com\"),\n\t\t\t\t\"DEBUG\":   pulumi.String(\"false\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.FastedgeApp;\nimport com.pulumi.gcore.FastedgeAppArgs;\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        // Create a FastEdge app from a Wasm binary\n        var example = new FastedgeApp(\"example\", FastedgeAppArgs.builder()\n            .name(\"my-edge-app\")\n            .comment(\"My FastEdge application\")\n            .binary(wasmModule.id())\n            .status(1.0)\n            .env(Map.ofEntries(\n                Map.entry(\"API_URL\", \"https://api.example.com\"),\n                Map.entry(\"DEBUG\", \"false\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a FastEdge app from a Wasm binary\n  example:\n    type: gcore:FastedgeApp\n    properties:\n      name: my-edge-app\n      comment: My FastEdge application\n      binary: ${wasmModule.id}\n      status: 1\n      env:\n        API_URL: https://api.example.com\n        DEBUG: 'false'\n```\n<!--End PulumiCodeChooser -->\n\n### App with secrets and response headers\n\nCreate a FastEdge app that references secrets and sets custom response headers.\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  # FastEdge app with secret references and response headers\n  apiGateway:\n    type: gcore:FastedgeApp\n    name: api_gateway\n    properties:\n      name: api-gateway\n      binary: ${wasmModule.id}\n      status: 1\n      env:\n        BACKEND_URL: https://api.example.com\n      secretIds:\n        - 101\n        - 102\n      responseHeaders:\n        x-Powered-By: Gcore FastEdge\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/fastedgeApp:FastedgeApp example '<app_id>'\n```\n\n","inputProperties":{"binary":{"description":"ID of the WebAssembly binary to deploy","type":"number"},"comment":{"description":"Optional human-readable description of the application's purpose","type":"string"},"debug":{"description":"Enable verbose debug logging for 30 minutes. Automatically expires to prevent performance impact.","type":"boolean"},"env":{"additionalProperties":{"type":"string"},"description":"Environment variables","type":"object"},"log":{"deprecationMessage":"Deprecated","description":"Available values: \"kafka\", \"none\".","type":"string"},"name":{"description":"Unique application name (alphanumeric, hyphens allowed)","type":"string"},"rspHeaders":{"additionalProperties":{"type":"string"},"description":"Extra headers to add to the response","type":"object"},"secrets":{"additionalProperties":{"$ref":"#/types/gcore:index%2FFastedgeAppSecrets:FastedgeAppSecrets"},"description":"Application secrets","type":"object"},"status":{"description":"Status code:  \n0 - draft (inactive)  \n1 - enabled  \n2 - disabled  \n5 - suspended","type":"number"},"stores":{"additionalProperties":{"$ref":"#/types/gcore:index%2FFastedgeAppStores:FastedgeAppStores"},"description":"Application edge stores","type":"object"},"template":{"description":"Template ID","type":"number"}},"properties":{"apiType":{"description":"Wasm API type","type":"string"},"binary":{"description":"ID of the WebAssembly binary to deploy","type":"number"},"comment":{"description":"Optional human-readable description of the application's purpose","type":"string"},"debug":{"description":"Enable verbose debug logging for 30 minutes. Automatically expires to prevent performance impact.","type":"boolean"},"debugUntil":{"description":"When debugging finishes","type":"string"},"env":{"additionalProperties":{"type":"string"},"description":"Environment variables","type":"object"},"fastedgeAppId":{"description":"App ID","type":"number"},"log":{"deprecationMessage":"Deprecated","description":"Available values: \"kafka\", \"none\".","type":"string"},"name":{"description":"Unique application name (alphanumeric, hyphens allowed)","type":"string"},"networks":{"description":"Networks","items":{"type":"string"},"type":"array"},"plan":{"description":"Plan name","type":"string"},"planId":{"description":"Plan ID","type":"number"},"rspHeaders":{"additionalProperties":{"type":"string"},"description":"Extra headers to add to the response","type":"object"},"secrets":{"additionalProperties":{"$ref":"#/types/gcore:index%2FFastedgeAppSecrets:FastedgeAppSecrets"},"description":"Application secrets","type":"object"},"status":{"description":"Status code:  \n0 - draft (inactive)  \n1 - enabled  \n2 - disabled  \n5 - suspended","type":"number"},"stores":{"additionalProperties":{"$ref":"#/types/gcore:index%2FFastedgeAppStores:FastedgeAppStores"},"description":"Application edge stores","type":"object"},"template":{"description":"Template ID","type":"number"},"templateName":{"description":"Template name","type":"string"},"upgradeableTo":{"description":"ID of the binary the app can be upgraded to","type":"number"},"url":{"description":"Auto-generated URL where the application is accessible","type":"string"}},"required":["apiType","binary","comment","debug","debugUntil","env","fastedgeAppId","log","name","networks","plan","planId","rspHeaders","secrets","status","stores","templateName","upgradeableTo","url"],"stateInputs":{"description":"Input properties used for looking up and filtering FastedgeApp resources.\n","properties":{"apiType":{"description":"Wasm API type","type":"string"},"binary":{"description":"ID of the WebAssembly binary to deploy","type":"number"},"comment":{"description":"Optional human-readable description of the application's purpose","type":"string"},"debug":{"description":"Enable verbose debug logging for 30 minutes. Automatically expires to prevent performance impact.","type":"boolean"},"debugUntil":{"description":"When debugging finishes","type":"string"},"env":{"additionalProperties":{"type":"string"},"description":"Environment variables","type":"object"},"fastedgeAppId":{"description":"App ID","type":"number"},"log":{"deprecationMessage":"Deprecated","description":"Available values: \"kafka\", \"none\".","type":"string"},"name":{"description":"Unique application name (alphanumeric, hyphens allowed)","type":"string"},"networks":{"description":"Networks","items":{"type":"string"},"type":"array"},"plan":{"description":"Plan name","type":"string"},"planId":{"description":"Plan ID","type":"number"},"rspHeaders":{"additionalProperties":{"type":"string"},"description":"Extra headers to add to the response","type":"object"},"secrets":{"additionalProperties":{"$ref":"#/types/gcore:index%2FFastedgeAppSecrets:FastedgeAppSecrets"},"description":"Application secrets","type":"object"},"status":{"description":"Status code:  \n0 - draft (inactive)  \n1 - enabled  \n2 - disabled  \n5 - suspended","type":"number"},"stores":{"additionalProperties":{"$ref":"#/types/gcore:index%2FFastedgeAppStores:FastedgeAppStores"},"description":"Application edge stores","type":"object"},"template":{"description":"Template ID","type":"number"},"templateName":{"description":"Template name","type":"string"},"upgradeableTo":{"description":"ID of the binary the app can be upgraded to","type":"number"},"url":{"description":"Auto-generated URL where the application is accessible","type":"string"}},"type":"object"},"type":"object"},"gcore:index/fastedgeBinary:FastedgeBinary":{"description":"FastEdge binaries are immutable WebAssembly modules that implement edge application logic.\n\n## Example Usage\n\n### All attributes\n\nThe following example shows all configurable attributes for this resource.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst example = new gcore.FastedgeBinary(\"example\", {filename: \"path/to/your/wasm/binary.wasm\"});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample = gcore.FastedgeBinary(\"example\", filename=\"path/to/your/wasm/binary.wasm\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Gcore.FastedgeBinary(\"example\", new()\n    {\n        Filename = \"path/to/your/wasm/binary.wasm\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewFastedgeBinary(ctx, \"example\", &gcore.FastedgeBinaryArgs{\n\t\t\tFilename: pulumi.String(\"path/to/your/wasm/binary.wasm\"),\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.gcore.FastedgeBinary;\nimport com.pulumi.gcore.FastedgeBinaryArgs;\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 FastedgeBinary(\"example\", FastedgeBinaryArgs.builder()\n            .filename(\"path/to/your/wasm/binary.wasm\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: gcore:FastedgeBinary\n    properties:\n      filename: path/to/your/wasm/binary.wasm\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/fastedgeBinary:FastedgeBinary example '<binary_id>'\n```\n\n","inputProperties":{"filename":{"description":"Path to the WebAssembly binary file to upload. Changes to file content (detected via checksum) will trigger resource replacement.","type":"string"}},"properties":{"apiType":{"description":"Wasm API type","type":"string"},"checksum":{"description":"MD5 hash of the binary. Computed from the local file and verified against the API response.","type":"string"},"fastedgeBinaryId":{"description":"Binary ID","type":"number"},"filename":{"description":"Path to the WebAssembly binary file to upload. Changes to file content (detected via checksum) will trigger resource replacement.","type":"string"},"source":{"description":"Source language:  \n0 - unknown  \n1 - Rust  \n2 - JavaScript","type":"number"},"status":{"description":"Status code:  \n0 - pending  \n1 - compiled  \n2 - compilation failed (errors available)  \n3 - compilation failed (errors not available)  \n4 - resulting binary exceeded the limit  \n5 - unsupported source language","type":"number"},"unrefSince":{"description":"Not used since (UTC)","type":"string"}},"required":["apiType","checksum","fastedgeBinaryId","filename","source","status","unrefSince"],"requiredInputs":["filename"],"stateInputs":{"description":"Input properties used for looking up and filtering FastedgeBinary resources.\n","properties":{"apiType":{"description":"Wasm API type","type":"string"},"checksum":{"description":"MD5 hash of the binary. Computed from the local file and verified against the API response.","type":"string"},"fastedgeBinaryId":{"description":"Binary ID","type":"number"},"filename":{"description":"Path to the WebAssembly binary file to upload. Changes to file content (detected via checksum) will trigger resource replacement.","type":"string"},"source":{"description":"Source language:  \n0 - unknown  \n1 - Rust  \n2 - JavaScript","type":"number"},"status":{"description":"Status code:  \n0 - pending  \n1 - compiled  \n2 - compilation failed (errors available)  \n3 - compilation failed (errors not available)  \n4 - resulting binary exceeded the limit  \n5 - unsupported source language","type":"number"},"unrefSince":{"description":"Not used since (UTC)","type":"string"}},"type":"object"},"type":"object"},"gcore:index/fastedgeSecret:FastedgeSecret":{"description":"FastEdge secrets store sensitive values such as API keys and tokens that can be referenced by FastEdge applications.\n\n## Example Usage\n\n### Secret with multiple slots\n\nCreates a FastEdge secret with two secret slots using variables.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\n// Create a FastEdge secret with multiple slots\nconst example = new gcore.FastedgeSecret(\"example\", {\n    name: \"my-edge-secret\",\n    comment: \"API keys for edge functions\",\n    secretSlots: [\n        {\n            slot: 0,\n            value: secretSlot0,\n        },\n        {\n            slot: 1,\n            value: secretSlot1,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\n# Create a FastEdge secret with multiple slots\nexample = gcore.FastedgeSecret(\"example\",\n    name=\"my-edge-secret\",\n    comment=\"API keys for edge functions\",\n    secret_slots=[\n        {\n            \"slot\": 0,\n            \"value\": secret_slot0,\n        },\n        {\n            \"slot\": 1,\n            \"value\": secret_slot1,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    // Create a FastEdge secret with multiple slots\n    var example = new Gcore.FastedgeSecret(\"example\", new()\n    {\n        Name = \"my-edge-secret\",\n        Comment = \"API keys for edge functions\",\n        SecretSlots = new[]\n        {\n            new Gcore.Inputs.FastedgeSecretSecretSlotArgs\n            {\n                Slot = 0,\n                Value = secretSlot0,\n            },\n            new Gcore.Inputs.FastedgeSecretSecretSlotArgs\n            {\n                Slot = 1,\n                Value = secretSlot1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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// Create a FastEdge secret with multiple slots\n\t\t_, err := gcore.NewFastedgeSecret(ctx, \"example\", &gcore.FastedgeSecretArgs{\n\t\t\tName:    pulumi.String(\"my-edge-secret\"),\n\t\t\tComment: pulumi.String(\"API keys for edge functions\"),\n\t\t\tSecretSlots: gcore.FastedgeSecretSecretSlotArray{\n\t\t\t\t&gcore.FastedgeSecretSecretSlotArgs{\n\t\t\t\t\tSlot:  pulumi.Float64(0),\n\t\t\t\t\tValue: pulumi.Any(secretSlot0),\n\t\t\t\t},\n\t\t\t\t&gcore.FastedgeSecretSecretSlotArgs{\n\t\t\t\t\tSlot:  pulumi.Float64(1),\n\t\t\t\t\tValue: pulumi.Any(secretSlot1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.FastedgeSecret;\nimport com.pulumi.gcore.FastedgeSecretArgs;\nimport com.pulumi.gcore.inputs.FastedgeSecretSecretSlotArgs;\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        // Create a FastEdge secret with multiple slots\n        var example = new FastedgeSecret(\"example\", FastedgeSecretArgs.builder()\n            .name(\"my-edge-secret\")\n            .comment(\"API keys for edge functions\")\n            .secretSlots(            \n                FastedgeSecretSecretSlotArgs.builder()\n                    .slot(0.0)\n                    .value(secretSlot0)\n                    .build(),\n                FastedgeSecretSecretSlotArgs.builder()\n                    .slot(1.0)\n                    .value(secretSlot1)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a FastEdge secret with multiple slots\n  example:\n    type: gcore:FastedgeSecret\n    properties:\n      name: my-edge-secret\n      comment: API keys for edge functions\n      secretSlots:\n        - slot: 0\n          value: ${secretSlot0}\n        - slot: 1\n          value: ${secretSlot1}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import gcore:index/fastedgeSecret:FastedgeSecret example '<secret_id>'\n```\n\n","inputProperties":{"comment":{"description":"A description or comment about the secret.\n","type":"string"},"name":{"description":"The unique name of the secret.\n","type":"string"},"secretSlots":{"description":"A list of secret slots associated with this secret.\n","items":{"$ref":"#/types/gcore:index%2FFastedgeSecretSecretSlot:FastedgeSecretSecretSlot"},"type":"array"}},"properties":{"appCount":{"description":"The number of applications that use this secret.\n","type":"number"},"comment":{"description":"A description or comment about the secret.\n","type":"string"},"fastedgeSecretId":{"description":"The unique identifier of the secret.\n","type":"number"},"name":{"description":"The unique name of the secret.\n","type":"string"},"secretSlots":{"description":"A list of secret slots associated with this secret.\n","items":{"$ref":"#/types/gcore:index%2FFastedgeSecretSecretSlot:FastedgeSecretSecretSlot"},"type":"array"}},"required":["appCount","fastedgeSecretId","name","secretSlots"],"stateInputs":{"description":"Input properties used for looking up and filtering FastedgeSecret resources.\n","properties":{"appCount":{"description":"The number of applications that use this secret.\n","type":"number"},"comment":{"description":"A description or comment about the secret.\n","type":"string"},"fastedgeSecretId":{"description":"The unique identifier of the secret.\n","type":"number"},"name":{"description":"The unique name of the secret.\n","type":"string"},"secretSlots":{"description":"A list of secret slots associated with this secret.\n","items":{"$ref":"#/types/gcore:index%2FFastedgeSecretSecretSlot:FastedgeSecretSecretSlot"},"type":"array"}},"type":"object"},"type":"object"},"gcore:index/fastedgeTemplate:FastedgeTemplate":{"description":"FastEdge templates encapsulate reusable configurations for FastEdge applications, including a WebAssembly binary reference and configurable parameters.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleFastedgeTemplate = new gcore.FastedgeTemplate(\"example_fastedge_template\", {\n    binaryId: 12345,\n    name: \"api-gateway-template\",\n    owned: true,\n    params: [{\n        dataType: \"string\",\n        mandatory: true,\n        name: \"api_key\",\n        descr: \"API key for external service authentication\",\n        metadata: \"metadata\",\n    }],\n    longDescr: \"Complete API gateway solution with JWT authentication, rate limiting, and request transformation capabilities.\",\n    shortDescr: \"HTTP API gateway with authentication\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_fastedge_template = gcore.FastedgeTemplate(\"example_fastedge_template\",\n    binary_id=12345,\n    name=\"api-gateway-template\",\n    owned=True,\n    params=[{\n        \"data_type\": \"string\",\n        \"mandatory\": True,\n        \"name\": \"api_key\",\n        \"descr\": \"API key for external service authentication\",\n        \"metadata\": \"metadata\",\n    }],\n    long_descr=\"Complete API gateway solution with JWT authentication, rate limiting, and request transformation capabilities.\",\n    short_descr=\"HTTP API gateway with authentication\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleFastedgeTemplate = new Gcore.FastedgeTemplate(\"example_fastedge_template\", new()\n    {\n        BinaryId = 12345,\n        Name = \"api-gateway-template\",\n        Owned = true,\n        Params = new[]\n        {\n            new Gcore.Inputs.FastedgeTemplateParamArgs\n            {\n                DataType = \"string\",\n                Mandatory = true,\n                Name = \"api_key\",\n                Descr = \"API key for external service authentication\",\n                Metadata = \"metadata\",\n            },\n        },\n        LongDescr = \"Complete API gateway solution with JWT authentication, rate limiting, and request transformation capabilities.\",\n        ShortDescr = \"HTTP API gateway with authentication\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewFastedgeTemplate(ctx, \"example_fastedge_template\", &gcore.FastedgeTemplateArgs{\n\t\t\tBinaryId: pulumi.Float64(12345),\n\t\t\tName:     pulumi.String(\"api-gateway-template\"),\n\t\t\tOwned:    pulumi.Bool(true),\n\t\t\tParams: gcore.FastedgeTemplateParamArray{\n\t\t\t\t&gcore.FastedgeTemplateParamArgs{\n\t\t\t\t\tDataType:  pulumi.String(\"string\"),\n\t\t\t\t\tMandatory: pulumi.Bool(true),\n\t\t\t\t\tName:      pulumi.String(\"api_key\"),\n\t\t\t\t\tDescr:     pulumi.String(\"API key for external service authentication\"),\n\t\t\t\t\tMetadata:  pulumi.String(\"metadata\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLongDescr:  pulumi.String(\"Complete API gateway solution with JWT authentication, rate limiting, and request transformation capabilities.\"),\n\t\t\tShortDescr: pulumi.String(\"HTTP API gateway with authentication\"),\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.gcore.FastedgeTemplate;\nimport com.pulumi.gcore.FastedgeTemplateArgs;\nimport com.pulumi.gcore.inputs.FastedgeTemplateParamArgs;\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 exampleFastedgeTemplate = new FastedgeTemplate(\"exampleFastedgeTemplate\", FastedgeTemplateArgs.builder()\n            .binaryId(12345.0)\n            .name(\"api-gateway-template\")\n            .owned(true)\n            .params(FastedgeTemplateParamArgs.builder()\n                .dataType(\"string\")\n                .mandatory(true)\n                .name(\"api_key\")\n                .descr(\"API key for external service authentication\")\n                .metadata(\"metadata\")\n                .build())\n            .longDescr(\"Complete API gateway solution with JWT authentication, rate limiting, and request transformation capabilities.\")\n            .shortDescr(\"HTTP API gateway with authentication\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFastedgeTemplate:\n    type: gcore:FastedgeTemplate\n    name: example_fastedge_template\n    properties:\n      binaryId: 12345\n      name: api-gateway-template\n      owned: true\n      params:\n        - dataType: string\n          mandatory: true\n          name: api_key\n          descr: API key for external service authentication\n          metadata: metadata\n      longDescr: Complete API gateway solution with JWT authentication, rate limiting, and request transformation capabilities.\n      shortDescr: HTTP API gateway with authentication\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import gcore:index/fastedgeTemplate:FastedgeTemplate example '<template_id>'\n```\n\n","inputProperties":{"binaryId":{"description":"ID of the WebAssembly binary to use for this template","type":"number"},"longDescr":{"description":"Detailed markdown description explaining template features and usage","type":"string"},"name":{"description":"Unique name for the template (used for identification and searching)","type":"string"},"owned":{"description":"Is the template owned by user?","type":"boolean"},"params":{"description":"Parameters","items":{"$ref":"#/types/gcore:index%2FFastedgeTemplateParam:FastedgeTemplateParam"},"type":"array"},"shortDescr":{"description":"Brief one-line description displayed in template listings","type":"string"}},"properties":{"apiType":{"description":"Wasm API type","type":"string"},"binaryId":{"description":"ID of the WebAssembly binary to use for this template","type":"number"},"fastedgeTemplateId":{"description":"Template ID","type":"number"},"longDescr":{"description":"Detailed markdown description explaining template features and usage","type":"string"},"name":{"description":"Unique name for the template (used for identification and searching)","type":"string"},"owned":{"description":"Is the template owned by user?","type":"boolean"},"params":{"description":"Parameters","items":{"$ref":"#/types/gcore:index%2FFastedgeTemplateParam:FastedgeTemplateParam"},"type":"array"},"shortDescr":{"description":"Brief one-line description displayed in template listings","type":"string"}},"required":["apiType","binaryId","fastedgeTemplateId","name","owned","params"],"requiredInputs":["binaryId","params"],"stateInputs":{"description":"Input properties used for looking up and filtering FastedgeTemplate resources.\n","properties":{"apiType":{"description":"Wasm API type","type":"string"},"binaryId":{"description":"ID of the WebAssembly binary to use for this template","type":"number"},"fastedgeTemplateId":{"description":"Template ID","type":"number"},"longDescr":{"description":"Detailed markdown description explaining template features and usage","type":"string"},"name":{"description":"Unique name for the template (used for identification and searching)","type":"string"},"owned":{"description":"Is the template owned by user?","type":"boolean"},"params":{"description":"Parameters","items":{"$ref":"#/types/gcore:index%2FFastedgeTemplateParam:FastedgeTemplateParam"},"type":"array"},"shortDescr":{"description":"Brief one-line description displayed in template listings","type":"string"}},"type":"object"},"type":"object"},"gcore:index/storageSshKey:StorageSshKey":{"description":"SSH keys enable secure access to SFTP storage by associating public keys with user accounts for authentication.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleStorageSshKey = new gcore.StorageSshKey(\"example_storage_ssh_key\", {\n    name: \"my-production-key\",\n    publicKey: \"ssh-rsa AAAAB3NzaC1yc2EAAA... user@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_storage_ssh_key = gcore.StorageSshKey(\"example_storage_ssh_key\",\n    name=\"my-production-key\",\n    public_key=\"ssh-rsa AAAAB3NzaC1yc2EAAA... user@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleStorageSshKey = new Gcore.StorageSshKey(\"example_storage_ssh_key\", new()\n    {\n        Name = \"my-production-key\",\n        PublicKey = \"ssh-rsa AAAAB3NzaC1yc2EAAA... user@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewStorageSshKey(ctx, \"example_storage_ssh_key\", &gcore.StorageSshKeyArgs{\n\t\t\tName:      pulumi.String(\"my-production-key\"),\n\t\t\tPublicKey: pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAA... user@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.gcore.StorageSshKey;\nimport com.pulumi.gcore.StorageSshKeyArgs;\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 exampleStorageSshKey = new StorageSshKey(\"exampleStorageSshKey\", StorageSshKeyArgs.builder()\n            .name(\"my-production-key\")\n            .publicKey(\"ssh-rsa AAAAB3NzaC1yc2EAAA... user@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleStorageSshKey:\n    type: gcore:StorageSshKey\n    name: example_storage_ssh_key\n    properties:\n      name: my-production-key\n      publicKey: ssh-rsa AAAAB3NzaC1yc2EAAA... user@example.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import gcore:index/storageSshKey:StorageSshKey example '<ssh_key_id>'\n```\n\n","inputProperties":{"name":{"description":"User-defined name for the SSH key\n","type":"string"},"publicKey":{"description":"The SSH public key content (ssh-rsa or ssh-ed25519 format)\n","type":"string"}},"properties":{"createdAt":{"description":"ISO 8601 timestamp when the SSH key was created\n","type":"string"},"name":{"description":"User-defined name for the SSH key\n","type":"string"},"publicKey":{"description":"The SSH public key content (ssh-rsa or ssh-ed25519 format)\n","type":"string"},"storageSshKeyId":{"description":"Unique identifier for the SSH key\n","type":"number"}},"required":["createdAt","name","publicKey","storageSshKeyId"],"requiredInputs":["publicKey"],"stateInputs":{"description":"Input properties used for looking up and filtering StorageSshKey resources.\n","properties":{"createdAt":{"description":"ISO 8601 timestamp when the SSH key was created\n","type":"string"},"name":{"description":"User-defined name for the SSH key\n","type":"string"},"publicKey":{"description":"The SSH public key content (ssh-rsa or ssh-ed25519 format)\n","type":"string"},"storageSshKeyId":{"description":"Unique identifier for the SSH key\n","type":"number"}},"type":"object"},"type":"object"},"gcore:index/waapDomain:WaapDomain":{"description":"WAAP domains enable Web Application and API Protection for monitoring and defending web applications against security threats.\n\n## Example Usage\n\n### All attributes\n\nThe following example shows all configurable attributes for this resource.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcore from \"@pulumi/gcore\";\n\nconst exampleWaapDomain = new gcore.WaapDomain(\"example_waap_domain\", {\n    domainId: 1,\n    status: \"active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_gcore as gcore\n\nexample_waap_domain = gcore.WaapDomain(\"example_waap_domain\",\n    domain_id=1,\n    status=\"active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Gcore = Pulumi.Gcore;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleWaapDomain = new Gcore.WaapDomain(\"example_waap_domain\", new()\n    {\n        DomainId = 1,\n        Status = \"active\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore\"\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 := gcore.NewWaapDomain(ctx, \"example_waap_domain\", &gcore.WaapDomainArgs{\n\t\t\tDomainId: pulumi.Float64(1),\n\t\t\tStatus:   pulumi.String(\"active\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcore.WaapDomain;\nimport com.pulumi.gcore.WaapDomainArgs;\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 exampleWaapDomain = new WaapDomain(\"exampleWaapDomain\", WaapDomainArgs.builder()\n            .domainId(1.0)\n            .status(\"active\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleWaapDomain:\n    type: gcore:WaapDomain\n    name: example_waap_domain\n    properties:\n      domainId: 1\n      status: active\n```\n<!--End PulumiCodeChooser -->\n","inputProperties":{"domainId":{"description":"The domain ID\n","type":"number"},"status":{"description":"The current status of the domain\nAvailable values: \"active\", \"monitor\".\n","type":"string"}},"properties":{"createdAt":{"description":"The date and time the domain was created in ISO 8601 format\n","type":"string"},"customPageSet":{"description":"The ID of the custom page set\n","type":"number"},"domainId":{"description":"The domain ID\n","type":"number"},"name":{"description":"The domain name\n","type":"string"},"quotas":{"additionalProperties":{"$ref":"#/types/gcore:index%2FWaapDomainQuotas:WaapDomainQuotas"},"description":"Domain level quotas\n","type":"object"},"status":{"description":"The current status of the domain\nAvailable values: \"active\", \"monitor\".\n","type":"string"},"waapDomainId":{"description":"The domain ID\n","type":"number"}},"required":["createdAt","customPageSet","domainId","name","quotas","status","waapDomainId"],"requiredInputs":["domainId","status"],"stateInputs":{"description":"Input properties used for looking up and filtering WaapDomain resources.\n","properties":{"createdAt":{"description":"The date and time the domain was created in ISO 8601 format\n","type":"string"},"customPageSet":{"description":"The ID of the custom page set\n","type":"number"},"domainId":{"description":"The domain ID\n","type":"number"},"name":{"description":"The domain name\n","type":"string"},"quotas":{"additionalProperties":{"$ref":"#/types/gcore:index%2FWaapDomainQuotas:WaapDomainQuotas"},"description":"Domain level quotas\n","type":"object"},"status":{"description":"The current status of the domain\nAvailable values: \"active\", \"monitor\".\n","type":"string"},"waapDomainId":{"description":"The domain ID\n","type":"number"}},"type":"object"},"type":"object"}},"types":{"gcore:index/CdnOriginGroupSource:CdnOriginGroupSource":{"language":{"nodejs":{"requiredOutputs":["backup","enabled","tag"]}},"properties":{"backup":{"description":"Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.\n","type":"boolean"},"config":{"$ref":"#/types/gcore:index%2FCdnOriginGroupSourceConfig:CdnOriginGroupSourceConfig","description":"S3 storage configuration. Required when <span pulumi-lang-nodejs=\"`originType`\" pulumi-lang-dotnet=\"`OriginType`\" pulumi-lang-go=\"`originType`\" pulumi-lang-python=\"`origin_type`\" pulumi-lang-yaml=\"`originType`\" pulumi-lang-java=\"`originType`\">`origin_type`</span> is <span pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\">`s3`</span>.\n"},"enabled":{"description":"Enables or disables an origin source in the origin group.\n\nPossible values:\n- **true** - Origin is enabled and the CDN uses it to pull content.\n- **false** - Origin is disabled and the CDN does not use it to pull content.\n\nOrigin group must contain at least one enabled origin.\n\nDefault value is true.\n","type":"boolean"},"hostHeaderOverride":{"description":"Per-origin Host header override. When set, the CDN sends this value as the Host header when\nrequesting content from this origin instead of the default.\n","type":"string"},"originType":{"description":"Origin type.\n\nPossible values:\n- **host** - A source server or endpoint from which content is fetched.\n- **s3** - S3 storage with either AWS v4 authentication or public access.\nAvailable values: \"host\", \"s3\".\n","type":"string"},"source":{"description":"IP address or domain name of the origin and the port, if custom port is used.\n","type":"string"},"tag":{"description":"Tag for the origin source.\n","type":"string"}},"type":"object"},"gcore:index/CdnOriginGroupSourceConfig:CdnOriginGroupSourceConfig":{"language":{"nodejs":{"requiredOutputs":["s3AccessKeyId","s3AuthType","s3BucketName","s3SecretAccessKey","s3Type"]}},"properties":{"s3AccessKeyId":{"description":"Access key ID for the S3 account. This is a write-only field — it will be sent to the API but never stored in state. Increment <span pulumi-lang-nodejs=\"`s3CredentialsVersion`\" pulumi-lang-dotnet=\"`S3CredentialsVersion`\" pulumi-lang-go=\"`s3CredentialsVersion`\" pulumi-lang-python=\"`s3_credentials_version`\" pulumi-lang-yaml=\"`s3CredentialsVersion`\" pulumi-lang-java=\"`s3CredentialsVersion`\">`s3_credentials_version`</span> to force re-send.\n","type":"string"},"s3AuthType":{"description":"S3 authentication type.\n","type":"string"},"s3BucketName":{"description":"S3 bucket name.\n","type":"string"},"s3Region":{"description":"S3 storage region.\n\nThe parameter is required if <span pulumi-lang-nodejs=\"`s3Type`\" pulumi-lang-dotnet=\"`S3Type`\" pulumi-lang-go=\"`s3Type`\" pulumi-lang-python=\"`s3_type`\" pulumi-lang-yaml=\"`s3Type`\" pulumi-lang-java=\"`s3Type`\">`s3_type`</span> is <span pulumi-lang-nodejs=\"`amazon`\" pulumi-lang-dotnet=\"`Amazon`\" pulumi-lang-go=\"`amazon`\" pulumi-lang-python=\"`amazon`\" pulumi-lang-yaml=\"`amazon`\" pulumi-lang-java=\"`amazon`\">`amazon`</span>.\n","type":"string"},"s3SecretAccessKey":{"description":"Secret access key for the S3 account. This is a write-only field — it will be sent to the API but never stored in state. Increment <span pulumi-lang-nodejs=\"`s3CredentialsVersion`\" pulumi-lang-dotnet=\"`S3CredentialsVersion`\" pulumi-lang-go=\"`s3CredentialsVersion`\" pulumi-lang-python=\"`s3_credentials_version`\" pulumi-lang-yaml=\"`s3CredentialsVersion`\" pulumi-lang-java=\"`s3CredentialsVersion`\">`s3_credentials_version`</span> to force re-send.\n\nRestrictions:\n- Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.\n- From 16 to 255 characters.\n","type":"string"},"s3StorageHostname":{"description":"S3 storage hostname.\n\nThe parameter is required if <span pulumi-lang-nodejs=\"`s3Type`\" pulumi-lang-dotnet=\"`S3Type`\" pulumi-lang-go=\"`s3Type`\" pulumi-lang-python=\"`s3_type`\" pulumi-lang-yaml=\"`s3Type`\" pulumi-lang-java=\"`s3Type`\">`s3_type`</span> is <span pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\">`other`</span>.\n","type":"string"},"s3Type":{"description":"Storage type compatible with S3.\n\nPossible values:\n- **amazon** - AWS S3 storage.\n- **other** - Other (not AWS) S3 compatible storage.\nAvailable values: \"amazon\", \"other\".\n","type":"string"}},"required":["s3AccessKeyId","s3BucketName","s3SecretAccessKey","s3Type"],"type":"object"},"gcore:index/CdnResourceOptions:CdnResourceOptions":{"language":{"nodejs":{"requiredOutputs":["allowedHttpMethods","brotliCompression","browserCacheSettings","cors","countryAcl","disableProxyForceRanges","edgeCacheSettings","fastedge","fetchCompressed","followOriginRedirect","forceReturn","forwardHostHeader","grpcPassthrough","gzipOn","hostHeader","http3Enabled","ignoreCookie","ignoreQueryString","imageStack","ipAddressAcl","limitBandwidth","proxyCacheKey","proxyCacheMethodsSet","proxyConnectTimeout","proxyReadTimeout","queryParamsBlacklist","queryParamsWhitelist","queryStringForwarding","redirectHttpToHttps","redirectHttpsToHttp","referrerAcl","responseHeadersHidingPolicy","rewrite","secureKey","slice","sni","stale","staticRequestHeaders","staticResponseHeaders","tlsVersions","useDefaultLeChain","useDns01LeChallenge","useRsaLeCert","userAgentAcl","waap","websockets"]}},"properties":{"allowedHttpMethods":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsAllowedHttpMethods:CdnResourceOptionsAllowedHttpMethods","description":"HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsBrotliCompression:CdnResourceOptionsBrotliCompression","description":"Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsBrowserCacheSettings:CdnResourceOptionsBrowserCacheSettings","description":"Cache expiration time for users browsers in seconds.\n\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n\nResponses with other codes will not be cached.\n"},"cors":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsCors:CdnResourceOptionsCors","description":"Enables or disables CORS (Cross-Origin Resource Sharing) header support.\n\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsCountryAcl:CdnResourceOptionsCountryAcl","description":"Enables control access to content for specified countries.\n"},"disableProxyForceRanges":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsDisableProxyForceRanges:CdnResourceOptionsDisableProxyForceRanges","description":"Allows 206 responses regardless of the settings of an origin source.\n"},"edgeCacheSettings":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsEdgeCacheSettings:CdnResourceOptionsEdgeCacheSettings","description":"Cache expiration time for CDN servers.\n\n<span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> and <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span> fields cannot be used simultaneously.\n"},"fastedge":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFastedge:CdnResourceOptionsFastedge","description":"Allows to configure FastEdge app to be called on different request/response phases.\n\nNote: At least one of <span pulumi-lang-nodejs=\"`onRequestHeaders`\" pulumi-lang-dotnet=\"`OnRequestHeaders`\" pulumi-lang-go=\"`onRequestHeaders`\" pulumi-lang-python=\"`on_request_headers`\" pulumi-lang-yaml=\"`onRequestHeaders`\" pulumi-lang-java=\"`onRequestHeaders`\">`on_request_headers`</span>, <span pulumi-lang-nodejs=\"`onRequestBody`\" pulumi-lang-dotnet=\"`OnRequestBody`\" pulumi-lang-go=\"`onRequestBody`\" pulumi-lang-python=\"`on_request_body`\" pulumi-lang-yaml=\"`onRequestBody`\" pulumi-lang-java=\"`onRequestBody`\">`on_request_body`</span>, <span pulumi-lang-nodejs=\"`onResponseHeaders`\" pulumi-lang-dotnet=\"`OnResponseHeaders`\" pulumi-lang-go=\"`onResponseHeaders`\" pulumi-lang-python=\"`on_response_headers`\" pulumi-lang-yaml=\"`onResponseHeaders`\" pulumi-lang-java=\"`onResponseHeaders`\">`on_response_headers`</span>, or <span pulumi-lang-nodejs=\"`onResponseBody`\" pulumi-lang-dotnet=\"`OnResponseBody`\" pulumi-lang-go=\"`onResponseBody`\" pulumi-lang-python=\"`on_response_body`\" pulumi-lang-yaml=\"`onResponseBody`\" pulumi-lang-java=\"`onResponseBody`\">`on_response_body`</span> must be specified.\n"},"fetchCompressed":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFetchCompressed:CdnResourceOptionsFetchCompressed","description":"Makes the CDN request compressed content from the origin.\n\nThe origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression.\n\nNotes:\n\n1. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> is not supported with `gzipON` or <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> overrides `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in rule. If you enable it in CDN resource and want to use `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in a rule, you have to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>: false` in the rule.\n"},"followOriginRedirect":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFollowOriginRedirect:CdnResourceOptionsFollowOriginRedirect","description":"Enables redirection from origin.\nIf the origin server returns a redirect, the option allows the CDN to pull the requested content from the origin server that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsForceReturn:CdnResourceOptionsForceReturn","description":"Applies custom HTTP response codes for CDN content.\n\nThe following codes are reserved by our system and cannot be specified in this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsForwardHostHeader:CdnResourceOptionsForwardHostHeader","description":"Forwards the Host header from a end-user request to an origin server.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"grpcPassthrough":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsGrpcPassthrough:CdnResourceOptionsGrpcPassthrough","description":"Enables gRPC pass-through for the CDN resource.\n"},"gzipOn":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsGzipOn:CdnResourceOptionsGzipOn","description":"Compresses content with gzip on the CDN end. CDN servers will request only uncompressed content from the origin.\n\nNotes:\n\n1. Compression with gzip is not supported with <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> option in CDN resource settings overrides `gzipON` in rules. If you enable <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> in CDN resource and want to enable `gzipON` in rules, you need to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>:false` for rules.\n"},"hostHeader":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsHostHeader:CdnResourceOptionsHostHeader","description":"Sets the Host header that CDN servers use when request content from an origin server.\nYour server must be able to process requests with the chosen header.\n\nIf the option is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the Host Header value is equal to first CNAME.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"http3Enabled":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsHttp3Enabled:CdnResourceOptionsHttp3Enabled","description":"Enables HTTP/3 protocol for content delivery.\n\n<span pulumi-lang-nodejs=\"`http3Enabled`\" pulumi-lang-dotnet=\"`Http3Enabled`\" pulumi-lang-go=\"`http3Enabled`\" pulumi-lang-python=\"`http3_enabled`\" pulumi-lang-yaml=\"`http3Enabled`\" pulumi-lang-java=\"`http3Enabled`\">`http3_enabled`</span> option works only with `\"sslEnabled\": true`.\n"},"ignoreCookie":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsIgnoreCookie:CdnResourceOptionsIgnoreCookie","description":"Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsIgnoreQueryString:CdnResourceOptionsIgnoreQueryString","description":"How a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.)\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsImageStack:CdnResourceOptionsImageStack","description":"Transforms JPG and PNG images (for example, resize or crop) and automatically converts them to WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsIpAddressAcl:CdnResourceOptionsIpAddressAcl","description":"Controls access to the CDN resource content for specific IP addresses.\n\nIf you want to use IPs from our CDN servers IP list for IP ACL configuration, you have to independently monitor their relevance.\n\nWe recommend you use a script for automatically update IP ACL. [Read more.](https://www.terraform.io/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)\n"},"limitBandwidth":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsLimitBandwidth:CdnResourceOptionsLimitBandwidth","description":"Allows to control the download speed per connection.\n"},"proxyCacheKey":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsProxyCacheKey:CdnResourceOptionsProxyCacheKey","description":"Allows you to modify your cache key. If omitted, the default value is `$request_uri`.\n\nCombine the specified variables to create a key for caching.\n- **$<span pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\">`request_uri`</span>**\n- **$scheme**\n- **$uri**\n\n**Warning**: Enabling and changing this option can invalidate your current cache and affect the cache hit ratio. Furthermore, the \"Purge by pattern\" option will not work.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsProxyCacheMethodsSet:CdnResourceOptionsProxyCacheMethodsSet","description":"Caching for POST requests along with default GET and HEAD.\n"},"proxyConnectTimeout":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsProxyConnectTimeout:CdnResourceOptionsProxyConnectTimeout","description":"The time limit for establishing a connection with the origin.\n"},"proxyReadTimeout":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsProxyReadTimeout:CdnResourceOptionsProxyReadTimeout","description":"The time limit for receiving a partial response from the origin.\nIf no response is received within this time, the connection will be closed.\n\n**Note:**\nWhen used with a WebSocket connection, this option supports values only in the range 1–20 seconds (instead of the usual 1–30 seconds).\n"},"queryParamsBlacklist":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsQueryParamsBlacklist:CdnResourceOptionsQueryParamsBlacklist","description":"Files with the specified query parameters are cached as one object, files with other parameters are cached as different objects.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsQueryParamsWhitelist:CdnResourceOptionsQueryParamsWhitelist","description":"Files with the specified query parameters are cached as different objects, files with other parameters are cached as one object.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryStringForwarding":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsQueryStringForwarding:CdnResourceOptionsQueryStringForwarding","description":"The Query String Forwarding feature allows for the seamless transfer of parameters embedded in playlist files to the corresponding media chunk files.\nThis functionality ensures that specific attributes, such as authentication tokens or tracking information, are consistently passed along from the playlist manifest to the individual media segments.\nThis is particularly useful for maintaining continuity in security, analytics, and any other parameter-based operations across the entire media delivery workflow.\n"},"redirectHttpToHttps":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsRedirectHttpToHttps:CdnResourceOptionsRedirectHttpToHttps","description":"Enables redirect from HTTP to HTTPS.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsRedirectHttpsToHttp:CdnResourceOptionsRedirectHttpsToHttp","description":"Enables redirect from HTTPS to HTTP.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsReferrerAcl:CdnResourceOptionsReferrerAcl","description":"Controls access to the CDN resource content for specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsResponseHeadersHidingPolicy:CdnResourceOptionsResponseHeadersHidingPolicy","description":"Hides HTTP headers from an origin server in the CDN response.\n"},"rewrite":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsRewrite:CdnResourceOptionsRewrite","description":"Changes and redirects requests from the CDN to the origin. It operates according to the [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) configuration.\n"},"secureKey":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsSecureKey:CdnResourceOptionsSecureKey","description":"Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsSlice:CdnResourceOptionsSlice","description":"Requests and caches files larger than 10 MB in parts (no larger than 10 MB per part.) This reduces time to first byte.\n\nThe option is based on the [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.\n\nNotes:\n\n1. Origin must support HTTP Range requests.\n2. Not supported with `gzipON`, <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> options enabled.\n"},"sni":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsSni:CdnResourceOptionsSni","description":"The hostname that is added to SNI requests from CDN servers to the origin server via HTTPS.\n\nSNI is generally only required if your origin uses shared hosting or does not have a dedicated IP address.\nIf the origin server presents multiple certificates, SNI allows the origin server to know which certificate to use for the connection.\n\nThe option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.\n"},"stale":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsStale:CdnResourceOptionsStale","description":"Serves stale cached content in case of origin unavailability.\n"},"staticRequestHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsStaticRequestHeaders:CdnResourceOptionsStaticRequestHeaders","description":"Custom HTTP Headers for a CDN server to add to request. Up to fifty custom HTTP Headers can be specified.\n"},"staticResponseHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsStaticResponseHeaders:CdnResourceOptionsStaticResponseHeaders","description":"Custom HTTP Headers that a CDN server adds to a response.\n"},"tlsVersions":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsTlsVersions:CdnResourceOptionsTlsVersions","description":"List of SSL/TLS protocol versions allowed for HTTPS connections from end users to the domain.\n\nWhen the option is disabled, all protocols versions are allowed.\n"},"useDefaultLeChain":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsUseDefaultLeChain:CdnResourceOptionsUseDefaultLeChain","description":"Let's Encrypt certificate chain.\n\nThe specified chain will be used during the next Let's Encrypt certificate issue or renewal.\n"},"useDns01LeChallenge":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsUseDns01LeChallenge:CdnResourceOptionsUseDns01LeChallenge","description":"DNS-01 challenge to issue a Let's Encrypt certificate for the resource.\n\nDNS service should be activated to enable this option.\n"},"useRsaLeCert":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsUseRsaLeCert:CdnResourceOptionsUseRsaLeCert","description":"RSA Let's Encrypt certificate type for the CDN resource.\n\nThe specified value will be used during the next Let's Encrypt certificate issue or renewal.\n"},"userAgentAcl":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsUserAgentAcl:CdnResourceOptionsUserAgentAcl","description":"Controls access to the content for specified User-Agents.\n"},"waap":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsWaap:CdnResourceOptionsWaap","description":"Allows to enable WAAP (Web Application and API Protection).\n"},"websockets":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsWebsockets:CdnResourceOptionsWebsockets","description":"Enables or disables WebSockets connections to an origin server.\n"}},"type":"object"},"gcore:index/CdnResourceOptionsAllowedHttpMethods:CdnResourceOptionsAllowedHttpMethods":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsBrotliCompression:CdnResourceOptionsBrotliCompression":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Allows to select the content types you want to compress.\n\n`text/html` is a mandatory content type.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsBrowserCacheSettings:CdnResourceOptionsBrowserCacheSettings":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Set the cache expiration time to '0s' to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsCors:CdnResourceOptionsCors":{"language":{"nodejs":{"requiredOutputs":["always","enabled","values"]}},"properties":{"always":{"description":"Defines whether the Access-Control-Allow-Origin header should be added to a response from CDN regardless of response code.\n\nPossible values:\n- **true** - Header will be added to a response regardless of response code.\n- **false** - Header will only be added to responses with codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Value of the Access-Control-Allow-Origin header.\n\nPossible values:\n- **Adds * as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain.\n`\"value\": [\"*\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field.\n`\"value\": [\"domain.com\", \"second.dom.com\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the \"Access-Control-Allow-Origin\" header in the response.\n`\"value\": [\"$http_origin\"]`\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsCountryAcl:CdnResourceOptionsCountryAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of countries according to ISO-3166-1.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of countries for which access is prohibited.\n- **deny** - List of countries for which access is allowed.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Defines the type of CDN resource access policy.\n\nPossible values:\n- **allow** - Access is allowed for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Access is denied for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceOptionsDisableProxyForceRanges:CdnResourceOptionsDisableProxyForceRanges":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsEdgeCacheSettings:CdnResourceOptionsEdgeCacheSettings":{"language":{"nodejs":{"requiredOutputs":["customValues","enabled"]}},"properties":{"customValues":{"additionalProperties":{"type":"string"},"description":"A MAP object representing the caching time in seconds for a response with a specific response code.\n\nThese settings have a higher priority than the <span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> field.\n\n- Use <span pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\">`any`</span> key to specify caching time for all response codes.\n- Use <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> value to disable caching for a specific response code.\n","type":"object"},"default":{"description":"Enables content caching according to the origin cache settings.\n\nThe value is applied to the following response codes 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, if an origin server does not have caching HTTP headers.\n\nResponses with other codes will not be cached.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Caching time.\n\nThe value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached.\n\nUse <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled"],"type":"object"},"gcore:index/CdnResourceOptionsFastedge:CdnResourceOptionsFastedge":{"language":{"nodejs":{"requiredOutputs":["enabled","onRequestBody","onRequestHeaders","onResponseBody","onResponseHeaders"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"onRequestBody":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFastedgeOnRequestBody:CdnResourceOptionsFastedgeOnRequestBody","description":"Allows to configure FastEdge application that will be called to handle request body as soon as CDN receives incoming HTTP request.\n"},"onRequestHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFastedgeOnRequestHeaders:CdnResourceOptionsFastedgeOnRequestHeaders","description":"Allows to configure FastEdge application that will be called to handle request headers as soon as CDN receives incoming HTTP request, **before cache**.\n"},"onResponseBody":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFastedgeOnResponseBody:CdnResourceOptionsFastedgeOnResponseBody","description":"Allows to configure FastEdge application that will be called to handle response body before CDN sends the HTTP response.\n"},"onResponseHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsFastedgeOnResponseHeaders:CdnResourceOptionsFastedgeOnResponseHeaders","description":"Allows to configure FastEdge application that will be called to handle response headers before CDN sends the HTTP response.\n"}},"required":["enabled"],"type":"object"},"gcore:index/CdnResourceOptionsFastedgeOnRequestBody:CdnResourceOptionsFastedgeOnRequestBody":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceOptionsFastedgeOnRequestHeaders:CdnResourceOptionsFastedgeOnRequestHeaders":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceOptionsFastedgeOnResponseBody:CdnResourceOptionsFastedgeOnResponseBody":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceOptionsFastedgeOnResponseHeaders:CdnResourceOptionsFastedgeOnResponseHeaders":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceOptionsFetchCompressed:CdnResourceOptionsFetchCompressed":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsFollowOriginRedirect:CdnResourceOptionsFollowOriginRedirect":{"properties":{"codes":{"description":"Redirect status code that the origin server returns.\n","items":{"type":"number"},"type":"array"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["codes","enabled"],"type":"object"},"gcore:index/CdnResourceOptionsForceReturn:CdnResourceOptionsForceReturn":{"language":{"nodejs":{"requiredOutputs":["body","code","enabled","timeInterval"]}},"properties":{"body":{"description":"URL for redirection or text.\n","type":"string"},"code":{"description":"Status code value.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"timeInterval":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsForceReturnTimeInterval:CdnResourceOptionsForceReturnTimeInterval","description":"Controls the time at which a custom HTTP response code should be applied. By default, a custom HTTP response code is applied at any time.\n"}},"required":["body","code","enabled"],"type":"object"},"gcore:index/CdnResourceOptionsForceReturnTimeInterval:CdnResourceOptionsForceReturnTimeInterval":{"language":{"nodejs":{"requiredOutputs":["endTime","startTime","timeZone"]}},"properties":{"endTime":{"description":"Time until which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"startTime":{"description":"Time from which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"timeZone":{"description":"Time zone used to calculate time.\n","type":"string"}},"required":["endTime","startTime"],"type":"object"},"gcore:index/CdnResourceOptionsForwardHostHeader:CdnResourceOptionsForwardHostHeader":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsGrpcPassthrough:CdnResourceOptionsGrpcPassthrough":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsGzipOn:CdnResourceOptionsGzipOn":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsHostHeader:CdnResourceOptionsHostHeader":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Host Header value.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsHttp3Enabled:CdnResourceOptionsHttp3Enabled":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsIgnoreCookie:CdnResourceOptionsIgnoreCookie":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled, files with cookies are cached as one file.\n- **false** - Option is disabled, files with cookies are cached as different files.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsIgnoreQueryString:CdnResourceOptionsIgnoreQueryString":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsImageStack:CdnResourceOptionsImageStack":{"language":{"nodejs":{"requiredOutputs":["avifEnabled","enabled","pngLossless","quality","webpEnabled"]}},"properties":{"avifEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to AVI format.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"pngLossless":{"description":"Enables or disables compression without quality loss for PNG format.\n","type":"boolean"},"quality":{"description":"Defines quality settings for JPG and PNG images. The higher the value, the better the image quality, and the larger the file size after conversion.\n","type":"number"},"webpEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to WebP format.\n","type":"boolean"}},"required":["enabled"],"type":"object"},"gcore:index/CdnResourceOptionsIpAddressAcl:CdnResourceOptionsIpAddressAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of IP addresses with a subnet mask.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of IP addresses for which access is prohibited.\n- **deny** - List of IP addresses for which access is allowed.\n\nExamples:\n- `192.168.3.2/32`\n- `2a03:d000:2980:7::8/128`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"IP access policy type.\n\nPossible values:\n- **allow** - Allow access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\n- **deny** - Deny access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceOptionsLimitBandwidth:CdnResourceOptionsLimitBandwidth":{"properties":{"buffer":{"description":"Amount of downloaded data after which the user will be rate limited.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"limitType":{"description":"Method of controlling the download speed per connection.\n\nPossible values:\n- **static** - Use speed and buffer fields to set the download speed limit.\n- **dynamic** - Use query strings **speed** and **buffer** to set the download speed limit.\n\nFor example, when requesting content at the link\n\n```\nhttp://cdn.example.com/video.mp4?speed=50k&buffer=500k\n```\n\nthe download speed will be limited to 50kB/s after 500 kB.\nAvailable values: \"static\", \"dynamic\".\n","type":"string"},"speed":{"description":"Maximum download speed per connection.\n","type":"number"}},"required":["enabled","limitType"],"type":"object"},"gcore:index/CdnResourceOptionsProxyCacheKey:CdnResourceOptionsProxyCacheKey":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Key for caching.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsProxyCacheMethodsSet:CdnResourceOptionsProxyCacheMethodsSet":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsProxyConnectTimeout:CdnResourceOptionsProxyConnectTimeout":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 5s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsProxyReadTimeout:CdnResourceOptionsProxyReadTimeout":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 30s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsQueryParamsBlacklist:CdnResourceOptionsQueryParamsBlacklist":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsQueryParamsWhitelist:CdnResourceOptionsQueryParamsWhitelist":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsQueryStringForwarding:CdnResourceOptionsQueryStringForwarding":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"forwardExceptKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardExceptKeys`\" pulumi-lang-dotnet=\"`ForwardExceptKeys`\" pulumi-lang-go=\"`forwardExceptKeys`\" pulumi-lang-python=\"`forward_except_keys`\" pulumi-lang-yaml=\"`forwardExceptKeys`\" pulumi-lang-java=\"`forwardExceptKeys`\">`forward_except_keys`</span> field provides a mechanism to exclude specific parameters from being forwarded from playlist files to media chunk files.\nBy listing certain keys in this field, you can ensure that these parameters are omitted during the forwarding process.\nThis is particularly useful for preventing sensitive or irrelevant information from being included in requests for media chunks, thereby enhancing security and optimizing performance.\n","items":{"type":"string"},"type":"array"},"forwardFromFileTypes":{"description":"The <span pulumi-lang-nodejs=\"`forwardFromFilesTypes`\" pulumi-lang-dotnet=\"`ForwardFromFilesTypes`\" pulumi-lang-go=\"`forwardFromFilesTypes`\" pulumi-lang-python=\"`forward_from_files_types`\" pulumi-lang-yaml=\"`forwardFromFilesTypes`\" pulumi-lang-java=\"`forwardFromFilesTypes`\">`forward_from_files_types`</span> field specifies the types of playlist files from which parameters will be extracted and forwarded.\nThis typically includes formats that list multiple media chunk references, such as HLS and DASH playlists.\nParameters associated with these playlist files (like query strings or headers) will be propagated to the chunks they reference.\n","items":{"type":"string"},"type":"array"},"forwardOnlyKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardOnlyKeys`\" pulumi-lang-dotnet=\"`ForwardOnlyKeys`\" pulumi-lang-go=\"`forwardOnlyKeys`\" pulumi-lang-python=\"`forward_only_keys`\" pulumi-lang-yaml=\"`forwardOnlyKeys`\" pulumi-lang-java=\"`forwardOnlyKeys`\">`forward_only_keys`</span> field allows for granular control over which specific parameters are forwarded from playlist files to media chunk files.\nBy specifying certain keys, only those parameters will be propagated, ensuring that only relevant information is passed along.\nThis is particularly useful for security and performance optimization, as it prevents unnecessary or sensitive data from being included in requests for media chunks.\n","items":{"type":"string"},"type":"array"},"forwardToFileTypes":{"description":"The field specifies the types of media chunk files to which parameters, extracted from playlist files, will be forwarded.\nThese refer to the actual segments of media content that are delivered to viewers.\nEnsuring the correct parameters are forwarded to these files is crucial for maintaining the integrity of the streaming session.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","forwardFromFileTypes","forwardToFileTypes"],"type":"object"},"gcore:index/CdnResourceOptionsRedirectHttpToHttps:CdnResourceOptionsRedirectHttpToHttps":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsRedirectHttpsToHttp:CdnResourceOptionsRedirectHttpsToHttp":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsReferrerAcl:CdnResourceOptionsReferrerAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of domain names or wildcard domains (without protocol: `http://` or `https://`.)\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of domain names for which access is prohibited.\n- **deny** - List of IP domain names for which access is allowed.\n\nExamples:\n- `example.com`\n- `*.example.com`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Policy type.\n\nPossible values:\n- **allow** - Allow access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceOptionsResponseHeadersHidingPolicy:CdnResourceOptionsResponseHeadersHidingPolicy":{"language":{"nodejs":{"requiredOutputs":["enabled","excepteds","mode"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"excepteds":{"description":"List of HTTP headers.\n\nParameter meaning depends on the value of the <span pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\">`mode`</span> field:\n- **show** - List of HTTP headers to hide from response.\n- **hide** - List of HTTP headers to include in response. Other HTTP headers will be hidden.\n\nThe following headers are required and cannot be hidden from response:\n- `Connection`\n- `Content-Length`\n- `Content-Type`\n- `Date`\n- `Server`\n","items":{"type":"string"},"type":"array"},"mode":{"description":"How HTTP headers are hidden from the response.\n\nPossible values:\n- **show** - Hide only HTTP headers listed in the <span pulumi-lang-nodejs=\"`excepted`\" pulumi-lang-dotnet=\"`Excepted`\" pulumi-lang-go=\"`excepted`\" pulumi-lang-python=\"`excepted`\" pulumi-lang-yaml=\"`excepted`\" pulumi-lang-java=\"`excepted`\">`excepted`</span> field.\n- **hide** - Hide all HTTP headers except headers listed in the \"excepted\" field.\nAvailable values: \"hide\", \"show\".\n","type":"string"}},"required":["enabled","mode"],"type":"object"},"gcore:index/CdnResourceOptionsRewrite:CdnResourceOptionsRewrite":{"language":{"nodejs":{"requiredOutputs":["body","enabled","flag"]}},"properties":{"body":{"description":"Path for the Rewrite option.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"flag":{"description":"Flag for the Rewrite option.\n\nPossible values:\n- **last** - Stop processing the current set of <span pulumi-lang-nodejs=\"`ngxHttpRewriteModule`\" pulumi-lang-dotnet=\"`NgxHttpRewriteModule`\" pulumi-lang-go=\"`ngxHttpRewriteModule`\" pulumi-lang-python=\"`ngx_http_rewrite_module`\" pulumi-lang-yaml=\"`ngxHttpRewriteModule`\" pulumi-lang-java=\"`ngxHttpRewriteModule`\">`ngx_http_rewrite_module`</span> directives and start a search for a new location matching changed URI.\n- **break** - Stop processing the current set of the Rewrite option.\n- **redirect** - Return a temporary redirect with the 302 code; used when a replacement string does not start with `http://`, `https://`, or `$scheme`.\n- **permanent** - Return a permanent redirect with the 301 code.\nAvailable values: \"break\", \"last\", \"redirect\", \"permanent\".\n","type":"string"}},"required":["body","enabled"],"type":"object"},"gcore:index/CdnResourceOptionsSecureKey:CdnResourceOptionsSecureKey":{"language":{"nodejs":{"requiredOutputs":["enabled","key","type"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"key":{"description":"Key generated on your side that will be used for URL signing.\n","type":"string"},"type":{"description":"Type of URL signing.\n\nPossible types:\n- **Type 0** - Includes end user IP to secure token generation.\n- **Type 2** - Excludes end user IP from secure token generation.\nAvailable values: 0, 2.\n","type":"number"}},"required":["enabled","key"],"type":"object"},"gcore:index/CdnResourceOptionsSlice:CdnResourceOptionsSlice":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsSni:CdnResourceOptionsSni":{"language":{"nodejs":{"requiredOutputs":["customHostname","enabled","sniType"]}},"properties":{"customHostname":{"description":"Custom SNI hostname.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"sniType":{"description":"SNI (Server Name Indication) type.\n\nPossible values:\n- **dynamic** - SNI hostname depends on `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options.\nIt has several possible combinations:\n- If the `hostHeader` option is enabled and specified, SNI hostname matches the Host header.\n- If the <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> option is enabled and has true value, SNI hostname matches the Host header used in the request made to a CDN.\n- If the `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options are disabled, SNI hostname matches the primary CNAME.\n- **custom** - custom SNI hostname is in use.\nAvailable values: \"dynamic\", \"custom\".\n","type":"string"}},"required":["customHostname","enabled"],"type":"object"},"gcore:index/CdnResourceOptionsStale:CdnResourceOptionsStale":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Defines list of errors for which \"Always online\" option is applied.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsStaticRequestHeaders:CdnResourceOptionsStaticRequestHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"additionalProperties":{"type":"string"},"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"object"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsStaticResponseHeaders:CdnResourceOptionsStaticResponseHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"$ref":"#/types/gcore:index%2FCdnResourceOptionsStaticResponseHeadersValue:CdnResourceOptionsStaticResponseHeadersValue"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsStaticResponseHeadersValue:CdnResourceOptionsStaticResponseHeadersValue":{"language":{"nodejs":{"requiredOutputs":["always","name","values"]}},"properties":{"always":{"description":"Defines whether the header will be added to a response from CDN regardless of response code.\n\nPossible values:\n- **true** - Header will be added to a response from CDN regardless of response code.\n- **false** - Header will be added only to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n","type":"boolean"},"name":{"description":"HTTP Header name.\n","type":"string"},"values":{"description":"Header value.\n\nRestrictions:\n- Maximum 512 symbols.\n- Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]).\n- Must start with a letter, number, asterisk or {.\n- Multiple values can be added.\n","items":{"type":"string"},"type":"array"}},"required":["name","values"],"type":"object"},"gcore:index/CdnResourceOptionsTlsVersions:CdnResourceOptionsTlsVersions":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of SSL/TLS protocol versions (case sensitive).\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceOptionsUseDefaultLeChain:CdnResourceOptionsUseDefaultLeChain":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Default Let's Encrypt certificate chain. This is a deprecated version, use it only for compatibilities with Android devices 7.1.1 or lower.\n- **false** - Alternative Let's Encrypt certificate chain.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsUseDns01LeChallenge:CdnResourceOptionsUseDns01LeChallenge":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - DNS-01 challenge is used to issue Let's Encrypt certificate.\n- **false** - HTTP-01 challenge is used to issue Let's Encrypt certificate.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsUseRsaLeCert:CdnResourceOptionsUseRsaLeCert":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - RSA Let's Encrypt certificate.\n- **false** - ECDSA Let's Encrypt certificate.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsUserAgentAcl:CdnResourceOptionsUserAgentAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of User-Agents that will be allowed/denied.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span>:\n- **allow** - List of User-Agents for which access is prohibited.\n- **deny** - List of User-Agents for which access is allowed.\n\nYou can provide exact User-Agent strings or regular expressions. Regular expressions must start\nwith `~` (case-sensitive) or `~*` (case-insensitive).\n\nUse an empty string `\"\"` to allow/deny access when the User-Agent header is empty.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"User-Agents policy type.\n\nPossible values:\n- **allow** - Allow access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceOptionsWaap:CdnResourceOptionsWaap":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceOptionsWebsockets:CdnResourceOptionsWebsockets":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptions:CdnResourceRuleOptions":{"language":{"nodejs":{"requiredOutputs":["allowedHttpMethods","brotliCompression","browserCacheSettings","cacheHttpHeaders","cors","countryAcl","disableCache","disableProxyForceRanges","edgeCacheSettings","fastedge","fetchCompressed","followOriginRedirect","forceReturn","forwardHostHeader","gzipOn","hostHeader","ignoreCookie","ignoreQueryString","imageStack","ipAddressAcl","limitBandwidth","proxyCacheKey","proxyCacheMethodsSet","proxyConnectTimeout","proxyReadTimeout","queryParamsBlacklist","queryParamsWhitelist","queryStringForwarding","redirectHttpToHttps","redirectHttpsToHttp","referrerAcl","responseHeadersHidingPolicy","rewrite","secureKey","slice","sni","stale","staticHeaders","staticRequestHeaders","staticResponseHeaders","userAgentAcl","waap","websockets"]}},"properties":{"allowedHttpMethods":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsAllowedHttpMethods:CdnResourceRuleOptionsAllowedHttpMethods","description":"HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsBrotliCompression:CdnResourceRuleOptionsBrotliCompression","description":"Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsBrowserCacheSettings:CdnResourceRuleOptionsBrowserCacheSettings","description":"Cache expiration time for users browsers in seconds.\n\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n\nResponses with other codes will not be cached.\n"},"cacheHttpHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsCacheHttpHeaders:CdnResourceRuleOptionsCacheHttpHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`responseHeadersHidingPolicy`\" pulumi-lang-dotnet=\"`ResponseHeadersHidingPolicy`\" pulumi-lang-go=\"`responseHeadersHidingPolicy`\" pulumi-lang-python=\"`response_headers_hiding_policy`\" pulumi-lang-yaml=\"`responseHeadersHidingPolicy`\" pulumi-lang-java=\"`responseHeadersHidingPolicy`\">`response_headers_hiding_policy`</span> option instead.\n\nHTTP Headers that must be included in the response.\n"},"cors":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsCors:CdnResourceRuleOptionsCors","description":"Enables or disables CORS (Cross-Origin Resource Sharing) header support.\n\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsCountryAcl:CdnResourceRuleOptionsCountryAcl","description":"Enables control access to content for specified countries.\n"},"disableCache":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsDisableCache:CdnResourceRuleOptionsDisableCache","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`edgeCacheSettings`\" pulumi-lang-dotnet=\"`EdgeCacheSettings`\" pulumi-lang-go=\"`edgeCacheSettings`\" pulumi-lang-python=\"`edge_cache_settings`\" pulumi-lang-yaml=\"`edgeCacheSettings`\" pulumi-lang-java=\"`edgeCacheSettings`\">`edge_cache_settings`</span> option instead.\n\nAllows the complete disabling of content caching.\n"},"disableProxyForceRanges":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsDisableProxyForceRanges:CdnResourceRuleOptionsDisableProxyForceRanges","description":"Allows 206 responses regardless of the settings of an origin source.\n"},"edgeCacheSettings":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsEdgeCacheSettings:CdnResourceRuleOptionsEdgeCacheSettings","description":"Cache expiration time for CDN servers.\n\n<span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> and <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span> fields cannot be used simultaneously.\n"},"fastedge":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFastedge:CdnResourceRuleOptionsFastedge","description":"Allows to configure FastEdge app to be called on different request/response phases.\n\nNote: At least one of <span pulumi-lang-nodejs=\"`onRequestHeaders`\" pulumi-lang-dotnet=\"`OnRequestHeaders`\" pulumi-lang-go=\"`onRequestHeaders`\" pulumi-lang-python=\"`on_request_headers`\" pulumi-lang-yaml=\"`onRequestHeaders`\" pulumi-lang-java=\"`onRequestHeaders`\">`on_request_headers`</span>, <span pulumi-lang-nodejs=\"`onRequestBody`\" pulumi-lang-dotnet=\"`OnRequestBody`\" pulumi-lang-go=\"`onRequestBody`\" pulumi-lang-python=\"`on_request_body`\" pulumi-lang-yaml=\"`onRequestBody`\" pulumi-lang-java=\"`onRequestBody`\">`on_request_body`</span>, <span pulumi-lang-nodejs=\"`onResponseHeaders`\" pulumi-lang-dotnet=\"`OnResponseHeaders`\" pulumi-lang-go=\"`onResponseHeaders`\" pulumi-lang-python=\"`on_response_headers`\" pulumi-lang-yaml=\"`onResponseHeaders`\" pulumi-lang-java=\"`onResponseHeaders`\">`on_response_headers`</span>, or <span pulumi-lang-nodejs=\"`onResponseBody`\" pulumi-lang-dotnet=\"`OnResponseBody`\" pulumi-lang-go=\"`onResponseBody`\" pulumi-lang-python=\"`on_response_body`\" pulumi-lang-yaml=\"`onResponseBody`\" pulumi-lang-java=\"`onResponseBody`\">`on_response_body`</span> must be specified.\n"},"fetchCompressed":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFetchCompressed:CdnResourceRuleOptionsFetchCompressed","description":"Makes the CDN request compressed content from the origin.\n\nThe origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression.\n\nNotes:\n\n1. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> is not supported with `gzipON` or <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> overrides `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in rule. If you enable it in CDN resource and want to use `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in a rule, you have to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>: false` in the rule.\n"},"followOriginRedirect":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFollowOriginRedirect:CdnResourceRuleOptionsFollowOriginRedirect","description":"Enables redirection from origin.\nIf the origin server returns a redirect, the option allows the CDN to pull the requested content from the origin server that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsForceReturn:CdnResourceRuleOptionsForceReturn","description":"Applies custom HTTP response codes for CDN content.\n\nThe following codes are reserved by our system and cannot be specified in this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsForwardHostHeader:CdnResourceRuleOptionsForwardHostHeader","description":"Forwards the Host header from a end-user request to an origin server.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"gzipOn":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsGzipOn:CdnResourceRuleOptionsGzipOn","description":"Compresses content with gzip on the CDN end. CDN servers will request only uncompressed content from the origin.\n\nNotes:\n\n1. Compression with gzip is not supported with <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> option in CDN resource settings overrides `gzipON` in rules. If you enable <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> in CDN resource and want to enable `gzipON` in rules, you need to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>:false` for rules.\n"},"hostHeader":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsHostHeader:CdnResourceRuleOptionsHostHeader","description":"Sets the Host header that CDN servers use when request content from an origin server.\nYour server must be able to process requests with the chosen header.\n\nIf the option is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the Host Header value is equal to first CNAME.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"ignoreCookie":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsIgnoreCookie:CdnResourceRuleOptionsIgnoreCookie","description":"Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsIgnoreQueryString:CdnResourceRuleOptionsIgnoreQueryString","description":"How a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.)\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsImageStack:CdnResourceRuleOptionsImageStack","description":"Transforms JPG and PNG images (for example, resize or crop) and automatically converts them to WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsIpAddressAcl:CdnResourceRuleOptionsIpAddressAcl","description":"Controls access to the CDN resource content for specific IP addresses.\n\nIf you want to use IPs from our CDN servers IP list for IP ACL configuration, you have to independently monitor their relevance.\n\nWe recommend you use a script for automatically update IP ACL. [Read more.](https://www.terraform.io/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)\n"},"limitBandwidth":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsLimitBandwidth:CdnResourceRuleOptionsLimitBandwidth","description":"Allows to control the download speed per connection.\n"},"proxyCacheKey":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsProxyCacheKey:CdnResourceRuleOptionsProxyCacheKey","description":"Allows you to modify your cache key. If omitted, the default value is `$request_uri`.\n\nCombine the specified variables to create a key for caching.\n- **$<span pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\">`request_uri`</span>**\n- **$scheme**\n- **$uri**\n\n**Warning**: Enabling and changing this option can invalidate your current cache and affect the cache hit ratio. Furthermore, the \"Purge by pattern\" option will not work.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsProxyCacheMethodsSet:CdnResourceRuleOptionsProxyCacheMethodsSet","description":"Caching for POST requests along with default GET and HEAD.\n"},"proxyConnectTimeout":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsProxyConnectTimeout:CdnResourceRuleOptionsProxyConnectTimeout","description":"The time limit for establishing a connection with the origin.\n"},"proxyReadTimeout":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsProxyReadTimeout:CdnResourceRuleOptionsProxyReadTimeout","description":"The time limit for receiving a partial response from the origin.\nIf no response is received within this time, the connection will be closed.\n\n**Note:**\nWhen used with a WebSocket connection, this option supports values only in the range 1–20 seconds (instead of the usual 1–30 seconds).\n"},"queryParamsBlacklist":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsQueryParamsBlacklist:CdnResourceRuleOptionsQueryParamsBlacklist","description":"Files with the specified query parameters are cached as one object, files with other parameters are cached as different objects.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsQueryParamsWhitelist:CdnResourceRuleOptionsQueryParamsWhitelist","description":"Files with the specified query parameters are cached as different objects, files with other parameters are cached as one object.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryStringForwarding":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsQueryStringForwarding:CdnResourceRuleOptionsQueryStringForwarding","description":"The Query String Forwarding feature allows for the seamless transfer of parameters embedded in playlist files to the corresponding media chunk files.\nThis functionality ensures that specific attributes, such as authentication tokens or tracking information, are consistently passed along from the playlist manifest to the individual media segments.\nThis is particularly useful for maintaining continuity in security, analytics, and any other parameter-based operations across the entire media delivery workflow.\n"},"redirectHttpToHttps":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsRedirectHttpToHttps:CdnResourceRuleOptionsRedirectHttpToHttps","description":"Enables redirect from HTTP to HTTPS.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsRedirectHttpsToHttp:CdnResourceRuleOptionsRedirectHttpsToHttp","description":"Enables redirect from HTTPS to HTTP.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsReferrerAcl:CdnResourceRuleOptionsReferrerAcl","description":"Controls access to the CDN resource content for specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsResponseHeadersHidingPolicy:CdnResourceRuleOptionsResponseHeadersHidingPolicy","description":"Hides HTTP headers from an origin server in the CDN response.\n"},"rewrite":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsRewrite:CdnResourceRuleOptionsRewrite","description":"Changes and redirects requests from the CDN to the origin. It operates according to the [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) configuration.\n"},"secureKey":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsSecureKey:CdnResourceRuleOptionsSecureKey","description":"Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsSlice:CdnResourceRuleOptionsSlice","description":"Requests and caches files larger than 10 MB in parts (no larger than 10 MB per part.) This reduces time to first byte.\n\nThe option is based on the [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.\n\nNotes:\n\n1. Origin must support HTTP Range requests.\n2. Not supported with `gzipON`, <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> options enabled.\n"},"sni":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsSni:CdnResourceRuleOptionsSni","description":"The hostname that is added to SNI requests from CDN servers to the origin server via HTTPS.\n\nSNI is generally only required if your origin uses shared hosting or does not have a dedicated IP address.\nIf the origin server presents multiple certificates, SNI allows the origin server to know which certificate to use for the connection.\n\nThe option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.\n"},"stale":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsStale:CdnResourceRuleOptionsStale","description":"Serves stale cached content in case of origin unavailability.\n"},"staticHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsStaticHeaders:CdnResourceRuleOptionsStaticHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`staticResponseHeaders`\" pulumi-lang-dotnet=\"`StaticResponseHeaders`\" pulumi-lang-go=\"`staticResponseHeaders`\" pulumi-lang-python=\"`static_response_headers`\" pulumi-lang-yaml=\"`staticResponseHeaders`\" pulumi-lang-java=\"`staticResponseHeaders`\">`static_response_headers`</span> option instead.\n\nCustom HTTP Headers that a CDN server adds to response. Up to fifty custom HTTP Headers can be specified. May contain a header with multiple values.\n"},"staticRequestHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsStaticRequestHeaders:CdnResourceRuleOptionsStaticRequestHeaders","description":"Custom HTTP Headers for a CDN server to add to request. Up to fifty custom HTTP Headers can be specified.\n"},"staticResponseHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsStaticResponseHeaders:CdnResourceRuleOptionsStaticResponseHeaders","description":"Custom HTTP Headers that a CDN server adds to a response.\n"},"userAgentAcl":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsUserAgentAcl:CdnResourceRuleOptionsUserAgentAcl","description":"Controls access to the content for specified User-Agents.\n"},"waap":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsWaap:CdnResourceRuleOptionsWaap","description":"Allows to enable WAAP (Web Application and API Protection).\n"},"websockets":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsWebsockets:CdnResourceRuleOptionsWebsockets","description":"Enables or disables WebSockets connections to an origin server.\n"}},"type":"object"},"gcore:index/CdnResourceRuleOptionsAllowedHttpMethods:CdnResourceRuleOptionsAllowedHttpMethods":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsBrotliCompression:CdnResourceRuleOptionsBrotliCompression":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Allows to select the content types you want to compress.\n\n`text/html` is a mandatory content type.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsBrowserCacheSettings:CdnResourceRuleOptionsBrowserCacheSettings":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Set the cache expiration time to '0s' to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsCacheHttpHeaders:CdnResourceRuleOptionsCacheHttpHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsCors:CdnResourceRuleOptionsCors":{"language":{"nodejs":{"requiredOutputs":["always","enabled","values"]}},"properties":{"always":{"description":"Defines whether the Access-Control-Allow-Origin header should be added to a response from CDN regardless of response code.\n\nPossible values:\n- **true** - Header will be added to a response regardless of response code.\n- **false** - Header will only be added to responses with codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Value of the Access-Control-Allow-Origin header.\n\nPossible values:\n- **Adds * as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain.\n`\"value\": [\"*\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field.\n`\"value\": [\"domain.com\", \"second.dom.com\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the \"Access-Control-Allow-Origin\" header in the response.\n`\"value\": [\"$http_origin\"]`\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsCountryAcl:CdnResourceRuleOptionsCountryAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of countries according to ISO-3166-1.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of countries for which access is prohibited.\n- **deny** - List of countries for which access is allowed.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Defines the type of CDN resource access policy.\n\nPossible values:\n- **allow** - Access is allowed for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Access is denied for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceRuleOptionsDisableCache:CdnResourceRuleOptionsDisableCache":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - content caching is disabled.\n- **false** - content caching is enabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsDisableProxyForceRanges:CdnResourceRuleOptionsDisableProxyForceRanges":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsEdgeCacheSettings:CdnResourceRuleOptionsEdgeCacheSettings":{"language":{"nodejs":{"requiredOutputs":["customValues","enabled"]}},"properties":{"customValues":{"additionalProperties":{"type":"string"},"description":"A MAP object representing the caching time in seconds for a response with a specific response code.\n\nThese settings have a higher priority than the <span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> field.\n\n- Use <span pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\">`any`</span> key to specify caching time for all response codes.\n- Use <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> value to disable caching for a specific response code.\n","type":"object"},"default":{"description":"Enables content caching according to the origin cache settings.\n\nThe value is applied to the following response codes 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, if an origin server does not have caching HTTP headers.\n\nResponses with other codes will not be cached.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Caching time.\n\nThe value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached.\n\nUse <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFastedge:CdnResourceRuleOptionsFastedge":{"language":{"nodejs":{"requiredOutputs":["enabled","onRequestBody","onRequestHeaders","onResponseBody","onResponseHeaders"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"onRequestBody":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFastedgeOnRequestBody:CdnResourceRuleOptionsFastedgeOnRequestBody","description":"Allows to configure FastEdge application that will be called to handle request body as soon as CDN receives incoming HTTP request.\n"},"onRequestHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFastedgeOnRequestHeaders:CdnResourceRuleOptionsFastedgeOnRequestHeaders","description":"Allows to configure FastEdge application that will be called to handle request headers as soon as CDN receives incoming HTTP request, **before cache**.\n"},"onResponseBody":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFastedgeOnResponseBody:CdnResourceRuleOptionsFastedgeOnResponseBody","description":"Allows to configure FastEdge application that will be called to handle response body before CDN sends the HTTP response.\n"},"onResponseHeaders":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsFastedgeOnResponseHeaders:CdnResourceRuleOptionsFastedgeOnResponseHeaders","description":"Allows to configure FastEdge application that will be called to handle response headers before CDN sends the HTTP response.\n"}},"required":["enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFastedgeOnRequestBody:CdnResourceRuleOptionsFastedgeOnRequestBody":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFastedgeOnRequestHeaders:CdnResourceRuleOptionsFastedgeOnRequestHeaders":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFastedgeOnResponseBody:CdnResourceRuleOptionsFastedgeOnResponseBody":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFastedgeOnResponseHeaders:CdnResourceRuleOptionsFastedgeOnResponseHeaders":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFetchCompressed:CdnResourceRuleOptionsFetchCompressed":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsFollowOriginRedirect:CdnResourceRuleOptionsFollowOriginRedirect":{"properties":{"codes":{"description":"Redirect status code that the origin server returns.\n","items":{"type":"number"},"type":"array"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["codes","enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsForceReturn:CdnResourceRuleOptionsForceReturn":{"language":{"nodejs":{"requiredOutputs":["body","code","enabled","timeInterval"]}},"properties":{"body":{"description":"URL for redirection or text.\n","type":"string"},"code":{"description":"Status code value.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"timeInterval":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsForceReturnTimeInterval:CdnResourceRuleOptionsForceReturnTimeInterval","description":"Controls the time at which a custom HTTP response code should be applied. By default, a custom HTTP response code is applied at any time.\n"}},"required":["body","code","enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsForceReturnTimeInterval:CdnResourceRuleOptionsForceReturnTimeInterval":{"language":{"nodejs":{"requiredOutputs":["endTime","startTime","timeZone"]}},"properties":{"endTime":{"description":"Time until which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"startTime":{"description":"Time from which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"timeZone":{"description":"Time zone used to calculate time.\n","type":"string"}},"required":["endTime","startTime"],"type":"object"},"gcore:index/CdnResourceRuleOptionsForwardHostHeader:CdnResourceRuleOptionsForwardHostHeader":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsGzipOn:CdnResourceRuleOptionsGzipOn":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsHostHeader:CdnResourceRuleOptionsHostHeader":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Host Header value.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsIgnoreCookie:CdnResourceRuleOptionsIgnoreCookie":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled, files with cookies are cached as one file.\n- **false** - Option is disabled, files with cookies are cached as different files.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsIgnoreQueryString:CdnResourceRuleOptionsIgnoreQueryString":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsImageStack:CdnResourceRuleOptionsImageStack":{"language":{"nodejs":{"requiredOutputs":["avifEnabled","enabled","pngLossless","quality","webpEnabled"]}},"properties":{"avifEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to AVI format.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"pngLossless":{"description":"Enables or disables compression without quality loss for PNG format.\n","type":"boolean"},"quality":{"description":"Defines quality settings for JPG and PNG images. The higher the value, the better the image quality, and the larger the file size after conversion.\n","type":"number"},"webpEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to WebP format.\n","type":"boolean"}},"required":["enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsIpAddressAcl:CdnResourceRuleOptionsIpAddressAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of IP addresses with a subnet mask.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of IP addresses for which access is prohibited.\n- **deny** - List of IP addresses for which access is allowed.\n\nExamples:\n- `192.168.3.2/32`\n- `2a03:d000:2980:7::8/128`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"IP access policy type.\n\nPossible values:\n- **allow** - Allow access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\n- **deny** - Deny access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceRuleOptionsLimitBandwidth:CdnResourceRuleOptionsLimitBandwidth":{"properties":{"buffer":{"description":"Amount of downloaded data after which the user will be rate limited.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"limitType":{"description":"Method of controlling the download speed per connection.\n\nPossible values:\n- **static** - Use speed and buffer fields to set the download speed limit.\n- **dynamic** - Use query strings **speed** and **buffer** to set the download speed limit.\n\nFor example, when requesting content at the link\n\n```\nhttp://cdn.example.com/video.mp4?speed=50k&buffer=500k\n```\n\nthe download speed will be limited to 50kB/s after 500 kB.\nAvailable values: \"static\", \"dynamic\".\n","type":"string"},"speed":{"description":"Maximum download speed per connection.\n","type":"number"}},"required":["enabled","limitType"],"type":"object"},"gcore:index/CdnResourceRuleOptionsProxyCacheKey:CdnResourceRuleOptionsProxyCacheKey":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Key for caching.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsProxyCacheMethodsSet:CdnResourceRuleOptionsProxyCacheMethodsSet":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsProxyConnectTimeout:CdnResourceRuleOptionsProxyConnectTimeout":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 5s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsProxyReadTimeout:CdnResourceRuleOptionsProxyReadTimeout":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 30s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsQueryParamsBlacklist:CdnResourceRuleOptionsQueryParamsBlacklist":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsQueryParamsWhitelist:CdnResourceRuleOptionsQueryParamsWhitelist":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsQueryStringForwarding:CdnResourceRuleOptionsQueryStringForwarding":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"forwardExceptKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardExceptKeys`\" pulumi-lang-dotnet=\"`ForwardExceptKeys`\" pulumi-lang-go=\"`forwardExceptKeys`\" pulumi-lang-python=\"`forward_except_keys`\" pulumi-lang-yaml=\"`forwardExceptKeys`\" pulumi-lang-java=\"`forwardExceptKeys`\">`forward_except_keys`</span> field provides a mechanism to exclude specific parameters from being forwarded from playlist files to media chunk files.\nBy listing certain keys in this field, you can ensure that these parameters are omitted during the forwarding process.\nThis is particularly useful for preventing sensitive or irrelevant information from being included in requests for media chunks, thereby enhancing security and optimizing performance.\n","items":{"type":"string"},"type":"array"},"forwardFromFileTypes":{"description":"The <span pulumi-lang-nodejs=\"`forwardFromFilesTypes`\" pulumi-lang-dotnet=\"`ForwardFromFilesTypes`\" pulumi-lang-go=\"`forwardFromFilesTypes`\" pulumi-lang-python=\"`forward_from_files_types`\" pulumi-lang-yaml=\"`forwardFromFilesTypes`\" pulumi-lang-java=\"`forwardFromFilesTypes`\">`forward_from_files_types`</span> field specifies the types of playlist files from which parameters will be extracted and forwarded.\nThis typically includes formats that list multiple media chunk references, such as HLS and DASH playlists.\nParameters associated with these playlist files (like query strings or headers) will be propagated to the chunks they reference.\n","items":{"type":"string"},"type":"array"},"forwardOnlyKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardOnlyKeys`\" pulumi-lang-dotnet=\"`ForwardOnlyKeys`\" pulumi-lang-go=\"`forwardOnlyKeys`\" pulumi-lang-python=\"`forward_only_keys`\" pulumi-lang-yaml=\"`forwardOnlyKeys`\" pulumi-lang-java=\"`forwardOnlyKeys`\">`forward_only_keys`</span> field allows for granular control over which specific parameters are forwarded from playlist files to media chunk files.\nBy specifying certain keys, only those parameters will be propagated, ensuring that only relevant information is passed along.\nThis is particularly useful for security and performance optimization, as it prevents unnecessary or sensitive data from being included in requests for media chunks.\n","items":{"type":"string"},"type":"array"},"forwardToFileTypes":{"description":"The field specifies the types of media chunk files to which parameters, extracted from playlist files, will be forwarded.\nThese refer to the actual segments of media content that are delivered to viewers.\nEnsuring the correct parameters are forwarded to these files is crucial for maintaining the integrity of the streaming session.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","forwardFromFileTypes","forwardToFileTypes"],"type":"object"},"gcore:index/CdnResourceRuleOptionsRedirectHttpToHttps:CdnResourceRuleOptionsRedirectHttpToHttps":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsRedirectHttpsToHttp:CdnResourceRuleOptionsRedirectHttpsToHttp":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsReferrerAcl:CdnResourceRuleOptionsReferrerAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of domain names or wildcard domains (without protocol: `http://` or `https://`.)\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of domain names for which access is prohibited.\n- **deny** - List of IP domain names for which access is allowed.\n\nExamples:\n- `example.com`\n- `*.example.com`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Policy type.\n\nPossible values:\n- **allow** - Allow access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceRuleOptionsResponseHeadersHidingPolicy:CdnResourceRuleOptionsResponseHeadersHidingPolicy":{"language":{"nodejs":{"requiredOutputs":["enabled","excepteds","mode"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"excepteds":{"description":"List of HTTP headers.\n\nParameter meaning depends on the value of the <span pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\">`mode`</span> field:\n- **show** - List of HTTP headers to hide from response.\n- **hide** - List of HTTP headers to include in response. Other HTTP headers will be hidden.\n\nThe following headers are required and cannot be hidden from response:\n- `Connection`\n- `Content-Length`\n- `Content-Type`\n- `Date`\n- `Server`\n","items":{"type":"string"},"type":"array"},"mode":{"description":"How HTTP headers are hidden from the response.\n\nPossible values:\n- **show** - Hide only HTTP headers listed in the <span pulumi-lang-nodejs=\"`excepted`\" pulumi-lang-dotnet=\"`Excepted`\" pulumi-lang-go=\"`excepted`\" pulumi-lang-python=\"`excepted`\" pulumi-lang-yaml=\"`excepted`\" pulumi-lang-java=\"`excepted`\">`excepted`</span> field.\n- **hide** - Hide all HTTP headers except headers listed in the \"excepted\" field.\nAvailable values: \"hide\", \"show\".\n","type":"string"}},"required":["enabled","mode"],"type":"object"},"gcore:index/CdnResourceRuleOptionsRewrite:CdnResourceRuleOptionsRewrite":{"language":{"nodejs":{"requiredOutputs":["body","enabled","flag"]}},"properties":{"body":{"description":"Path for the Rewrite option.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"flag":{"description":"Flag for the Rewrite option.\n\nPossible values:\n- **last** - Stop processing the current set of <span pulumi-lang-nodejs=\"`ngxHttpRewriteModule`\" pulumi-lang-dotnet=\"`NgxHttpRewriteModule`\" pulumi-lang-go=\"`ngxHttpRewriteModule`\" pulumi-lang-python=\"`ngx_http_rewrite_module`\" pulumi-lang-yaml=\"`ngxHttpRewriteModule`\" pulumi-lang-java=\"`ngxHttpRewriteModule`\">`ngx_http_rewrite_module`</span> directives and start a search for a new location matching changed URI.\n- **break** - Stop processing the current set of the Rewrite option.\n- **redirect** - Return a temporary redirect with the 302 code; used when a replacement string does not start with `http://`, `https://`, or `$scheme`.\n- **permanent** - Return a permanent redirect with the 301 code.\nAvailable values: \"break\", \"last\", \"redirect\", \"permanent\".\n","type":"string"}},"required":["body","enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsSecureKey:CdnResourceRuleOptionsSecureKey":{"language":{"nodejs":{"requiredOutputs":["enabled","key","type"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"key":{"description":"Key generated on your side that will be used for URL signing.\n","type":"string"},"type":{"description":"Type of URL signing.\n\nPossible types:\n- **Type 0** - Includes end user IP to secure token generation.\n- **Type 2** - Excludes end user IP from secure token generation.\nAvailable values: 0, 2.\n","type":"number"}},"required":["enabled","key"],"type":"object"},"gcore:index/CdnResourceRuleOptionsSlice:CdnResourceRuleOptionsSlice":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsSni:CdnResourceRuleOptionsSni":{"language":{"nodejs":{"requiredOutputs":["customHostname","enabled","sniType"]}},"properties":{"customHostname":{"description":"Custom SNI hostname.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"sniType":{"description":"SNI (Server Name Indication) type.\n\nPossible values:\n- **dynamic** - SNI hostname depends on `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options.\nIt has several possible combinations:\n- If the `hostHeader` option is enabled and specified, SNI hostname matches the Host header.\n- If the <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> option is enabled and has true value, SNI hostname matches the Host header used in the request made to a CDN.\n- If the `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options are disabled, SNI hostname matches the primary CNAME.\n- **custom** - custom SNI hostname is in use.\nAvailable values: \"dynamic\", \"custom\".\n","type":"string"}},"required":["customHostname","enabled"],"type":"object"},"gcore:index/CdnResourceRuleOptionsStale:CdnResourceRuleOptionsStale":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Defines list of errors for which \"Always online\" option is applied.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsStaticHeaders:CdnResourceRuleOptionsStaticHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 128 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsStaticRequestHeaders:CdnResourceRuleOptionsStaticRequestHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"additionalProperties":{"type":"string"},"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"object"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsStaticResponseHeaders:CdnResourceRuleOptionsStaticResponseHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"$ref":"#/types/gcore:index%2FCdnResourceRuleOptionsStaticResponseHeadersValue:CdnResourceRuleOptionsStaticResponseHeadersValue"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsStaticResponseHeadersValue:CdnResourceRuleOptionsStaticResponseHeadersValue":{"language":{"nodejs":{"requiredOutputs":["always","name","values"]}},"properties":{"always":{"description":"Defines whether the header will be added to a response from CDN regardless of response code.\n\nPossible values:\n- **true** - Header will be added to a response from CDN regardless of response code.\n- **false** - Header will be added only to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n","type":"boolean"},"name":{"description":"HTTP Header name.\n","type":"string"},"values":{"description":"Header value.\n\nRestrictions:\n- Maximum 512 symbols.\n- Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]).\n- Must start with a letter, number, asterisk or {.\n- Multiple values can be added.\n","items":{"type":"string"},"type":"array"}},"required":["name","values"],"type":"object"},"gcore:index/CdnResourceRuleOptionsUserAgentAcl:CdnResourceRuleOptionsUserAgentAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of User-Agents that will be allowed/denied.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span>:\n- **allow** - List of User-Agents for which access is prohibited.\n- **deny** - List of User-Agents for which access is allowed.\n\nYou can provide exact User-Agent strings or regular expressions. Regular expressions must start\nwith `~` (case-sensitive) or `~*` (case-insensitive).\n\nUse an empty string `\"\"` to allow/deny access when the User-Agent header is empty.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"User-Agents policy type.\n\nPossible values:\n- **allow** - Allow access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnResourceRuleOptionsWaap:CdnResourceRuleOptionsWaap":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnResourceRuleOptionsWebsockets:CdnResourceRuleOptionsWebsockets":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptions:CdnRuleTemplateOptions":{"language":{"nodejs":{"requiredOutputs":["allowedHttpMethods","brotliCompression","browserCacheSettings","cacheHttpHeaders","cors","countryAcl","disableCache","disableProxyForceRanges","edgeCacheSettings","fastedge","fetchCompressed","followOriginRedirect","forceReturn","forwardHostHeader","gzipOn","hostHeader","ignoreCookie","ignoreQueryString","imageStack","ipAddressAcl","limitBandwidth","proxyCacheKey","proxyCacheMethodsSet","proxyConnectTimeout","proxyReadTimeout","queryParamsBlacklist","queryParamsWhitelist","queryStringForwarding","redirectHttpToHttps","redirectHttpsToHttp","referrerAcl","responseHeadersHidingPolicy","rewrite","secureKey","slice","sni","stale","staticHeaders","staticRequestHeaders","staticResponseHeaders","userAgentAcl","waap","websockets"]}},"properties":{"allowedHttpMethods":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsAllowedHttpMethods:CdnRuleTemplateOptionsAllowedHttpMethods","description":"HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsBrotliCompression:CdnRuleTemplateOptionsBrotliCompression","description":"Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsBrowserCacheSettings:CdnRuleTemplateOptionsBrowserCacheSettings","description":"Cache expiration time for users browsers in seconds.\n\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n\nResponses with other codes will not be cached.\n"},"cacheHttpHeaders":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsCacheHttpHeaders:CdnRuleTemplateOptionsCacheHttpHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`responseHeadersHidingPolicy`\" pulumi-lang-dotnet=\"`ResponseHeadersHidingPolicy`\" pulumi-lang-go=\"`responseHeadersHidingPolicy`\" pulumi-lang-python=\"`response_headers_hiding_policy`\" pulumi-lang-yaml=\"`responseHeadersHidingPolicy`\" pulumi-lang-java=\"`responseHeadersHidingPolicy`\">`response_headers_hiding_policy`</span> option instead.\n\nHTTP Headers that must be included in the response.\n"},"cors":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsCors:CdnRuleTemplateOptionsCors","description":"Enables or disables CORS (Cross-Origin Resource Sharing) header support.\n\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsCountryAcl:CdnRuleTemplateOptionsCountryAcl","description":"Enables control access to content for specified countries.\n"},"disableCache":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsDisableCache:CdnRuleTemplateOptionsDisableCache","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`edgeCacheSettings`\" pulumi-lang-dotnet=\"`EdgeCacheSettings`\" pulumi-lang-go=\"`edgeCacheSettings`\" pulumi-lang-python=\"`edge_cache_settings`\" pulumi-lang-yaml=\"`edgeCacheSettings`\" pulumi-lang-java=\"`edgeCacheSettings`\">`edge_cache_settings`</span> option instead.\n\nAllows the complete disabling of content caching.\n"},"disableProxyForceRanges":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsDisableProxyForceRanges:CdnRuleTemplateOptionsDisableProxyForceRanges","description":"Allows 206 responses regardless of the settings of an origin source.\n"},"edgeCacheSettings":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsEdgeCacheSettings:CdnRuleTemplateOptionsEdgeCacheSettings","description":"Cache expiration time for CDN servers.\n\n<span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> and <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span> fields cannot be used simultaneously.\n"},"fastedge":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFastedge:CdnRuleTemplateOptionsFastedge","description":"Allows to configure FastEdge app to be called on different request/response phases.\n\nNote: At least one of <span pulumi-lang-nodejs=\"`onRequestHeaders`\" pulumi-lang-dotnet=\"`OnRequestHeaders`\" pulumi-lang-go=\"`onRequestHeaders`\" pulumi-lang-python=\"`on_request_headers`\" pulumi-lang-yaml=\"`onRequestHeaders`\" pulumi-lang-java=\"`onRequestHeaders`\">`on_request_headers`</span>, <span pulumi-lang-nodejs=\"`onRequestBody`\" pulumi-lang-dotnet=\"`OnRequestBody`\" pulumi-lang-go=\"`onRequestBody`\" pulumi-lang-python=\"`on_request_body`\" pulumi-lang-yaml=\"`onRequestBody`\" pulumi-lang-java=\"`onRequestBody`\">`on_request_body`</span>, <span pulumi-lang-nodejs=\"`onResponseHeaders`\" pulumi-lang-dotnet=\"`OnResponseHeaders`\" pulumi-lang-go=\"`onResponseHeaders`\" pulumi-lang-python=\"`on_response_headers`\" pulumi-lang-yaml=\"`onResponseHeaders`\" pulumi-lang-java=\"`onResponseHeaders`\">`on_response_headers`</span>, or <span pulumi-lang-nodejs=\"`onResponseBody`\" pulumi-lang-dotnet=\"`OnResponseBody`\" pulumi-lang-go=\"`onResponseBody`\" pulumi-lang-python=\"`on_response_body`\" pulumi-lang-yaml=\"`onResponseBody`\" pulumi-lang-java=\"`onResponseBody`\">`on_response_body`</span> must be specified.\n"},"fetchCompressed":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFetchCompressed:CdnRuleTemplateOptionsFetchCompressed","description":"Makes the CDN request compressed content from the origin.\n\nThe origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression.\n\nNotes:\n\n1. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> is not supported with `gzipON` or <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> overrides `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in rule. If you enable it in CDN resource and want to use `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in a rule, you have to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>: false` in the rule.\n"},"followOriginRedirect":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFollowOriginRedirect:CdnRuleTemplateOptionsFollowOriginRedirect","description":"Enables redirection from origin.\nIf the origin server returns a redirect, the option allows the CDN to pull the requested content from the origin server that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsForceReturn:CdnRuleTemplateOptionsForceReturn","description":"Applies custom HTTP response codes for CDN content.\n\nThe following codes are reserved by our system and cannot be specified in this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsForwardHostHeader:CdnRuleTemplateOptionsForwardHostHeader","description":"Forwards the Host header from a end-user request to an origin server.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"gzipOn":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsGzipOn:CdnRuleTemplateOptionsGzipOn","description":"Compresses content with gzip on the CDN end. CDN servers will request only uncompressed content from the origin.\n\nNotes:\n\n1. Compression with gzip is not supported with <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> option in CDN resource settings overrides `gzipON` in rules. If you enable <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> in CDN resource and want to enable `gzipON` in rules, you need to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>:false` for rules.\n"},"hostHeader":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsHostHeader:CdnRuleTemplateOptionsHostHeader","description":"Sets the Host header that CDN servers use when request content from an origin server.\nYour server must be able to process requests with the chosen header.\n\nIf the option is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the Host Header value is equal to first CNAME.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"ignoreCookie":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsIgnoreCookie:CdnRuleTemplateOptionsIgnoreCookie","description":"Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsIgnoreQueryString:CdnRuleTemplateOptionsIgnoreQueryString","description":"How a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.)\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsImageStack:CdnRuleTemplateOptionsImageStack","description":"Transforms JPG and PNG images (for example, resize or crop) and automatically converts them to WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsIpAddressAcl:CdnRuleTemplateOptionsIpAddressAcl","description":"Controls access to the CDN resource content for specific IP addresses.\n\nIf you want to use IPs from our CDN servers IP list for IP ACL configuration, you have to independently monitor their relevance.\n\nWe recommend you use a script for automatically update IP ACL. [Read more.](https://www.terraform.io/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)\n"},"limitBandwidth":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsLimitBandwidth:CdnRuleTemplateOptionsLimitBandwidth","description":"Allows to control the download speed per connection.\n"},"proxyCacheKey":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsProxyCacheKey:CdnRuleTemplateOptionsProxyCacheKey","description":"Allows you to modify your cache key. If omitted, the default value is `$request_uri`.\n\nCombine the specified variables to create a key for caching.\n- **$<span pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\">`request_uri`</span>**\n- **$scheme**\n- **$uri**\n\n**Warning**: Enabling and changing this option can invalidate your current cache and affect the cache hit ratio. Furthermore, the \"Purge by pattern\" option will not work.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsProxyCacheMethodsSet:CdnRuleTemplateOptionsProxyCacheMethodsSet","description":"Caching for POST requests along with default GET and HEAD.\n"},"proxyConnectTimeout":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsProxyConnectTimeout:CdnRuleTemplateOptionsProxyConnectTimeout","description":"The time limit for establishing a connection with the origin.\n"},"proxyReadTimeout":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsProxyReadTimeout:CdnRuleTemplateOptionsProxyReadTimeout","description":"The time limit for receiving a partial response from the origin.\nIf no response is received within this time, the connection will be closed.\n\n**Note:**\nWhen used with a WebSocket connection, this option supports values only in the range 1–20 seconds (instead of the usual 1–30 seconds).\n"},"queryParamsBlacklist":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsQueryParamsBlacklist:CdnRuleTemplateOptionsQueryParamsBlacklist","description":"Files with the specified query parameters are cached as one object, files with other parameters are cached as different objects.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsQueryParamsWhitelist:CdnRuleTemplateOptionsQueryParamsWhitelist","description":"Files with the specified query parameters are cached as different objects, files with other parameters are cached as one object.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryStringForwarding":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsQueryStringForwarding:CdnRuleTemplateOptionsQueryStringForwarding","description":"The Query String Forwarding feature allows for the seamless transfer of parameters embedded in playlist files to the corresponding media chunk files.\nThis functionality ensures that specific attributes, such as authentication tokens or tracking information, are consistently passed along from the playlist manifest to the individual media segments.\nThis is particularly useful for maintaining continuity in security, analytics, and any other parameter-based operations across the entire media delivery workflow.\n"},"redirectHttpToHttps":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsRedirectHttpToHttps:CdnRuleTemplateOptionsRedirectHttpToHttps","description":"Enables redirect from HTTP to HTTPS.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsRedirectHttpsToHttp:CdnRuleTemplateOptionsRedirectHttpsToHttp","description":"Enables redirect from HTTPS to HTTP.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsReferrerAcl:CdnRuleTemplateOptionsReferrerAcl","description":"Controls access to the CDN resource content for specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsResponseHeadersHidingPolicy:CdnRuleTemplateOptionsResponseHeadersHidingPolicy","description":"Hides HTTP headers from an origin server in the CDN response.\n"},"rewrite":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsRewrite:CdnRuleTemplateOptionsRewrite","description":"Changes and redirects requests from the CDN to the origin. It operates according to the [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) configuration.\n"},"secureKey":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsSecureKey:CdnRuleTemplateOptionsSecureKey","description":"Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsSlice:CdnRuleTemplateOptionsSlice","description":"Requests and caches files larger than 10 MB in parts (no larger than 10 MB per part.) This reduces time to first byte.\n\nThe option is based on the [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.\n\nNotes:\n\n1. Origin must support HTTP Range requests.\n2. Not supported with `gzipON`, <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> options enabled.\n"},"sni":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsSni:CdnRuleTemplateOptionsSni","description":"The hostname that is added to SNI requests from CDN servers to the origin server via HTTPS.\n\nSNI is generally only required if your origin uses shared hosting or does not have a dedicated IP address.\nIf the origin server presents multiple certificates, SNI allows the origin server to know which certificate to use for the connection.\n\nThe option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.\n"},"stale":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsStale:CdnRuleTemplateOptionsStale","description":"Serves stale cached content in case of origin unavailability.\n"},"staticHeaders":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsStaticHeaders:CdnRuleTemplateOptionsStaticHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`staticResponseHeaders`\" pulumi-lang-dotnet=\"`StaticResponseHeaders`\" pulumi-lang-go=\"`staticResponseHeaders`\" pulumi-lang-python=\"`static_response_headers`\" pulumi-lang-yaml=\"`staticResponseHeaders`\" pulumi-lang-java=\"`staticResponseHeaders`\">`static_response_headers`</span> option instead.\n\nCustom HTTP Headers that a CDN server adds to response. Up to fifty custom HTTP Headers can be specified. May contain a header with multiple values.\n"},"staticRequestHeaders":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsStaticRequestHeaders:CdnRuleTemplateOptionsStaticRequestHeaders","description":"Custom HTTP Headers for a CDN server to add to request. Up to fifty custom HTTP Headers can be specified.\n"},"staticResponseHeaders":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsStaticResponseHeaders:CdnRuleTemplateOptionsStaticResponseHeaders","description":"Custom HTTP Headers that a CDN server adds to a response.\n"},"userAgentAcl":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsUserAgentAcl:CdnRuleTemplateOptionsUserAgentAcl","description":"Controls access to the content for specified User-Agents.\n"},"waap":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsWaap:CdnRuleTemplateOptionsWaap","description":"Allows to enable WAAP (Web Application and API Protection).\n"},"websockets":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsWebsockets:CdnRuleTemplateOptionsWebsockets","description":"Enables or disables WebSockets connections to an origin server.\n"}},"type":"object"},"gcore:index/CdnRuleTemplateOptionsAllowedHttpMethods:CdnRuleTemplateOptionsAllowedHttpMethods":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsBrotliCompression:CdnRuleTemplateOptionsBrotliCompression":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Allows to select the content types you want to compress.\n\n`text/html` is a mandatory content type.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsBrowserCacheSettings:CdnRuleTemplateOptionsBrowserCacheSettings":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Set the cache expiration time to '0s' to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsCacheHttpHeaders:CdnRuleTemplateOptionsCacheHttpHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsCors:CdnRuleTemplateOptionsCors":{"language":{"nodejs":{"requiredOutputs":["always","enabled","values"]}},"properties":{"always":{"description":"Defines whether the Access-Control-Allow-Origin header should be added to a response from CDN regardless of response code.\n\nPossible values:\n- **true** - Header will be added to a response regardless of response code.\n- **false** - Header will only be added to responses with codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Value of the Access-Control-Allow-Origin header.\n\nPossible values:\n- **Adds * as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain.\n`\"value\": [\"*\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field.\n`\"value\": [\"domain.com\", \"second.dom.com\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the \"Access-Control-Allow-Origin\" header in the response.\n`\"value\": [\"$http_origin\"]`\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsCountryAcl:CdnRuleTemplateOptionsCountryAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of countries according to ISO-3166-1.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of countries for which access is prohibited.\n- **deny** - List of countries for which access is allowed.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Defines the type of CDN resource access policy.\n\nPossible values:\n- **allow** - Access is allowed for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Access is denied for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsDisableCache:CdnRuleTemplateOptionsDisableCache":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - content caching is disabled.\n- **false** - content caching is enabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsDisableProxyForceRanges:CdnRuleTemplateOptionsDisableProxyForceRanges":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsEdgeCacheSettings:CdnRuleTemplateOptionsEdgeCacheSettings":{"language":{"nodejs":{"requiredOutputs":["customValues","enabled"]}},"properties":{"customValues":{"additionalProperties":{"type":"string"},"description":"A MAP object representing the caching time in seconds for a response with a specific response code.\n\nThese settings have a higher priority than the <span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> field.\n\n- Use <span pulumi-lang-nodejs=\"`any`\" pulumi-lang-dotnet=\"`Any`\" pulumi-lang-go=\"`any`\" pulumi-lang-python=\"`any`\" pulumi-lang-yaml=\"`any`\" pulumi-lang-java=\"`any`\">`any`</span> key to specify caching time for all response codes.\n- Use <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> value to disable caching for a specific response code.\n","type":"object"},"default":{"description":"Enables content caching according to the origin cache settings.\n\nThe value is applied to the following response codes 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, if an origin server does not have caching HTTP headers.\n\nResponses with other codes will not be cached.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Caching time.\n\nThe value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached.\n\nUse <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFastedge:CdnRuleTemplateOptionsFastedge":{"language":{"nodejs":{"requiredOutputs":["enabled","onRequestBody","onRequestHeaders","onResponseBody","onResponseHeaders"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"onRequestBody":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFastedgeOnRequestBody:CdnRuleTemplateOptionsFastedgeOnRequestBody","description":"Allows to configure FastEdge application that will be called to handle request body as soon as CDN receives incoming HTTP request.\n"},"onRequestHeaders":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFastedgeOnRequestHeaders:CdnRuleTemplateOptionsFastedgeOnRequestHeaders","description":"Allows to configure FastEdge application that will be called to handle request headers as soon as CDN receives incoming HTTP request, **before cache**.\n"},"onResponseBody":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFastedgeOnResponseBody:CdnRuleTemplateOptionsFastedgeOnResponseBody","description":"Allows to configure FastEdge application that will be called to handle response body before CDN sends the HTTP response.\n"},"onResponseHeaders":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsFastedgeOnResponseHeaders:CdnRuleTemplateOptionsFastedgeOnResponseHeaders","description":"Allows to configure FastEdge application that will be called to handle response headers before CDN sends the HTTP response.\n"}},"required":["enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFastedgeOnRequestBody:CdnRuleTemplateOptionsFastedgeOnRequestBody":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFastedgeOnRequestHeaders:CdnRuleTemplateOptionsFastedgeOnRequestHeaders":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFastedgeOnResponseBody:CdnRuleTemplateOptionsFastedgeOnResponseBody":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFastedgeOnResponseHeaders:CdnRuleTemplateOptionsFastedgeOnResponseHeaders":{"language":{"nodejs":{"requiredOutputs":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFetchCompressed:CdnRuleTemplateOptionsFetchCompressed":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsFollowOriginRedirect:CdnRuleTemplateOptionsFollowOriginRedirect":{"properties":{"codes":{"description":"Redirect status code that the origin server returns.\n","items":{"type":"number"},"type":"array"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["codes","enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsForceReturn:CdnRuleTemplateOptionsForceReturn":{"language":{"nodejs":{"requiredOutputs":["body","code","enabled","timeInterval"]}},"properties":{"body":{"description":"URL for redirection or text.\n","type":"string"},"code":{"description":"Status code value.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"timeInterval":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsForceReturnTimeInterval:CdnRuleTemplateOptionsForceReturnTimeInterval","description":"Controls the time at which a custom HTTP response code should be applied. By default, a custom HTTP response code is applied at any time.\n"}},"required":["body","code","enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsForceReturnTimeInterval:CdnRuleTemplateOptionsForceReturnTimeInterval":{"language":{"nodejs":{"requiredOutputs":["endTime","startTime","timeZone"]}},"properties":{"endTime":{"description":"Time until which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"startTime":{"description":"Time from which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"timeZone":{"description":"Time zone used to calculate time.\n","type":"string"}},"required":["endTime","startTime"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsForwardHostHeader:CdnRuleTemplateOptionsForwardHostHeader":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsGzipOn:CdnRuleTemplateOptionsGzipOn":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsHostHeader:CdnRuleTemplateOptionsHostHeader":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Host Header value.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsIgnoreCookie:CdnRuleTemplateOptionsIgnoreCookie":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled, files with cookies are cached as one file.\n- **false** - Option is disabled, files with cookies are cached as different files.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsIgnoreQueryString:CdnRuleTemplateOptionsIgnoreQueryString":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsImageStack:CdnRuleTemplateOptionsImageStack":{"language":{"nodejs":{"requiredOutputs":["avifEnabled","enabled","pngLossless","quality","webpEnabled"]}},"properties":{"avifEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to AVI format.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"pngLossless":{"description":"Enables or disables compression without quality loss for PNG format.\n","type":"boolean"},"quality":{"description":"Defines quality settings for JPG and PNG images. The higher the value, the better the image quality, and the larger the file size after conversion.\n","type":"number"},"webpEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to WebP format.\n","type":"boolean"}},"required":["enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsIpAddressAcl:CdnRuleTemplateOptionsIpAddressAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of IP addresses with a subnet mask.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of IP addresses for which access is prohibited.\n- **deny** - List of IP addresses for which access is allowed.\n\nExamples:\n- `192.168.3.2/32`\n- `2a03:d000:2980:7::8/128`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"IP access policy type.\n\nPossible values:\n- **allow** - Allow access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\n- **deny** - Deny access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsLimitBandwidth:CdnRuleTemplateOptionsLimitBandwidth":{"properties":{"buffer":{"description":"Amount of downloaded data after which the user will be rate limited.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"limitType":{"description":"Method of controlling the download speed per connection.\n\nPossible values:\n- **static** - Use speed and buffer fields to set the download speed limit.\n- **dynamic** - Use query strings **speed** and **buffer** to set the download speed limit.\n\nFor example, when requesting content at the link\n\n```\nhttp://cdn.example.com/video.mp4?speed=50k&buffer=500k\n```\n\nthe download speed will be limited to 50kB/s after 500 kB.\nAvailable values: \"static\", \"dynamic\".\n","type":"string"},"speed":{"description":"Maximum download speed per connection.\n","type":"number"}},"required":["enabled","limitType"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsProxyCacheKey:CdnRuleTemplateOptionsProxyCacheKey":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Key for caching.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsProxyCacheMethodsSet:CdnRuleTemplateOptionsProxyCacheMethodsSet":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsProxyConnectTimeout:CdnRuleTemplateOptionsProxyConnectTimeout":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 5s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsProxyReadTimeout:CdnRuleTemplateOptionsProxyReadTimeout":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 30s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsQueryParamsBlacklist:CdnRuleTemplateOptionsQueryParamsBlacklist":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsQueryParamsWhitelist:CdnRuleTemplateOptionsQueryParamsWhitelist":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsQueryStringForwarding:CdnRuleTemplateOptionsQueryStringForwarding":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"forwardExceptKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardExceptKeys`\" pulumi-lang-dotnet=\"`ForwardExceptKeys`\" pulumi-lang-go=\"`forwardExceptKeys`\" pulumi-lang-python=\"`forward_except_keys`\" pulumi-lang-yaml=\"`forwardExceptKeys`\" pulumi-lang-java=\"`forwardExceptKeys`\">`forward_except_keys`</span> field provides a mechanism to exclude specific parameters from being forwarded from playlist files to media chunk files.\nBy listing certain keys in this field, you can ensure that these parameters are omitted during the forwarding process.\nThis is particularly useful for preventing sensitive or irrelevant information from being included in requests for media chunks, thereby enhancing security and optimizing performance.\n","items":{"type":"string"},"type":"array"},"forwardFromFileTypes":{"description":"The <span pulumi-lang-nodejs=\"`forwardFromFilesTypes`\" pulumi-lang-dotnet=\"`ForwardFromFilesTypes`\" pulumi-lang-go=\"`forwardFromFilesTypes`\" pulumi-lang-python=\"`forward_from_files_types`\" pulumi-lang-yaml=\"`forwardFromFilesTypes`\" pulumi-lang-java=\"`forwardFromFilesTypes`\">`forward_from_files_types`</span> field specifies the types of playlist files from which parameters will be extracted and forwarded.\nThis typically includes formats that list multiple media chunk references, such as HLS and DASH playlists.\nParameters associated with these playlist files (like query strings or headers) will be propagated to the chunks they reference.\n","items":{"type":"string"},"type":"array"},"forwardOnlyKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardOnlyKeys`\" pulumi-lang-dotnet=\"`ForwardOnlyKeys`\" pulumi-lang-go=\"`forwardOnlyKeys`\" pulumi-lang-python=\"`forward_only_keys`\" pulumi-lang-yaml=\"`forwardOnlyKeys`\" pulumi-lang-java=\"`forwardOnlyKeys`\">`forward_only_keys`</span> field allows for granular control over which specific parameters are forwarded from playlist files to media chunk files.\nBy specifying certain keys, only those parameters will be propagated, ensuring that only relevant information is passed along.\nThis is particularly useful for security and performance optimization, as it prevents unnecessary or sensitive data from being included in requests for media chunks.\n","items":{"type":"string"},"type":"array"},"forwardToFileTypes":{"description":"The field specifies the types of media chunk files to which parameters, extracted from playlist files, will be forwarded.\nThese refer to the actual segments of media content that are delivered to viewers.\nEnsuring the correct parameters are forwarded to these files is crucial for maintaining the integrity of the streaming session.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","forwardFromFileTypes","forwardToFileTypes"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsRedirectHttpToHttps:CdnRuleTemplateOptionsRedirectHttpToHttps":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsRedirectHttpsToHttp:CdnRuleTemplateOptionsRedirectHttpsToHttp":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsReferrerAcl:CdnRuleTemplateOptionsReferrerAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of domain names or wildcard domains (without protocol: `http://` or `https://`.)\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of domain names for which access is prohibited.\n- **deny** - List of IP domain names for which access is allowed.\n\nExamples:\n- `example.com`\n- `*.example.com`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Policy type.\n\nPossible values:\n- **allow** - Allow access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsResponseHeadersHidingPolicy:CdnRuleTemplateOptionsResponseHeadersHidingPolicy":{"language":{"nodejs":{"requiredOutputs":["enabled","excepteds","mode"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"excepteds":{"description":"List of HTTP headers.\n\nParameter meaning depends on the value of the <span pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\">`mode`</span> field:\n- **show** - List of HTTP headers to hide from response.\n- **hide** - List of HTTP headers to include in response. Other HTTP headers will be hidden.\n\nThe following headers are required and cannot be hidden from response:\n- `Connection`\n- `Content-Length`\n- `Content-Type`\n- `Date`\n- `Server`\n","items":{"type":"string"},"type":"array"},"mode":{"description":"How HTTP headers are hidden from the response.\n\nPossible values:\n- **show** - Hide only HTTP headers listed in the <span pulumi-lang-nodejs=\"`excepted`\" pulumi-lang-dotnet=\"`Excepted`\" pulumi-lang-go=\"`excepted`\" pulumi-lang-python=\"`excepted`\" pulumi-lang-yaml=\"`excepted`\" pulumi-lang-java=\"`excepted`\">`excepted`</span> field.\n- **hide** - Hide all HTTP headers except headers listed in the \"excepted\" field.\nAvailable values: \"hide\", \"show\".\n","type":"string"}},"required":["enabled","mode"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsRewrite:CdnRuleTemplateOptionsRewrite":{"language":{"nodejs":{"requiredOutputs":["body","enabled","flag"]}},"properties":{"body":{"description":"Path for the Rewrite option.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"flag":{"description":"Flag for the Rewrite option.\n\nPossible values:\n- **last** - Stop processing the current set of <span pulumi-lang-nodejs=\"`ngxHttpRewriteModule`\" pulumi-lang-dotnet=\"`NgxHttpRewriteModule`\" pulumi-lang-go=\"`ngxHttpRewriteModule`\" pulumi-lang-python=\"`ngx_http_rewrite_module`\" pulumi-lang-yaml=\"`ngxHttpRewriteModule`\" pulumi-lang-java=\"`ngxHttpRewriteModule`\">`ngx_http_rewrite_module`</span> directives and start a search for a new location matching changed URI.\n- **break** - Stop processing the current set of the Rewrite option.\n- **redirect** - Return a temporary redirect with the 302 code; used when a replacement string does not start with `http://`, `https://`, or `$scheme`.\n- **permanent** - Return a permanent redirect with the 301 code.\nAvailable values: \"break\", \"last\", \"redirect\", \"permanent\".\n","type":"string"}},"required":["body","enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsSecureKey:CdnRuleTemplateOptionsSecureKey":{"language":{"nodejs":{"requiredOutputs":["enabled","key","type"]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"key":{"description":"Key generated on your side that will be used for URL signing.\n","type":"string"},"type":{"description":"Type of URL signing.\n\nPossible types:\n- **Type 0** - Includes end user IP to secure token generation.\n- **Type 2** - Excludes end user IP from secure token generation.\nAvailable values: 0, 2.\n","type":"number"}},"required":["enabled","key"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsSlice:CdnRuleTemplateOptionsSlice":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsSni:CdnRuleTemplateOptionsSni":{"language":{"nodejs":{"requiredOutputs":["customHostname","enabled","sniType"]}},"properties":{"customHostname":{"description":"Custom SNI hostname.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"sniType":{"description":"SNI (Server Name Indication) type.\n\nPossible values:\n- **dynamic** - SNI hostname depends on `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options.\nIt has several possible combinations:\n- If the `hostHeader` option is enabled and specified, SNI hostname matches the Host header.\n- If the <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> option is enabled and has true value, SNI hostname matches the Host header used in the request made to a CDN.\n- If the `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options are disabled, SNI hostname matches the primary CNAME.\n- **custom** - custom SNI hostname is in use.\nAvailable values: \"dynamic\", \"custom\".\n","type":"string"}},"required":["customHostname","enabled"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsStale:CdnRuleTemplateOptionsStale":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Defines list of errors for which \"Always online\" option is applied.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsStaticHeaders:CdnRuleTemplateOptionsStaticHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 128 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsStaticRequestHeaders:CdnRuleTemplateOptionsStaticRequestHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"additionalProperties":{"type":"string"},"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"object"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsStaticResponseHeaders:CdnRuleTemplateOptionsStaticResponseHeaders":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"$ref":"#/types/gcore:index%2FCdnRuleTemplateOptionsStaticResponseHeadersValue:CdnRuleTemplateOptionsStaticResponseHeadersValue"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsStaticResponseHeadersValue:CdnRuleTemplateOptionsStaticResponseHeadersValue":{"language":{"nodejs":{"requiredOutputs":["always","name","values"]}},"properties":{"always":{"description":"Defines whether the header will be added to a response from CDN regardless of response code.\n\nPossible values:\n- **true** - Header will be added to a response from CDN regardless of response code.\n- **false** - Header will be added only to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n","type":"boolean"},"name":{"description":"HTTP Header name.\n","type":"string"},"values":{"description":"Header value.\n\nRestrictions:\n- Maximum 512 symbols.\n- Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]).\n- Must start with a letter, number, asterisk or {.\n- Multiple values can be added.\n","items":{"type":"string"},"type":"array"}},"required":["name","values"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsUserAgentAcl:CdnRuleTemplateOptionsUserAgentAcl":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of User-Agents that will be allowed/denied.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span>:\n- **allow** - List of User-Agents for which access is prohibited.\n- **deny** - List of User-Agents for which access is allowed.\n\nYou can provide exact User-Agent strings or regular expressions. Regular expressions must start\nwith `~` (case-sensitive) or `~*` (case-insensitive).\n\nUse an empty string `\"\"` to allow/deny access when the User-Agent header is empty.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"User-Agents policy type.\n\nPossible values:\n- **allow** - Allow access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsWaap:CdnRuleTemplateOptionsWaap":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CdnRuleTemplateOptionsWebsockets:CdnRuleTemplateOptionsWebsockets":{"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/CloudBaremetalServerAddresses:CloudBaremetalServerAddresses":{"properties":{"addr":{"type":"string"},"interfaceName":{"description":"Interface name. Defaults to <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> and is returned as <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> in the API response if not set.\n","type":"string"},"subnetId":{"type":"string"},"subnetName":{"type":"string"},"type":{"description":"A public IP address will be assigned to the instance.\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"reserved*fixed_ip\".\n","type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/CloudBaremetalServerBlackholePort:CloudBaremetalServerBlackholePort":{"language":{"nodejs":{"requiredOutputs":["alarmEnd","alarmStart","alarmState","alertDuration","destinationIp","id"]}},"properties":{"alarmEnd":{"description":"A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z\n","type":"string"},"alarmStart":{"description":"A date-time string giving the time that the alarm started\n","type":"string"},"alarmState":{"description":"Current state of alarm\nAvailable values: \"ACK*REQ\", \"ALARM\", \"ARCHIVED\", \"CLEAR\", \"CLEARING\", \"CLEARING*FAIL\", \"END*GRACE\", \"END*WAIT\", \"MANUAL*CLEAR\", \"MANUAL*CLEARING\", \"MANUAL*CLEARING*FAIL\", \"MANUAL*MITIGATING\", \"MANUAL*STARTING\", \"MANUAL*STARTING*FAIL\", \"MITIGATING\", \"STARTING\", \"STARTING*FAIL\", \"START*WAIT\", \"ack*req\", \"alarm\", \"archived\", \"clear\", \"clearing\", \"clearing*fail\", \"end*grace\", \"end*wait\", \"manual*clear\", \"manual*clearing\", \"manual*clearing*fail\", \"manual*mitigating\", \"manual*starting\", \"manual*starting*fail\", \"mitigating\", \"start*wait\", \"starting\", \"starting*fail\".\n","type":"string"},"alertDuration":{"description":"Total alert duration\n","type":"string"},"destinationIp":{"description":"Notification destination IP address\n","type":"string"},"id":{"type":"number"}},"type":"object"},"gcore:index/CloudBaremetalServerFixedIpAssignment:CloudBaremetalServerFixedIpAssignment":{"language":{"nodejs":{"requiredOutputs":["external","ipAddress","subnetId"]}},"properties":{"external":{"description":"Is network external\n","type":"boolean"},"ipAddress":{"description":"Ip address\n","type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"}},"type":"object"},"gcore:index/CloudBaremetalServerInstanceIsolation:CloudBaremetalServerInstanceIsolation":{"language":{"nodejs":{"requiredOutputs":["reason"]}},"properties":{"reason":{"description":"The reason of instance isolation if it is isolated from external internet.\n","type":"string"}},"type":"object"},"gcore:index/CloudBaremetalServerInterface:CloudBaremetalServerInterface":{"language":{"nodejs":{"requiredOutputs":["portGroup","type"]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FCloudBaremetalServerInterfaceFloatingIp:CloudBaremetalServerInterfaceFloatingIp","description":"Allows the instance to have a public IP that can be reached from the internet.\n"},"interfaceName":{"description":"Interface name. Defaults to <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> and is returned as <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> in the API response if not set.\n","type":"string"},"ipAddress":{"description":"You can specify a specific IP address from your subnet.\n","type":"string"},"ipFamily":{"description":"Specify <span pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\">`ipv4`</span>, <span pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\">`ipv6`</span>, or <span pulumi-lang-nodejs=\"`dual`\" pulumi-lang-dotnet=\"`Dual`\" pulumi-lang-go=\"`dual`\" pulumi-lang-python=\"`dual`\" pulumi-lang-yaml=\"`dual`\" pulumi-lang-java=\"`dual`\">`dual`</span> to enable both.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"networkId":{"description":"The network where the instance will be connected.\n","type":"string"},"portGroup":{"description":"Specifies the trunk group to which this interface belongs. Applicable only for bare metal servers. Each unique port group is mapped to a separate trunk port. Use this to control how interfaces are grouped across trunks.\n","type":"number"},"portId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network.\n","type":"string"},"subnetId":{"description":"The instance will get an IP address from this subnet.\n","type":"string"},"type":{"description":"A public IP address will be assigned to the instance.\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"reserved*fixed_ip\".\n","type":"string"}},"required":["type"],"type":"object"},"gcore:index/CloudBaremetalServerInterfaceFloatingIp:CloudBaremetalServerInterfaceFloatingIp":{"properties":{"existingFloatingId":{"description":"An existing available floating IP id must be specified if the source is set to <span pulumi-lang-nodejs=\"`existing`\" pulumi-lang-dotnet=\"`Existing`\" pulumi-lang-go=\"`existing`\" pulumi-lang-python=\"`existing`\" pulumi-lang-yaml=\"`existing`\" pulumi-lang-java=\"`existing`\">`existing`</span>\n","type":"string"},"source":{"description":"A new floating IP will be created and attached to the instance. A floating IP is a public IP that makes the instance accessible from the internet, even if it only has a private IP. It works like SNAT, allowing outgoing and incoming traffic.\nAvailable values: \"new\", \"existing\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/CloudFileShareNetwork:CloudFileShareNetwork":{"properties":{"networkId":{"description":"Network ID.\n","type":"string"},"subnetId":{"description":"Subnetwork ID. If the subnet is not selected, it will be selected automatically.\n","type":"string"}},"required":["networkId"],"type":"object"},"gcore:index/CloudFileShareShareSettings:CloudFileShareShareSettings":{"language":{"nodejs":{"requiredOutputs":["allowedCharacters","pathLength","rootSquash"]}},"properties":{"allowedCharacters":{"description":"Determines which characters are allowed in file names. Choose between:\n- Lowest Common Denominator (LCD), allows only characters allowed by all VAST Cluster-supported protocols\n- Native Protocol Limit (NPL), imposes no limitation beyond that of the client protocol.\nAvailable values: \"LCD\", \"NPL\".\n","type":"string"},"pathLength":{"description":"Affects the maximum limit of file path component name length. Choose between:\n- Lowest Common Denominator (LCD), imposes the lowest common denominator file length limit of all VAST Cluster-supported protocols. With this (default) option, the limitation on the length of a single component of the path is 255 characters\n- Native Protocol Limit (NPL), imposes no limitation beyond that of the client protocol.\nAvailable values: \"LCD\", \"NPL\".\n","type":"string"},"rootSquash":{"description":"Enables or disables root squash for NFS clients.\n- If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span> (default), root squash is enabled: the root user is mapped to nobody for all file and folder management operations on the export.\n- If <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>, root squash is disabled: the NFS client <span pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\">`root`</span> user retains root privileges. Use this option if you trust the root user not to perform operations that will corrupt data.\n","type":"boolean"}},"type":"object"},"gcore:index/CloudGpuBaremetalClusterServersSettings:CloudGpuBaremetalClusterServersSettings":{"language":{"nodejs":{"requiredOutputs":["fileShares","interfaces","securityGroups","userData"]}},"properties":{"credentials":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettingsCredentials:CloudGpuBaremetalClusterServersSettingsCredentials","description":"Optional server access credentials\n"},"fileShares":{"description":"List of file shares to be mounted across the cluster.\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettingsFileShare:CloudGpuBaremetalClusterServersSettingsFileShare"},"type":"array"},"interfaces":{"description":"Subnet IPs and floating IPs\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettingsInterface:CloudGpuBaremetalClusterServersSettingsInterface"},"type":"array"},"securityGroups":{"description":"List of security groups UUIDs\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettingsSecurityGroup:CloudGpuBaremetalClusterServersSettingsSecurityGroup"},"type":"array"},"userData":{"description":"Optional custom user data (Base64-encoded)\n","type":"string"}},"required":["interfaces"],"type":"object"},"gcore:index/CloudGpuBaremetalClusterServersSettingsCredentials:CloudGpuBaremetalClusterServersSettingsCredentials":{"properties":{"passwordWo":{"description":"Used to set the password for the specified 'username' on Linux instances. If 'username' is not provided, the password is applied to the default user of the image. Mutually exclusive with '<span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>' - only one can be specified.\n","type":"string"},"passwordWoVersion":{"description":"Version of the password write-only field. Increment this value to trigger an update when changing the password.\n","type":"number"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).\n","type":"string"},"username":{"description":"The 'username' and 'password' fields create a new user on the system\n","type":"string"}},"type":"object"},"gcore:index/CloudGpuBaremetalClusterServersSettingsFileShare:CloudGpuBaremetalClusterServersSettingsFileShare":{"properties":{"id":{"description":"Unique identifier of the file share in UUID format.\n","type":"string"},"mountPath":{"description":"Absolute mount path inside the system where the file share will be mounted.\n","type":"string"}},"required":["id","mountPath"],"type":"object"},"gcore:index/CloudGpuBaremetalClusterServersSettingsInterface:CloudGpuBaremetalClusterServersSettingsInterface":{"language":{"nodejs":{"requiredOutputs":["ipFamily","name","type"]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FCloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp:CloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp","description":"Floating IP config for this subnet attachment\n"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6, or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"name":{"description":"Interface name\n","type":"string"},"networkId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network\n","type":"string"},"subnetId":{"description":"Port is assigned an IP address from this subnet\n","type":"string"},"type":{"description":"Available values: \"external\", \"subnet\", <span pulumi-lang-nodejs=\"\"anySubnet\"\" pulumi-lang-dotnet=\"\"AnySubnet\"\" pulumi-lang-go=\"\"anySubnet\"\" pulumi-lang-python=\"\"any_subnet\"\" pulumi-lang-yaml=\"\"anySubnet\"\" pulumi-lang-java=\"\"anySubnet\"\">\"any_subnet\"</span>.\n","type":"string"}},"required":["type"],"type":"object"},"gcore:index/CloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp:CloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp":{"properties":{"source":{"description":"Available values: \"new\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/CloudGpuBaremetalClusterServersSettingsSecurityGroup:CloudGpuBaremetalClusterServersSettingsSecurityGroup":{"properties":{"id":{"description":"Resource ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettings:CloudGpuVirtualClusterServersSettings":{"language":{"nodejs":{"requiredOutputs":["fileShares","interfaces","securityGroups","userData","volumes"]}},"properties":{"credentials":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettingsCredentials:CloudGpuVirtualClusterServersSettingsCredentials","description":"Optional server access credentials\n"},"fileShares":{"description":"List of file shares to be mounted across the cluster.\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettingsFileShare:CloudGpuVirtualClusterServersSettingsFileShare"},"type":"array"},"interfaces":{"description":"Subnet IPs and floating IPs\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettingsInterface:CloudGpuVirtualClusterServersSettingsInterface"},"type":"array"},"securityGroups":{"description":"List of security groups UUIDs\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettingsSecurityGroup:CloudGpuVirtualClusterServersSettingsSecurityGroup"},"type":"array"},"userData":{"description":"Optional custom user data (Base64-encoded)\n","type":"string"},"volumes":{"description":"List of volumes\n","items":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettingsVolume:CloudGpuVirtualClusterServersSettingsVolume"},"type":"array"}},"required":["interfaces","volumes"],"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettingsCredentials:CloudGpuVirtualClusterServersSettingsCredentials":{"properties":{"passwordWo":{"description":"Used to set the password for the specified 'username' on Linux instances. If 'username' is not provided, the password is applied to the default user of the image. Mutually exclusive with '<span pulumi-lang-nodejs=\"`userData`\" pulumi-lang-dotnet=\"`UserData`\" pulumi-lang-go=\"`userData`\" pulumi-lang-python=\"`user_data`\" pulumi-lang-yaml=\"`userData`\" pulumi-lang-java=\"`userData`\">`user_data`</span>' - only one can be specified.\n","type":"string"},"passwordWoVersion":{"description":"Version of the password write-only field. Increment this value to trigger an update when changing the password.\n","type":"number"},"sshKeyName":{"description":"Specifies the name of the SSH keypair, created via the\n[/v1/<span pulumi-lang-nodejs=\"`sshKeys`\" pulumi-lang-dotnet=\"`SshKeys`\" pulumi-lang-go=\"`sshKeys`\" pulumi-lang-python=\"`ssh_keys`\" pulumi-lang-yaml=\"`sshKeys`\" pulumi-lang-java=\"`sshKeys`\">`ssh_keys`</span> endpoint](https://www.terraform.io/docs/api-reference/cloud/ssh-keys/add-or-generate-ssh-key).\n","type":"string"},"username":{"description":"The 'username' and 'password' fields create a new user on the system\n","type":"string"}},"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettingsFileShare:CloudGpuVirtualClusterServersSettingsFileShare":{"properties":{"id":{"description":"Unique identifier of the file share in UUID format.\n","type":"string"},"mountPath":{"description":"Absolute mount path inside the system where the file share will be mounted.\n","type":"string"}},"required":["id","mountPath"],"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettingsInterface:CloudGpuVirtualClusterServersSettingsInterface":{"language":{"nodejs":{"requiredOutputs":["ipFamily","name","type"]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FCloudGpuVirtualClusterServersSettingsInterfaceFloatingIp:CloudGpuVirtualClusterServersSettingsInterfaceFloatingIp","description":"Floating IP config for this subnet attachment\n"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6, or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"name":{"description":"Interface name\n","type":"string"},"networkId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network\n","type":"string"},"subnetId":{"description":"Port is assigned an IP address from this subnet\n","type":"string"},"type":{"description":"Available values: \"external\", \"subnet\", <span pulumi-lang-nodejs=\"\"anySubnet\"\" pulumi-lang-dotnet=\"\"AnySubnet\"\" pulumi-lang-go=\"\"anySubnet\"\" pulumi-lang-python=\"\"any_subnet\"\" pulumi-lang-yaml=\"\"anySubnet\"\" pulumi-lang-java=\"\"anySubnet\"\">\"any_subnet\"</span>.\n","type":"string"}},"required":["type"],"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettingsInterfaceFloatingIp:CloudGpuVirtualClusterServersSettingsInterfaceFloatingIp":{"properties":{"source":{"description":"Available values: \"new\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettingsSecurityGroup:CloudGpuVirtualClusterServersSettingsSecurityGroup":{"properties":{"id":{"description":"Resource ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/CloudGpuVirtualClusterServersSettingsVolume:CloudGpuVirtualClusterServersSettingsVolume":{"language":{"nodejs":{"requiredOutputs":["bootIndex","deleteOnTermination","name","size","source","type"]}},"properties":{"bootIndex":{"description":"Boot index of the volume\n","type":"number"},"deleteOnTermination":{"description":"Flag indicating whether the volume is deleted on instance termination\n","type":"boolean"},"imageId":{"description":"Image ID for the volume (required if source is 'image')\n","type":"string"},"name":{"description":"Volume name\n","type":"string"},"size":{"description":"Volume size in GiB\n","type":"number"},"source":{"description":"Available values: \"new\", \"image\".\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags associated with the volume\n","type":"object"},"type":{"description":"Volume type\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"}},"required":["bootIndex","name","size","source","type"],"type":"object"},"gcore:index/CloudInferenceSecretData:CloudInferenceSecretData":{"properties":{"awsAccessKeyIdWo":{"description":"AWS IAM key ID.\n","type":"string"},"awsSecretAccessKeyWo":{"description":"AWS IAM secret key.\n","type":"string"}},"required":["awsAccessKeyIdWo","awsSecretAccessKeyWo"],"type":"object"},"gcore:index/CloudInstanceAddresses:CloudInstanceAddresses":{"properties":{"addr":{"type":"string"},"interfaceName":{"description":"Interface name. Defaults to <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> and is returned as <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> in the API response if not set.\n","type":"string"},"subnetId":{"type":"string"},"subnetName":{"type":"string"},"type":{"description":"A public IP address will be assigned to the instance.\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"reserved*fixed_ip\".\n","type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/CloudInstanceBlackholePort:CloudInstanceBlackholePort":{"language":{"nodejs":{"requiredOutputs":["alarmEnd","alarmStart","alarmState","alertDuration","destinationIp","id"]}},"properties":{"alarmEnd":{"description":"A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z\n","type":"string"},"alarmStart":{"description":"A date-time string giving the time that the alarm started\n","type":"string"},"alarmState":{"description":"Current state of alarm\nAvailable values: \"ACK*REQ\", \"ALARM\", \"ARCHIVED\", \"CLEAR\", \"CLEARING\", \"CLEARING*FAIL\", \"END*GRACE\", \"END*WAIT\", \"MANUAL*CLEAR\", \"MANUAL*CLEARING\", \"MANUAL*CLEARING*FAIL\", \"MANUAL*MITIGATING\", \"MANUAL*STARTING\", \"MANUAL*STARTING*FAIL\", \"MITIGATING\", \"STARTING\", \"STARTING*FAIL\", \"START*WAIT\", \"ack*req\", \"alarm\", \"archived\", \"clear\", \"clearing\", \"clearing*fail\", \"end*grace\", \"end*wait\", \"manual*clear\", \"manual*clearing\", \"manual*clearing*fail\", \"manual*mitigating\", \"manual*starting\", \"manual*starting*fail\", \"mitigating\", \"start*wait\", \"starting\", \"starting*fail\".\n","type":"string"},"alertDuration":{"description":"Total alert duration\n","type":"string"},"destinationIp":{"description":"Notification destination IP address\n","type":"string"},"id":{"type":"number"}},"type":"object"},"gcore:index/CloudInstanceDdosProfile:CloudInstanceDdosProfile":{"language":{"nodejs":{"requiredOutputs":["fields","id","options","profileTemplate","profileTemplateDescription","protocols","site","status"]}},"properties":{"fields":{"description":"List of configured field values for the protection profile\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfileField:CloudInstanceDdosProfileField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection profile\n","type":"number"},"options":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfileOptions:CloudInstanceDdosProfileOptions","description":"Configuration options controlling profile activation and BGP routing\n"},"profileTemplate":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfileProfileTemplate:CloudInstanceDdosProfileProfileTemplate","description":"Complete template configuration data used for this profile\n"},"profileTemplateDescription":{"description":"Detailed description of the protection template used for this profile\n","type":"string"},"protocols":{"description":"List of network protocols and ports configured for protection\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfileProtocol:CloudInstanceDdosProfileProtocol"},"type":"array"},"site":{"description":"Geographic site identifier where the protection is deployed\n","type":"string"},"status":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfileStatus:CloudInstanceDdosProfileStatus","description":"Current operational status and any error information for the profile\n"}},"type":"object"},"gcore:index/CloudInstanceDdosProfileField:CloudInstanceDdosProfileField":{"language":{"nodejs":{"requiredOutputs":["baseField","default","description","fieldType","fieldValue","id","name","required","validationSchema"]}},"properties":{"baseField":{"description":"ID of DDoS profile field\n","type":"number"},"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"fieldValue":{"description":"Complex value for the DDoS profile field\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"type":"object"},"gcore:index/CloudInstanceDdosProfileOptions:CloudInstanceDdosProfileOptions":{"language":{"nodejs":{"requiredOutputs":["active","bgp"]}},"properties":{"active":{"description":"Controls whether the DDoS protection profile is enabled and actively protecting the resource\n","type":"boolean"},"bgp":{"description":"Enables Border Gateway Protocol (BGP) routing for DDoS protection traffic\n","type":"boolean"}},"type":"object"},"gcore:index/CloudInstanceDdosProfileProfileTemplate:CloudInstanceDdosProfileProfileTemplate":{"language":{"nodejs":{"requiredOutputs":["description","fields","id","name"]}},"properties":{"description":{"description":"Detailed description explaining the template's purpose and use cases\n","type":"string"},"fields":{"description":"List of configurable fields that define the template's protection parameters\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceDdosProfileProfileTemplateField:CloudInstanceDdosProfileProfileTemplateField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection template\n","type":"number"},"name":{"description":"Human-readable name of the protection template\n","type":"string"}},"type":"object"},"gcore:index/CloudInstanceDdosProfileProfileTemplateField:CloudInstanceDdosProfileProfileTemplateField":{"language":{"nodejs":{"requiredOutputs":["default","description","fieldType","id","name","required","validationSchema"]}},"properties":{"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"type":"object"},"gcore:index/CloudInstanceDdosProfileProtocol:CloudInstanceDdosProfileProtocol":{"language":{"nodejs":{"requiredOutputs":["port","protocols"]}},"properties":{"port":{"description":"Network port number for which protocols are configured\n","type":"string"},"protocols":{"description":"List of network protocols enabled on the specified port\n","items":{"type":"string"},"type":"array"}},"type":"object"},"gcore:index/CloudInstanceDdosProfileStatus:CloudInstanceDdosProfileStatus":{"language":{"nodejs":{"requiredOutputs":["errorDescription","status"]}},"properties":{"errorDescription":{"description":"Detailed error message describing any issues with the profile operation\n","type":"string"},"status":{"description":"Current operational status of the DDoS protection profile\n","type":"string"}},"type":"object"},"gcore:index/CloudInstanceFixedIpAssignment:CloudInstanceFixedIpAssignment":{"language":{"nodejs":{"requiredOutputs":["external","ipAddress","subnetId"]}},"properties":{"external":{"description":"Is network external\n","type":"boolean"},"ipAddress":{"description":"Ip address\n","type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"}},"type":"object"},"gcore:index/CloudInstanceInstanceIsolation:CloudInstanceInstanceIsolation":{"language":{"nodejs":{"requiredOutputs":["reason"]}},"properties":{"reason":{"description":"The reason of instance isolation if it is isolated from external internet.\n","type":"string"}},"type":"object"},"gcore:index/CloudInstanceInterface:CloudInstanceInterface":{"language":{"nodejs":{"requiredOutputs":["ipAddress","portId","type"]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FCloudInstanceInterfaceFloatingIp:CloudInstanceInterfaceFloatingIp","description":"Allows the instance to have a public IP that can be reached from the internet.\n"},"interfaceName":{"description":"Interface name. Defaults to <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> and is returned as <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> in the API response if not set.\n","type":"string"},"ipAddress":{"description":"IP address assigned to this interface. Can be specified for subnet type, computed for other types.\n","type":"string"},"ipFamily":{"description":"Specify <span pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\">`ipv4`</span>, <span pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\">`ipv6`</span>, or <span pulumi-lang-nodejs=\"`dual`\" pulumi-lang-dotnet=\"`Dual`\" pulumi-lang-go=\"`dual`\" pulumi-lang-python=\"`dual`\" pulumi-lang-yaml=\"`dual`\" pulumi-lang-java=\"`dual`\">`dual`</span> to enable both.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"networkId":{"description":"The network where the instance will be connected.\n","type":"string"},"portId":{"description":"Port ID for the interface. Required for reserved*fixed*ip type, computed for other types.\n","type":"string"},"securityGroups":{"description":"Specifies security group UUIDs to be applied to the instance network interface.\n","items":{"$ref":"#/types/gcore:index%2FCloudInstanceInterfaceSecurityGroup:CloudInstanceInterfaceSecurityGroup"},"type":"array"},"subnetId":{"description":"The instance will get an IP address from this subnet.\n","type":"string"},"type":{"description":"A public IP address will be assigned to the instance.\nAvailable values: \"external\", \"subnet\", \"any*subnet\", \"reserved*fixed_ip\".\n","type":"string"}},"required":["type"],"type":"object"},"gcore:index/CloudInstanceInterfaceFloatingIp:CloudInstanceInterfaceFloatingIp":{"properties":{"existingFloatingId":{"description":"An existing available floating IP id must be specified if the source is set to <span pulumi-lang-nodejs=\"`existing`\" pulumi-lang-dotnet=\"`Existing`\" pulumi-lang-go=\"`existing`\" pulumi-lang-python=\"`existing`\" pulumi-lang-yaml=\"`existing`\" pulumi-lang-java=\"`existing`\">`existing`</span>\n","type":"string"},"source":{"description":"A new floating IP will be created and attached to the instance. A floating IP is a public IP that makes the instance accessible from the internet, even if it only has a private IP. It works like SNAT, allowing outgoing and incoming traffic.\nAvailable values: \"new\", \"existing\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/CloudInstanceInterfaceSecurityGroup:CloudInstanceInterfaceSecurityGroup":{"properties":{"id":{"description":"Resource ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/CloudInstanceSecurityGroup:CloudInstanceSecurityGroup":{"properties":{"id":{"description":"Resource ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/CloudInstanceVolume:CloudInstanceVolume":{"properties":{"attachmentTag":{"description":"Block device attachment tag. Used to identify the device in the guest OS (e.g., 'vdb', 'data-disk'). Not exposed in user-visible tags.\n","type":"string"},"bootIndex":{"description":"Boot device index (creation-only). 0 = primary boot, positive = secondary bootable, negative = not bootable. Cannot be changed after instance creation.\n","type":"number"},"volumeId":{"description":"ID of an existing volume to attach to the instance.\n","type":"string"}},"required":["volumeId"],"type":"object"},"gcore:index/CloudK8sClusterAddOns:CloudK8sClusterAddOns":{"language":{"nodejs":{"requiredOutputs":["slurm"]}},"properties":{"slurm":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAddOnsSlurm:CloudK8sClusterAddOnsSlurm","description":"Slurm add-on configuration\n"}},"type":"object"},"gcore:index/CloudK8sClusterAddOnsSlurm:CloudK8sClusterAddOnsSlurm":{"language":{"nodejs":{"requiredOutputs":["enabled","fileShareId","sshKeyIds","workerCount"]}},"properties":{"enabled":{"description":"The Slurm add-on will be enabled in the cluster.\n","type":"boolean"},"fileShareId":{"description":"ID of a VAST file share to be used as Slurm storage.\n\nThe Slurm add-on will create separate Persistent Volume Claims for different purposes (controller spool, worker spool, jail) on that file share.\n\nThe file share must have <span pulumi-lang-nodejs=\"`rootSquash`\" pulumi-lang-dotnet=\"`RootSquash`\" pulumi-lang-go=\"`rootSquash`\" pulumi-lang-python=\"`root_squash`\" pulumi-lang-yaml=\"`rootSquash`\" pulumi-lang-java=\"`rootSquash`\">`root_squash`</span> disabled, while <span pulumi-lang-nodejs=\"`pathLength`\" pulumi-lang-dotnet=\"`PathLength`\" pulumi-lang-go=\"`pathLength`\" pulumi-lang-python=\"`path_length`\" pulumi-lang-yaml=\"`pathLength`\" pulumi-lang-java=\"`pathLength`\">`path_length`</span> and <span pulumi-lang-nodejs=\"`allowedCharacters`\" pulumi-lang-dotnet=\"`AllowedCharacters`\" pulumi-lang-go=\"`allowedCharacters`\" pulumi-lang-python=\"`allowed_characters`\" pulumi-lang-yaml=\"`allowedCharacters`\" pulumi-lang-java=\"`allowedCharacters`\">`allowed_characters`</span> settings must be set to `NPL`.\n","type":"string"},"sshKeyIds":{"description":"IDs of SSH keys to authorize for SSH connection to Slurm login nodes.\n","items":{"type":"string"},"type":"array"},"workerCount":{"description":"Size of the worker pool, i.e. the number of Slurm worker nodes.\n\nEach Slurm worker node will be backed by a Pod scheduled on one of cluster's GPU nodes.\n\nNote: Downscaling (reducing worker count) is not supported.\n","type":"number"}},"type":"object"},"gcore:index/CloudK8sClusterAuthentication:CloudK8sClusterAuthentication":{"language":{"nodejs":{"requiredOutputs":["oidc"]}},"properties":{"oidc":{"$ref":"#/types/gcore:index%2FCloudK8sClusterAuthenticationOidc:CloudK8sClusterAuthenticationOidc","description":"OIDC authentication settings\n"}},"type":"object"},"gcore:index/CloudK8sClusterAuthenticationOidc:CloudK8sClusterAuthenticationOidc":{"language":{"nodejs":{"requiredOutputs":["clientId","groupsClaim","groupsPrefix","issuerUrl","requiredClaims","signingAlgs","usernameClaim","usernamePrefix"]}},"properties":{"clientId":{"description":"Client ID\n","type":"string"},"groupsClaim":{"description":"JWT claim to use as the user's group\n","type":"string"},"groupsPrefix":{"description":"Prefix prepended to group claims\n","type":"string"},"issuerUrl":{"description":"Issuer URL\n","type":"string"},"requiredClaims":{"additionalProperties":{"type":"string"},"description":"Key-value pairs that describe required claims in the token\n","type":"object"},"signingAlgs":{"description":"Accepted signing algorithms\n","items":{"type":"string"},"type":"array"},"usernameClaim":{"description":"JWT claim to use as the user name\n","type":"string"},"usernamePrefix":{"description":"Prefix prepended to username claims to prevent clashes\n","type":"string"}},"type":"object"},"gcore:index/CloudK8sClusterCni:CloudK8sClusterCni":{"language":{"nodejs":{"requiredOutputs":["cilium","cloudK8sClusterProvider"]}},"properties":{"cilium":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCniCilium:CloudK8sClusterCniCilium","description":"Cilium settings\n"},"cloudK8sClusterProvider":{"description":"CNI provider\nAvailable values: \"calico\", \"cilium\".\n","type":"string"}},"type":"object"},"gcore:index/CloudK8sClusterCniCilium:CloudK8sClusterCniCilium":{"language":{"nodejs":{"requiredOutputs":["encryption","hubbleRelay","hubbleUi","lbAcceleration","lbMode","maskSize","maskSizeV6","routingMode","tunnel"]}},"properties":{"encryption":{"description":"Wireguard encryption\n","type":"boolean"},"hubbleRelay":{"description":"Hubble Relay\n","type":"boolean"},"hubbleUi":{"description":"Hubble UI\n","type":"boolean"},"lbAcceleration":{"description":"LoadBalancer acceleration\n","type":"boolean"},"lbMode":{"description":"LoadBalancer mode\nAvailable values: \"dsr\", \"hybrid\", \"snat\".\n","type":"string"},"maskSize":{"description":"Mask size for IPv4\n","type":"number"},"maskSizeV6":{"description":"Mask size for IPv6\n","type":"number"},"routingMode":{"description":"Routing mode\nAvailable values: \"native\", \"tunnel\".\n","type":"string"},"tunnel":{"description":"CNI provider\nAvailable values: \"\", \"geneve\", \"vxlan\".\n","type":"string"}},"type":"object"},"gcore:index/CloudK8sClusterCsi:CloudK8sClusterCsi":{"language":{"nodejs":{"requiredOutputs":["nfs"]}},"properties":{"nfs":{"$ref":"#/types/gcore:index%2FCloudK8sClusterCsiNfs:CloudK8sClusterCsiNfs","description":"NFS CSI driver settings\n"}},"type":"object"},"gcore:index/CloudK8sClusterCsiNfs:CloudK8sClusterCsiNfs":{"language":{"nodejs":{"requiredOutputs":["vastEnabled"]}},"properties":{"vastEnabled":{"description":"Enable or disable VAST NFS integration. The default value is <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>. When set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, a dedicated StorageClass will be created in the cluster for each VAST NFS file share defined in the cloud. All file shares created prior to cluster creation will be available immediately, while those created afterward may take a few minutes for to appear.\n","type":"boolean"}},"type":"object"},"gcore:index/CloudK8sClusterLogging:CloudK8sClusterLogging":{"language":{"nodejs":{"requiredOutputs":["enabled"]}},"properties":{"destinationRegionId":{"description":"Destination region id to which the logs will be written\n","type":"number"},"enabled":{"description":"Enable/disable forwarding logs to LaaS\n","type":"boolean"},"retentionPolicy":{"$ref":"#/types/gcore:index%2FCloudK8sClusterLoggingRetentionPolicy:CloudK8sClusterLoggingRetentionPolicy","description":"The logs retention policy\n"},"topicName":{"description":"The topic name to which the logs will be written\n","type":"string"}},"type":"object"},"gcore:index/CloudK8sClusterLoggingRetentionPolicy:CloudK8sClusterLoggingRetentionPolicy":{"properties":{"period":{"description":"Duration of days for which logs must be kept.\n","type":"number"}},"required":["period"],"type":"object"},"gcore:index/CloudK8sClusterPool:CloudK8sClusterPool":{"language":{"nodejs":{"requiredOutputs":["autoHealingEnabled","bootVolumeSize","bootVolumeType","crioConfig","flavorId","isPublicIpv4","kubeletConfig","labels","maxNodeCount","minNodeCount","name","taints"]}},"properties":{"autoHealingEnabled":{"description":"Enable auto healing\n","type":"boolean"},"bootVolumeSize":{"description":"Boot volume size\n","type":"number"},"bootVolumeType":{"description":"Boot volume type\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"},"crioConfig":{"additionalProperties":{"type":"string"},"description":"Cri-o configuration for pool nodes\n","type":"object"},"flavorId":{"description":"Flavor ID\n","type":"string"},"isPublicIpv4":{"description":"Enable public v4 address\n","type":"boolean"},"kubeletConfig":{"additionalProperties":{"type":"string"},"description":"Kubelet configuration for pool nodes\n","type":"object"},"labels":{"additionalProperties":{"type":"string"},"description":"Labels applied to the cluster pool\n","type":"object"},"maxNodeCount":{"description":"Maximum node count\n","type":"number"},"minNodeCount":{"description":"Minimum node count\n","type":"number"},"name":{"description":"Pool's name\n","type":"string"},"servergroupPolicy":{"description":"Server group policy: anti-affinity, soft-anti-affinity or affinity\nAvailable values: \"affinity\", \"anti-affinity\", \"soft-anti-affinity\".\n","type":"string"},"taints":{"additionalProperties":{"type":"string"},"description":"Taints applied to the cluster pool\n","type":"object"}},"required":["flavorId","name"],"type":"object"},"gcore:index/CloudLoadBalancerAdditionalVip:CloudLoadBalancerAdditionalVip":{"language":{"nodejs":{"requiredOutputs":["ipAddress","subnetId"]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerFloatingIp:CloudLoadBalancerFloatingIp":{"language":{"nodejs":{"requiredOutputs":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","id","portId","projectId","region","regionId","routerId","status","tags","updatedAt"]}},"properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IP address of the port the floating IP is attached to\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"id":{"description":"Floating IP ID\n","type":"string"},"portId":{"description":"Port ID the floating IP is attached to. The <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> is the IP address of the port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerFloatingIpTag:CloudLoadBalancerFloatingIpTag"},"type":"array"},"updatedAt":{"description":"Datetime when the floating IP was last updated\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerFloatingIpTag:CloudLoadBalancerFloatingIpTag":{"language":{"nodejs":{"requiredOutputs":["key","readOnly","value"]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerListenerStats:CloudLoadBalancerListenerStats":{"language":{"nodejs":{"requiredOutputs":["activeConnections","bytesIn","bytesOut","requestErrors","totalConnections"]}},"properties":{"activeConnections":{"description":"Currently active connections\n","type":"number"},"bytesIn":{"description":"Total bytes received\n","type":"number"},"bytesOut":{"description":"Total bytes sent\n","type":"number"},"requestErrors":{"description":"Total requests that were unable to be fulfilled\n","type":"number"},"totalConnections":{"description":"Total connections handled\n","type":"number"}},"type":"object"},"gcore:index/CloudLoadBalancerListenerUserList:CloudLoadBalancerListenerUserList":{"properties":{"encryptedPassword":{"description":"Encrypted password to auth via Basic Authentication\n","type":"string"},"username":{"description":"Username to auth via Basic Authentication\n","type":"string"}},"required":["encryptedPassword","username"],"type":"object"},"gcore:index/CloudLoadBalancerLogging:CloudLoadBalancerLogging":{"language":{"nodejs":{"requiredOutputs":["enabled"]}},"properties":{"destinationRegionId":{"description":"Destination region id to which the logs will be written\n","type":"number"},"enabled":{"description":"Enable/disable forwarding logs to LaaS\n","type":"boolean"},"retentionPolicy":{"$ref":"#/types/gcore:index%2FCloudLoadBalancerLoggingRetentionPolicy:CloudLoadBalancerLoggingRetentionPolicy","description":"The logs retention policy\n"},"topicName":{"description":"The topic name to which the logs will be written\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerLoggingRetentionPolicy:CloudLoadBalancerLoggingRetentionPolicy":{"properties":{"period":{"description":"Duration of days for which logs must be kept.\n","type":"number"}},"required":["period"],"type":"object"},"gcore:index/CloudLoadBalancerPoolHealthmonitor:CloudLoadBalancerPoolHealthmonitor":{"language":{"nodejs":{"requiredOutputs":["delay","httpMethod","maxRetries","maxRetriesDown","timeout","type"]}},"properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"delay":{"description":"The time, in seconds, between sending probes to members\n","type":"number"},"domainName":{"description":"Domain name for HTTP host header. Can only be used together with `HTTP` or `HTTPS` health monitor type.\n","type":"string"},"expectedCodes":{"description":"Expected HTTP response codes. Can be a single code or a range of codes. Can only be used together with `HTTP` or `HTTPS` health monitor type. For example, 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.\n","type":"string"},"httpMethod":{"description":"HTTP method. Can only be used together with `HTTP` or `HTTPS` health monitor type.\nAvailable values: \"CONNECT\", \"DELETE\", \"GET\", \"HEAD\", \"OPTIONS\", \"PATCH\", \"POST\", \"PUT\", \"TRACE\".\n","type":"string"},"httpVersion":{"description":"HTTP version. Can only be used together with `HTTP` or `HTTPS` health monitor type. Supported values: 1.0, 1.1.\nAvailable values: \"1.0\", \"1.1\".\n","type":"string"},"maxRetries":{"description":"Number of successes before the member is switched to ONLINE state\n","type":"number"},"maxRetriesDown":{"description":"Number of failures before the member is switched to ERROR state.\n","type":"number"},"timeout":{"description":"The maximum time to connect. Must be less than the delay value\n","type":"number"},"type":{"description":"Health monitor type. Once health monitor is created, cannot be changed.\nAvailable values: \"HTTP\", \"HTTPS\", \"K8S\", \"PING\", \"TCP\", \"TLS-HELLO\", \"UDP-CONNECT\".\n","type":"string"},"urlPath":{"description":"URL Path. Defaults to '/'. Can only be used together with `HTTP` or `HTTPS` health monitor type.\n","type":"string"}},"required":["delay","maxRetries","timeout","type"],"type":"object"},"gcore:index/CloudLoadBalancerPoolListener:CloudLoadBalancerPoolListener":{"language":{"nodejs":{"requiredOutputs":["id"]}},"properties":{"id":{"description":"Resource ID\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerPoolLoadbalancer:CloudLoadBalancerPoolLoadbalancer":{"language":{"nodejs":{"requiredOutputs":["id"]}},"properties":{"id":{"description":"Resource ID\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerPoolMember:CloudLoadBalancerPoolMember":{"language":{"nodejs":{"requiredOutputs":["address","adminStateUp","backup","protocolPort"]}},"properties":{"address":{"description":"Member IP address\n","type":"string"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"backup":{"description":"Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false.\n","type":"boolean"},"instanceId":{"description":"Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"monitorAddress":{"description":"An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.\n","type":"string"},"monitorPort":{"description":"An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member <span pulumi-lang-nodejs=\"`protocolPort`\" pulumi-lang-dotnet=\"`ProtocolPort`\" pulumi-lang-go=\"`protocolPort`\" pulumi-lang-python=\"`protocol_port`\" pulumi-lang-yaml=\"`protocolPort`\" pulumi-lang-java=\"`protocolPort`\">`protocol_port`</span>.\n","type":"number"},"protocolPort":{"description":"Member IP port\n","type":"number"},"subnetId":{"description":"<span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> in which <span pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\">`address`</span> is present. Either <span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> or <span pulumi-lang-nodejs=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\">`instance_id`</span> should be provided\n","type":"string"},"weight":{"description":"Member weight. Valid values are 0 < <span pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\">`weight`</span> <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:\n","type":"number"}},"required":["address","protocolPort"],"type":"object"},"gcore:index/CloudLoadBalancerPoolSessionPersistence:CloudLoadBalancerPoolSessionPersistence":{"properties":{"cookieName":{"description":"Should be set if app cookie or http cookie is used\n","type":"string"},"persistenceGranularity":{"description":"Subnet mask if <span pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\">`source_ip`</span> is used. For UDP ports only\n","type":"string"},"persistenceTimeout":{"description":"Session persistence timeout. For UDP ports only\n","type":"number"},"type":{"description":"Session persistence type\nAvailable values: \"APP*COOKIE\", \"HTTP*COOKIE\", \"SOURCE_IP\".\n","type":"string"}},"required":["type"],"type":"object"},"gcore:index/CloudLoadBalancerStats:CloudLoadBalancerStats":{"language":{"nodejs":{"requiredOutputs":["activeConnections","bytesIn","bytesOut","requestErrors","totalConnections"]}},"properties":{"activeConnections":{"description":"Currently active connections\n","type":"number"},"bytesIn":{"description":"Total bytes received\n","type":"number"},"bytesOut":{"description":"Total bytes sent\n","type":"number"},"requestErrors":{"description":"Total requests that were unable to be fulfilled\n","type":"number"},"totalConnections":{"description":"Total connections handled\n","type":"number"}},"type":"object"},"gcore:index/CloudLoadBalancerTagsV2:CloudLoadBalancerTagsV2":{"language":{"nodejs":{"requiredOutputs":["key","readOnly","value"]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"type":"object"},"gcore:index/CloudLoadBalancerVrrpIp:CloudLoadBalancerVrrpIp":{"language":{"nodejs":{"requiredOutputs":["ipAddress","role","subnetId"]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"role":{"description":"LoadBalancer instance role to which VRRP IP belong\nAvailable values: \"BACKUP\", \"MASTER\", \"STANDALONE\".\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"type":"object"},"gcore:index/CloudNetworkRouterExternalGatewayInfo:CloudNetworkRouterExternalGatewayInfo":{"language":{"nodejs":{"requiredOutputs":["enableSnat","networkId","type"]}},"properties":{"enableSnat":{"description":"Is SNAT enabled. Defaults to true.\n","type":"boolean"},"networkId":{"description":"ID of the external network to connect the router to.\n","type":"string"},"type":{"description":"Gateway type. Use 'manual' to explicitly specify which external network the router connects to via <span pulumi-lang-nodejs=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\">`network_id`</span>. Required for PATCH/update operations.\nAvailable values: \"manual\", \"default\".\n","type":"string"}},"type":"object"},"gcore:index/CloudNetworkRouterInterface:CloudNetworkRouterInterface":{"language":{"nodejs":{"requiredOutputs":["subnetId","type"]}},"properties":{"subnetId":{"description":"id of the subnet to attach to.\n","type":"string"},"type":{"description":"must be 'subnet'.\nAvailable values: \"subnet\".\n","type":"string"}},"required":["subnetId"],"type":"object"},"gcore:index/CloudNetworkRouterRoute:CloudNetworkRouterRoute":{"properties":{"destination":{"description":"CIDR of destination IPv4 or IPv6 subnet.\n","type":"string"},"nexthop":{"description":"IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.\n","type":"string"}},"required":["destination","nexthop"],"type":"object"},"gcore:index/CloudNetworkSubnetHostRoute:CloudNetworkSubnetHostRoute":{"properties":{"destination":{"description":"CIDR of destination IPv4 or IPv6 subnet.\n","type":"string"},"nexthop":{"description":"IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.\n","type":"string"}},"required":["destination","nexthop"],"type":"object"},"gcore:index/CloudPlacementGroupInstance:CloudPlacementGroupInstance":{"language":{"nodejs":{"requiredOutputs":["instanceName"]}},"properties":{"instanceId":{"description":"The ID of the instance, corresponding to the attribute 'id'.\n","type":"string"},"instanceName":{"description":"The name of the instance, corresponding to the attribute 'name'.\n","type":"string"}},"type":"object"},"gcore:index/CloudReservedFixedIpAllowedAddressPair:CloudReservedFixedIpAllowedAddressPair":{"language":{"nodejs":{"requiredOutputs":["ipAddress","macAddress"]}},"properties":{"ipAddress":{"description":"Subnet mask or IP address of the port specified in <span pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\">`allowed_address_pairs`</span>\n","type":"string"},"macAddress":{"description":"MAC address of the port specified in <span pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\">`allowed_address_pairs`</span>\n","type":"string"}},"type":"object"},"gcore:index/CloudReservedFixedIpAttachment:CloudReservedFixedIpAttachment":{"language":{"nodejs":{"requiredOutputs":["resourceId","resourceType"]}},"properties":{"resourceId":{"description":"Resource ID\n","type":"string"},"resourceType":{"description":"Resource type\n","type":"string"}},"type":"object"},"gcore:index/CloudReservedFixedIpNetwork:CloudReservedFixedIpNetwork":{"language":{"nodejs":{"requiredOutputs":["createdAt","creatorTaskId","default","external","id","mtu","name","portSecurityEnabled","projectId","region","regionId","segmentationId","shared","subnets","tags","type","updatedAt"]}},"properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"id":{"description":"Network ID\n","type":"string"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FCloudReservedFixedIpNetworkTag:CloudReservedFixedIpNetworkTag"},"type":"array"},"type":{"description":"Network type (vlan, vxlan)\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"type":"object"},"gcore:index/CloudReservedFixedIpNetworkTag:CloudReservedFixedIpNetworkTag":{"language":{"nodejs":{"requiredOutputs":["key","readOnly","value"]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"type":"object"},"gcore:index/CloudSecretPayload:CloudSecretPayload":{"properties":{"certificateChainWo":{"description":"SSL certificate chain of intermediates and root certificates in PEM format. This is a write-only field — it will be sent to the API but never stored in state.\n","type":"string"},"certificateWo":{"description":"SSL certificate in PEM format. This is a write-only field — it will be sent to the API but never stored in state.\n","type":"string"},"privateKeyWo":{"description":"SSL private key in PEM format. This is a write-only field — it will be sent to the API but never stored in state.\n","type":"string"}},"required":["certificateChainWo","certificateWo","privateKeyWo"],"type":"object"},"gcore:index/CloudSecurityGroupTagsV2:CloudSecurityGroupTagsV2":{"language":{"nodejs":{"requiredOutputs":["key","readOnly","value"]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"type":"object"},"gcore:index/CloudVolumeAttachment:CloudVolumeAttachment":{"language":{"nodejs":{"requiredOutputs":["attachedAt","attachmentId","device","flavorId","instanceName","serverId","volumeId"]}},"properties":{"attachedAt":{"description":"The date and time when the attachment was created.\n","type":"string"},"attachmentId":{"description":"The unique identifier of the attachment object.\n","type":"string"},"device":{"description":"The block device name inside the guest instance.\n","type":"string"},"flavorId":{"description":"The flavor ID of the instance.\n","type":"string"},"instanceName":{"description":"The name of the instance if attached and the server name is known.\n","type":"string"},"serverId":{"description":"The unique identifier of the instance.\n","type":"string"},"volumeId":{"description":"The unique identifier of the attached volume.\n","type":"string"}},"type":"object"},"gcore:index/CloudVolumeLimiterStats:CloudVolumeLimiterStats":{"language":{"nodejs":{"requiredOutputs":["iopsBaseLimit","iopsBurstLimit","mBpsBaseLimit","mBpsBurstLimit"]}},"properties":{"iopsBaseLimit":{"description":"The sustained IOPS (Input/Output Operations Per Second) limit.\n","type":"number"},"iopsBurstLimit":{"description":"The burst IOPS limit.\n","type":"number"},"mBpsBaseLimit":{"description":"The sustained bandwidth limit in megabytes per second (MBps).\n","type":"number"},"mBpsBurstLimit":{"description":"The burst bandwidth limit in megabytes per second (MBps).\n","type":"number"}},"type":"object"},"gcore:index/DnsNetworkMappingMapping:DnsNetworkMappingMapping":{"properties":{"cidr4s":{"items":{"type":"string"},"type":"array"},"cidr6s":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"gcore:index/DnsZoneRecord:DnsZoneRecord":{"language":{"nodejs":{"requiredOutputs":["name","shortAnswers","ttl","type"]}},"properties":{"name":{"type":"string"},"shortAnswers":{"items":{"type":"string"},"type":"array"},"ttl":{"type":"number"},"type":{"type":"string"}},"type":"object"},"gcore:index/DnsZoneRrsetPicker:DnsZoneRrsetPicker":{"language":{"nodejs":{"requiredOutputs":["limit","strict","type"]}},"properties":{"limit":{"description":"Limits the number of records returned by the filter\nCan be a positive value for a specific limit. Use zero or leave it blank to indicate no limits.\n","type":"number"},"strict":{"description":"if strict=false, then the filter will return all records if no records match the filter\n","type":"boolean"},"type":{"description":"Filter type\nAvailable values: \"geodns\", \"asn\", \"country\", \"continent\", \"region\", \"ip\", \"geodistance\", \"weighted*shuffle\", \"default\", \"first*n\".\n","type":"string"}},"required":["type"],"type":"object"},"gcore:index/DnsZoneRrsetResourceRecord:DnsZoneRrsetResourceRecord":{"language":{"nodejs":{"requiredOutputs":["contents","enabled","id"]}},"properties":{"contents":{"description":"Content of resource record\nThe exact length of the array depends on the type of rrset,\neach individual record parameter must be a separate element of the array. For example\nSRV-record: `[100, 1, 5061, \"example.com\"]`\nCNAME-record: `[ \"the.target.domain\" ]`\nA-record: `[ \"1.2.3.4\", \"5.6.7.8\" ]`\nAAAA-record: `[ \"2001:db8::1\", \"2001:db8::2\" ]`\nMX-record: `[ \"mail1.example.com\", \"mail2.example.com\" ]`\nSVCB/HTTPS-record: `[ 1, \".\", [\"alpn\", \"h3\", \"h2\"], [ \"port\", 1443 ], [ \"ipv4hint\", \"10.0.0.1\" ], [ \"ech\", \"AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA\" ] ]`\n","items":{"type":"string"},"type":"array"},"enabled":{"type":"boolean"},"id":{"description":"ID of the resource record\n","type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"This meta will be used to decide which resource record should pass\nthrough filters from the filter set\n","type":"object"}},"required":["contents"],"type":"object"},"gcore:index/DnsZoneRrsetWarning:DnsZoneRrsetWarning":{"language":{"nodejs":{"requiredOutputs":["key","message"]}},"properties":{"key":{"type":"string"},"message":{"type":"string"}},"type":"object"},"gcore:index/DnsZoneRrsetsAmount:DnsZoneRrsetsAmount":{"language":{"nodejs":{"requiredOutputs":["dynamic","static","total"]}},"properties":{"dynamic":{"$ref":"#/types/gcore:index%2FDnsZoneRrsetsAmountDynamic:DnsZoneRrsetsAmountDynamic","description":"Amount of dynamic RRsets in zone\n"},"static":{"description":"Amount of static RRsets in zone\n","type":"number"},"total":{"description":"Total amount of RRsets in zone\n","type":"number"}},"type":"object"},"gcore:index/DnsZoneRrsetsAmountDynamic:DnsZoneRrsetsAmountDynamic":{"language":{"nodejs":{"requiredOutputs":["healthcheck","total"]}},"properties":{"healthcheck":{"description":"Amount of RRsets with enabled healthchecks\n","type":"number"},"total":{"description":"Total amount of dynamic RRsets in zone\n","type":"number"}},"type":"object"},"gcore:index/FastedgeAppSecrets:FastedgeAppSecrets":{"language":{"nodejs":{"requiredOutputs":["comment","id","name"]}},"properties":{"comment":{"description":"A description or comment about the secret.\n","type":"string"},"id":{"description":"The unique identifier of the secret.\n","type":"number"},"name":{"description":"The unique name of the secret.\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/FastedgeAppStores:FastedgeAppStores":{"language":{"nodejs":{"requiredOutputs":["comment","id","name"]}},"properties":{"comment":{"description":"A description of the store\n","type":"string"},"id":{"description":"The identifier of the store\n","type":"number"},"name":{"description":"The name of the store\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/FastedgeSecretSecretSlot:FastedgeSecretSecretSlot":{"language":{"nodejs":{"requiredOutputs":["checksum","slot"]}},"properties":{"checksum":{"description":"A checksum of the secret value for integrity verification.\n","type":"string"},"slot":{"description":"Secret slot ID.\n","type":"number"},"value":{"description":"The value of the secret. Write-only: sent to the API but never stored in state. Changes are detected by comparing the local SHA-256 hash with the server checksum.\n","secret":true,"type":"string"}},"required":["slot"],"type":"object"},"gcore:index/FastedgeTemplateParam:FastedgeTemplateParam":{"language":{"nodejs":{"requiredOutputs":["dataType","mandatory","name"]}},"properties":{"dataType":{"description":"Parameter type determines validation and UI rendering:  \nstring - text input  \nnumber - numeric input  \ndate - date picker  \ntime - time picker  \nsecret - references a secret  \nstore - references an edge store  \nbool - boolean toggle  \njson - JSON editor or multiline text area with JSON validation  \nenum - dropdown/select with allowed values defined via parameter metadata\nAvailable values: \"string\", \"number\", \"date\", \"time\", \"secret\", \"store\", \"bool\", \"json\", \"enum\".\n","type":"string"},"descr":{"description":"Human-readable explanation of what this parameter controls\n","type":"string"},"mandatory":{"description":"If true, this parameter must be provided when instantiating the template\n","type":"boolean"},"metadata":{"description":"Optional JSON-encoded string for additional parameter metadata, such as allowed values for enum types\n","type":"string"},"name":{"description":"Parameter name used as a placeholder in template (e.g., `API_KEY`, `DATABASE_URL`)\n","type":"string"}},"required":["dataType","name"],"type":"object"},"gcore:index/WaapDomainQuotas:WaapDomainQuotas":{"language":{"nodejs":{"requiredOutputs":["allowed","current"]}},"properties":{"allowed":{"description":"The maximum allowed number of this resource\n","type":"number"},"current":{"description":"The current number of this resource\n","type":"number"}},"type":"object"},"gcore:index/getCdnOriginGroupAuth:getCdnOriginGroupAuth":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"s3AccessKeyId":{"description":"Access key ID for the S3 account.\n","type":"string"},"s3BucketName":{"description":"S3 bucket name.\n","type":"string"},"s3Region":{"description":"S3 storage region.\n\nThe parameter is required, if <span pulumi-lang-nodejs=\"\"s3Type\"\" pulumi-lang-dotnet=\"\"S3Type\"\" pulumi-lang-go=\"\"s3Type\"\" pulumi-lang-python=\"\"s3_type\"\" pulumi-lang-yaml=\"\"s3Type\"\" pulumi-lang-java=\"\"s3Type\"\">\"s3_type\"</span>: amazon.\n","type":"string"},"s3SecretAccessKey":{"description":"Secret access key for the S3 account.\n\nRestrictions:\n- Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.\n- If <span pulumi-lang-nodejs=\"\"s3Type\"\" pulumi-lang-dotnet=\"\"S3Type\"\" pulumi-lang-go=\"\"s3Type\"\" pulumi-lang-python=\"\"s3_type\"\" pulumi-lang-yaml=\"\"s3Type\"\" pulumi-lang-java=\"\"s3Type\"\">\"s3_type\"</span>: amazon, length should be 40 characters.\n- If <span pulumi-lang-nodejs=\"\"s3Type\"\" pulumi-lang-dotnet=\"\"S3Type\"\" pulumi-lang-go=\"\"s3Type\"\" pulumi-lang-python=\"\"s3_type\"\" pulumi-lang-yaml=\"\"s3Type\"\" pulumi-lang-java=\"\"s3Type\"\">\"s3_type\"</span>: other, length should be from 16 to 255 characters.\n","type":"string"},"s3StorageHostname":{"description":"S3 storage hostname.\n\nThe parameter is required, if <span pulumi-lang-nodejs=\"\"s3Type\"\" pulumi-lang-dotnet=\"\"S3Type\"\" pulumi-lang-go=\"\"s3Type\"\" pulumi-lang-python=\"\"s3_type\"\" pulumi-lang-yaml=\"\"s3Type\"\" pulumi-lang-java=\"\"s3Type\"\">\"s3_type\"</span>: other.\n","type":"string"},"s3Type":{"description":"Storage type compatible with S3.\n\nPossible values:\n- **amazon** – AWS S3 storage.\n- **other** – Other (not AWS) S3 compatible storage.\n","type":"string"}},"required":["s3AccessKeyId","s3BucketName","s3Region","s3SecretAccessKey","s3StorageHostname","s3Type"],"type":"object"},"gcore:index/getCdnOriginGroupSource:getCdnOriginGroupSource":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"backup":{"description":"Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.\n","type":"boolean"},"config":{"$ref":"#/types/gcore:index%2FgetCdnOriginGroupSourceConfig:getCdnOriginGroupSourceConfig","description":"S3 storage configuration. Required when <span pulumi-lang-nodejs=\"`originType`\" pulumi-lang-dotnet=\"`OriginType`\" pulumi-lang-go=\"`originType`\" pulumi-lang-python=\"`origin_type`\" pulumi-lang-yaml=\"`originType`\" pulumi-lang-java=\"`originType`\">`origin_type`</span> is <span pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\">`s3`</span>.\n"},"enabled":{"description":"Enables or disables an origin source in the origin group.\n\nPossible values:\n- **true** - Origin is enabled and the CDN uses it to pull content.\n- **false** - Origin is disabled and the CDN does not use it to pull content.\n\nOrigin group must contain at least one enabled origin.\n","type":"boolean"},"hostHeaderOverride":{"description":"Per-origin Host header override. When set, the CDN sends this value as the Host header when\nrequesting content from this origin instead of the default.\n","type":"string"},"originType":{"description":"Origin type. Present in responses only for S3 sources.\n\nPossible values:\n- **host** - A source server or endpoint from which content is fetched.\n- **s3** - S3 storage with either AWS v4 authentication or public access.\nAvailable values: \"host\", \"s3\".\n","type":"string"},"source":{"description":"IP address or domain name of the origin and the port, if custom port is used.\n","type":"string"},"tag":{"description":"Tag for the origin source.\n","type":"string"}},"required":["backup","config","enabled","hostHeaderOverride","originType","source","tag"],"type":"object"},"gcore:index/getCdnOriginGroupSourceConfig:getCdnOriginGroupSourceConfig":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"s3AccessKeyId":{"description":"Access key ID for the S3 account. Masked as `SECRET_VALUE` in responses.\n","type":"string"},"s3AuthType":{"description":"S3 authentication type.\n","type":"string"},"s3BucketName":{"description":"S3 bucket name.\n","type":"string"},"s3Region":{"description":"S3 storage region.\n\nThe parameter is required if <span pulumi-lang-nodejs=\"`s3Type`\" pulumi-lang-dotnet=\"`S3Type`\" pulumi-lang-go=\"`s3Type`\" pulumi-lang-python=\"`s3_type`\" pulumi-lang-yaml=\"`s3Type`\" pulumi-lang-java=\"`s3Type`\">`s3_type`</span> is <span pulumi-lang-nodejs=\"`amazon`\" pulumi-lang-dotnet=\"`Amazon`\" pulumi-lang-go=\"`amazon`\" pulumi-lang-python=\"`amazon`\" pulumi-lang-yaml=\"`amazon`\" pulumi-lang-java=\"`amazon`\">`amazon`</span>.\n","type":"string"},"s3SecretAccessKey":{"description":"Secret access key for the S3 account. Masked as `SECRET_VALUE` in responses.\n\nRestrictions:\n- Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.\n- From 16 to 255 characters.\n","type":"string"},"s3StorageHostname":{"description":"S3 storage hostname.\n\nThe parameter is required if <span pulumi-lang-nodejs=\"`s3Type`\" pulumi-lang-dotnet=\"`S3Type`\" pulumi-lang-go=\"`s3Type`\" pulumi-lang-python=\"`s3_type`\" pulumi-lang-yaml=\"`s3Type`\" pulumi-lang-java=\"`s3Type`\">`s3_type`</span> is <span pulumi-lang-nodejs=\"`other`\" pulumi-lang-dotnet=\"`Other`\" pulumi-lang-go=\"`other`\" pulumi-lang-python=\"`other`\" pulumi-lang-yaml=\"`other`\" pulumi-lang-java=\"`other`\">`other`</span>.\n","type":"string"},"s3Type":{"description":"Storage type compatible with S3.\n\nPossible values:\n- **amazon** - AWS S3 storage.\n- **other** - Other (not AWS) S3 compatible storage.\nAvailable values: \"amazon\", \"other\".\n","type":"string"}},"required":["s3AccessKeyId","s3AuthType","s3BucketName","s3Region","s3SecretAccessKey","s3StorageHostname","s3Type"],"type":"object"},"gcore:index/getCdnResourceOptions:getCdnResourceOptions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowedHttpMethods":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsAllowedHttpMethods:getCdnResourceOptionsAllowedHttpMethods","description":"HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsBrotliCompression:getCdnResourceOptionsBrotliCompression","description":"Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsBrowserCacheSettings:getCdnResourceOptionsBrowserCacheSettings","description":"Cache expiration time for users browsers in seconds.\n\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n\nResponses with other codes will not be cached.\n"},"cacheHttpHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsCacheHttpHeaders:getCdnResourceOptionsCacheHttpHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`responseHeadersHidingPolicy`\" pulumi-lang-dotnet=\"`ResponseHeadersHidingPolicy`\" pulumi-lang-go=\"`responseHeadersHidingPolicy`\" pulumi-lang-python=\"`response_headers_hiding_policy`\" pulumi-lang-yaml=\"`responseHeadersHidingPolicy`\" pulumi-lang-java=\"`responseHeadersHidingPolicy`\">`response_headers_hiding_policy`</span> option instead.\n\nHTTP Headers that must be included in the response.\n"},"cors":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsCors:getCdnResourceOptionsCors","description":"Enables or disables CORS (Cross-Origin Resource Sharing) header support.\n\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsCountryAcl:getCdnResourceOptionsCountryAcl","description":"Enables control access to content for specified countries.\n"},"disableCache":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsDisableCache:getCdnResourceOptionsDisableCache","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`edgeCacheSettings`\" pulumi-lang-dotnet=\"`EdgeCacheSettings`\" pulumi-lang-go=\"`edgeCacheSettings`\" pulumi-lang-python=\"`edge_cache_settings`\" pulumi-lang-yaml=\"`edgeCacheSettings`\" pulumi-lang-java=\"`edgeCacheSettings`\">`edge_cache_settings`</span> option instead.\n\nAllows the complete disabling of content caching.\n"},"disableProxyForceRanges":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsDisableProxyForceRanges:getCdnResourceOptionsDisableProxyForceRanges","description":"Allows 206 responses regardless of the settings of an origin source.\n"},"edgeCacheSettings":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsEdgeCacheSettings:getCdnResourceOptionsEdgeCacheSettings","description":"Cache expiration time for CDN servers.\n\n<span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> and <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span> fields cannot be used simultaneously.\n"},"fastedge":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFastedge:getCdnResourceOptionsFastedge","description":"Allows to configure FastEdge app to be called on different request/response phases.\n\nNote: At least one of <span pulumi-lang-nodejs=\"`onRequestHeaders`\" pulumi-lang-dotnet=\"`OnRequestHeaders`\" pulumi-lang-go=\"`onRequestHeaders`\" pulumi-lang-python=\"`on_request_headers`\" pulumi-lang-yaml=\"`onRequestHeaders`\" pulumi-lang-java=\"`onRequestHeaders`\">`on_request_headers`</span>, <span pulumi-lang-nodejs=\"`onRequestBody`\" pulumi-lang-dotnet=\"`OnRequestBody`\" pulumi-lang-go=\"`onRequestBody`\" pulumi-lang-python=\"`on_request_body`\" pulumi-lang-yaml=\"`onRequestBody`\" pulumi-lang-java=\"`onRequestBody`\">`on_request_body`</span>, <span pulumi-lang-nodejs=\"`onResponseHeaders`\" pulumi-lang-dotnet=\"`OnResponseHeaders`\" pulumi-lang-go=\"`onResponseHeaders`\" pulumi-lang-python=\"`on_response_headers`\" pulumi-lang-yaml=\"`onResponseHeaders`\" pulumi-lang-java=\"`onResponseHeaders`\">`on_response_headers`</span>, or <span pulumi-lang-nodejs=\"`onResponseBody`\" pulumi-lang-dotnet=\"`OnResponseBody`\" pulumi-lang-go=\"`onResponseBody`\" pulumi-lang-python=\"`on_response_body`\" pulumi-lang-yaml=\"`onResponseBody`\" pulumi-lang-java=\"`onResponseBody`\">`on_response_body`</span> must be specified.\n"},"fetchCompressed":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFetchCompressed:getCdnResourceOptionsFetchCompressed","description":"Makes the CDN request compressed content from the origin.\n\nThe origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression.\n\nNotes:\n\n1. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> is not supported with `gzipON` or <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> overrides `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in rule. If you enable it in CDN resource and want to use `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in a rule, you have to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>: false` in the rule.\n"},"followOriginRedirect":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFollowOriginRedirect:getCdnResourceOptionsFollowOriginRedirect","description":"Enables redirection from origin.\nIf the origin server returns a redirect, the option allows the CDN to pull the requested content from the origin server that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsForceReturn:getCdnResourceOptionsForceReturn","description":"Applies custom HTTP response codes for CDN content.\n\nThe following codes are reserved by our system and cannot be specified in this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsForwardHostHeader:getCdnResourceOptionsForwardHostHeader","description":"Forwards the Host header from a end-user request to an origin server.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"grpcPassthrough":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsGrpcPassthrough:getCdnResourceOptionsGrpcPassthrough","description":"Enables gRPC pass-through for the CDN resource.\n"},"gzipOn":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsGzipOn:getCdnResourceOptionsGzipOn","description":"Compresses content with gzip on the CDN end. CDN servers will request only uncompressed content from the origin.\n\nNotes:\n\n1. Compression with gzip is not supported with <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> option in CDN resource settings overrides `gzipON` in rules. If you enable <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> in CDN resource and want to enable `gzipON` in rules, you need to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>:false` for rules.\n"},"hostHeader":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsHostHeader:getCdnResourceOptionsHostHeader","description":"Sets the Host header that CDN servers use when request content from an origin server.\nYour server must be able to process requests with the chosen header.\n\nIf the option is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the Host Header value is equal to first CNAME.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"http3Enabled":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsHttp3Enabled:getCdnResourceOptionsHttp3Enabled","description":"Enables HTTP/3 protocol for content delivery.\n\n<span pulumi-lang-nodejs=\"`http3Enabled`\" pulumi-lang-dotnet=\"`Http3Enabled`\" pulumi-lang-go=\"`http3Enabled`\" pulumi-lang-python=\"`http3_enabled`\" pulumi-lang-yaml=\"`http3Enabled`\" pulumi-lang-java=\"`http3Enabled`\">`http3_enabled`</span> option works only with `\"sslEnabled\": true`.\n"},"ignoreCookie":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsIgnoreCookie:getCdnResourceOptionsIgnoreCookie","description":"Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsIgnoreQueryString:getCdnResourceOptionsIgnoreQueryString","description":"How a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.)\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsImageStack:getCdnResourceOptionsImageStack","description":"Transforms JPG and PNG images (for example, resize or crop) and automatically converts them to WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsIpAddressAcl:getCdnResourceOptionsIpAddressAcl","description":"Controls access to the CDN resource content for specific IP addresses.\n\nIf you want to use IPs from our CDN servers IP list for IP ACL configuration, you have to independently monitor their relevance.\n\nWe recommend you use a script for automatically update IP ACL. [Read more.](https://www.terraform.io/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)\n"},"limitBandwidth":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsLimitBandwidth:getCdnResourceOptionsLimitBandwidth","description":"Allows to control the download speed per connection.\n"},"proxyCacheKey":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsProxyCacheKey:getCdnResourceOptionsProxyCacheKey","description":"Allows you to modify your cache key. If omitted, the default value is `$request_uri`.\n\nCombine the specified variables to create a key for caching.\n- **$<span pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\">`request_uri`</span>**\n- **$scheme**\n- **$uri**\n\n**Warning**: Enabling and changing this option can invalidate your current cache and affect the cache hit ratio. Furthermore, the \"Purge by pattern\" option will not work.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsProxyCacheMethodsSet:getCdnResourceOptionsProxyCacheMethodsSet","description":"Caching for POST requests along with default GET and HEAD.\n"},"proxyConnectTimeout":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsProxyConnectTimeout:getCdnResourceOptionsProxyConnectTimeout","description":"The time limit for establishing a connection with the origin.\n"},"proxyReadTimeout":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsProxyReadTimeout:getCdnResourceOptionsProxyReadTimeout","description":"The time limit for receiving a partial response from the origin.\nIf no response is received within this time, the connection will be closed.\n\n**Note:**\nWhen used with a WebSocket connection, this option supports values only in the range 1–20 seconds (instead of the usual 1–30 seconds).\n"},"queryParamsBlacklist":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsQueryParamsBlacklist:getCdnResourceOptionsQueryParamsBlacklist","description":"Files with the specified query parameters are cached as one object, files with other parameters are cached as different objects.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsQueryParamsWhitelist:getCdnResourceOptionsQueryParamsWhitelist","description":"Files with the specified query parameters are cached as different objects, files with other parameters are cached as one object.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryStringForwarding":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsQueryStringForwarding:getCdnResourceOptionsQueryStringForwarding","description":"The Query String Forwarding feature allows for the seamless transfer of parameters embedded in playlist files to the corresponding media chunk files.\nThis functionality ensures that specific attributes, such as authentication tokens or tracking information, are consistently passed along from the playlist manifest to the individual media segments.\nThis is particularly useful for maintaining continuity in security, analytics, and any other parameter-based operations across the entire media delivery workflow.\n"},"redirectHttpToHttps":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsRedirectHttpToHttps:getCdnResourceOptionsRedirectHttpToHttps","description":"Enables redirect from HTTP to HTTPS.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsRedirectHttpsToHttp:getCdnResourceOptionsRedirectHttpsToHttp","description":"Enables redirect from HTTPS to HTTP.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsReferrerAcl:getCdnResourceOptionsReferrerAcl","description":"Controls access to the CDN resource content for specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsResponseHeadersHidingPolicy:getCdnResourceOptionsResponseHeadersHidingPolicy","description":"Hides HTTP headers from an origin server in the CDN response.\n"},"rewrite":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsRewrite:getCdnResourceOptionsRewrite","description":"Changes and redirects requests from the CDN to the origin. It operates according to the [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) configuration.\n"},"secureKey":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsSecureKey:getCdnResourceOptionsSecureKey","description":"Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsSlice:getCdnResourceOptionsSlice","description":"Requests and caches files larger than 10 MB in parts (no larger than 10 MB per part.) This reduces time to first byte.\n\nThe option is based on the [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.\n\nNotes:\n\n1. Origin must support HTTP Range requests.\n2. Not supported with `gzipON`, <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> options enabled.\n"},"sni":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsSni:getCdnResourceOptionsSni","description":"The hostname that is added to SNI requests from CDN servers to the origin server via HTTPS.\n\nSNI is generally only required if your origin uses shared hosting or does not have a dedicated IP address.\nIf the origin server presents multiple certificates, SNI allows the origin server to know which certificate to use for the connection.\n\nThe option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.\n"},"stale":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsStale:getCdnResourceOptionsStale","description":"Serves stale cached content in case of origin unavailability.\n"},"staticHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsStaticHeaders:getCdnResourceOptionsStaticHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`staticResponseHeaders`\" pulumi-lang-dotnet=\"`StaticResponseHeaders`\" pulumi-lang-go=\"`staticResponseHeaders`\" pulumi-lang-python=\"`static_response_headers`\" pulumi-lang-yaml=\"`staticResponseHeaders`\" pulumi-lang-java=\"`staticResponseHeaders`\">`static_response_headers`</span> option instead.\n\nCustom HTTP Headers that a CDN server adds to response. Up to fifty custom HTTP Headers can be specified. May contain a header with multiple values.\n"},"staticRequestHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsStaticRequestHeaders:getCdnResourceOptionsStaticRequestHeaders","description":"Custom HTTP Headers for a CDN server to add to request. Up to fifty custom HTTP Headers can be specified.\n"},"staticResponseHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsStaticResponseHeaders:getCdnResourceOptionsStaticResponseHeaders","description":"Custom HTTP Headers that a CDN server adds to a response.\n"},"tlsVersions":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsTlsVersions:getCdnResourceOptionsTlsVersions","description":"List of SSL/TLS protocol versions allowed for HTTPS connections from end users to the domain.\n\nWhen the option is disabled, all protocols versions are allowed.\n"},"useDefaultLeChain":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsUseDefaultLeChain:getCdnResourceOptionsUseDefaultLeChain","description":"Let's Encrypt certificate chain.\n\nThe specified chain will be used during the next Let's Encrypt certificate issue or renewal.\n"},"useDns01LeChallenge":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsUseDns01LeChallenge:getCdnResourceOptionsUseDns01LeChallenge","description":"DNS-01 challenge to issue a Let's Encrypt certificate for the resource.\n\nDNS service should be activated to enable this option.\n"},"useRsaLeCert":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsUseRsaLeCert:getCdnResourceOptionsUseRsaLeCert","description":"RSA Let's Encrypt certificate type for the CDN resource.\n\nThe specified value will be used during the next Let's Encrypt certificate issue or renewal.\n"},"userAgentAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsUserAgentAcl:getCdnResourceOptionsUserAgentAcl","description":"Controls access to the content for specified User-Agents.\n"},"waap":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsWaap:getCdnResourceOptionsWaap","description":"Allows to enable WAAP (Web Application and API Protection).\n"},"websockets":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsWebsockets:getCdnResourceOptionsWebsockets","description":"Enables or disables WebSockets connections to an origin server.\n"}},"required":["allowedHttpMethods","brotliCompression","browserCacheSettings","cacheHttpHeaders","cors","countryAcl","disableCache","disableProxyForceRanges","edgeCacheSettings","fastedge","fetchCompressed","followOriginRedirect","forceReturn","forwardHostHeader","grpcPassthrough","gzipOn","hostHeader","http3Enabled","ignoreCookie","ignoreQueryString","imageStack","ipAddressAcl","limitBandwidth","proxyCacheKey","proxyCacheMethodsSet","proxyConnectTimeout","proxyReadTimeout","queryParamsBlacklist","queryParamsWhitelist","queryStringForwarding","redirectHttpToHttps","redirectHttpsToHttp","referrerAcl","responseHeadersHidingPolicy","rewrite","secureKey","slice","sni","stale","staticHeaders","staticRequestHeaders","staticResponseHeaders","tlsVersions","useDefaultLeChain","useDns01LeChallenge","useRsaLeCert","userAgentAcl","waap","websockets"],"type":"object"},"gcore:index/getCdnResourceOptionsAllowedHttpMethods:getCdnResourceOptionsAllowedHttpMethods":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsBrotliCompression:getCdnResourceOptionsBrotliCompression":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Allows to select the content types you want to compress.\n\n`text/html` is a mandatory content type.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsBrowserCacheSettings:getCdnResourceOptionsBrowserCacheSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Set the cache expiration time to '0s' to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsCacheHttpHeaders:getCdnResourceOptionsCacheHttpHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsCors:getCdnResourceOptionsCors":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"always":{"description":"Defines whether the Access-Control-Allow-Origin header should be added to a response from CDN regardless of response code.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"values":{"description":"Value of the Access-Control-Allow-Origin header.\n\nPossible values:\n- **Adds * as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain.\n`\"value\": [\"*\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field.\n`\"value\": [\"domain.com\", \"second.dom.com\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the \"Access-Control-Allow-Origin\" header in the response.\n`\"value\": [\"$http_origin\"]`\n","items":{"type":"string"},"type":"array"}},"required":["always","enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsCountryAcl:getCdnResourceOptionsCountryAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of countries according to ISO-3166-1.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of countries for which access is prohibited.\n- **deny** - List of countries for which access is allowed.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Defines the type of CDN resource access policy.\n\nPossible values:\n- **allow** - Access is allowed for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Access is denied for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceOptionsDisableCache:getCdnResourceOptionsDisableCache":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - content caching is disabled.\n- **false** - content caching is enabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsDisableProxyForceRanges:getCdnResourceOptionsDisableProxyForceRanges":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsEdgeCacheSettings:getCdnResourceOptionsEdgeCacheSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"customValues":{"additionalProperties":{"type":"string"},"description":"A MAP object representing the caching time in seconds for a response with a specific response code.\n","type":"object"},"default":{"description":"Enables content caching according to the origin cache settings.\n\nThe value is applied to the following response codes 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, if an origin server does not have caching HTTP headers.\n\nResponses with other codes will not be cached.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"value":{"description":"Caching time.\n\nThe value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached.\n\nUse <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["customValues","default","enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsFastedge:getCdnResourceOptionsFastedge":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"onRequestBody":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFastedgeOnRequestBody:getCdnResourceOptionsFastedgeOnRequestBody","description":"Allows to configure FastEdge application that will be called to handle request body as soon as CDN receives incoming HTTP request.\n"},"onRequestHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFastedgeOnRequestHeaders:getCdnResourceOptionsFastedgeOnRequestHeaders","description":"Allows to configure FastEdge application that will be called to handle request headers as soon as CDN receives incoming HTTP request, **before cache**.\n"},"onResponseBody":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFastedgeOnResponseBody:getCdnResourceOptionsFastedgeOnResponseBody","description":"Allows to configure FastEdge application that will be called to handle response body before CDN sends the HTTP response.\n"},"onResponseHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsFastedgeOnResponseHeaders:getCdnResourceOptionsFastedgeOnResponseHeaders","description":"Allows to configure FastEdge application that will be called to handle response headers before CDN sends the HTTP response.\n"}},"required":["enabled","onRequestBody","onRequestHeaders","onResponseBody","onResponseHeaders"],"type":"object"},"gcore:index/getCdnResourceOptionsFastedgeOnRequestBody:getCdnResourceOptionsFastedgeOnRequestBody":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceOptionsFastedgeOnRequestHeaders:getCdnResourceOptionsFastedgeOnRequestHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceOptionsFastedgeOnResponseBody:getCdnResourceOptionsFastedgeOnResponseBody":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceOptionsFastedgeOnResponseHeaders:getCdnResourceOptionsFastedgeOnResponseHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceOptionsFetchCompressed:getCdnResourceOptionsFetchCompressed":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsFollowOriginRedirect:getCdnResourceOptionsFollowOriginRedirect":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"codes":{"description":"Redirect status code that the origin server returns.\n","items":{"type":"number"},"type":"array"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["codes","enabled"],"type":"object"},"gcore:index/getCdnResourceOptionsForceReturn:getCdnResourceOptionsForceReturn":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"body":{"description":"URL for redirection or text.\n","type":"string"},"code":{"description":"Status code value.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"timeInterval":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsForceReturnTimeInterval:getCdnResourceOptionsForceReturnTimeInterval","description":"Controls the time at which a custom HTTP response code should be applied. By default, a custom HTTP response code is applied at any time.\n"}},"required":["body","code","enabled","timeInterval"],"type":"object"},"gcore:index/getCdnResourceOptionsForceReturnTimeInterval:getCdnResourceOptionsForceReturnTimeInterval":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"endTime":{"description":"Time until which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"startTime":{"description":"Time from which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"timeZone":{"description":"Time zone used to calculate time.\n","type":"string"}},"required":["endTime","startTime","timeZone"],"type":"object"},"gcore:index/getCdnResourceOptionsForwardHostHeader:getCdnResourceOptionsForwardHostHeader":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsGrpcPassthrough:getCdnResourceOptionsGrpcPassthrough":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsGzipOn:getCdnResourceOptionsGzipOn":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsHostHeader:getCdnResourceOptionsHostHeader":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Host Header value.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsHttp3Enabled:getCdnResourceOptionsHttp3Enabled":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsIgnoreCookie:getCdnResourceOptionsIgnoreCookie":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled, files with cookies are cached as one file.\n- **false** - Option is disabled, files with cookies are cached as different files.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsIgnoreQueryString:getCdnResourceOptionsIgnoreQueryString":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsImageStack:getCdnResourceOptionsImageStack":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"avifEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to AVI format.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"pngLossless":{"description":"Enables or disables compression without quality loss for PNG format.\n","type":"boolean"},"quality":{"description":"Defines quality settings for JPG and PNG images. The higher the value, the better the image quality, and the larger the file size after conversion.\n","type":"number"},"webpEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to WebP format.\n","type":"boolean"}},"required":["avifEnabled","enabled","pngLossless","quality","webpEnabled"],"type":"object"},"gcore:index/getCdnResourceOptionsIpAddressAcl:getCdnResourceOptionsIpAddressAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of IP addresses with a subnet mask.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of IP addresses for which access is prohibited.\n- **deny** - List of IP addresses for which access is allowed.\n\nExamples:\n- `192.168.3.2/32`\n- `2a03:d000:2980:7::8/128`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"IP access policy type.\n\nPossible values:\n- **allow** - Allow access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\n- **deny** - Deny access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceOptionsLimitBandwidth:getCdnResourceOptionsLimitBandwidth":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"buffer":{"description":"Amount of downloaded data after which the user will be rate limited.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"limitType":{"description":"Method of controlling the download speed per connection.\n\nPossible values:\n- **static** - Use speed and buffer fields to set the download speed limit.\n- **dynamic** - Use query strings **speed** and **buffer** to set the download speed limit.\n\nFor example, when requesting content at the link\n\n```\nhttp://cdn.example.com/video.mp4?speed=50k&buffer=500k\n```\n\nthe download speed will be limited to 50kB/s after 500 kB.\nAvailable values: \"static\", \"dynamic\".\n","type":"string"},"speed":{"description":"Maximum download speed per connection.\n","type":"number"}},"required":["buffer","enabled","limitType","speed"],"type":"object"},"gcore:index/getCdnResourceOptionsProxyCacheKey:getCdnResourceOptionsProxyCacheKey":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Key for caching.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsProxyCacheMethodsSet:getCdnResourceOptionsProxyCacheMethodsSet":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsProxyConnectTimeout:getCdnResourceOptionsProxyConnectTimeout":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 5s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsProxyReadTimeout:getCdnResourceOptionsProxyReadTimeout":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 30s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsQueryParamsBlacklist:getCdnResourceOptionsQueryParamsBlacklist":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsQueryParamsWhitelist:getCdnResourceOptionsQueryParamsWhitelist":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsQueryStringForwarding:getCdnResourceOptionsQueryStringForwarding":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"forwardExceptKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardExceptKeys`\" pulumi-lang-dotnet=\"`ForwardExceptKeys`\" pulumi-lang-go=\"`forwardExceptKeys`\" pulumi-lang-python=\"`forward_except_keys`\" pulumi-lang-yaml=\"`forwardExceptKeys`\" pulumi-lang-java=\"`forwardExceptKeys`\">`forward_except_keys`</span> field provides a mechanism to exclude specific parameters from being forwarded from playlist files to media chunk files.\nBy listing certain keys in this field, you can ensure that these parameters are omitted during the forwarding process.\nThis is particularly useful for preventing sensitive or irrelevant information from being included in requests for media chunks, thereby enhancing security and optimizing performance.\n","items":{"type":"string"},"type":"array"},"forwardFromFileTypes":{"description":"The <span pulumi-lang-nodejs=\"`forwardFromFilesTypes`\" pulumi-lang-dotnet=\"`ForwardFromFilesTypes`\" pulumi-lang-go=\"`forwardFromFilesTypes`\" pulumi-lang-python=\"`forward_from_files_types`\" pulumi-lang-yaml=\"`forwardFromFilesTypes`\" pulumi-lang-java=\"`forwardFromFilesTypes`\">`forward_from_files_types`</span> field specifies the types of playlist files from which parameters will be extracted and forwarded.\nThis typically includes formats that list multiple media chunk references, such as HLS and DASH playlists.\nParameters associated with these playlist files (like query strings or headers) will be propagated to the chunks they reference.\n","items":{"type":"string"},"type":"array"},"forwardOnlyKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardOnlyKeys`\" pulumi-lang-dotnet=\"`ForwardOnlyKeys`\" pulumi-lang-go=\"`forwardOnlyKeys`\" pulumi-lang-python=\"`forward_only_keys`\" pulumi-lang-yaml=\"`forwardOnlyKeys`\" pulumi-lang-java=\"`forwardOnlyKeys`\">`forward_only_keys`</span> field allows for granular control over which specific parameters are forwarded from playlist files to media chunk files.\nBy specifying certain keys, only those parameters will be propagated, ensuring that only relevant information is passed along.\nThis is particularly useful for security and performance optimization, as it prevents unnecessary or sensitive data from being included in requests for media chunks.\n","items":{"type":"string"},"type":"array"},"forwardToFileTypes":{"description":"The field specifies the types of media chunk files to which parameters, extracted from playlist files, will be forwarded.\nThese refer to the actual segments of media content that are delivered to viewers.\nEnsuring the correct parameters are forwarded to these files is crucial for maintaining the integrity of the streaming session.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","forwardExceptKeys","forwardFromFileTypes","forwardOnlyKeys","forwardToFileTypes"],"type":"object"},"gcore:index/getCdnResourceOptionsRedirectHttpToHttps:getCdnResourceOptionsRedirectHttpToHttps":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsRedirectHttpsToHttp:getCdnResourceOptionsRedirectHttpsToHttp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsReferrerAcl:getCdnResourceOptionsReferrerAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of domain names or wildcard domains (without protocol: `http://` or `https://`.)\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of domain names for which access is prohibited.\n- **deny** - List of IP domain names for which access is allowed.\n\nExamples:\n- `example.com`\n- `*.example.com`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Policy type.\n\nPossible values:\n- **allow** - Allow access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceOptionsResponseHeadersHidingPolicy:getCdnResourceOptionsResponseHeadersHidingPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"excepteds":{"description":"List of HTTP headers.\n\nParameter meaning depends on the value of the <span pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\">`mode`</span> field:\n- **show** - List of HTTP headers to hide from response.\n- **hide** - List of HTTP headers to include in response. Other HTTP headers will be hidden.\n\nThe following headers are required and cannot be hidden from response:\n- `Connection`\n- `Content-Length`\n- `Content-Type`\n- `Date`\n- `Server`\n","items":{"type":"string"},"type":"array"},"mode":{"description":"How HTTP headers are hidden from the response.\n\nPossible values:\n- **show** - Hide only HTTP headers listed in the <span pulumi-lang-nodejs=\"`excepted`\" pulumi-lang-dotnet=\"`Excepted`\" pulumi-lang-go=\"`excepted`\" pulumi-lang-python=\"`excepted`\" pulumi-lang-yaml=\"`excepted`\" pulumi-lang-java=\"`excepted`\">`excepted`</span> field.\n- **hide** - Hide all HTTP headers except headers listed in the \"excepted\" field.\nAvailable values: \"hide\", \"show\".\n","type":"string"}},"required":["enabled","excepteds","mode"],"type":"object"},"gcore:index/getCdnResourceOptionsRewrite:getCdnResourceOptionsRewrite":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"body":{"description":"Path for the Rewrite option.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"flag":{"description":"Flag for the Rewrite option.\n\nPossible values:\n- **last** - Stop processing the current set of <span pulumi-lang-nodejs=\"`ngxHttpRewriteModule`\" pulumi-lang-dotnet=\"`NgxHttpRewriteModule`\" pulumi-lang-go=\"`ngxHttpRewriteModule`\" pulumi-lang-python=\"`ngx_http_rewrite_module`\" pulumi-lang-yaml=\"`ngxHttpRewriteModule`\" pulumi-lang-java=\"`ngxHttpRewriteModule`\">`ngx_http_rewrite_module`</span> directives and start a search for a new location matching changed URI.\n- **break** - Stop processing the current set of the Rewrite option.\n- **redirect** - Return a temporary redirect with the 302 code; used when a replacement string does not start with `http://`, `https://`, or `$scheme`.\n- **permanent** - Return a permanent redirect with the 301 code.\nAvailable values: \"break\", \"last\", \"redirect\", \"permanent\".\n","type":"string"}},"required":["body","enabled","flag"],"type":"object"},"gcore:index/getCdnResourceOptionsSecureKey:getCdnResourceOptionsSecureKey":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"key":{"description":"Key generated on your side that will be used for URL signing.\n","type":"string"},"type":{"description":"Type of URL signing.\n\nPossible types:\n- **Type 0** - Includes end user IP to secure token generation.\n- **Type 2** - Excludes end user IP from secure token generation.\nAvailable values: 0, 2.\n","type":"number"}},"required":["enabled","key","type"],"type":"object"},"gcore:index/getCdnResourceOptionsSlice:getCdnResourceOptionsSlice":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsSni:getCdnResourceOptionsSni":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"customHostname":{"description":"Custom SNI hostname.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"sniType":{"description":"SNI (Server Name Indication) type.\n\nPossible values:\n- **dynamic** - SNI hostname depends on `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options.\nIt has several possible combinations:\n- If the `hostHeader` option is enabled and specified, SNI hostname matches the Host header.\n- If the <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> option is enabled and has true value, SNI hostname matches the Host header used in the request made to a CDN.\n- If the `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options are disabled, SNI hostname matches the primary CNAME.\n- **custom** - custom SNI hostname is in use.\nAvailable values: \"dynamic\", \"custom\".\n","type":"string"}},"required":["customHostname","enabled","sniType"],"type":"object"},"gcore:index/getCdnResourceOptionsStale:getCdnResourceOptionsStale":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Defines list of errors for which \"Always online\" option is applied.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsStaticHeaders:getCdnResourceOptionsStaticHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 128 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsStaticRequestHeaders:getCdnResourceOptionsStaticRequestHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"additionalProperties":{"type":"string"},"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"object"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsStaticResponseHeaders:getCdnResourceOptionsStaticResponseHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"$ref":"#/types/gcore:index%2FgetCdnResourceOptionsStaticResponseHeadersValue:getCdnResourceOptionsStaticResponseHeadersValue"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsStaticResponseHeadersValue:getCdnResourceOptionsStaticResponseHeadersValue":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"always":{"description":"Defines whether the header will be added to a response from CDN regardless of response code.\n","type":"boolean"},"name":{"description":"HTTP Header name.\n\nRestrictions:\n- Maximum 128 symbols.\n- Latin letters (A-Z, a-z,) numbers (0-9,) dashes, and underscores only.\n","type":"string"},"values":{"description":"Header value.\n\nRestrictions:\n- Maximum 512 symbols.\n- Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]).\n- Must start with a letter, number, asterisk or {.\n- Multiple values can be added.\n","items":{"type":"string"},"type":"array"}},"required":["always","name","values"],"type":"object"},"gcore:index/getCdnResourceOptionsTlsVersions:getCdnResourceOptionsTlsVersions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of SSL/TLS protocol versions (case sensitive).\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceOptionsUseDefaultLeChain:getCdnResourceOptionsUseDefaultLeChain":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Default Let's Encrypt certificate chain. This is a deprecated version, use it only for compatibilities with Android devices 7.1.1 or lower.\n- **false** - Alternative Let's Encrypt certificate chain.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsUseDns01LeChallenge:getCdnResourceOptionsUseDns01LeChallenge":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - DNS-01 challenge is used to issue Let's Encrypt certificate.\n- **false** - HTTP-01 challenge is used to issue Let's Encrypt certificate.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsUseRsaLeCert:getCdnResourceOptionsUseRsaLeCert":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - RSA Let's Encrypt certificate.\n- **false** - ECDSA Let's Encrypt certificate.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsUserAgentAcl:getCdnResourceOptionsUserAgentAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of User-Agents that will be allowed/denied.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span>:\n- **allow** - List of User-Agents for which access is prohibited.\n- **deny** - List of User-Agents for which access is allowed.\n\nYou can provide exact User-Agent strings or regular expressions. Regular expressions must start\nwith `~` (case-sensitive) or `~*` (case-insensitive).\n\nUse an empty string `\"\"` to allow/deny access when the User-Agent header is empty.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"User-Agents policy type.\n\nPossible values:\n- **allow** - Allow access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceOptionsWaap:getCdnResourceOptionsWaap":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceOptionsWebsockets:getCdnResourceOptionsWebsockets":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptions:getCdnResourceRuleOptions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowedHttpMethods":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsAllowedHttpMethods:getCdnResourceRuleOptionsAllowedHttpMethods","description":"HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsBrotliCompression:getCdnResourceRuleOptionsBrotliCompression","description":"Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsBrowserCacheSettings:getCdnResourceRuleOptionsBrowserCacheSettings","description":"Cache expiration time for users browsers in seconds.\n\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n\nResponses with other codes will not be cached.\n"},"cacheHttpHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsCacheHttpHeaders:getCdnResourceRuleOptionsCacheHttpHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`responseHeadersHidingPolicy`\" pulumi-lang-dotnet=\"`ResponseHeadersHidingPolicy`\" pulumi-lang-go=\"`responseHeadersHidingPolicy`\" pulumi-lang-python=\"`response_headers_hiding_policy`\" pulumi-lang-yaml=\"`responseHeadersHidingPolicy`\" pulumi-lang-java=\"`responseHeadersHidingPolicy`\">`response_headers_hiding_policy`</span> option instead.\n\nHTTP Headers that must be included in the response.\n"},"cors":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsCors:getCdnResourceRuleOptionsCors","description":"Enables or disables CORS (Cross-Origin Resource Sharing) header support.\n\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsCountryAcl:getCdnResourceRuleOptionsCountryAcl","description":"Enables control access to content for specified countries.\n"},"disableCache":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsDisableCache:getCdnResourceRuleOptionsDisableCache","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`edgeCacheSettings`\" pulumi-lang-dotnet=\"`EdgeCacheSettings`\" pulumi-lang-go=\"`edgeCacheSettings`\" pulumi-lang-python=\"`edge_cache_settings`\" pulumi-lang-yaml=\"`edgeCacheSettings`\" pulumi-lang-java=\"`edgeCacheSettings`\">`edge_cache_settings`</span> option instead.\n\nAllows the complete disabling of content caching.\n"},"disableProxyForceRanges":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsDisableProxyForceRanges:getCdnResourceRuleOptionsDisableProxyForceRanges","description":"Allows 206 responses regardless of the settings of an origin source.\n"},"edgeCacheSettings":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsEdgeCacheSettings:getCdnResourceRuleOptionsEdgeCacheSettings","description":"Cache expiration time for CDN servers.\n\n<span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> and <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span> fields cannot be used simultaneously.\n"},"fastedge":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFastedge:getCdnResourceRuleOptionsFastedge","description":"Allows to configure FastEdge app to be called on different request/response phases.\n\nNote: At least one of <span pulumi-lang-nodejs=\"`onRequestHeaders`\" pulumi-lang-dotnet=\"`OnRequestHeaders`\" pulumi-lang-go=\"`onRequestHeaders`\" pulumi-lang-python=\"`on_request_headers`\" pulumi-lang-yaml=\"`onRequestHeaders`\" pulumi-lang-java=\"`onRequestHeaders`\">`on_request_headers`</span>, <span pulumi-lang-nodejs=\"`onRequestBody`\" pulumi-lang-dotnet=\"`OnRequestBody`\" pulumi-lang-go=\"`onRequestBody`\" pulumi-lang-python=\"`on_request_body`\" pulumi-lang-yaml=\"`onRequestBody`\" pulumi-lang-java=\"`onRequestBody`\">`on_request_body`</span>, <span pulumi-lang-nodejs=\"`onResponseHeaders`\" pulumi-lang-dotnet=\"`OnResponseHeaders`\" pulumi-lang-go=\"`onResponseHeaders`\" pulumi-lang-python=\"`on_response_headers`\" pulumi-lang-yaml=\"`onResponseHeaders`\" pulumi-lang-java=\"`onResponseHeaders`\">`on_response_headers`</span>, or <span pulumi-lang-nodejs=\"`onResponseBody`\" pulumi-lang-dotnet=\"`OnResponseBody`\" pulumi-lang-go=\"`onResponseBody`\" pulumi-lang-python=\"`on_response_body`\" pulumi-lang-yaml=\"`onResponseBody`\" pulumi-lang-java=\"`onResponseBody`\">`on_response_body`</span> must be specified.\n"},"fetchCompressed":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFetchCompressed:getCdnResourceRuleOptionsFetchCompressed","description":"Makes the CDN request compressed content from the origin.\n\nThe origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression.\n\nNotes:\n\n1. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> is not supported with `gzipON` or <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> overrides `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in rule. If you enable it in CDN resource and want to use `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in a rule, you have to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>: false` in the rule.\n"},"followOriginRedirect":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFollowOriginRedirect:getCdnResourceRuleOptionsFollowOriginRedirect","description":"Enables redirection from origin.\nIf the origin server returns a redirect, the option allows the CDN to pull the requested content from the origin server that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsForceReturn:getCdnResourceRuleOptionsForceReturn","description":"Applies custom HTTP response codes for CDN content.\n\nThe following codes are reserved by our system and cannot be specified in this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsForwardHostHeader:getCdnResourceRuleOptionsForwardHostHeader","description":"Forwards the Host header from a end-user request to an origin server.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"gzipOn":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsGzipOn:getCdnResourceRuleOptionsGzipOn","description":"Compresses content with gzip on the CDN end. CDN servers will request only uncompressed content from the origin.\n\nNotes:\n\n1. Compression with gzip is not supported with <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> option in CDN resource settings overrides `gzipON` in rules. If you enable <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> in CDN resource and want to enable `gzipON` in rules, you need to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>:false` for rules.\n"},"hostHeader":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsHostHeader:getCdnResourceRuleOptionsHostHeader","description":"Sets the Host header that CDN servers use when request content from an origin server.\nYour server must be able to process requests with the chosen header.\n\nIf the option is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the Host Header value is equal to first CNAME.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"ignoreCookie":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsIgnoreCookie:getCdnResourceRuleOptionsIgnoreCookie","description":"Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsIgnoreQueryString:getCdnResourceRuleOptionsIgnoreQueryString","description":"How a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.)\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsImageStack:getCdnResourceRuleOptionsImageStack","description":"Transforms JPG and PNG images (for example, resize or crop) and automatically converts them to WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsIpAddressAcl:getCdnResourceRuleOptionsIpAddressAcl","description":"Controls access to the CDN resource content for specific IP addresses.\n\nIf you want to use IPs from our CDN servers IP list for IP ACL configuration, you have to independently monitor their relevance.\n\nWe recommend you use a script for automatically update IP ACL. [Read more.](https://www.terraform.io/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)\n"},"limitBandwidth":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsLimitBandwidth:getCdnResourceRuleOptionsLimitBandwidth","description":"Allows to control the download speed per connection.\n"},"proxyCacheKey":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsProxyCacheKey:getCdnResourceRuleOptionsProxyCacheKey","description":"Allows you to modify your cache key. If omitted, the default value is `$request_uri`.\n\nCombine the specified variables to create a key for caching.\n- **$<span pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\">`request_uri`</span>**\n- **$scheme**\n- **$uri**\n\n**Warning**: Enabling and changing this option can invalidate your current cache and affect the cache hit ratio. Furthermore, the \"Purge by pattern\" option will not work.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsProxyCacheMethodsSet:getCdnResourceRuleOptionsProxyCacheMethodsSet","description":"Caching for POST requests along with default GET and HEAD.\n"},"proxyConnectTimeout":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsProxyConnectTimeout:getCdnResourceRuleOptionsProxyConnectTimeout","description":"The time limit for establishing a connection with the origin.\n"},"proxyReadTimeout":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsProxyReadTimeout:getCdnResourceRuleOptionsProxyReadTimeout","description":"The time limit for receiving a partial response from the origin.\nIf no response is received within this time, the connection will be closed.\n\n**Note:**\nWhen used with a WebSocket connection, this option supports values only in the range 1–20 seconds (instead of the usual 1–30 seconds).\n"},"queryParamsBlacklist":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsQueryParamsBlacklist:getCdnResourceRuleOptionsQueryParamsBlacklist","description":"Files with the specified query parameters are cached as one object, files with other parameters are cached as different objects.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsQueryParamsWhitelist:getCdnResourceRuleOptionsQueryParamsWhitelist","description":"Files with the specified query parameters are cached as different objects, files with other parameters are cached as one object.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryStringForwarding":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsQueryStringForwarding:getCdnResourceRuleOptionsQueryStringForwarding","description":"The Query String Forwarding feature allows for the seamless transfer of parameters embedded in playlist files to the corresponding media chunk files.\nThis functionality ensures that specific attributes, such as authentication tokens or tracking information, are consistently passed along from the playlist manifest to the individual media segments.\nThis is particularly useful for maintaining continuity in security, analytics, and any other parameter-based operations across the entire media delivery workflow.\n"},"redirectHttpToHttps":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsRedirectHttpToHttps:getCdnResourceRuleOptionsRedirectHttpToHttps","description":"Enables redirect from HTTP to HTTPS.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsRedirectHttpsToHttp:getCdnResourceRuleOptionsRedirectHttpsToHttp","description":"Enables redirect from HTTPS to HTTP.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsReferrerAcl:getCdnResourceRuleOptionsReferrerAcl","description":"Controls access to the CDN resource content for specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsResponseHeadersHidingPolicy:getCdnResourceRuleOptionsResponseHeadersHidingPolicy","description":"Hides HTTP headers from an origin server in the CDN response.\n"},"rewrite":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsRewrite:getCdnResourceRuleOptionsRewrite","description":"Changes and redirects requests from the CDN to the origin. It operates according to the [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) configuration.\n"},"secureKey":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsSecureKey:getCdnResourceRuleOptionsSecureKey","description":"Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsSlice:getCdnResourceRuleOptionsSlice","description":"Requests and caches files larger than 10 MB in parts (no larger than 10 MB per part.) This reduces time to first byte.\n\nThe option is based on the [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.\n\nNotes:\n\n1. Origin must support HTTP Range requests.\n2. Not supported with `gzipON`, <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> options enabled.\n"},"sni":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsSni:getCdnResourceRuleOptionsSni","description":"The hostname that is added to SNI requests from CDN servers to the origin server via HTTPS.\n\nSNI is generally only required if your origin uses shared hosting or does not have a dedicated IP address.\nIf the origin server presents multiple certificates, SNI allows the origin server to know which certificate to use for the connection.\n\nThe option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.\n"},"stale":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsStale:getCdnResourceRuleOptionsStale","description":"Serves stale cached content in case of origin unavailability.\n"},"staticHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsStaticHeaders:getCdnResourceRuleOptionsStaticHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`staticResponseHeaders`\" pulumi-lang-dotnet=\"`StaticResponseHeaders`\" pulumi-lang-go=\"`staticResponseHeaders`\" pulumi-lang-python=\"`static_response_headers`\" pulumi-lang-yaml=\"`staticResponseHeaders`\" pulumi-lang-java=\"`staticResponseHeaders`\">`static_response_headers`</span> option instead.\n\nCustom HTTP Headers that a CDN server adds to response. Up to fifty custom HTTP Headers can be specified. May contain a header with multiple values.\n"},"staticRequestHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsStaticRequestHeaders:getCdnResourceRuleOptionsStaticRequestHeaders","description":"Custom HTTP Headers for a CDN server to add to request. Up to fifty custom HTTP Headers can be specified.\n"},"staticResponseHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsStaticResponseHeaders:getCdnResourceRuleOptionsStaticResponseHeaders","description":"Custom HTTP Headers that a CDN server adds to a response.\n"},"userAgentAcl":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsUserAgentAcl:getCdnResourceRuleOptionsUserAgentAcl","description":"Controls access to the content for specified User-Agents.\n"},"waap":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsWaap:getCdnResourceRuleOptionsWaap","description":"Allows to enable WAAP (Web Application and API Protection).\n"},"websockets":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsWebsockets:getCdnResourceRuleOptionsWebsockets","description":"Enables or disables WebSockets connections to an origin server.\n"}},"required":["allowedHttpMethods","brotliCompression","browserCacheSettings","cacheHttpHeaders","cors","countryAcl","disableCache","disableProxyForceRanges","edgeCacheSettings","fastedge","fetchCompressed","followOriginRedirect","forceReturn","forwardHostHeader","gzipOn","hostHeader","ignoreCookie","ignoreQueryString","imageStack","ipAddressAcl","limitBandwidth","proxyCacheKey","proxyCacheMethodsSet","proxyConnectTimeout","proxyReadTimeout","queryParamsBlacklist","queryParamsWhitelist","queryStringForwarding","redirectHttpToHttps","redirectHttpsToHttp","referrerAcl","responseHeadersHidingPolicy","rewrite","secureKey","slice","sni","stale","staticHeaders","staticRequestHeaders","staticResponseHeaders","userAgentAcl","waap","websockets"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsAllowedHttpMethods:getCdnResourceRuleOptionsAllowedHttpMethods":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsBrotliCompression:getCdnResourceRuleOptionsBrotliCompression":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Allows to select the content types you want to compress.\n\n`text/html` is a mandatory content type.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsBrowserCacheSettings:getCdnResourceRuleOptionsBrowserCacheSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Set the cache expiration time to '0s' to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsCacheHttpHeaders:getCdnResourceRuleOptionsCacheHttpHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsCors:getCdnResourceRuleOptionsCors":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"always":{"description":"Defines whether the Access-Control-Allow-Origin header should be added to a response from CDN regardless of response code.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"values":{"description":"Value of the Access-Control-Allow-Origin header.\n\nPossible values:\n- **Adds * as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain.\n`\"value\": [\"*\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field.\n`\"value\": [\"domain.com\", \"second.dom.com\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the \"Access-Control-Allow-Origin\" header in the response.\n`\"value\": [\"$http_origin\"]`\n","items":{"type":"string"},"type":"array"}},"required":["always","enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsCountryAcl:getCdnResourceRuleOptionsCountryAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of countries according to ISO-3166-1.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of countries for which access is prohibited.\n- **deny** - List of countries for which access is allowed.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Defines the type of CDN resource access policy.\n\nPossible values:\n- **allow** - Access is allowed for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Access is denied for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsDisableCache:getCdnResourceRuleOptionsDisableCache":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - content caching is disabled.\n- **false** - content caching is enabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsDisableProxyForceRanges:getCdnResourceRuleOptionsDisableProxyForceRanges":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsEdgeCacheSettings:getCdnResourceRuleOptionsEdgeCacheSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"customValues":{"additionalProperties":{"type":"string"},"description":"A MAP object representing the caching time in seconds for a response with a specific response code.\n","type":"object"},"default":{"description":"Enables content caching according to the origin cache settings.\n\nThe value is applied to the following response codes 200, 201, 204, 206, 301, 302, 303, 304, 307, 308, if an origin server does not have caching HTTP headers.\n\nResponses with other codes will not be cached.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"value":{"description":"Caching time.\n\nThe value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached.\n\nUse <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["customValues","default","enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFastedge:getCdnResourceRuleOptionsFastedge":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"onRequestBody":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFastedgeOnRequestBody:getCdnResourceRuleOptionsFastedgeOnRequestBody","description":"Allows to configure FastEdge application that will be called to handle request body as soon as CDN receives incoming HTTP request.\n"},"onRequestHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFastedgeOnRequestHeaders:getCdnResourceRuleOptionsFastedgeOnRequestHeaders","description":"Allows to configure FastEdge application that will be called to handle request headers as soon as CDN receives incoming HTTP request, **before cache**.\n"},"onResponseBody":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFastedgeOnResponseBody:getCdnResourceRuleOptionsFastedgeOnResponseBody","description":"Allows to configure FastEdge application that will be called to handle response body before CDN sends the HTTP response.\n"},"onResponseHeaders":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsFastedgeOnResponseHeaders:getCdnResourceRuleOptionsFastedgeOnResponseHeaders","description":"Allows to configure FastEdge application that will be called to handle response headers before CDN sends the HTTP response.\n"}},"required":["enabled","onRequestBody","onRequestHeaders","onResponseBody","onResponseHeaders"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFastedgeOnRequestBody:getCdnResourceRuleOptionsFastedgeOnRequestBody":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFastedgeOnRequestHeaders:getCdnResourceRuleOptionsFastedgeOnRequestHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFastedgeOnResponseBody:getCdnResourceRuleOptionsFastedgeOnResponseBody":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFastedgeOnResponseHeaders:getCdnResourceRuleOptionsFastedgeOnResponseHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFetchCompressed:getCdnResourceRuleOptionsFetchCompressed":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsFollowOriginRedirect:getCdnResourceRuleOptionsFollowOriginRedirect":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"codes":{"description":"Redirect status code that the origin server returns.\n","items":{"type":"number"},"type":"array"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["codes","enabled"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsForceReturn:getCdnResourceRuleOptionsForceReturn":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"body":{"description":"URL for redirection or text.\n","type":"string"},"code":{"description":"Status code value.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"timeInterval":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsForceReturnTimeInterval:getCdnResourceRuleOptionsForceReturnTimeInterval","description":"Controls the time at which a custom HTTP response code should be applied. By default, a custom HTTP response code is applied at any time.\n"}},"required":["body","code","enabled","timeInterval"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsForceReturnTimeInterval:getCdnResourceRuleOptionsForceReturnTimeInterval":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"endTime":{"description":"Time until which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"startTime":{"description":"Time from which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"timeZone":{"description":"Time zone used to calculate time.\n","type":"string"}},"required":["endTime","startTime","timeZone"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsForwardHostHeader:getCdnResourceRuleOptionsForwardHostHeader":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsGzipOn:getCdnResourceRuleOptionsGzipOn":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsHostHeader:getCdnResourceRuleOptionsHostHeader":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Host Header value.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsIgnoreCookie:getCdnResourceRuleOptionsIgnoreCookie":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled, files with cookies are cached as one file.\n- **false** - Option is disabled, files with cookies are cached as different files.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsIgnoreQueryString:getCdnResourceRuleOptionsIgnoreQueryString":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsImageStack:getCdnResourceRuleOptionsImageStack":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"avifEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to AVI format.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"pngLossless":{"description":"Enables or disables compression without quality loss for PNG format.\n","type":"boolean"},"quality":{"description":"Defines quality settings for JPG and PNG images. The higher the value, the better the image quality, and the larger the file size after conversion.\n","type":"number"},"webpEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to WebP format.\n","type":"boolean"}},"required":["avifEnabled","enabled","pngLossless","quality","webpEnabled"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsIpAddressAcl:getCdnResourceRuleOptionsIpAddressAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of IP addresses with a subnet mask.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of IP addresses for which access is prohibited.\n- **deny** - List of IP addresses for which access is allowed.\n\nExamples:\n- `192.168.3.2/32`\n- `2a03:d000:2980:7::8/128`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"IP access policy type.\n\nPossible values:\n- **allow** - Allow access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\n- **deny** - Deny access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsLimitBandwidth:getCdnResourceRuleOptionsLimitBandwidth":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"buffer":{"description":"Amount of downloaded data after which the user will be rate limited.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"limitType":{"description":"Method of controlling the download speed per connection.\n\nPossible values:\n- **static** - Use speed and buffer fields to set the download speed limit.\n- **dynamic** - Use query strings **speed** and **buffer** to set the download speed limit.\n\nFor example, when requesting content at the link\n\n```\nhttp://cdn.example.com/video.mp4?speed=50k&buffer=500k\n```\n\nthe download speed will be limited to 50kB/s after 500 kB.\nAvailable values: \"static\", \"dynamic\".\n","type":"string"},"speed":{"description":"Maximum download speed per connection.\n","type":"number"}},"required":["buffer","enabled","limitType","speed"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsProxyCacheKey:getCdnResourceRuleOptionsProxyCacheKey":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Key for caching.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsProxyCacheMethodsSet:getCdnResourceRuleOptionsProxyCacheMethodsSet":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsProxyConnectTimeout:getCdnResourceRuleOptionsProxyConnectTimeout":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 5s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsProxyReadTimeout:getCdnResourceRuleOptionsProxyReadTimeout":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 30s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsQueryParamsBlacklist:getCdnResourceRuleOptionsQueryParamsBlacklist":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsQueryParamsWhitelist:getCdnResourceRuleOptionsQueryParamsWhitelist":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsQueryStringForwarding:getCdnResourceRuleOptionsQueryStringForwarding":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"forwardExceptKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardExceptKeys`\" pulumi-lang-dotnet=\"`ForwardExceptKeys`\" pulumi-lang-go=\"`forwardExceptKeys`\" pulumi-lang-python=\"`forward_except_keys`\" pulumi-lang-yaml=\"`forwardExceptKeys`\" pulumi-lang-java=\"`forwardExceptKeys`\">`forward_except_keys`</span> field provides a mechanism to exclude specific parameters from being forwarded from playlist files to media chunk files.\nBy listing certain keys in this field, you can ensure that these parameters are omitted during the forwarding process.\nThis is particularly useful for preventing sensitive or irrelevant information from being included in requests for media chunks, thereby enhancing security and optimizing performance.\n","items":{"type":"string"},"type":"array"},"forwardFromFileTypes":{"description":"The <span pulumi-lang-nodejs=\"`forwardFromFilesTypes`\" pulumi-lang-dotnet=\"`ForwardFromFilesTypes`\" pulumi-lang-go=\"`forwardFromFilesTypes`\" pulumi-lang-python=\"`forward_from_files_types`\" pulumi-lang-yaml=\"`forwardFromFilesTypes`\" pulumi-lang-java=\"`forwardFromFilesTypes`\">`forward_from_files_types`</span> field specifies the types of playlist files from which parameters will be extracted and forwarded.\nThis typically includes formats that list multiple media chunk references, such as HLS and DASH playlists.\nParameters associated with these playlist files (like query strings or headers) will be propagated to the chunks they reference.\n","items":{"type":"string"},"type":"array"},"forwardOnlyKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardOnlyKeys`\" pulumi-lang-dotnet=\"`ForwardOnlyKeys`\" pulumi-lang-go=\"`forwardOnlyKeys`\" pulumi-lang-python=\"`forward_only_keys`\" pulumi-lang-yaml=\"`forwardOnlyKeys`\" pulumi-lang-java=\"`forwardOnlyKeys`\">`forward_only_keys`</span> field allows for granular control over which specific parameters are forwarded from playlist files to media chunk files.\nBy specifying certain keys, only those parameters will be propagated, ensuring that only relevant information is passed along.\nThis is particularly useful for security and performance optimization, as it prevents unnecessary or sensitive data from being included in requests for media chunks.\n","items":{"type":"string"},"type":"array"},"forwardToFileTypes":{"description":"The field specifies the types of media chunk files to which parameters, extracted from playlist files, will be forwarded.\nThese refer to the actual segments of media content that are delivered to viewers.\nEnsuring the correct parameters are forwarded to these files is crucial for maintaining the integrity of the streaming session.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","forwardExceptKeys","forwardFromFileTypes","forwardOnlyKeys","forwardToFileTypes"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsRedirectHttpToHttps:getCdnResourceRuleOptionsRedirectHttpToHttps":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsRedirectHttpsToHttp:getCdnResourceRuleOptionsRedirectHttpsToHttp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsReferrerAcl:getCdnResourceRuleOptionsReferrerAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of domain names or wildcard domains (without protocol: `http://` or `https://`.)\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of domain names for which access is prohibited.\n- **deny** - List of IP domain names for which access is allowed.\n\nExamples:\n- `example.com`\n- `*.example.com`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Policy type.\n\nPossible values:\n- **allow** - Allow access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsResponseHeadersHidingPolicy:getCdnResourceRuleOptionsResponseHeadersHidingPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"excepteds":{"description":"List of HTTP headers.\n\nParameter meaning depends on the value of the <span pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\">`mode`</span> field:\n- **show** - List of HTTP headers to hide from response.\n- **hide** - List of HTTP headers to include in response. Other HTTP headers will be hidden.\n\nThe following headers are required and cannot be hidden from response:\n- `Connection`\n- `Content-Length`\n- `Content-Type`\n- `Date`\n- `Server`\n","items":{"type":"string"},"type":"array"},"mode":{"description":"How HTTP headers are hidden from the response.\n\nPossible values:\n- **show** - Hide only HTTP headers listed in the <span pulumi-lang-nodejs=\"`excepted`\" pulumi-lang-dotnet=\"`Excepted`\" pulumi-lang-go=\"`excepted`\" pulumi-lang-python=\"`excepted`\" pulumi-lang-yaml=\"`excepted`\" pulumi-lang-java=\"`excepted`\">`excepted`</span> field.\n- **hide** - Hide all HTTP headers except headers listed in the \"excepted\" field.\nAvailable values: \"hide\", \"show\".\n","type":"string"}},"required":["enabled","excepteds","mode"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsRewrite:getCdnResourceRuleOptionsRewrite":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"body":{"description":"Path for the Rewrite option.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"flag":{"description":"Flag for the Rewrite option.\n\nPossible values:\n- **last** - Stop processing the current set of <span pulumi-lang-nodejs=\"`ngxHttpRewriteModule`\" pulumi-lang-dotnet=\"`NgxHttpRewriteModule`\" pulumi-lang-go=\"`ngxHttpRewriteModule`\" pulumi-lang-python=\"`ngx_http_rewrite_module`\" pulumi-lang-yaml=\"`ngxHttpRewriteModule`\" pulumi-lang-java=\"`ngxHttpRewriteModule`\">`ngx_http_rewrite_module`</span> directives and start a search for a new location matching changed URI.\n- **break** - Stop processing the current set of the Rewrite option.\n- **redirect** - Return a temporary redirect with the 302 code; used when a replacement string does not start with `http://`, `https://`, or `$scheme`.\n- **permanent** - Return a permanent redirect with the 301 code.\nAvailable values: \"break\", \"last\", \"redirect\", \"permanent\".\n","type":"string"}},"required":["body","enabled","flag"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsSecureKey:getCdnResourceRuleOptionsSecureKey":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"key":{"description":"Key generated on your side that will be used for URL signing.\n","type":"string"},"type":{"description":"Type of URL signing.\n\nPossible types:\n- **Type 0** - Includes end user IP to secure token generation.\n- **Type 2** - Excludes end user IP from secure token generation.\nAvailable values: 0, 2.\n","type":"number"}},"required":["enabled","key","type"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsSlice:getCdnResourceRuleOptionsSlice":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsSni:getCdnResourceRuleOptionsSni":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"customHostname":{"description":"Custom SNI hostname.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"sniType":{"description":"SNI (Server Name Indication) type.\n\nPossible values:\n- **dynamic** - SNI hostname depends on `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options.\nIt has several possible combinations:\n- If the `hostHeader` option is enabled and specified, SNI hostname matches the Host header.\n- If the <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> option is enabled and has true value, SNI hostname matches the Host header used in the request made to a CDN.\n- If the `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options are disabled, SNI hostname matches the primary CNAME.\n- **custom** - custom SNI hostname is in use.\nAvailable values: \"dynamic\", \"custom\".\n","type":"string"}},"required":["customHostname","enabled","sniType"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsStale:getCdnResourceRuleOptionsStale":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Defines list of errors for which \"Always online\" option is applied.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsStaticHeaders:getCdnResourceRuleOptionsStaticHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 128 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsStaticRequestHeaders:getCdnResourceRuleOptionsStaticRequestHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"additionalProperties":{"type":"string"},"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"object"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsStaticResponseHeaders:getCdnResourceRuleOptionsStaticResponseHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"$ref":"#/types/gcore:index%2FgetCdnResourceRuleOptionsStaticResponseHeadersValue:getCdnResourceRuleOptionsStaticResponseHeadersValue"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsStaticResponseHeadersValue:getCdnResourceRuleOptionsStaticResponseHeadersValue":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"always":{"description":"Defines whether the header will be added to a response from CDN regardless of response code.\n","type":"boolean"},"name":{"description":"HTTP Header name.\n\nRestrictions:\n- Maximum 128 symbols.\n- Latin letters (A-Z, a-z,) numbers (0-9,) dashes, and underscores only.\n","type":"string"},"values":{"description":"Header value.\n\nRestrictions:\n- Maximum 512 symbols.\n- Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]).\n- Must start with a letter, number, asterisk or {.\n- Multiple values can be added.\n","items":{"type":"string"},"type":"array"}},"required":["always","name","values"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsUserAgentAcl:getCdnResourceRuleOptionsUserAgentAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of User-Agents that will be allowed/denied.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span>:\n- **allow** - List of User-Agents for which access is prohibited.\n- **deny** - List of User-Agents for which access is allowed.\n\nYou can provide exact User-Agent strings or regular expressions. Regular expressions must start\nwith `~` (case-sensitive) or `~*` (case-insensitive).\n\nUse an empty string `\"\"` to allow/deny access when the User-Agent header is empty.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"User-Agents policy type.\n\nPossible values:\n- **allow** - Allow access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsWaap:getCdnResourceRuleOptionsWaap":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnResourceRuleOptionsWebsockets:getCdnResourceRuleOptionsWebsockets":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptions:getCdnRuleTemplateOptions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowedHttpMethods":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsAllowedHttpMethods:getCdnRuleTemplateOptionsAllowedHttpMethods","description":"HTTP methods allowed for content requests from the CDN.\n"},"brotliCompression":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsBrotliCompression:getCdnRuleTemplateOptionsBrotliCompression","description":"Compresses content with Brotli on the CDN side. CDN servers will request only uncompressed content from the origin.\n"},"browserCacheSettings":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsBrowserCacheSettings:getCdnRuleTemplateOptionsBrowserCacheSettings","description":"Cache expiration time for users browsers in seconds.\n\nCache expiration time is applied to the following response codes: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.\n\nResponses with other codes will not be cached.\n"},"cacheHttpHeaders":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsCacheHttpHeaders:getCdnRuleTemplateOptionsCacheHttpHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`responseHeadersHidingPolicy`\" pulumi-lang-dotnet=\"`ResponseHeadersHidingPolicy`\" pulumi-lang-go=\"`responseHeadersHidingPolicy`\" pulumi-lang-python=\"`response_headers_hiding_policy`\" pulumi-lang-yaml=\"`responseHeadersHidingPolicy`\" pulumi-lang-java=\"`responseHeadersHidingPolicy`\">`response_headers_hiding_policy`</span> option instead.\n\nHTTP Headers that must be included in the response.\n"},"cors":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsCors:getCdnRuleTemplateOptionsCors","description":"Enables or disables CORS (Cross-Origin Resource Sharing) header support.\n\nCORS header support allows the CDN to add the Access-Control-Allow-Origin header to a response to a browser.\n"},"countryAcl":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsCountryAcl:getCdnRuleTemplateOptionsCountryAcl","description":"Enables control access to content for specified countries.\n"},"disableCache":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsDisableCache:getCdnRuleTemplateOptionsDisableCache","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`edgeCacheSettings`\" pulumi-lang-dotnet=\"`EdgeCacheSettings`\" pulumi-lang-go=\"`edgeCacheSettings`\" pulumi-lang-python=\"`edge_cache_settings`\" pulumi-lang-yaml=\"`edgeCacheSettings`\" pulumi-lang-java=\"`edgeCacheSettings`\">`edge_cache_settings`</span> option instead.\n\nAllows the complete disabling of content caching.\n"},"disableProxyForceRanges":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsDisableProxyForceRanges:getCdnRuleTemplateOptionsDisableProxyForceRanges","description":"Allows 206 responses regardless of the settings of an origin source.\n"},"edgeCacheSettings":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsEdgeCacheSettings:getCdnRuleTemplateOptionsEdgeCacheSettings","description":"Cache expiration time for CDN servers.\n\n<span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> and <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span> fields cannot be used simultaneously.\n"},"fastedge":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFastedge:getCdnRuleTemplateOptionsFastedge","description":"Allows to configure FastEdge app to be called on different request/response phases.\n\nNote: At least one of <span pulumi-lang-nodejs=\"`onRequestHeaders`\" pulumi-lang-dotnet=\"`OnRequestHeaders`\" pulumi-lang-go=\"`onRequestHeaders`\" pulumi-lang-python=\"`on_request_headers`\" pulumi-lang-yaml=\"`onRequestHeaders`\" pulumi-lang-java=\"`onRequestHeaders`\">`on_request_headers`</span>, <span pulumi-lang-nodejs=\"`onRequestBody`\" pulumi-lang-dotnet=\"`OnRequestBody`\" pulumi-lang-go=\"`onRequestBody`\" pulumi-lang-python=\"`on_request_body`\" pulumi-lang-yaml=\"`onRequestBody`\" pulumi-lang-java=\"`onRequestBody`\">`on_request_body`</span>, <span pulumi-lang-nodejs=\"`onResponseHeaders`\" pulumi-lang-dotnet=\"`OnResponseHeaders`\" pulumi-lang-go=\"`onResponseHeaders`\" pulumi-lang-python=\"`on_response_headers`\" pulumi-lang-yaml=\"`onResponseHeaders`\" pulumi-lang-java=\"`onResponseHeaders`\">`on_response_headers`</span>, or <span pulumi-lang-nodejs=\"`onResponseBody`\" pulumi-lang-dotnet=\"`OnResponseBody`\" pulumi-lang-go=\"`onResponseBody`\" pulumi-lang-python=\"`on_response_body`\" pulumi-lang-yaml=\"`onResponseBody`\" pulumi-lang-java=\"`onResponseBody`\">`on_response_body`</span> must be specified.\n"},"fetchCompressed":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFetchCompressed:getCdnRuleTemplateOptionsFetchCompressed","description":"Makes the CDN request compressed content from the origin.\n\nThe origin server should support compression. CDN servers will not decompress your content even if a user browser does not accept compression.\n\nNotes:\n\n1. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> is not supported with `gzipON` or <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> overrides `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in rule. If you enable it in CDN resource and want to use `gzipON` and <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> in a rule, you have to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>: false` in the rule.\n"},"followOriginRedirect":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFollowOriginRedirect:getCdnRuleTemplateOptionsFollowOriginRedirect","description":"Enables redirection from origin.\nIf the origin server returns a redirect, the option allows the CDN to pull the requested content from the origin server that was returned in the redirect.\n"},"forceReturn":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsForceReturn:getCdnRuleTemplateOptionsForceReturn","description":"Applies custom HTTP response codes for CDN content.\n\nThe following codes are reserved by our system and cannot be specified in this option: 408, 444, 477, 494, 495, 496, 497, 499.\n"},"forwardHostHeader":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsForwardHostHeader:getCdnRuleTemplateOptionsForwardHostHeader","description":"Forwards the Host header from a end-user request to an origin server.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"gzipOn":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsGzipOn:getCdnRuleTemplateOptionsGzipOn","description":"Compresses content with gzip on the CDN end. CDN servers will request only uncompressed content from the origin.\n\nNotes:\n\n1. Compression with gzip is not supported with <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> or <span pulumi-lang-nodejs=\"`slice`\" pulumi-lang-dotnet=\"`Slice`\" pulumi-lang-go=\"`slice`\" pulumi-lang-python=\"`slice`\" pulumi-lang-yaml=\"`slice`\" pulumi-lang-java=\"`slice`\">`slice`</span> options enabled.\n2. <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> option in CDN resource settings overrides `gzipON` in rules. If you enable <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> in CDN resource and want to enable `gzipON` in rules, you need to specify `<span pulumi-lang-nodejs=\"\"fetchCompressed\"\" pulumi-lang-dotnet=\"\"FetchCompressed\"\" pulumi-lang-go=\"\"fetchCompressed\"\" pulumi-lang-python=\"\"fetch_compressed\"\" pulumi-lang-yaml=\"\"fetchCompressed\"\" pulumi-lang-java=\"\"fetchCompressed\"\">\"fetch_compressed\"</span>:false` for rules.\n"},"hostHeader":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsHostHeader:getCdnRuleTemplateOptionsHostHeader","description":"Sets the Host header that CDN servers use when request content from an origin server.\nYour server must be able to process requests with the chosen header.\n\nIf the option is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the Host Header value is equal to first CNAME.\n\n`hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options cannot be enabled simultaneously.\n"},"ignoreCookie":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsIgnoreCookie:getCdnRuleTemplateOptionsIgnoreCookie","description":"Defines whether the files with the Set-Cookies header are cached as one file or as different ones.\n"},"ignoreQueryString":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsIgnoreQueryString:getCdnRuleTemplateOptionsIgnoreQueryString","description":"How a file with different query strings is cached: either as one object (option is enabled) or as different objects (option is disabled.)\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"imageStack":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsImageStack:getCdnRuleTemplateOptionsImageStack","description":"Transforms JPG and PNG images (for example, resize or crop) and automatically converts them to WebP or AVIF format.\n"},"ipAddressAcl":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsIpAddressAcl:getCdnRuleTemplateOptionsIpAddressAcl","description":"Controls access to the CDN resource content for specific IP addresses.\n\nIf you want to use IPs from our CDN servers IP list for IP ACL configuration, you have to independently monitor their relevance.\n\nWe recommend you use a script for automatically update IP ACL. [Read more.](https://www.terraform.io/docs/api-reference/cdn/ip-addresses-list/get-cdn-servers-ip-addresses)\n"},"limitBandwidth":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsLimitBandwidth:getCdnRuleTemplateOptionsLimitBandwidth","description":"Allows to control the download speed per connection.\n"},"proxyCacheKey":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsProxyCacheKey:getCdnRuleTemplateOptionsProxyCacheKey","description":"Allows you to modify your cache key. If omitted, the default value is `$request_uri`.\n\nCombine the specified variables to create a key for caching.\n- **$<span pulumi-lang-nodejs=\"`requestUri`\" pulumi-lang-dotnet=\"`RequestUri`\" pulumi-lang-go=\"`requestUri`\" pulumi-lang-python=\"`request_uri`\" pulumi-lang-yaml=\"`requestUri`\" pulumi-lang-java=\"`requestUri`\">`request_uri`</span>**\n- **$scheme**\n- **$uri**\n\n**Warning**: Enabling and changing this option can invalidate your current cache and affect the cache hit ratio. Furthermore, the \"Purge by pattern\" option will not work.\n"},"proxyCacheMethodsSet":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsProxyCacheMethodsSet:getCdnRuleTemplateOptionsProxyCacheMethodsSet","description":"Caching for POST requests along with default GET and HEAD.\n"},"proxyConnectTimeout":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsProxyConnectTimeout:getCdnRuleTemplateOptionsProxyConnectTimeout","description":"The time limit for establishing a connection with the origin.\n"},"proxyReadTimeout":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsProxyReadTimeout:getCdnRuleTemplateOptionsProxyReadTimeout","description":"The time limit for receiving a partial response from the origin.\nIf no response is received within this time, the connection will be closed.\n\n**Note:**\nWhen used with a WebSocket connection, this option supports values only in the range 1–20 seconds (instead of the usual 1–30 seconds).\n"},"queryParamsBlacklist":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsQueryParamsBlacklist:getCdnRuleTemplateOptionsQueryParamsBlacklist","description":"Files with the specified query parameters are cached as one object, files with other parameters are cached as different objects.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryParamsWhitelist":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsQueryParamsWhitelist:getCdnRuleTemplateOptionsQueryParamsWhitelist","description":"Files with the specified query parameters are cached as different objects, files with other parameters are cached as one object.\n\n`ignoreQueryString`, <span pulumi-lang-nodejs=\"`queryParamsWhitelist`\" pulumi-lang-dotnet=\"`QueryParamsWhitelist`\" pulumi-lang-go=\"`queryParamsWhitelist`\" pulumi-lang-python=\"`query_params_whitelist`\" pulumi-lang-yaml=\"`queryParamsWhitelist`\" pulumi-lang-java=\"`queryParamsWhitelist`\">`query_params_whitelist`</span> and <span pulumi-lang-nodejs=\"`queryParamsBlacklist`\" pulumi-lang-dotnet=\"`QueryParamsBlacklist`\" pulumi-lang-go=\"`queryParamsBlacklist`\" pulumi-lang-python=\"`query_params_blacklist`\" pulumi-lang-yaml=\"`queryParamsBlacklist`\" pulumi-lang-java=\"`queryParamsBlacklist`\">`query_params_blacklist`</span> options cannot be enabled simultaneously.\n"},"queryStringForwarding":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsQueryStringForwarding:getCdnRuleTemplateOptionsQueryStringForwarding","description":"The Query String Forwarding feature allows for the seamless transfer of parameters embedded in playlist files to the corresponding media chunk files.\nThis functionality ensures that specific attributes, such as authentication tokens or tracking information, are consistently passed along from the playlist manifest to the individual media segments.\nThis is particularly useful for maintaining continuity in security, analytics, and any other parameter-based operations across the entire media delivery workflow.\n"},"redirectHttpToHttps":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsRedirectHttpToHttps:getCdnRuleTemplateOptionsRedirectHttpToHttps","description":"Enables redirect from HTTP to HTTPS.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"redirectHttpsToHttp":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsRedirectHttpsToHttp:getCdnRuleTemplateOptionsRedirectHttpsToHttp","description":"Enables redirect from HTTPS to HTTP.\n\n<span pulumi-lang-nodejs=\"`redirectHttpToHttps`\" pulumi-lang-dotnet=\"`RedirectHttpToHttps`\" pulumi-lang-go=\"`redirectHttpToHttps`\" pulumi-lang-python=\"`redirect_http_to_https`\" pulumi-lang-yaml=\"`redirectHttpToHttps`\" pulumi-lang-java=\"`redirectHttpToHttps`\">`redirect_http_to_https`</span> and <span pulumi-lang-nodejs=\"`redirectHttpsToHttp`\" pulumi-lang-dotnet=\"`RedirectHttpsToHttp`\" pulumi-lang-go=\"`redirectHttpsToHttp`\" pulumi-lang-python=\"`redirect_https_to_http`\" pulumi-lang-yaml=\"`redirectHttpsToHttp`\" pulumi-lang-java=\"`redirectHttpsToHttp`\">`redirect_https_to_http`</span> options cannot be enabled simultaneously.\n"},"referrerAcl":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsReferrerAcl:getCdnRuleTemplateOptionsReferrerAcl","description":"Controls access to the CDN resource content for specified domain names.\n"},"responseHeadersHidingPolicy":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsResponseHeadersHidingPolicy:getCdnRuleTemplateOptionsResponseHeadersHidingPolicy","description":"Hides HTTP headers from an origin server in the CDN response.\n"},"rewrite":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsRewrite:getCdnRuleTemplateOptionsRewrite","description":"Changes and redirects requests from the CDN to the origin. It operates according to the [Nginx](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite) configuration.\n"},"secureKey":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsSecureKey:getCdnRuleTemplateOptionsSecureKey","description":"Configures access with tokenized URLs. This makes impossible to access content without a valid (unexpired) token.\n"},"slice":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsSlice:getCdnRuleTemplateOptionsSlice","description":"Requests and caches files larger than 10 MB in parts (no larger than 10 MB per part.) This reduces time to first byte.\n\nThe option is based on the [Slice](https://nginx.org/en/docs/http/ngx_http_slice_module.html) module.\n\nNotes:\n\n1. Origin must support HTTP Range requests.\n2. Not supported with `gzipON`, <span pulumi-lang-nodejs=\"`brotliCompression`\" pulumi-lang-dotnet=\"`BrotliCompression`\" pulumi-lang-go=\"`brotliCompression`\" pulumi-lang-python=\"`brotli_compression`\" pulumi-lang-yaml=\"`brotliCompression`\" pulumi-lang-java=\"`brotliCompression`\">`brotli_compression`</span> or <span pulumi-lang-nodejs=\"`fetchCompressed`\" pulumi-lang-dotnet=\"`FetchCompressed`\" pulumi-lang-go=\"`fetchCompressed`\" pulumi-lang-python=\"`fetch_compressed`\" pulumi-lang-yaml=\"`fetchCompressed`\" pulumi-lang-java=\"`fetchCompressed`\">`fetch_compressed`</span> options enabled.\n"},"sni":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsSni:getCdnRuleTemplateOptionsSni","description":"The hostname that is added to SNI requests from CDN servers to the origin server via HTTPS.\n\nSNI is generally only required if your origin uses shared hosting or does not have a dedicated IP address.\nIf the origin server presents multiple certificates, SNI allows the origin server to know which certificate to use for the connection.\n\nThe option works only if `originProtocol` parameter is `HTTPS` or `MATCH`.\n"},"stale":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsStale:getCdnRuleTemplateOptionsStale","description":"Serves stale cached content in case of origin unavailability.\n"},"staticHeaders":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsStaticHeaders:getCdnRuleTemplateOptionsStaticHeaders","deprecationMessage":"Deprecated","description":"**Legacy option**. Use the <span pulumi-lang-nodejs=\"`staticResponseHeaders`\" pulumi-lang-dotnet=\"`StaticResponseHeaders`\" pulumi-lang-go=\"`staticResponseHeaders`\" pulumi-lang-python=\"`static_response_headers`\" pulumi-lang-yaml=\"`staticResponseHeaders`\" pulumi-lang-java=\"`staticResponseHeaders`\">`static_response_headers`</span> option instead.\n\nCustom HTTP Headers that a CDN server adds to response. Up to fifty custom HTTP Headers can be specified. May contain a header with multiple values.\n"},"staticRequestHeaders":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsStaticRequestHeaders:getCdnRuleTemplateOptionsStaticRequestHeaders","description":"Custom HTTP Headers for a CDN server to add to request. Up to fifty custom HTTP Headers can be specified.\n"},"staticResponseHeaders":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsStaticResponseHeaders:getCdnRuleTemplateOptionsStaticResponseHeaders","description":"Custom HTTP Headers that a CDN server adds to a response.\n"},"userAgentAcl":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsUserAgentAcl:getCdnRuleTemplateOptionsUserAgentAcl","description":"Controls access to the content for specified User-Agents.\n"},"waap":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsWaap:getCdnRuleTemplateOptionsWaap","description":"Allows to enable WAAP (Web Application and API Protection).\n"},"websockets":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsWebsockets:getCdnRuleTemplateOptionsWebsockets","description":"Enables or disables WebSockets connections to an origin server.\n"}},"required":["allowedHttpMethods","brotliCompression","browserCacheSettings","cacheHttpHeaders","cors","countryAcl","disableCache","disableProxyForceRanges","edgeCacheSettings","fastedge","fetchCompressed","followOriginRedirect","forceReturn","forwardHostHeader","gzipOn","hostHeader","ignoreCookie","ignoreQueryString","imageStack","ipAddressAcl","limitBandwidth","proxyCacheKey","proxyCacheMethodsSet","proxyConnectTimeout","proxyReadTimeout","queryParamsBlacklist","queryParamsWhitelist","queryStringForwarding","redirectHttpToHttps","redirectHttpsToHttp","referrerAcl","responseHeadersHidingPolicy","rewrite","secureKey","slice","sni","stale","staticHeaders","staticRequestHeaders","staticResponseHeaders","userAgentAcl","waap","websockets"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsAllowedHttpMethods:getCdnRuleTemplateOptionsAllowedHttpMethods":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsBrotliCompression:getCdnRuleTemplateOptionsBrotliCompression":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Allows to select the content types you want to compress.\n\n`text/html` is a mandatory content type.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsBrowserCacheSettings:getCdnRuleTemplateOptionsBrowserCacheSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Set the cache expiration time to '0s' to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsCacheHttpHeaders:getCdnRuleTemplateOptionsCacheHttpHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsCors:getCdnRuleTemplateOptionsCors":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"always":{"description":"Defines whether the Access-Control-Allow-Origin header should be added to a response from CDN regardless of response code.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"values":{"description":"Value of the Access-Control-Allow-Origin header.\n\nPossible values:\n- **Adds * as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain.\n`\"value\": [\"*\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value if the origin matches one of the listed domains** - Content will be uploaded only for requests from the domains specified in the field.\n`\"value\": [\"domain.com\", \"second.dom.com\"]`\n- **Adds \"$http_origin\" as the Access-Control-Allow-Origin header value** - Content will be uploaded for requests from any domain, and the domain from which the request was sent will be added to the \"Access-Control-Allow-Origin\" header in the response.\n`\"value\": [\"$http_origin\"]`\n","items":{"type":"string"},"type":"array"}},"required":["always","enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsCountryAcl:getCdnRuleTemplateOptionsCountryAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of countries according to ISO-3166-1.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of countries for which access is prohibited.\n- **deny** - List of countries for which access is allowed.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Defines the type of CDN resource access policy.\n\nPossible values:\n- **allow** - Access is allowed for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Access is denied for all the countries except for those specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsDisableCache:getCdnRuleTemplateOptionsDisableCache":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - content caching is disabled.\n- **false** - content caching is enabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsDisableProxyForceRanges:getCdnRuleTemplateOptionsDisableProxyForceRanges":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsEdgeCacheSettings:getCdnRuleTemplateOptionsEdgeCacheSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"customValues":{"additionalProperties":{"type":"string"},"description":"A MAP object representing the caching time in seconds for a response with a specific response code.\n","type":"object"},"default":{"description":"Defines whether the template is a system template developed for common cases. System templates are available to all customers.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"value":{"description":"Caching time.\n\nThe value is applied to the following response codes: 200, 206, 301, 302.\nResponses with codes 4xx, 5xx will not be cached.\n\nUse <span pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\">`0s`</span> to disable caching.\n\nThe maximum duration is any equivalent to <span pulumi-lang-nodejs=\"`1y`\" pulumi-lang-dotnet=\"`1y`\" pulumi-lang-go=\"`1y`\" pulumi-lang-python=\"`1y`\" pulumi-lang-yaml=\"`1y`\" pulumi-lang-java=\"`1y`\">`1y`</span>.\n","type":"string"}},"required":["customValues","default","enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFastedge:getCdnRuleTemplateOptionsFastedge":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"onRequestBody":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFastedgeOnRequestBody:getCdnRuleTemplateOptionsFastedgeOnRequestBody","description":"Allows to configure FastEdge application that will be called to handle request body as soon as CDN receives incoming HTTP request.\n"},"onRequestHeaders":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFastedgeOnRequestHeaders:getCdnRuleTemplateOptionsFastedgeOnRequestHeaders","description":"Allows to configure FastEdge application that will be called to handle request headers as soon as CDN receives incoming HTTP request, **before cache**.\n"},"onResponseBody":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFastedgeOnResponseBody:getCdnRuleTemplateOptionsFastedgeOnResponseBody","description":"Allows to configure FastEdge application that will be called to handle response body before CDN sends the HTTP response.\n"},"onResponseHeaders":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsFastedgeOnResponseHeaders:getCdnRuleTemplateOptionsFastedgeOnResponseHeaders","description":"Allows to configure FastEdge application that will be called to handle response headers before CDN sends the HTTP response.\n"}},"required":["enabled","onRequestBody","onRequestHeaders","onResponseBody","onResponseHeaders"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFastedgeOnRequestBody:getCdnRuleTemplateOptionsFastedgeOnRequestBody":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFastedgeOnRequestHeaders:getCdnRuleTemplateOptionsFastedgeOnRequestHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFastedgeOnResponseBody:getCdnRuleTemplateOptionsFastedgeOnResponseBody":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFastedgeOnResponseHeaders:getCdnRuleTemplateOptionsFastedgeOnResponseHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"appId":{"description":"The ID of the application in FastEdge.\n","type":"string"},"enabled":{"description":"Determines if the FastEdge application should be called whenever HTTP request headers are received.\n","type":"boolean"},"executeOnEdge":{"description":"Determines if the request should be executed at the edge nodes.\n","type":"boolean"},"executeOnShield":{"description":"Determines if the request should be executed at the shield nodes.\n","type":"boolean"},"interruptOnError":{"description":"Determines if the request execution should be interrupted when an error occurs.\n","type":"boolean"}},"required":["appId","enabled","executeOnEdge","executeOnShield","interruptOnError"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFetchCompressed:getCdnRuleTemplateOptionsFetchCompressed":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsFollowOriginRedirect:getCdnRuleTemplateOptionsFollowOriginRedirect":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"codes":{"description":"Redirect status code that the origin server returns.\n","items":{"type":"number"},"type":"array"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["codes","enabled"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsForceReturn:getCdnRuleTemplateOptionsForceReturn":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"body":{"description":"URL for redirection or text.\n","type":"string"},"code":{"description":"Status code value.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"timeInterval":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsForceReturnTimeInterval:getCdnRuleTemplateOptionsForceReturnTimeInterval","description":"Controls the time at which a custom HTTP response code should be applied. By default, a custom HTTP response code is applied at any time.\n"}},"required":["body","code","enabled","timeInterval"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsForceReturnTimeInterval:getCdnRuleTemplateOptionsForceReturnTimeInterval":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"endTime":{"description":"Time until which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"startTime":{"description":"Time from which a custom HTTP response code should be applied. Indicated in 24-hour format.\n","type":"string"},"timeZone":{"description":"Time zone used to calculate time.\n","type":"string"}},"required":["endTime","startTime","timeZone"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsForwardHostHeader:getCdnRuleTemplateOptionsForwardHostHeader":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsGzipOn:getCdnRuleTemplateOptionsGzipOn":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsHostHeader:getCdnRuleTemplateOptionsHostHeader":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Host Header value.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsIgnoreCookie:getCdnRuleTemplateOptionsIgnoreCookie":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled, files with cookies are cached as one file.\n- **false** - Option is disabled, files with cookies are cached as different files.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsIgnoreQueryString:getCdnRuleTemplateOptionsIgnoreQueryString":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsImageStack:getCdnRuleTemplateOptionsImageStack":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"avifEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to AVI format.\n","type":"boolean"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"pngLossless":{"description":"Enables or disables compression without quality loss for PNG format.\n","type":"boolean"},"quality":{"description":"Defines quality settings for JPG and PNG images. The higher the value, the better the image quality, and the larger the file size after conversion.\n","type":"number"},"webpEnabled":{"description":"Enables or disables automatic conversion of JPEG and PNG images to WebP format.\n","type":"boolean"}},"required":["avifEnabled","enabled","pngLossless","quality","webpEnabled"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsIpAddressAcl:getCdnRuleTemplateOptionsIpAddressAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of IP addresses with a subnet mask.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of IP addresses for which access is prohibited.\n- **deny** - List of IP addresses for which access is allowed.\n\nExamples:\n- `192.168.3.2/32`\n- `2a03:d000:2980:7::8/128`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"IP access policy type.\n\nPossible values:\n- **allow** - Allow access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\n- **deny** - Deny access to all IPs except IPs specified in <span pulumi-lang-nodejs=\"\"exceptedValues\"\" pulumi-lang-dotnet=\"\"ExceptedValues\"\" pulumi-lang-go=\"\"exceptedValues\"\" pulumi-lang-python=\"\"excepted_values\"\" pulumi-lang-yaml=\"\"exceptedValues\"\" pulumi-lang-java=\"\"exceptedValues\"\">\"excepted_values\"</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsLimitBandwidth:getCdnRuleTemplateOptionsLimitBandwidth":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"buffer":{"description":"Amount of downloaded data after which the user will be rate limited.\n","type":"number"},"enabled":{"description":"Controls the option state.\n","type":"boolean"},"limitType":{"description":"Method of controlling the download speed per connection.\n\nPossible values:\n- **static** - Use speed and buffer fields to set the download speed limit.\n- **dynamic** - Use query strings **speed** and **buffer** to set the download speed limit.\n\nFor example, when requesting content at the link\n\n```\nhttp://cdn.example.com/video.mp4?speed=50k&buffer=500k\n```\n\nthe download speed will be limited to 50kB/s after 500 kB.\nAvailable values: \"static\", \"dynamic\".\n","type":"string"},"speed":{"description":"Maximum download speed per connection.\n","type":"number"}},"required":["buffer","enabled","limitType","speed"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsProxyCacheKey:getCdnRuleTemplateOptionsProxyCacheKey":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Key for caching.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsProxyCacheMethodsSet:getCdnRuleTemplateOptionsProxyCacheMethodsSet":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsProxyConnectTimeout:getCdnRuleTemplateOptionsProxyConnectTimeout":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 5s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsProxyReadTimeout:getCdnRuleTemplateOptionsProxyReadTimeout":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Timeout value in seconds.\n\nSupported range: **1s - 30s**.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsQueryParamsBlacklist:getCdnRuleTemplateOptionsQueryParamsBlacklist":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsQueryParamsWhitelist:getCdnRuleTemplateOptionsQueryParamsWhitelist":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"List of query parameters.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsQueryStringForwarding:getCdnRuleTemplateOptionsQueryStringForwarding":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"forwardExceptKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardExceptKeys`\" pulumi-lang-dotnet=\"`ForwardExceptKeys`\" pulumi-lang-go=\"`forwardExceptKeys`\" pulumi-lang-python=\"`forward_except_keys`\" pulumi-lang-yaml=\"`forwardExceptKeys`\" pulumi-lang-java=\"`forwardExceptKeys`\">`forward_except_keys`</span> field provides a mechanism to exclude specific parameters from being forwarded from playlist files to media chunk files.\nBy listing certain keys in this field, you can ensure that these parameters are omitted during the forwarding process.\nThis is particularly useful for preventing sensitive or irrelevant information from being included in requests for media chunks, thereby enhancing security and optimizing performance.\n","items":{"type":"string"},"type":"array"},"forwardFromFileTypes":{"description":"The <span pulumi-lang-nodejs=\"`forwardFromFilesTypes`\" pulumi-lang-dotnet=\"`ForwardFromFilesTypes`\" pulumi-lang-go=\"`forwardFromFilesTypes`\" pulumi-lang-python=\"`forward_from_files_types`\" pulumi-lang-yaml=\"`forwardFromFilesTypes`\" pulumi-lang-java=\"`forwardFromFilesTypes`\">`forward_from_files_types`</span> field specifies the types of playlist files from which parameters will be extracted and forwarded.\nThis typically includes formats that list multiple media chunk references, such as HLS and DASH playlists.\nParameters associated with these playlist files (like query strings or headers) will be propagated to the chunks they reference.\n","items":{"type":"string"},"type":"array"},"forwardOnlyKeys":{"description":"The <span pulumi-lang-nodejs=\"`forwardOnlyKeys`\" pulumi-lang-dotnet=\"`ForwardOnlyKeys`\" pulumi-lang-go=\"`forwardOnlyKeys`\" pulumi-lang-python=\"`forward_only_keys`\" pulumi-lang-yaml=\"`forwardOnlyKeys`\" pulumi-lang-java=\"`forwardOnlyKeys`\">`forward_only_keys`</span> field allows for granular control over which specific parameters are forwarded from playlist files to media chunk files.\nBy specifying certain keys, only those parameters will be propagated, ensuring that only relevant information is passed along.\nThis is particularly useful for security and performance optimization, as it prevents unnecessary or sensitive data from being included in requests for media chunks.\n","items":{"type":"string"},"type":"array"},"forwardToFileTypes":{"description":"The field specifies the types of media chunk files to which parameters, extracted from playlist files, will be forwarded.\nThese refer to the actual segments of media content that are delivered to viewers.\nEnsuring the correct parameters are forwarded to these files is crucial for maintaining the integrity of the streaming session.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","forwardExceptKeys","forwardFromFileTypes","forwardOnlyKeys","forwardToFileTypes"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsRedirectHttpToHttps:getCdnRuleTemplateOptionsRedirectHttpToHttps":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsRedirectHttpsToHttp:getCdnRuleTemplateOptionsRedirectHttpsToHttp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsReferrerAcl:getCdnRuleTemplateOptionsReferrerAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of domain names or wildcard domains (without protocol: `http://` or `https://`.)\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span> value:\n- **allow** - List of domain names for which access is prohibited.\n- **deny** - List of IP domain names for which access is allowed.\n\nExamples:\n- `example.com`\n- `*.example.com`\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"Policy type.\n\nPossible values:\n- **allow** - Allow access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access to all domain names except the domain names specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsResponseHeadersHidingPolicy:getCdnRuleTemplateOptionsResponseHeadersHidingPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"excepteds":{"description":"List of HTTP headers.\n\nParameter meaning depends on the value of the <span pulumi-lang-nodejs=\"`mode`\" pulumi-lang-dotnet=\"`Mode`\" pulumi-lang-go=\"`mode`\" pulumi-lang-python=\"`mode`\" pulumi-lang-yaml=\"`mode`\" pulumi-lang-java=\"`mode`\">`mode`</span> field:\n- **show** - List of HTTP headers to hide from response.\n- **hide** - List of HTTP headers to include in response. Other HTTP headers will be hidden.\n\nThe following headers are required and cannot be hidden from response:\n- `Connection`\n- `Content-Length`\n- `Content-Type`\n- `Date`\n- `Server`\n","items":{"type":"string"},"type":"array"},"mode":{"description":"How HTTP headers are hidden from the response.\n\nPossible values:\n- **show** - Hide only HTTP headers listed in the <span pulumi-lang-nodejs=\"`excepted`\" pulumi-lang-dotnet=\"`Excepted`\" pulumi-lang-go=\"`excepted`\" pulumi-lang-python=\"`excepted`\" pulumi-lang-yaml=\"`excepted`\" pulumi-lang-java=\"`excepted`\">`excepted`</span> field.\n- **hide** - Hide all HTTP headers except headers listed in the \"excepted\" field.\nAvailable values: \"hide\", \"show\".\n","type":"string"}},"required":["enabled","excepteds","mode"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsRewrite:getCdnRuleTemplateOptionsRewrite":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"body":{"description":"Path for the Rewrite option.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"flag":{"description":"Flag for the Rewrite option.\n\nPossible values:\n- **last** - Stop processing the current set of <span pulumi-lang-nodejs=\"`ngxHttpRewriteModule`\" pulumi-lang-dotnet=\"`NgxHttpRewriteModule`\" pulumi-lang-go=\"`ngxHttpRewriteModule`\" pulumi-lang-python=\"`ngx_http_rewrite_module`\" pulumi-lang-yaml=\"`ngxHttpRewriteModule`\" pulumi-lang-java=\"`ngxHttpRewriteModule`\">`ngx_http_rewrite_module`</span> directives and start a search for a new location matching changed URI.\n- **break** - Stop processing the current set of the Rewrite option.\n- **redirect** - Return a temporary redirect with the 302 code; used when a replacement string does not start with `http://`, `https://`, or `$scheme`.\n- **permanent** - Return a permanent redirect with the 301 code.\nAvailable values: \"break\", \"last\", \"redirect\", \"permanent\".\n","type":"string"}},"required":["body","enabled","flag"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsSecureKey:getCdnRuleTemplateOptionsSecureKey":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"key":{"description":"Key generated on your side that will be used for URL signing.\n","type":"string"},"type":{"description":"Type of URL signing.\n\nPossible types:\n- **Type 0** - Includes end user IP to secure token generation.\n- **Type 2** - Excludes end user IP from secure token generation.\nAvailable values: 0, 2.\n","type":"number"}},"required":["enabled","key","type"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsSlice:getCdnRuleTemplateOptionsSlice":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsSni:getCdnRuleTemplateOptionsSni":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"customHostname":{"description":"Custom SNI hostname.\n","type":"string"},"enabled":{"description":"Controls the option state.\n\nPossible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"},"sniType":{"description":"SNI (Server Name Indication) type.\n\nPossible values:\n- **dynamic** - SNI hostname depends on `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options.\nIt has several possible combinations:\n- If the `hostHeader` option is enabled and specified, SNI hostname matches the Host header.\n- If the <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> option is enabled and has true value, SNI hostname matches the Host header used in the request made to a CDN.\n- If the `hostHeader` and <span pulumi-lang-nodejs=\"`forwardHostHeader`\" pulumi-lang-dotnet=\"`ForwardHostHeader`\" pulumi-lang-go=\"`forwardHostHeader`\" pulumi-lang-python=\"`forward_host_header`\" pulumi-lang-yaml=\"`forwardHostHeader`\" pulumi-lang-java=\"`forwardHostHeader`\">`forward_host_header`</span> options are disabled, SNI hostname matches the primary CNAME.\n- **custom** - custom SNI hostname is in use.\nAvailable values: \"dynamic\", \"custom\".\n","type":"string"}},"required":["customHostname","enabled","sniType"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsStale:getCdnRuleTemplateOptionsStale":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"description":"Defines list of errors for which \"Always online\" option is applied.\n","items":{"type":"string"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsStaticHeaders:getCdnRuleTemplateOptionsStaticHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 128 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"string"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsStaticRequestHeaders:getCdnRuleTemplateOptionsStaticRequestHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"additionalProperties":{"type":"string"},"description":"A MAP for static headers in a format of `header_name:<span pulumi-lang-nodejs=\" headerValue`\" pulumi-lang-dotnet=\" HeaderValue`\" pulumi-lang-go=\" headerValue`\" pulumi-lang-python=\" header_value`\" pulumi-lang-yaml=\" headerValue`\" pulumi-lang-java=\" headerValue`\"> header_value`</span>.\n\nRestrictions:\n- **Header name** - Maximum 255 symbols, may contain Latin letters (A-Z, a-z), numbers (0-9), dashes, and underscores.\n- **Header value** - Maximum 512 symbols, may contain letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]). Must start with a letter, number, asterisk or {.\n","type":"object"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsStaticResponseHeaders:getCdnRuleTemplateOptionsStaticResponseHeaders":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"values":{"items":{"$ref":"#/types/gcore:index%2FgetCdnRuleTemplateOptionsStaticResponseHeadersValue:getCdnRuleTemplateOptionsStaticResponseHeadersValue"},"type":"array"}},"required":["enabled","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsStaticResponseHeadersValue:getCdnRuleTemplateOptionsStaticResponseHeadersValue":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"always":{"description":"Defines whether the header will be added to a response from CDN regardless of response code.\n","type":"boolean"},"name":{"description":"HTTP Header name.\n\nRestrictions:\n- Maximum 128 symbols.\n- Latin letters (A-Z, a-z,) numbers (0-9,) dashes, and underscores only.\n","type":"string"},"values":{"description":"Header value.\n\nRestrictions:\n- Maximum 512 symbols.\n- Letters (a-z), numbers (0-9), spaces, and symbols (`~!@#%%^&*()-_=+ /|\\\";:?.,><{}[]).\n- Must start with a letter, number, asterisk or {.\n- Multiple values can be added.\n","items":{"type":"string"},"type":"array"}},"required":["always","name","values"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsUserAgentAcl:getCdnRuleTemplateOptionsUserAgentAcl":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"exceptedValues":{"description":"List of User-Agents that will be allowed/denied.\n\nThe meaning of the parameter depends on <span pulumi-lang-nodejs=\"`policyType`\" pulumi-lang-dotnet=\"`PolicyType`\" pulumi-lang-go=\"`policyType`\" pulumi-lang-python=\"`policy_type`\" pulumi-lang-yaml=\"`policyType`\" pulumi-lang-java=\"`policyType`\">`policy_type`</span>:\n- **allow** - List of User-Agents for which access is prohibited.\n- **deny** - List of User-Agents for which access is allowed.\n\nYou can provide exact User-Agent strings or regular expressions. Regular expressions must start\nwith `~` (case-sensitive) or `~*` (case-insensitive).\n\nUse an empty string `\"\"` to allow/deny access when the User-Agent header is empty.\n","items":{"type":"string"},"type":"array"},"policyType":{"description":"User-Agents policy type.\n\nPossible values:\n- **allow** - Allow access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\n- **deny** - Deny access for all User-Agents except specified in <span pulumi-lang-nodejs=\"`exceptedValues`\" pulumi-lang-dotnet=\"`ExceptedValues`\" pulumi-lang-go=\"`exceptedValues`\" pulumi-lang-python=\"`excepted_values`\" pulumi-lang-yaml=\"`exceptedValues`\" pulumi-lang-java=\"`exceptedValues`\">`excepted_values`</span> field.\nAvailable values: \"allow\", \"deny\".\n","type":"string"}},"required":["enabled","exceptedValues","policyType"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsWaap:getCdnRuleTemplateOptionsWaap":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCdnRuleTemplateOptionsWebsockets:getCdnRuleTemplateOptionsWebsockets":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Controls the option state.\n","type":"boolean"},"value":{"description":"Possible values:\n- **true** - Option is enabled.\n- **false** - Option is disabled.\n","type":"boolean"}},"required":["enabled","value"],"type":"object"},"gcore:index/getCloudBaremetalServerAddresses:getCloudBaremetalServerAddresses":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addr":{"type":"string"},"interfaceName":{"type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"},"subnetName":{"type":"string"},"type":{"type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/getCloudBaremetalServerBlackholePort:getCloudBaremetalServerBlackholePort":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"alarmEnd":{"description":"A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z\n","type":"string"},"alarmStart":{"description":"A date-time string giving the time that the alarm started\n","type":"string"},"alarmState":{"description":"Current state of alarm\nAvailable values: \"ACK*REQ\", \"ALARM\", \"ARCHIVED\", \"CLEAR\", \"CLEARING\", \"CLEARING*FAIL\", \"END*GRACE\", \"END*WAIT\", \"MANUAL*CLEAR\", \"MANUAL*CLEARING\", \"MANUAL*CLEARING*FAIL\", \"MANUAL*MITIGATING\", \"MANUAL*STARTING\", \"MANUAL*STARTING*FAIL\", \"MITIGATING\", \"STARTING\", \"STARTING*FAIL\", \"START*WAIT\", \"ack*req\", \"alarm\", \"archived\", \"clear\", \"clearing\", \"clearing*fail\", \"end*grace\", \"end*wait\", \"manual*clear\", \"manual*clearing\", \"manual*clearing*fail\", \"manual*mitigating\", \"manual*starting\", \"manual*starting*fail\", \"mitigating\", \"start*wait\", \"starting\", \"starting*fail\".\n","type":"string"},"alertDuration":{"description":"Total alert duration\n","type":"string"},"destinationIp":{"description":"Notification destination IP address\n","type":"string"},"id":{"type":"number"}},"required":["alarmEnd","alarmStart","alarmState","alertDuration","destinationIp","id"],"type":"object"},"gcore:index/getCloudBaremetalServerFindOneBy:getCloudBaremetalServerFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"changesBefore":{"description":"Filters the instances by a date and time stamp when the instances last changed.\n","type":"string"},"changesSince":{"description":"Filters the instances by a date and time stamp when the instances last changed status.\n","type":"string"},"flavorId":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\">`flavor_id`</span>. Flavor id must match exactly.\n","type":"string"},"flavorPrefix":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorPrefix`\" pulumi-lang-dotnet=\"`FlavorPrefix`\" pulumi-lang-go=\"`flavorPrefix`\" pulumi-lang-python=\"`flavor_prefix`\" pulumi-lang-yaml=\"`flavorPrefix`\" pulumi-lang-java=\"`flavorPrefix`\">`flavor_prefix`</span>.\n","type":"string"},"includeK8s":{"description":"Include managed k8s worker nodes\n","type":"boolean"},"ip":{"description":"An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.\n","type":"string"},"name":{"description":"Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.\n","type":"string"},"onlyIsolated":{"description":"Include only isolated instances\n","type":"boolean"},"onlyWithFixedExternalIp":{"description":"Return bare metals only with external fixed IP addresses.\n","type":"boolean"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created.asc\", \"created.desc\", \"name.asc\", \"name.desc\", \"status.asc\", \"status.desc\".\n","type":"string"},"profileName":{"description":"Filter result by ddos protection profile name. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true.\n","type":"string"},"protectionStatus":{"description":"Filter result by DDoS <span pulumi-lang-nodejs=\"`protectionStatus`\" pulumi-lang-dotnet=\"`ProtectionStatus`\" pulumi-lang-go=\"`protectionStatus`\" pulumi-lang-python=\"`protection_status`\" pulumi-lang-yaml=\"`protectionStatus`\" pulumi-lang-java=\"`protectionStatus`\">`protection_status`</span>. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (Active, Queued or Error)\nAvailable values: \"Active\", \"Queued\", \"Error\".\n","type":"string"},"status":{"description":"Filters instances by a server status, as a string.\nAvailable values: \"ACTIVE\", \"BUILD\", \"ERROR\", \"HARD_REBOOT\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"SHUTOFF\", \"SUSPENDED\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagValues":{"description":"Optional. Filter by tag values. ?<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value1&<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value2\n","items":{"type":"string"},"type":"array"},"uuid":{"description":"Filter the server list result by the UUID of the server. Allowed UUID part\n","type":"string"},"withInterfacesName":{"description":"Include <span pulumi-lang-nodejs=\"`interfaceName`\" pulumi-lang-dotnet=\"`InterfaceName`\" pulumi-lang-go=\"`interfaceName`\" pulumi-lang-python=\"`interface_name`\" pulumi-lang-yaml=\"`interfaceName`\" pulumi-lang-java=\"`interfaceName`\">`interface_name`</span> in the addresses\n","type":"boolean"}},"required":["includeK8s","onlyIsolated","orderBy","withInterfacesName"],"type":"object"},"gcore:index/getCloudBaremetalServerFixedIpAssignment:getCloudBaremetalServerFixedIpAssignment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"external":{"description":"Is network external\n","type":"boolean"},"ipAddress":{"description":"Ip address\n","type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"}},"required":["external","ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudBaremetalServerFlavor:getCloudBaremetalServerFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"architecture":{"description":"CPU architecture\n","type":"string"},"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"hardwareDescription":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServerFlavorHardwareDescription:getCloudBaremetalServerFlavorHardwareDescription","description":"Additional hardware description\n"},"osType":{"description":"Operating system\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"resourceClass":{"description":"Flavor resource class for mapping to hardware capacity\n","type":"string"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["architecture","flavorId","flavorName","hardwareDescription","osType","ram","resourceClass","vcpus"],"type":"object"},"gcore:index/getCloudBaremetalServerFlavorHardwareDescription:getCloudBaremetalServerFlavorHardwareDescription":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cpu":{"description":"Human-readable CPU description\n","type":"string"},"disk":{"description":"Human-readable disk description\n","type":"string"},"license":{"description":"If the flavor is licensed, this field contains the license type\n","type":"string"},"network":{"description":"Human-readable NIC description\n","type":"string"},"ram":{"description":"Human-readable RAM description\n","type":"string"}},"required":["cpu","disk","license","network","ram"],"type":"object"},"gcore:index/getCloudBaremetalServerInstanceIsolation:getCloudBaremetalServerInstanceIsolation":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"reason":{"description":"The reason of instance isolation if it is isolated from external internet.\n","type":"string"}},"required":["reason"],"type":"object"},"gcore:index/getCloudBaremetalServerTag:getCloudBaremetalServerTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudBaremetalServersItem:getCloudBaremetalServersItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemAddresses:getCloudBaremetalServersItemAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network\n","type":"object"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemBlackholePort:getCloudBaremetalServersItemBlackholePort"},"type":"array"},"createdAt":{"description":"Datetime when bare metal server was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAssignments":{"description":"Fixed IP assigned to instance\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemFixedIpAssignment:getCloudBaremetalServersItemFixedIpAssignment"},"type":"array"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemFlavor:getCloudBaremetalServersItemFlavor","description":"Flavor details\n"},"id":{"description":"Bare metal server ID\n","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemInstanceIsolation:getCloudBaremetalServersItemInstanceIsolation","description":"Instance isolation information\n"},"name":{"description":"Bare metal server name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"sshKeyName":{"description":"SSH key assigned to bare metal server\n","type":"string"},"status":{"description":"Bare metal server status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemTag:getCloudBaremetalServersItemTag"},"type":"array"},"taskId":{"description":"The UUID of the active task that currently holds a lock on the resource. This lock prevents concurrent modifications to ensure consistency. If <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span>, the resource is not locked.\n","type":"string"},"taskState":{"description":"Task state\n","type":"string"},"vmState":{"description":"Bare metal server state\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".\n","type":"string"}},"required":["addresses","blackholePorts","createdAt","creatorTaskId","fixedIpAssignments","flavor","id","instanceIsolation","name","projectId","region","regionId","sshKeyName","status","tags","taskId","taskState","vmState"],"type":"object"},"gcore:index/getCloudBaremetalServersItemAddresses:getCloudBaremetalServersItemAddresses":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addr":{"type":"string"},"interfaceName":{"type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"},"subnetName":{"type":"string"},"type":{"type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/getCloudBaremetalServersItemBlackholePort:getCloudBaremetalServersItemBlackholePort":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"alarmEnd":{"description":"A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z\n","type":"string"},"alarmStart":{"description":"A date-time string giving the time that the alarm started\n","type":"string"},"alarmState":{"description":"Current state of alarm\nAvailable values: \"ACK*REQ\", \"ALARM\", \"ARCHIVED\", \"CLEAR\", \"CLEARING\", \"CLEARING*FAIL\", \"END*GRACE\", \"END*WAIT\", \"MANUAL*CLEAR\", \"MANUAL*CLEARING\", \"MANUAL*CLEARING*FAIL\", \"MANUAL*MITIGATING\", \"MANUAL*STARTING\", \"MANUAL*STARTING*FAIL\", \"MITIGATING\", \"STARTING\", \"STARTING*FAIL\", \"START*WAIT\", \"ack*req\", \"alarm\", \"archived\", \"clear\", \"clearing\", \"clearing*fail\", \"end*grace\", \"end*wait\", \"manual*clear\", \"manual*clearing\", \"manual*clearing*fail\", \"manual*mitigating\", \"manual*starting\", \"manual*starting*fail\", \"mitigating\", \"start*wait\", \"starting\", \"starting*fail\".\n","type":"string"},"alertDuration":{"description":"Total alert duration\n","type":"string"},"destinationIp":{"description":"Notification destination IP address\n","type":"string"},"id":{"type":"number"}},"required":["alarmEnd","alarmStart","alarmState","alertDuration","destinationIp","id"],"type":"object"},"gcore:index/getCloudBaremetalServersItemFixedIpAssignment:getCloudBaremetalServersItemFixedIpAssignment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"external":{"description":"Is network external\n","type":"boolean"},"ipAddress":{"description":"Ip address\n","type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"}},"required":["external","ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudBaremetalServersItemFlavor:getCloudBaremetalServersItemFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"architecture":{"description":"CPU architecture\n","type":"string"},"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"hardwareDescription":{"$ref":"#/types/gcore:index%2FgetCloudBaremetalServersItemFlavorHardwareDescription:getCloudBaremetalServersItemFlavorHardwareDescription","description":"Additional hardware description\n"},"osType":{"description":"Operating system\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"resourceClass":{"description":"Flavor resource class for mapping to hardware capacity\n","type":"string"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["architecture","flavorId","flavorName","hardwareDescription","osType","ram","resourceClass","vcpus"],"type":"object"},"gcore:index/getCloudBaremetalServersItemFlavorHardwareDescription:getCloudBaremetalServersItemFlavorHardwareDescription":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cpu":{"description":"Human-readable CPU description\n","type":"string"},"disk":{"description":"Human-readable disk description\n","type":"string"},"license":{"description":"If the flavor is licensed, this field contains the license type\n","type":"string"},"network":{"description":"Human-readable NIC description\n","type":"string"},"ram":{"description":"Human-readable RAM description\n","type":"string"}},"required":["cpu","disk","license","network","ram"],"type":"object"},"gcore:index/getCloudBaremetalServersItemInstanceIsolation:getCloudBaremetalServersItemInstanceIsolation":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"reason":{"description":"The reason of instance isolation if it is isolated from external internet.\n","type":"string"}},"required":["reason"],"type":"object"},"gcore:index/getCloudBaremetalServersItemTag:getCloudBaremetalServersItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFileShareFindOneBy:getCloudFileShareFindOneBy":{"properties":{"name":{"description":"File share name. Uses partial match.\n","type":"string"},"typeName":{"description":"File share type name\nAvailable values: \"standard\", \"vast\".\n","type":"string"}},"type":"object"},"gcore:index/getCloudFileShareShareSettings:getCloudFileShareShareSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowedCharacters":{"description":"Available values: \"LCD\", \"NPL\".\n","type":"string"},"pathLength":{"description":"Available values: \"LCD\", \"NPL\".\n","type":"string"},"rootSquash":{"description":"Enables or disables root squash for NFS clients.\n- If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, root squash is enabled: the root user is mapped to nobody for all file and folder management operations on the export.\n- If <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>, root squash is disabled: the NFS client <span pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\">`root`</span> user retains root privileges.\n","type":"boolean"},"typeName":{"description":"Standard file share type\nAvailable values: \"standard\", \"vast\".\n","type":"string"}},"required":["allowedCharacters","pathLength","rootSquash","typeName"],"type":"object"},"gcore:index/getCloudFileShareTag:getCloudFileShareTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFileSharesItem:getCloudFileSharesItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"connectionPoint":{"description":"Connection point. Can be null during File share creation\n","type":"string"},"createdAt":{"description":"Datetime when the file share was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"id":{"description":"File share ID\n","type":"string"},"name":{"description":"File share name\n","type":"string"},"networkId":{"description":"Network ID.\n","type":"string"},"networkName":{"description":"Network name.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"protocol":{"description":"File share protocol\n","type":"string"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"shareNetworkName":{"description":"Share network name. May be null if the file share was created with volume type VAST\n","type":"string"},"shareSettings":{"$ref":"#/types/gcore:index%2FgetCloudFileSharesItemShareSettings:getCloudFileSharesItemShareSettings","description":"Share settings specific to the file share type\n"},"size":{"description":"File share size in GiB\n","type":"number"},"status":{"description":"File share status\nAvailable values: \"available\", <span pulumi-lang-nodejs=\"\"awaitingTransfer\"\" pulumi-lang-dotnet=\"\"AwaitingTransfer\"\" pulumi-lang-go=\"\"awaitingTransfer\"\" pulumi-lang-python=\"\"awaiting_transfer\"\" pulumi-lang-yaml=\"\"awaitingTransfer\"\" pulumi-lang-java=\"\"awaitingTransfer\"\">\"awaiting_transfer\"</span>, <span pulumi-lang-nodejs=\"\"backupCreating\"\" pulumi-lang-dotnet=\"\"BackupCreating\"\" pulumi-lang-go=\"\"backupCreating\"\" pulumi-lang-python=\"\"backup_creating\"\" pulumi-lang-yaml=\"\"backupCreating\"\" pulumi-lang-java=\"\"backupCreating\"\">\"backup_creating\"</span>, <span pulumi-lang-nodejs=\"\"backupRestoring\"\" pulumi-lang-dotnet=\"\"BackupRestoring\"\" pulumi-lang-go=\"\"backupRestoring\"\" pulumi-lang-python=\"\"backup_restoring\"\" pulumi-lang-yaml=\"\"backupRestoring\"\" pulumi-lang-java=\"\"backupRestoring\"\">\"backup_restoring\"</span>, <span pulumi-lang-nodejs=\"\"backupRestoringError\"\" pulumi-lang-dotnet=\"\"BackupRestoringError\"\" pulumi-lang-go=\"\"backupRestoringError\"\" pulumi-lang-python=\"\"backup_restoring_error\"\" pulumi-lang-yaml=\"\"backupRestoringError\"\" pulumi-lang-java=\"\"backupRestoringError\"\">\"backup_restoring_error\"</span>, \"creating\", <span pulumi-lang-nodejs=\"\"creatingFromSnapshot\"\" pulumi-lang-dotnet=\"\"CreatingFromSnapshot\"\" pulumi-lang-go=\"\"creatingFromSnapshot\"\" pulumi-lang-python=\"\"creating_from_snapshot\"\" pulumi-lang-yaml=\"\"creatingFromSnapshot\"\" pulumi-lang-java=\"\"creatingFromSnapshot\"\">\"creating_from_snapshot\"</span>, \"deleted\", \"deleting\", \"ensuring\", \"error\", <span pulumi-lang-nodejs=\"\"errorDeleting\"\" pulumi-lang-dotnet=\"\"ErrorDeleting\"\" pulumi-lang-go=\"\"errorDeleting\"\" pulumi-lang-python=\"\"error_deleting\"\" pulumi-lang-yaml=\"\"errorDeleting\"\" pulumi-lang-java=\"\"errorDeleting\"\">\"error_deleting\"</span>, \"extending\", <span pulumi-lang-nodejs=\"\"extendingError\"\" pulumi-lang-dotnet=\"\"ExtendingError\"\" pulumi-lang-go=\"\"extendingError\"\" pulumi-lang-python=\"\"extending_error\"\" pulumi-lang-yaml=\"\"extendingError\"\" pulumi-lang-java=\"\"extendingError\"\">\"extending_error\"</span>, \"inactive\", <span pulumi-lang-nodejs=\"\"manageError\"\" pulumi-lang-dotnet=\"\"ManageError\"\" pulumi-lang-go=\"\"manageError\"\" pulumi-lang-python=\"\"manage_error\"\" pulumi-lang-yaml=\"\"manageError\"\" pulumi-lang-java=\"\"manageError\"\">\"manage_error\"</span>, <span pulumi-lang-nodejs=\"\"manageStarting\"\" pulumi-lang-dotnet=\"\"ManageStarting\"\" pulumi-lang-go=\"\"manageStarting\"\" pulumi-lang-python=\"\"manage_starting\"\" pulumi-lang-yaml=\"\"manageStarting\"\" pulumi-lang-java=\"\"manageStarting\"\">\"manage_starting\"</span>, \"migrating\", <span pulumi-lang-nodejs=\"\"migratingTo\"\" pulumi-lang-dotnet=\"\"MigratingTo\"\" pulumi-lang-go=\"\"migratingTo\"\" pulumi-lang-python=\"\"migrating_to\"\" pulumi-lang-yaml=\"\"migratingTo\"\" pulumi-lang-java=\"\"migratingTo\"\">\"migrating_to\"</span>, <span pulumi-lang-nodejs=\"\"replicationChange\"\" pulumi-lang-dotnet=\"\"ReplicationChange\"\" pulumi-lang-go=\"\"replicationChange\"\" pulumi-lang-python=\"\"replication_change\"\" pulumi-lang-yaml=\"\"replicationChange\"\" pulumi-lang-java=\"\"replicationChange\"\">\"replication_change\"</span>, \"reverting\", <span pulumi-lang-nodejs=\"\"revertingError\"\" pulumi-lang-dotnet=\"\"RevertingError\"\" pulumi-lang-go=\"\"revertingError\"\" pulumi-lang-python=\"\"reverting_error\"\" pulumi-lang-yaml=\"\"revertingError\"\" pulumi-lang-java=\"\"revertingError\"\">\"reverting_error\"</span>, \"shrinking\", <span pulumi-lang-nodejs=\"\"shrinkingError\"\" pulumi-lang-dotnet=\"\"ShrinkingError\"\" pulumi-lang-go=\"\"shrinkingError\"\" pulumi-lang-python=\"\"shrinking_error\"\" pulumi-lang-yaml=\"\"shrinkingError\"\" pulumi-lang-java=\"\"shrinkingError\"\">\"shrinking_error\"</span>, <span pulumi-lang-nodejs=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-dotnet=\"\"ShrinkingPossibleDataLossError\"\" pulumi-lang-go=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-python=\"\"shrinking_possible_data_loss_error\"\" pulumi-lang-yaml=\"\"shrinkingPossibleDataLossError\"\" pulumi-lang-java=\"\"shrinkingPossibleDataLossError\"\">\"shrinking_possible_data_loss_error\"</span>, <span pulumi-lang-nodejs=\"\"unmanageError\"\" pulumi-lang-dotnet=\"\"UnmanageError\"\" pulumi-lang-go=\"\"unmanageError\"\" pulumi-lang-python=\"\"unmanage_error\"\" pulumi-lang-yaml=\"\"unmanageError\"\" pulumi-lang-java=\"\"unmanageError\"\">\"unmanage_error\"</span>, <span pulumi-lang-nodejs=\"\"unmanageStarting\"\" pulumi-lang-dotnet=\"\"UnmanageStarting\"\" pulumi-lang-go=\"\"unmanageStarting\"\" pulumi-lang-python=\"\"unmanage_starting\"\" pulumi-lang-yaml=\"\"unmanageStarting\"\" pulumi-lang-java=\"\"unmanageStarting\"\">\"unmanage_starting\"</span>, \"unmanaged\".\n","type":"string"},"subnetId":{"description":"Subnet ID.\n","type":"string"},"subnetName":{"description":"Subnet name.\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFileSharesItemTag:getCloudFileSharesItemTag"},"type":"array"},"typeName":{"description":"File share type name\nAvailable values: \"standard\", \"vast\".\n","type":"string"}},"required":["connectionPoint","createdAt","creatorTaskId","id","name","networkId","networkName","projectId","protocol","region","regionId","shareNetworkName","shareSettings","size","status","subnetId","subnetName","tags","typeName"],"type":"object"},"gcore:index/getCloudFileSharesItemShareSettings:getCloudFileSharesItemShareSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowedCharacters":{"description":"Available values: \"LCD\", \"NPL\".\n","type":"string"},"pathLength":{"description":"Available values: \"LCD\", \"NPL\".\n","type":"string"},"rootSquash":{"description":"Enables or disables root squash for NFS clients.\n- If <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>, root squash is enabled: the root user is mapped to nobody for all file and folder management operations on the export.\n- If <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>, root squash is disabled: the NFS client <span pulumi-lang-nodejs=\"`root`\" pulumi-lang-dotnet=\"`Root`\" pulumi-lang-go=\"`root`\" pulumi-lang-python=\"`root`\" pulumi-lang-yaml=\"`root`\" pulumi-lang-java=\"`root`\">`root`</span> user retains root privileges.\n","type":"boolean"},"typeName":{"description":"Standard file share type\nAvailable values: \"standard\", \"vast\".\n","type":"string"}},"required":["allowedCharacters","pathLength","rootSquash","typeName"],"type":"object"},"gcore:index/getCloudFileSharesItemTag:getCloudFileSharesItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFloatingIpFindOneBy:getCloudFloatingIpFindOneBy":{"properties":{"status":{"description":"Filter by floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"gcore:index/getCloudFloatingIpTag:getCloudFloatingIpTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFloatingIpsItem:getCloudFloatingIpsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IP address of the port the floating IP is attached to\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"id":{"description":"Floating IP ID\n","type":"string"},"instance":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemInstance:getCloudFloatingIpsItemInstance","description":"Instance the floating IP is attached to\n"},"loadbalancer":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancer:getCloudFloatingIpsItemLoadbalancer","description":"Load balancer the floating IP is attached to\n"},"portId":{"description":"Port ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemTag:getCloudFloatingIpsItemTag"},"type":"array"},"updatedAt":{"description":"Datetime when the floating IP was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","id","instance","loadbalancer","portId","projectId","region","regionId","routerId","status","tags","updatedAt"],"type":"object"},"gcore:index/getCloudFloatingIpsItemInstance:getCloudFloatingIpsItemInstance":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemInstanceAddresses:getCloudFloatingIpsItemInstanceAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network\n","type":"object"},"createdAt":{"description":"Datetime when instance was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemInstanceFlavor:getCloudFloatingIpsItemInstanceFlavor","description":"Flavor\n"},"id":{"description":"Instance ID\n","type":"string"},"instanceDescription":{"description":"Instance description\n","type":"string"},"name":{"description":"Instance name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemInstanceSecurityGroup:getCloudFloatingIpsItemInstanceSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key name assigned to instance\n","type":"string"},"status":{"description":"Instance status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemInstanceTag:getCloudFloatingIpsItemInstanceTag"},"type":"array"},"taskState":{"description":"Task state\n","type":"string"},"vmState":{"description":"Virtual machine state (active)\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".\n","type":"string"},"volumes":{"description":"List of volumes\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemInstanceVolume:getCloudFloatingIpsItemInstanceVolume"},"type":"array"}},"required":["addresses","createdAt","creatorTaskId","flavor","id","instanceDescription","name","projectId","region","regionId","securityGroups","sshKeyName","status","tags","taskState","vmState","volumes"],"type":"object"},"gcore:index/getCloudFloatingIpsItemInstanceAddresses:getCloudFloatingIpsItemInstanceAddresses":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addr":{"type":"string"},"interfaceName":{"type":"string"},"subnetId":{"type":"string"},"subnetName":{"type":"string"},"type":{"type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/getCloudFloatingIpsItemInstanceFlavor:getCloudFloatingIpsItemInstanceFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["flavorId","flavorName","ram","vcpus"],"type":"object"},"gcore:index/getCloudFloatingIpsItemInstanceSecurityGroup:getCloudFloatingIpsItemInstanceSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"name":{"description":"Name.\n","type":"string"}},"required":["name"],"type":"object"},"gcore:index/getCloudFloatingIpsItemInstanceTag:getCloudFloatingIpsItemInstanceTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFloatingIpsItemInstanceVolume:getCloudFloatingIpsItemInstanceVolume":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"deleteOnTermination":{"description":"Whether the volume is deleted together with the VM\n","type":"boolean"},"id":{"description":"Volume ID\n","type":"string"}},"required":["deleteOnTermination","id"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancer:getCloudFloatingIpsItemLoadbalancer":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"additionalVips":{"description":"List of additional IP addresses\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerAdditionalVip:getCloudFloatingIpsItemLoadbalancerAdditionalVip"},"type":"array"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"createdAt":{"description":"Datetime when the load balancer was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"ddosProfile":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfile:getCloudFloatingIpsItemLoadbalancerDdosProfile","description":"Loadbalancer advanced DDoS protection profile.\n"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerFlavor:getCloudFloatingIpsItemLoadbalancerFlavor","description":"Load balancer flavor (if not default)\n"},"floatingIps":{"description":"List of assigned floating IPs\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerFloatingIp:getCloudFloatingIpsItemLoadbalancerFloatingIp"},"type":"array"},"id":{"description":"Load balancer ID\n","type":"string"},"listeners":{"description":"Load balancer listeners\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerListener:getCloudFloatingIpsItemLoadbalancerListener"},"type":"array"},"logging":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerLogging:getCloudFloatingIpsItemLoadbalancerLogging","description":"Logging configuration\n"},"name":{"description":"Load balancer name\n","type":"string"},"operatingStatus":{"description":"Load balancer operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"preferredConnectivity":{"description":"Preferred option to establish connectivity between load balancer and its pools members\nAvailable values: \"L2\", \"L3\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"provisioningStatus":{"description":"Load balancer lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"stats":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerStats:getCloudFloatingIpsItemLoadbalancerStats","description":"Statistics of load balancer.\n"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerTagsV2:getCloudFloatingIpsItemLoadbalancerTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the load balancer was last updated\n","type":"string"},"vipAddress":{"description":"Load balancer IP address\n","type":"string"},"vipFqdn":{"description":"Fully qualified domain name for the load balancer VIP\n","type":"string"},"vipIpFamily":{"description":"Load balancer IP family\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"vipPortId":{"description":"The ID of the Virtual IP (VIP) port.\n","type":"string"},"vrrpIps":{"description":"List of VRRP IP addresses\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerVrrpIp:getCloudFloatingIpsItemLoadbalancerVrrpIp"},"type":"array"}},"required":["additionalVips","adminStateUp","createdAt","creatorTaskId","ddosProfile","flavor","floatingIps","id","listeners","logging","name","operatingStatus","preferredConnectivity","projectId","provisioningStatus","region","regionId","stats","tagsV2s","updatedAt","vipAddress","vipFqdn","vipIpFamily","vipPortId","vrrpIps"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerAdditionalVip:getCloudFloatingIpsItemLoadbalancerAdditionalVip":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfile:getCloudFloatingIpsItemLoadbalancerDdosProfile":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fields":{"description":"List of configured field values for the protection profile\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfileField:getCloudFloatingIpsItemLoadbalancerDdosProfileField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection profile\n","type":"number"},"options":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfileOptions:getCloudFloatingIpsItemLoadbalancerDdosProfileOptions","description":"Configuration options controlling profile activation and BGP routing\n"},"profileTemplate":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplate:getCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplate","description":"Complete template configuration data used for this profile\n"},"profileTemplateDescription":{"description":"Detailed description of the protection template used for this profile\n","type":"string"},"protocols":{"description":"List of network protocols and ports configured for protection\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfileProtocol:getCloudFloatingIpsItemLoadbalancerDdosProfileProtocol"},"type":"array"},"site":{"description":"Geographic site identifier where the protection is deployed\n","type":"string"},"status":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfileStatus:getCloudFloatingIpsItemLoadbalancerDdosProfileStatus","description":"Current operational status and any error information for the profile\n"}},"required":["fields","id","options","profileTemplate","profileTemplateDescription","protocols","site","status"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfileField:getCloudFloatingIpsItemLoadbalancerDdosProfileField":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"baseField":{"description":"ID of DDoS profile field\n","type":"number"},"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"fieldValue":{"description":"Complex value for the DDoS profile field\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"required":["baseField","default","description","fieldType","fieldValue","id","name","required","validationSchema"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfileOptions:getCloudFloatingIpsItemLoadbalancerDdosProfileOptions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"active":{"description":"Controls whether the DDoS protection profile is enabled and actively protecting the resource\n","type":"boolean"},"bgp":{"description":"Enables Border Gateway Protocol (BGP) routing for DDoS protection traffic\n","type":"boolean"}},"required":["active","bgp"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplate:getCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplate":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"description":{"description":"Detailed description explaining the template's purpose and use cases\n","type":"string"},"fields":{"description":"List of configurable fields that define the template's protection parameters\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplateField:getCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplateField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection template\n","type":"number"},"name":{"description":"Human-readable name of the protection template\n","type":"string"}},"required":["description","fields","id","name"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplateField:getCloudFloatingIpsItemLoadbalancerDdosProfileProfileTemplateField":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"required":["default","description","fieldType","id","name","required","validationSchema"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfileProtocol:getCloudFloatingIpsItemLoadbalancerDdosProfileProtocol":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"port":{"description":"Network port number for which protocols are configured\n","type":"string"},"protocols":{"description":"List of network protocols enabled on the specified port\n","items":{"type":"string"},"type":"array"}},"required":["port","protocols"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerDdosProfileStatus:getCloudFloatingIpsItemLoadbalancerDdosProfileStatus":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"errorDescription":{"description":"Detailed error message describing any issues with the profile operation\n","type":"string"},"status":{"description":"Current operational status of the DDoS protection profile\n","type":"string"}},"required":["errorDescription","status"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerFlavor:getCloudFloatingIpsItemLoadbalancerFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["flavorId","flavorName","ram","vcpus"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerFloatingIp:getCloudFloatingIpsItemLoadbalancerFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IP address of the port the floating IP is attached to\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"id":{"description":"Floating IP ID\n","type":"string"},"portId":{"description":"Port ID the floating IP is attached to. The <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> is the IP address of the port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerFloatingIpTag:getCloudFloatingIpsItemLoadbalancerFloatingIpTag"},"type":"array"},"updatedAt":{"description":"Datetime when the floating IP was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","id","portId","projectId","region","regionId","routerId","status","tags","updatedAt"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerFloatingIpTag:getCloudFloatingIpsItemLoadbalancerFloatingIpTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerListener:getCloudFloatingIpsItemLoadbalancerListener":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Listener ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerLogging:getCloudFloatingIpsItemLoadbalancerLogging":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destinationRegionId":{"description":"ID of the region in which the logs will be stored\n","type":"number"},"enabled":{"description":"Indicates if log streaming is enabled or disabled\n","type":"boolean"},"retentionPolicy":{"$ref":"#/types/gcore:index%2FgetCloudFloatingIpsItemLoadbalancerLoggingRetentionPolicy:getCloudFloatingIpsItemLoadbalancerLoggingRetentionPolicy","description":"Logs retention policy\n"},"topicName":{"description":"The topic name to stream logs to\n","type":"string"}},"required":["destinationRegionId","enabled","retentionPolicy","topicName"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerLoggingRetentionPolicy:getCloudFloatingIpsItemLoadbalancerLoggingRetentionPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"period":{"description":"Duration of days for which logs must be kept.\n","type":"number"}},"required":["period"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerStats:getCloudFloatingIpsItemLoadbalancerStats":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"activeConnections":{"description":"Currently active connections\n","type":"number"},"bytesIn":{"description":"Total bytes received\n","type":"number"},"bytesOut":{"description":"Total bytes sent\n","type":"number"},"requestErrors":{"description":"Total requests that were unable to be fulfilled\n","type":"number"},"totalConnections":{"description":"Total connections handled\n","type":"number"}},"required":["activeConnections","bytesIn","bytesOut","requestErrors","totalConnections"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerTagsV2:getCloudFloatingIpsItemLoadbalancerTagsV2":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudFloatingIpsItemLoadbalancerVrrpIp:getCloudFloatingIpsItemLoadbalancerVrrpIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"role":{"description":"LoadBalancer instance role to which VRRP IP belong\nAvailable values: \"BACKUP\", \"MASTER\", \"STANDALONE\".\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"required":["ipAddress","role","subnetId"],"type":"object"},"gcore:index/getCloudFloatingIpsItemTag:getCloudFloatingIpsItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterFindOneBy:getCloudGpuBaremetalClusterFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"managedBies":{"description":"Specifies the entity responsible for managing the resource.\n","items":{"type":"string"},"type":"array"}},"required":["managedBies"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterImageTag:getCloudGpuBaremetalClusterImageTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterServersSettings:getCloudGpuBaremetalClusterServersSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fileShares":{"description":"List of file shares mounted across the cluster.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterServersSettingsFileShare:getCloudGpuBaremetalClusterServersSettingsFileShare"},"type":"array"},"interfaces":{"items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterServersSettingsInterface:getCloudGpuBaremetalClusterServersSettingsInterface"},"type":"array"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterServersSettingsSecurityGroup:getCloudGpuBaremetalClusterServersSettingsSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key name\n","type":"string"},"userData":{"description":"Optional custom user data\n","type":"string"}},"required":["fileShares","interfaces","securityGroups","sshKeyName","userData"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterServersSettingsFileShare:getCloudGpuBaremetalClusterServersSettingsFileShare":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Unique identifier of the file share in UUID format.\n","type":"string"},"mountPath":{"description":"Absolute mount path inside the system where the file share will be mounted.\n","type":"string"}},"required":["id","mountPath"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterServersSettingsInterface:getCloudGpuBaremetalClusterServersSettingsInterface":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp:getCloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp","description":"Floating IP config for this subnet attachment\n"},"ipAddress":{"description":"Fixed IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6, or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"name":{"description":"Interface name\n","type":"string"},"networkId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network\n","type":"string"},"subnetId":{"description":"Port is assigned an IP address from this subnet\n","type":"string"},"type":{"description":"Available values: \"external\", \"subnet\", <span pulumi-lang-nodejs=\"\"anySubnet\"\" pulumi-lang-dotnet=\"\"AnySubnet\"\" pulumi-lang-go=\"\"anySubnet\"\" pulumi-lang-python=\"\"any_subnet\"\" pulumi-lang-yaml=\"\"anySubnet\"\" pulumi-lang-java=\"\"anySubnet\"\">\"any_subnet\"</span>.\n","type":"string"}},"required":["floatingIp","ipAddress","ipFamily","name","networkId","subnetId","type"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp:getCloudGpuBaremetalClusterServersSettingsInterfaceFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"source":{"description":"Available values: \"new\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterServersSettingsSecurityGroup:getCloudGpuBaremetalClusterServersSettingsSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Security group ID\n","type":"string"},"name":{"description":"Security group name\n","type":"string"}},"required":["id","name"],"type":"object"},"gcore:index/getCloudGpuBaremetalClusterTag:getCloudGpuBaremetalClusterTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItem:getCloudGpuBaremetalClustersItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor name\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"id":{"description":"Cluster unique identifier\n","type":"string"},"imageId":{"description":"Image ID\n","type":"string"},"managedBy":{"description":"User type managing the resource\nAvailable values: \"k8s\", \"user\".\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"serversCount":{"description":"Cluster servers count\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItemServersSettings:getCloudGpuBaremetalClustersItemServersSettings"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItemTag:getCloudGpuBaremetalClustersItemTag"},"type":"array"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"required":["createdAt","flavor","hasPendingChanges","id","imageId","managedBy","name","serversCount","serversIds","serversSettings","status","tags","updatedAt"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItemServersSettings:getCloudGpuBaremetalClustersItemServersSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fileShares":{"description":"List of file shares mounted across the cluster.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItemServersSettingsFileShare:getCloudGpuBaremetalClustersItemServersSettingsFileShare"},"type":"array"},"interfaces":{"items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItemServersSettingsInterface:getCloudGpuBaremetalClustersItemServersSettingsInterface"},"type":"array"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItemServersSettingsSecurityGroup:getCloudGpuBaremetalClustersItemServersSettingsSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key name\n","type":"string"},"userData":{"description":"Optional custom user data\n","type":"string"}},"required":["fileShares","interfaces","securityGroups","sshKeyName","userData"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItemServersSettingsFileShare:getCloudGpuBaremetalClustersItemServersSettingsFileShare":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Unique identifier of the file share in UUID format.\n","type":"string"},"mountPath":{"description":"Absolute mount path inside the system where the file share will be mounted.\n","type":"string"}},"required":["id","mountPath"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItemServersSettingsInterface:getCloudGpuBaremetalClustersItemServersSettingsInterface":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FgetCloudGpuBaremetalClustersItemServersSettingsInterfaceFloatingIp:getCloudGpuBaremetalClustersItemServersSettingsInterfaceFloatingIp","description":"Floating IP config for this subnet attachment\n"},"ipAddress":{"description":"Fixed IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6, or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"name":{"description":"Interface name\n","type":"string"},"networkId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network\n","type":"string"},"subnetId":{"description":"Port is assigned an IP address from this subnet\n","type":"string"},"type":{"description":"Available values: \"external\", \"subnet\", <span pulumi-lang-nodejs=\"\"anySubnet\"\" pulumi-lang-dotnet=\"\"AnySubnet\"\" pulumi-lang-go=\"\"anySubnet\"\" pulumi-lang-python=\"\"any_subnet\"\" pulumi-lang-yaml=\"\"anySubnet\"\" pulumi-lang-java=\"\"anySubnet\"\">\"any_subnet\"</span>.\n","type":"string"}},"required":["floatingIp","ipAddress","ipFamily","name","networkId","subnetId","type"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItemServersSettingsInterfaceFloatingIp:getCloudGpuBaremetalClustersItemServersSettingsInterfaceFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"source":{"description":"Available values: \"new\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItemServersSettingsSecurityGroup:getCloudGpuBaremetalClustersItemServersSettingsSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Security group ID\n","type":"string"},"name":{"description":"Security group name\n","type":"string"}},"required":["id","name"],"type":"object"},"gcore:index/getCloudGpuBaremetalClustersItemTag:getCloudGpuBaremetalClustersItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterImageTag:getCloudGpuVirtualClusterImageTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettings:getCloudGpuVirtualClusterServersSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fileShares":{"description":"List of file shares mounted across the cluster.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettingsFileShare:getCloudGpuVirtualClusterServersSettingsFileShare"},"type":"array"},"interfaces":{"items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettingsInterface:getCloudGpuVirtualClusterServersSettingsInterface"},"type":"array"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettingsSecurityGroup:getCloudGpuVirtualClusterServersSettingsSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key name\n","type":"string"},"userData":{"description":"Optional custom user data\n","type":"string"},"volumes":{"description":"List of volumes\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettingsVolume:getCloudGpuVirtualClusterServersSettingsVolume"},"type":"array"}},"required":["fileShares","interfaces","securityGroups","sshKeyName","userData","volumes"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettingsFileShare:getCloudGpuVirtualClusterServersSettingsFileShare":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Unique identifier of the file share in UUID format.\n","type":"string"},"mountPath":{"description":"Absolute mount path inside the system where the file share will be mounted.\n","type":"string"}},"required":["id","mountPath"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettingsInterface:getCloudGpuVirtualClusterServersSettingsInterface":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettingsInterfaceFloatingIp:getCloudGpuVirtualClusterServersSettingsInterfaceFloatingIp","description":"Floating IP config for this subnet attachment\n"},"ipAddress":{"description":"Fixed IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6, or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"name":{"description":"Interface name\n","type":"string"},"networkId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network\n","type":"string"},"subnetId":{"description":"Port is assigned an IP address from this subnet\n","type":"string"},"type":{"description":"Available values: \"external\", \"subnet\", <span pulumi-lang-nodejs=\"\"anySubnet\"\" pulumi-lang-dotnet=\"\"AnySubnet\"\" pulumi-lang-go=\"\"anySubnet\"\" pulumi-lang-python=\"\"any_subnet\"\" pulumi-lang-yaml=\"\"anySubnet\"\" pulumi-lang-java=\"\"anySubnet\"\">\"any_subnet\"</span>.\n","type":"string"}},"required":["floatingIp","ipAddress","ipFamily","name","networkId","subnetId","type"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettingsInterfaceFloatingIp:getCloudGpuVirtualClusterServersSettingsInterfaceFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"source":{"description":"Available values: \"new\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettingsSecurityGroup:getCloudGpuVirtualClusterServersSettingsSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Security group ID\n","type":"string"},"name":{"description":"Security group name\n","type":"string"}},"required":["id","name"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettingsVolume:getCloudGpuVirtualClusterServersSettingsVolume":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"bootIndex":{"description":"Boot index of the volume\n","type":"number"},"deleteOnTermination":{"description":"Flag indicating whether the volume is deleted on instance termination\n","type":"boolean"},"imageId":{"description":"Image ID for the volume\n","type":"string"},"name":{"description":"Volume name\n","type":"string"},"size":{"description":"Volume size in GiB\n","type":"number"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClusterServersSettingsVolumeTag:getCloudGpuVirtualClusterServersSettingsVolumeTag"},"type":"array"},"type":{"description":"Volume type\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"}},"required":["bootIndex","deleteOnTermination","imageId","name","size","tags","type"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterServersSettingsVolumeTag:getCloudGpuVirtualClusterServersSettingsVolumeTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuVirtualClusterTag:getCloudGpuVirtualClusterTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItem:getCloudGpuVirtualClustersItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Cluster creation date time\n","type":"string"},"flavor":{"description":"Cluster flavor name\n","type":"string"},"hasPendingChanges":{"description":"True if any server in the cluster has pending (not yet applied) settings changes\n","type":"boolean"},"id":{"description":"Cluster unique identifier\n","type":"string"},"name":{"description":"Cluster name\n","type":"string"},"serversCount":{"description":"Cluster servers count\n","type":"number"},"serversIds":{"description":"List of cluster nodes\n","items":{"type":"string"},"type":"array"},"serversSettings":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettings:getCloudGpuVirtualClustersItemServersSettings"},"status":{"description":"Cluster status\nAvailable values: \"active\", \"creating\", \"degraded\", \"deleting\", \"error\", \"rebooting\", \"rebuilding\", \"resizing\", \"shutoff\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemTag:getCloudGpuVirtualClustersItemTag"},"type":"array"},"updatedAt":{"description":"Cluster update date time\n","type":"string"}},"required":["createdAt","flavor","hasPendingChanges","id","name","serversCount","serversIds","serversSettings","status","tags","updatedAt"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettings:getCloudGpuVirtualClustersItemServersSettings":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fileShares":{"description":"List of file shares mounted across the cluster.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettingsFileShare:getCloudGpuVirtualClustersItemServersSettingsFileShare"},"type":"array"},"interfaces":{"items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettingsInterface:getCloudGpuVirtualClustersItemServersSettingsInterface"},"type":"array"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettingsSecurityGroup:getCloudGpuVirtualClustersItemServersSettingsSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key name\n","type":"string"},"userData":{"description":"Optional custom user data\n","type":"string"},"volumes":{"description":"List of volumes\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettingsVolume:getCloudGpuVirtualClustersItemServersSettingsVolume"},"type":"array"}},"required":["fileShares","interfaces","securityGroups","sshKeyName","userData","volumes"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettingsFileShare:getCloudGpuVirtualClustersItemServersSettingsFileShare":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Unique identifier of the file share in UUID format.\n","type":"string"},"mountPath":{"description":"Absolute mount path inside the system where the file share will be mounted.\n","type":"string"}},"required":["id","mountPath"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettingsInterface:getCloudGpuVirtualClustersItemServersSettingsInterface":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"floatingIp":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettingsInterfaceFloatingIp:getCloudGpuVirtualClustersItemServersSettingsInterfaceFloatingIp","description":"Floating IP config for this subnet attachment\n"},"ipAddress":{"description":"Fixed IP address\n","type":"string"},"ipFamily":{"description":"Which subnets should be selected: IPv4, IPv6, or use dual stack.\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"name":{"description":"Interface name\n","type":"string"},"networkId":{"description":"Network ID the subnet belongs to. Port will be plugged in this network\n","type":"string"},"subnetId":{"description":"Port is assigned an IP address from this subnet\n","type":"string"},"type":{"description":"Available values: \"external\", \"subnet\", <span pulumi-lang-nodejs=\"\"anySubnet\"\" pulumi-lang-dotnet=\"\"AnySubnet\"\" pulumi-lang-go=\"\"anySubnet\"\" pulumi-lang-python=\"\"any_subnet\"\" pulumi-lang-yaml=\"\"anySubnet\"\" pulumi-lang-java=\"\"anySubnet\"\">\"any_subnet\"</span>.\n","type":"string"}},"required":["floatingIp","ipAddress","ipFamily","name","networkId","subnetId","type"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettingsInterfaceFloatingIp:getCloudGpuVirtualClustersItemServersSettingsInterfaceFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"source":{"description":"Available values: \"new\".\n","type":"string"}},"required":["source"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettingsSecurityGroup:getCloudGpuVirtualClustersItemServersSettingsSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Security group ID\n","type":"string"},"name":{"description":"Security group name\n","type":"string"}},"required":["id","name"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettingsVolume:getCloudGpuVirtualClustersItemServersSettingsVolume":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"bootIndex":{"description":"Boot index of the volume\n","type":"number"},"deleteOnTermination":{"description":"Flag indicating whether the volume is deleted on instance termination\n","type":"boolean"},"imageId":{"description":"Image ID for the volume\n","type":"string"},"name":{"description":"Volume name\n","type":"string"},"size":{"description":"Volume size in GiB\n","type":"number"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudGpuVirtualClustersItemServersSettingsVolumeTag:getCloudGpuVirtualClustersItemServersSettingsVolumeTag"},"type":"array"},"type":{"description":"Volume type\nAvailable values: \"cold\", \"ssd*hiiops\", \"ssd*local\", <span pulumi-lang-nodejs=\"\"ssdLowlatency\"\" pulumi-lang-dotnet=\"\"SsdLowlatency\"\" pulumi-lang-go=\"\"ssdLowlatency\"\" pulumi-lang-python=\"\"ssd_lowlatency\"\" pulumi-lang-yaml=\"\"ssdLowlatency\"\" pulumi-lang-java=\"\"ssdLowlatency\"\">\"ssd_lowlatency\"</span>, \"standard\", \"ultra\".\n","type":"string"}},"required":["bootIndex","deleteOnTermination","imageId","name","size","tags","type"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemServersSettingsVolumeTag:getCloudGpuVirtualClustersItemServersSettingsVolumeTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudGpuVirtualClustersItemTag:getCloudGpuVirtualClustersItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudInferenceFlavorsItem:getCloudInferenceFlavorsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cpu":{"description":"Inference flavor cpu count.\n","type":"number"},"description":{"description":"Inference flavor description.\n","type":"string"},"gpu":{"description":"Inference flavor gpu count.\n","type":"number"},"gpuComputeCapability":{"description":"Inference flavor gpu compute capability.\n","type":"string"},"gpuMemory":{"description":"Inference flavor gpu memory in Gi.\n","type":"number"},"gpuModel":{"description":"Inference flavor gpu model.\n","type":"string"},"isGpuShared":{"description":"Inference flavor is gpu shared.\n","type":"boolean"},"memory":{"description":"Inference flavor memory in Gi.\n","type":"number"},"name":{"description":"Inference flavor name.\n","type":"string"}},"required":["cpu","description","gpu","gpuComputeCapability","gpuMemory","gpuModel","isGpuShared","memory","name"],"type":"object"},"gcore:index/getCloudInferenceRegistryCredentialsItem:getCloudInferenceRegistryCredentialsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Registry credential name.\n","type":"string"},"name":{"description":"Registry credential name.\n","type":"string"},"projectId":{"description":"Project ID to which the inference registry credentials belongs.\n","type":"number"},"registryUrl":{"description":"Registry URL.\n","type":"string"},"username":{"description":"Registry username.\n","type":"string"}},"required":["id","name","projectId","registryUrl","username"],"type":"object"},"gcore:index/getCloudInferenceSecretData:getCloudInferenceSecretData":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"awsAccessKeyId":{"description":"AWS IAM key ID.\n","type":"string"},"awsSecretAccessKey":{"description":"AWS IAM secret key.\n","type":"string"}},"required":["awsAccessKeyId","awsSecretAccessKey"],"type":"object"},"gcore:index/getCloudInferenceSecretsItem:getCloudInferenceSecretsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"data":{"$ref":"#/types/gcore:index%2FgetCloudInferenceSecretsItemData:getCloudInferenceSecretsItemData","description":"Secret data.\n"},"id":{"description":"Secret name.\n","type":"string"},"name":{"description":"Secret name.\n","type":"string"},"type":{"description":"Secret type.\n","type":"string"}},"required":["data","id","name","type"],"type":"object"},"gcore:index/getCloudInferenceSecretsItemData:getCloudInferenceSecretsItemData":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"awsAccessKeyId":{"description":"AWS IAM key ID.\n","type":"string"},"awsSecretAccessKey":{"description":"AWS IAM secret key.\n","type":"string"}},"required":["awsAccessKeyId","awsSecretAccessKey"],"type":"object"},"gcore:index/getCloudInstanceAddresses:getCloudInstanceAddresses":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addr":{"type":"string"},"interfaceName":{"type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"},"subnetName":{"type":"string"},"type":{"type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/getCloudInstanceBlackholePort:getCloudInstanceBlackholePort":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"alarmEnd":{"description":"A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z\n","type":"string"},"alarmStart":{"description":"A date-time string giving the time that the alarm started\n","type":"string"},"alarmState":{"description":"Current state of alarm\nAvailable values: \"ACK*REQ\", \"ALARM\", \"ARCHIVED\", \"CLEAR\", \"CLEARING\", \"CLEARING*FAIL\", \"END*GRACE\", \"END*WAIT\", \"MANUAL*CLEAR\", \"MANUAL*CLEARING\", \"MANUAL*CLEARING*FAIL\", \"MANUAL*MITIGATING\", \"MANUAL*STARTING\", \"MANUAL*STARTING*FAIL\", \"MITIGATING\", \"STARTING\", \"STARTING*FAIL\", \"START*WAIT\", \"ack*req\", \"alarm\", \"archived\", \"clear\", \"clearing\", \"clearing*fail\", \"end*grace\", \"end*wait\", \"manual*clear\", \"manual*clearing\", \"manual*clearing*fail\", \"manual*mitigating\", \"manual*starting\", \"manual*starting*fail\", \"mitigating\", \"start*wait\", \"starting\", \"starting*fail\".\n","type":"string"},"alertDuration":{"description":"Total alert duration\n","type":"string"},"destinationIp":{"description":"Notification destination IP address\n","type":"string"},"id":{"type":"number"}},"required":["alarmEnd","alarmStart","alarmState","alertDuration","destinationIp","id"],"type":"object"},"gcore:index/getCloudInstanceDdosProfile:getCloudInstanceDdosProfile":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fields":{"description":"List of configured field values for the protection profile\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfileField:getCloudInstanceDdosProfileField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection profile\n","type":"number"},"options":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfileOptions:getCloudInstanceDdosProfileOptions","description":"Configuration options controlling profile activation and BGP routing\n"},"profileTemplate":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfileProfileTemplate:getCloudInstanceDdosProfileProfileTemplate","description":"Complete template configuration data used for this profile\n"},"profileTemplateDescription":{"description":"Detailed description of the protection template used for this profile\n","type":"string"},"protocols":{"description":"List of network protocols and ports configured for protection\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfileProtocol:getCloudInstanceDdosProfileProtocol"},"type":"array"},"site":{"description":"Geographic site identifier where the protection is deployed\n","type":"string"},"status":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfileStatus:getCloudInstanceDdosProfileStatus","description":"Current operational status and any error information for the profile\n"}},"required":["fields","id","options","profileTemplate","profileTemplateDescription","protocols","site","status"],"type":"object"},"gcore:index/getCloudInstanceDdosProfileField:getCloudInstanceDdosProfileField":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"baseField":{"description":"ID of DDoS profile field\n","type":"number"},"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"fieldValue":{"description":"Complex value for the DDoS profile field\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"required":["baseField","default","description","fieldType","fieldValue","id","name","required","validationSchema"],"type":"object"},"gcore:index/getCloudInstanceDdosProfileOptions:getCloudInstanceDdosProfileOptions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"active":{"description":"Controls whether the DDoS protection profile is enabled and actively protecting the resource\n","type":"boolean"},"bgp":{"description":"Enables Border Gateway Protocol (BGP) routing for DDoS protection traffic\n","type":"boolean"}},"required":["active","bgp"],"type":"object"},"gcore:index/getCloudInstanceDdosProfileProfileTemplate:getCloudInstanceDdosProfileProfileTemplate":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"description":{"description":"Detailed description explaining the template's purpose and use cases\n","type":"string"},"fields":{"description":"List of configurable fields that define the template's protection parameters\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstanceDdosProfileProfileTemplateField:getCloudInstanceDdosProfileProfileTemplateField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection template\n","type":"number"},"name":{"description":"Human-readable name of the protection template\n","type":"string"}},"required":["description","fields","id","name"],"type":"object"},"gcore:index/getCloudInstanceDdosProfileProfileTemplateField:getCloudInstanceDdosProfileProfileTemplateField":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"required":["default","description","fieldType","id","name","required","validationSchema"],"type":"object"},"gcore:index/getCloudInstanceDdosProfileProtocol:getCloudInstanceDdosProfileProtocol":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"port":{"description":"Network port number for which protocols are configured\n","type":"string"},"protocols":{"description":"List of network protocols enabled on the specified port\n","items":{"type":"string"},"type":"array"}},"required":["port","protocols"],"type":"object"},"gcore:index/getCloudInstanceDdosProfileStatus:getCloudInstanceDdosProfileStatus":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"errorDescription":{"description":"Detailed error message describing any issues with the profile operation\n","type":"string"},"status":{"description":"Current operational status of the DDoS protection profile\n","type":"string"}},"required":["errorDescription","status"],"type":"object"},"gcore:index/getCloudInstanceFindOneBy:getCloudInstanceFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"availableFloating":{"description":"Only show instances which are able to handle floating address\n","type":"boolean"},"changesBefore":{"description":"Filters the instances by a date and time stamp when the instances last changed.\n","type":"string"},"changesSince":{"description":"Filters the instances by a date and time stamp when the instances last changed status.\n","type":"string"},"excludeFlavorPrefix":{"description":"Exclude instances with specified flavor prefix\n","type":"string"},"excludeSecgroup":{"description":"Exclude instances with specified security group name\n","type":"string"},"flavorId":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorId`\" pulumi-lang-dotnet=\"`FlavorId`\" pulumi-lang-go=\"`flavorId`\" pulumi-lang-python=\"`flavor_id`\" pulumi-lang-yaml=\"`flavorId`\" pulumi-lang-java=\"`flavorId`\">`flavor_id`</span>. Flavor id must match exactly.\n","type":"string"},"flavorPrefix":{"description":"Filter out instances by <span pulumi-lang-nodejs=\"`flavorPrefix`\" pulumi-lang-dotnet=\"`FlavorPrefix`\" pulumi-lang-go=\"`flavorPrefix`\" pulumi-lang-python=\"`flavor_prefix`\" pulumi-lang-yaml=\"`flavorPrefix`\" pulumi-lang-java=\"`flavorPrefix`\">`flavor_prefix`</span>.\n","type":"string"},"includeAi":{"deprecationMessage":"Deprecated","description":"Include GPU clusters' servers\n","type":"boolean"},"includeBaremetal":{"deprecationMessage":"Deprecated","description":"Include bare metal servers. Please, use `GET /v1/bminstances/` instead\n","type":"boolean"},"includeK8s":{"description":"Include managed k8s worker nodes\n","type":"boolean"},"ip":{"description":"An IPv4 address to filter results by. Note: partial matches are allowed. For example, searching for 192.168.0.1 will return 192.168.0.1, 192.168.0.10, 192.168.0.110, and so on.\n","type":"string"},"name":{"description":"Filter instances by name. You can provide a full or partial name, instances with matching names will be returned. For example, entering 'test' will return all instances that contain 'test' in their name.\n","type":"string"},"onlyIsolated":{"description":"Include only isolated instances\n","type":"boolean"},"onlyWithFixedExternalIp":{"description":"Return bare metals only with external fixed IP addresses.\n","type":"boolean"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created.asc\", \"created.desc\", \"name.asc\", \"name.desc\", \"status.asc\", \"status.desc\".\n","type":"string"},"profileName":{"description":"Filter result by ddos protection profile name. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true.\n","type":"string"},"protectionStatus":{"description":"Filter result by DDoS <span pulumi-lang-nodejs=\"`protectionStatus`\" pulumi-lang-dotnet=\"`ProtectionStatus`\" pulumi-lang-go=\"`protectionStatus`\" pulumi-lang-python=\"`protection_status`\" pulumi-lang-yaml=\"`protectionStatus`\" pulumi-lang-java=\"`protectionStatus`\">`protection_status`</span>. if parameter is provided. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (Active, Queued or Error)\nAvailable values: \"Active\", \"Queued\", \"Error\".\n","type":"string"},"status":{"description":"Filters instances by status.\nAvailable values: \"ACTIVE\", \"BUILD\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"VERIFY_RESIZE\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagValues":{"description":"Optional. Filter by tag values. ?<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value1&<span pulumi-lang-nodejs=\"`tagValue`\" pulumi-lang-dotnet=\"`TagValue`\" pulumi-lang-go=\"`tagValue`\" pulumi-lang-python=\"`tag_value`\" pulumi-lang-yaml=\"`tagValue`\" pulumi-lang-java=\"`tagValue`\">`tag_value`</span>=value2\n","items":{"type":"string"},"type":"array"},"typeDdosProfile":{"description":"Return bare metals either only with advanced or only basic DDoS protection. Effective only with <span pulumi-lang-nodejs=\"`withDdos`\" pulumi-lang-dotnet=\"`WithDdos`\" pulumi-lang-go=\"`withDdos`\" pulumi-lang-python=\"`with_ddos`\" pulumi-lang-yaml=\"`withDdos`\" pulumi-lang-java=\"`withDdos`\">`with_ddos`</span> set to true. (advanced or basic)\nAvailable values: \"basic\", \"advanced\".\n","type":"string"},"uuid":{"description":"Filter the server list result by the UUID of the server. Allowed UUID part\n","type":"string"},"withDdos":{"description":"Include DDoS profile information in the response when set to <span pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\">`true`</span>. Otherwise, the <span pulumi-lang-nodejs=\"`ddosProfile`\" pulumi-lang-dotnet=\"`DdosProfile`\" pulumi-lang-go=\"`ddosProfile`\" pulumi-lang-python=\"`ddos_profile`\" pulumi-lang-yaml=\"`ddosProfile`\" pulumi-lang-java=\"`ddosProfile`\">`ddos_profile`</span> field in the response is <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> by default.\n","type":"boolean"},"withInterfacesName":{"description":"Include <span pulumi-lang-nodejs=\"`interfaceName`\" pulumi-lang-dotnet=\"`InterfaceName`\" pulumi-lang-go=\"`interfaceName`\" pulumi-lang-python=\"`interface_name`\" pulumi-lang-yaml=\"`interfaceName`\" pulumi-lang-java=\"`interfaceName`\">`interface_name`</span> in the addresses\n","type":"boolean"}},"required":["includeAi","includeBaremetal","includeK8s","onlyIsolated","orderBy","withDdos","withInterfacesName"],"type":"object"},"gcore:index/getCloudInstanceFixedIpAssignment:getCloudInstanceFixedIpAssignment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"external":{"description":"Is network external\n","type":"boolean"},"ipAddress":{"description":"Ip address\n","type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"}},"required":["external","ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudInstanceFlavor:getCloudInstanceFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"architecture":{"description":"CPU architecture\n","type":"string"},"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"hardwareDescription":{"$ref":"#/types/gcore:index%2FgetCloudInstanceFlavorHardwareDescription:getCloudInstanceFlavorHardwareDescription","description":"Additional hardware description\n"},"osType":{"description":"Flavor operating system\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"resourceClass":{"description":"Flavor resource class for mapping to hardware capacity\n","type":"string"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["architecture","flavorId","flavorName","hardwareDescription","osType","ram","resourceClass","vcpus"],"type":"object"},"gcore:index/getCloudInstanceFlavorHardwareDescription:getCloudInstanceFlavorHardwareDescription":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cpu":{"description":"Human-readable CPU description\n","type":"string"},"disk":{"description":"Human-readable disk description\n","type":"string"},"gpu":{"description":"Human-readable GPU description\n","type":"string"},"license":{"description":"If the flavor is licensed, this field contains the license type\n","type":"string"},"network":{"description":"Human-readable NIC description\n","type":"string"},"ram":{"description":"RAM description\n","type":"string"},"vcpus":{"description":"CPU description\n","type":"string"}},"required":["cpu","disk","gpu","license","network","ram","vcpus"],"type":"object"},"gcore:index/getCloudInstanceImageTag:getCloudInstanceImageTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudInstanceInstanceIsolation:getCloudInstanceInstanceIsolation":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"reason":{"description":"The reason of instance isolation if it is isolated from external internet.\n","type":"string"}},"required":["reason"],"type":"object"},"gcore:index/getCloudInstanceSecurityGroup:getCloudInstanceSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"name":{"description":"Name.\n","type":"string"}},"required":["name"],"type":"object"},"gcore:index/getCloudInstanceTag:getCloudInstanceTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudInstanceVolume:getCloudInstanceVolume":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"deleteOnTermination":{"description":"Whether the volume is deleted together with the VM\n","type":"boolean"},"id":{"description":"Volume ID\n","type":"string"}},"required":["deleteOnTermination","id"],"type":"object"},"gcore:index/getCloudInstancesItem:getCloudInstancesItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addresses":{"additionalProperties":{"items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemAddresses:getCloudInstancesItemAddresses"},"type":"array"},"description":"Map of <span pulumi-lang-nodejs=\"`networkName`\" pulumi-lang-dotnet=\"`NetworkName`\" pulumi-lang-go=\"`networkName`\" pulumi-lang-python=\"`network_name`\" pulumi-lang-yaml=\"`networkName`\" pulumi-lang-java=\"`networkName`\">`network_name`</span> to list of addresses in that network\n","type":"object"},"blackholePorts":{"description":"IP addresses of the instances that are blackholed by DDoS mitigation system\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemBlackholePort:getCloudInstancesItemBlackholePort"},"type":"array"},"createdAt":{"description":"Datetime when instance was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"ddosProfile":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfile:getCloudInstancesItemDdosProfile","description":"Advanced DDoS protection profile. It is always <span pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\">`null`</span> if query parameter `with_ddos=true` is not set.\n"},"fixedIpAssignments":{"description":"Fixed IP assigned to instance\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemFixedIpAssignment:getCloudInstancesItemFixedIpAssignment"},"type":"array"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemFlavor:getCloudInstancesItemFlavor","description":"Flavor\n"},"id":{"description":"Instance ID\n","type":"string"},"instanceDescription":{"description":"Instance description\n","type":"string"},"instanceIsolation":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemInstanceIsolation:getCloudInstancesItemInstanceIsolation","description":"Instance isolation information\n"},"name":{"description":"Instance name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"securityGroups":{"description":"Security groups\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemSecurityGroup:getCloudInstancesItemSecurityGroup"},"type":"array"},"sshKeyName":{"description":"SSH key assigned to instance\n","type":"string"},"status":{"description":"Instance status\nAvailable values: \"ACTIVE\", \"BUILD\", \"DELETED\", \"ERROR\", \"HARD*REBOOT\", \"MIGRATING\", \"PASSWORD\", \"PAUSED\", \"REBOOT\", \"REBUILD\", \"RESCUE\", \"RESIZE\", \"REVERT*RESIZE\", \"SHELVED\", \"SHELVED*OFFLOADED\", \"SHUTOFF\", \"SOFT*DELETED\", \"SUSPENDED\", \"UNKNOWN\", \"VERIFY_RESIZE\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemTag:getCloudInstancesItemTag"},"type":"array"},"taskState":{"description":"Task state\n","type":"string"},"vmState":{"description":"Virtual machine state (active)\nAvailable values: \"active\", \"building\", \"deleted\", \"error\", \"paused\", \"rescued\", \"resized\", \"shelved\", <span pulumi-lang-nodejs=\"\"shelvedOffloaded\"\" pulumi-lang-dotnet=\"\"ShelvedOffloaded\"\" pulumi-lang-go=\"\"shelvedOffloaded\"\" pulumi-lang-python=\"\"shelved_offloaded\"\" pulumi-lang-yaml=\"\"shelvedOffloaded\"\" pulumi-lang-java=\"\"shelvedOffloaded\"\">\"shelved_offloaded\"</span>, \"soft-deleted\", \"stopped\", \"suspended\".\n","type":"string"},"volumes":{"description":"List of volumes\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemVolume:getCloudInstancesItemVolume"},"type":"array"}},"required":["addresses","blackholePorts","createdAt","creatorTaskId","ddosProfile","fixedIpAssignments","flavor","id","instanceDescription","instanceIsolation","name","projectId","region","regionId","securityGroups","sshKeyName","status","tags","taskState","vmState","volumes"],"type":"object"},"gcore:index/getCloudInstancesItemAddresses:getCloudInstancesItemAddresses":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"addr":{"type":"string"},"interfaceName":{"type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"},"subnetName":{"type":"string"},"type":{"type":"string"}},"required":["addr","interfaceName","subnetId","subnetName","type"],"type":"object"},"gcore:index/getCloudInstancesItemBlackholePort:getCloudInstancesItemBlackholePort":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"alarmEnd":{"description":"A date-time string giving the time that the alarm ended. If not yet ended, time will be given as 0001-01-01T00:00:00Z\n","type":"string"},"alarmStart":{"description":"A date-time string giving the time that the alarm started\n","type":"string"},"alarmState":{"description":"Current state of alarm\nAvailable values: \"ACK*REQ\", \"ALARM\", \"ARCHIVED\", \"CLEAR\", \"CLEARING\", \"CLEARING*FAIL\", \"END*GRACE\", \"END*WAIT\", \"MANUAL*CLEAR\", \"MANUAL*CLEARING\", \"MANUAL*CLEARING*FAIL\", \"MANUAL*MITIGATING\", \"MANUAL*STARTING\", \"MANUAL*STARTING*FAIL\", \"MITIGATING\", \"STARTING\", \"STARTING*FAIL\", \"START*WAIT\", \"ack*req\", \"alarm\", \"archived\", \"clear\", \"clearing\", \"clearing*fail\", \"end*grace\", \"end*wait\", \"manual*clear\", \"manual*clearing\", \"manual*clearing*fail\", \"manual*mitigating\", \"manual*starting\", \"manual*starting*fail\", \"mitigating\", \"start*wait\", \"starting\", \"starting*fail\".\n","type":"string"},"alertDuration":{"description":"Total alert duration\n","type":"string"},"destinationIp":{"description":"Notification destination IP address\n","type":"string"},"id":{"type":"number"}},"required":["alarmEnd","alarmStart","alarmState","alertDuration","destinationIp","id"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfile:getCloudInstancesItemDdosProfile":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"fields":{"description":"List of configured field values for the protection profile\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfileField:getCloudInstancesItemDdosProfileField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection profile\n","type":"number"},"options":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfileOptions:getCloudInstancesItemDdosProfileOptions","description":"Configuration options controlling profile activation and BGP routing\n"},"profileTemplate":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfileProfileTemplate:getCloudInstancesItemDdosProfileProfileTemplate","description":"Complete template configuration data used for this profile\n"},"profileTemplateDescription":{"description":"Detailed description of the protection template used for this profile\n","type":"string"},"protocols":{"description":"List of network protocols and ports configured for protection\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfileProtocol:getCloudInstancesItemDdosProfileProtocol"},"type":"array"},"site":{"description":"Geographic site identifier where the protection is deployed\n","type":"string"},"status":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfileStatus:getCloudInstancesItemDdosProfileStatus","description":"Current operational status and any error information for the profile\n"}},"required":["fields","id","options","profileTemplate","profileTemplateDescription","protocols","site","status"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfileField:getCloudInstancesItemDdosProfileField":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"baseField":{"description":"ID of DDoS profile field\n","type":"number"},"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"fieldValue":{"description":"Complex value for the DDoS profile field\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"required":["baseField","default","description","fieldType","fieldValue","id","name","required","validationSchema"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfileOptions:getCloudInstancesItemDdosProfileOptions":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"active":{"description":"Controls whether the DDoS protection profile is enabled and actively protecting the resource\n","type":"boolean"},"bgp":{"description":"Enables Border Gateway Protocol (BGP) routing for DDoS protection traffic\n","type":"boolean"}},"required":["active","bgp"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfileProfileTemplate:getCloudInstancesItemDdosProfileProfileTemplate":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"description":{"description":"Detailed description explaining the template's purpose and use cases\n","type":"string"},"fields":{"description":"List of configurable fields that define the template's protection parameters\n","items":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemDdosProfileProfileTemplateField:getCloudInstancesItemDdosProfileProfileTemplateField"},"type":"array"},"id":{"description":"Unique identifier for the DDoS protection template\n","type":"number"},"name":{"description":"Human-readable name of the protection template\n","type":"string"}},"required":["description","fields","id","name"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfileProfileTemplateField:getCloudInstancesItemDdosProfileProfileTemplateField":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"default":{"description":"Predefined default value for the field if not specified\n","type":"string"},"description":{"description":"Detailed description explaining the field's purpose and usage guidelines\n","type":"string"},"fieldType":{"description":"Data type classification of the field (e.g., string, integer, array)\n","type":"string"},"id":{"description":"Unique identifier for the DDoS protection field\n","type":"number"},"name":{"description":"Human-readable name of the protection field\n","type":"string"},"required":{"description":"Indicates whether this field must be provided when creating a protection profile\n","type":"boolean"},"validationSchema":{"description":"JSON schema defining validation rules and constraints for the field value\n","type":"string"}},"required":["default","description","fieldType","id","name","required","validationSchema"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfileProtocol:getCloudInstancesItemDdosProfileProtocol":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"port":{"description":"Network port number for which protocols are configured\n","type":"string"},"protocols":{"description":"List of network protocols enabled on the specified port\n","items":{"type":"string"},"type":"array"}},"required":["port","protocols"],"type":"object"},"gcore:index/getCloudInstancesItemDdosProfileStatus:getCloudInstancesItemDdosProfileStatus":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"errorDescription":{"description":"Detailed error message describing any issues with the profile operation\n","type":"string"},"status":{"description":"Current operational status of the DDoS protection profile\n","type":"string"}},"required":["errorDescription","status"],"type":"object"},"gcore:index/getCloudInstancesItemFixedIpAssignment:getCloudInstancesItemFixedIpAssignment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"external":{"description":"Is network external\n","type":"boolean"},"ipAddress":{"description":"Ip address\n","type":"string"},"subnetId":{"description":"Interface subnet id\n","type":"string"}},"required":["external","ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudInstancesItemFlavor:getCloudInstancesItemFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"architecture":{"description":"CPU architecture\n","type":"string"},"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"hardwareDescription":{"$ref":"#/types/gcore:index%2FgetCloudInstancesItemFlavorHardwareDescription:getCloudInstancesItemFlavorHardwareDescription","description":"Additional hardware description\n"},"osType":{"description":"Flavor operating system\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"resourceClass":{"description":"Flavor resource class for mapping to hardware capacity\n","type":"string"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["architecture","flavorId","flavorName","hardwareDescription","osType","ram","resourceClass","vcpus"],"type":"object"},"gcore:index/getCloudInstancesItemFlavorHardwareDescription:getCloudInstancesItemFlavorHardwareDescription":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cpu":{"description":"Human-readable CPU description\n","type":"string"},"disk":{"description":"Human-readable disk description\n","type":"string"},"gpu":{"description":"Human-readable GPU description\n","type":"string"},"license":{"description":"If the flavor is licensed, this field contains the license type\n","type":"string"},"network":{"description":"Human-readable NIC description\n","type":"string"},"ram":{"description":"RAM description\n","type":"string"},"vcpus":{"description":"CPU description\n","type":"string"}},"required":["cpu","disk","gpu","license","network","ram","vcpus"],"type":"object"},"gcore:index/getCloudInstancesItemInstanceIsolation:getCloudInstancesItemInstanceIsolation":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"reason":{"description":"The reason of instance isolation if it is isolated from external internet.\n","type":"string"}},"required":["reason"],"type":"object"},"gcore:index/getCloudInstancesItemSecurityGroup:getCloudInstancesItemSecurityGroup":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"name":{"description":"Name.\n","type":"string"}},"required":["name"],"type":"object"},"gcore:index/getCloudInstancesItemTag:getCloudInstancesItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudInstancesItemVolume:getCloudInstancesItemVolume":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"deleteOnTermination":{"description":"Whether the volume is deleted together with the VM\n","type":"boolean"},"id":{"description":"Volume ID\n","type":"string"}},"required":["deleteOnTermination","id"],"type":"object"},"gcore:index/getCloudK8sClusterAddOns:getCloudK8sClusterAddOns":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"slurm":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterAddOnsSlurm:getCloudK8sClusterAddOnsSlurm","description":"Slurm add-on configuration\n"}},"required":["slurm"],"type":"object"},"gcore:index/getCloudK8sClusterAddOnsSlurm:getCloudK8sClusterAddOnsSlurm":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enabled":{"description":"Indicates whether Slurm add-on is deployed in the cluster.\n","type":"boolean"},"fileShareId":{"description":"ID of a VAST file share used as Slurm storage.\n\nThe Slurm add-on creates separate Persistent Volume Claims for different purposes (controller spool, worker spool, jail) on that file share.\n","type":"string"},"sshKeyIds":{"description":"IDs of SSH keys authorized for SSH connection to Slurm login nodes.\n","items":{"type":"string"},"type":"array"},"workerCount":{"description":"Size of the worker pool, i.e. number of worker nodes.\n\nEach Slurm worker node is backed by a Pod scheduled on one of cluster's GPU nodes.\n\nNote: Downscaling (reducing worker count) is not supported.\n","type":"number"}},"required":["enabled","fileShareId","sshKeyIds","workerCount"],"type":"object"},"gcore:index/getCloudK8sClusterAuthentication:getCloudK8sClusterAuthentication":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"kubeconfigCreatedAt":{"description":"Kubeconfig creation date\n","type":"string"},"kubeconfigExpiresAt":{"description":"Kubeconfig expiration date\n","type":"string"},"oidc":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterAuthenticationOidc:getCloudK8sClusterAuthenticationOidc","description":"OIDC authentication settings\n"}},"required":["kubeconfigCreatedAt","kubeconfigExpiresAt","oidc"],"type":"object"},"gcore:index/getCloudK8sClusterAuthenticationOidc:getCloudK8sClusterAuthenticationOidc":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"clientId":{"description":"Client ID\n","type":"string"},"groupsClaim":{"description":"JWT claim to use as the user's group\n","type":"string"},"groupsPrefix":{"description":"Prefix prepended to group claims\n","type":"string"},"issuerUrl":{"description":"Issuer URL\n","type":"string"},"requiredClaims":{"additionalProperties":{"type":"string"},"description":"Key-value pairs that describe required claims in the token\n","type":"object"},"signingAlgs":{"description":"Accepted signing algorithms\n","items":{"type":"string"},"type":"array"},"usernameClaim":{"description":"JWT claim to use as the user name\n","type":"string"},"usernamePrefix":{"description":"Prefix prepended to username claims to prevent clashes\n","type":"string"}},"required":["clientId","groupsClaim","groupsPrefix","issuerUrl","requiredClaims","signingAlgs","usernameClaim","usernamePrefix"],"type":"object"},"gcore:index/getCloudK8sClusterCni:getCloudK8sClusterCni":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cilium":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterCniCilium:getCloudK8sClusterCniCilium","description":"Cilium settings\n"},"cloudK8sClusterProvider":{"description":"CNI provider\nAvailable values: \"calico\", \"cilium\".\n","type":"string"}},"required":["cilium","cloudK8sClusterProvider"],"type":"object"},"gcore:index/getCloudK8sClusterCniCilium:getCloudK8sClusterCniCilium":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"encryption":{"description":"Wireguard encryption\n","type":"boolean"},"hubbleRelay":{"description":"Hubble Relay\n","type":"boolean"},"hubbleUi":{"description":"Hubble UI\n","type":"boolean"},"lbAcceleration":{"description":"LoadBalancer acceleration\n","type":"boolean"},"lbMode":{"description":"LoadBalancer mode\nAvailable values: \"dsr\", \"hybrid\", \"snat\".\n","type":"string"},"maskSize":{"description":"Mask size for IPv4\n","type":"number"},"maskSizeV6":{"description":"Mask size for IPv6\n","type":"number"},"routingMode":{"description":"Routing mode\nAvailable values: \"native\", \"tunnel\".\n","type":"string"},"tunnel":{"description":"CNI provider\nAvailable values: \"\", \"geneve\", \"vxlan\".\n","type":"string"}},"required":["encryption","hubbleRelay","hubbleUi","lbAcceleration","lbMode","maskSize","maskSizeV6","routingMode","tunnel"],"type":"object"},"gcore:index/getCloudK8sClusterCsi:getCloudK8sClusterCsi":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"nfs":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterCsiNfs:getCloudK8sClusterCsiNfs","description":"NFS settings\n"}},"required":["nfs"],"type":"object"},"gcore:index/getCloudK8sClusterCsiNfs:getCloudK8sClusterCsiNfs":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"vastEnabled":{"description":"Indicates the status of VAST NFS integration\n","type":"boolean"}},"required":["vastEnabled"],"type":"object"},"gcore:index/getCloudK8sClusterLogging:getCloudK8sClusterLogging":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destinationRegionId":{"description":"ID of the region in which the logs will be stored\n","type":"number"},"enabled":{"description":"Indicates if log streaming is enabled or disabled\n","type":"boolean"},"retentionPolicy":{"$ref":"#/types/gcore:index%2FgetCloudK8sClusterLoggingRetentionPolicy:getCloudK8sClusterLoggingRetentionPolicy","description":"Logs retention policy\n"},"topicName":{"description":"The topic name to stream logs to\n","type":"string"}},"required":["destinationRegionId","enabled","retentionPolicy","topicName"],"type":"object"},"gcore:index/getCloudK8sClusterLoggingRetentionPolicy:getCloudK8sClusterLoggingRetentionPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"period":{"description":"Duration of days for which logs must be kept.\n","type":"number"}},"required":["period"],"type":"object"},"gcore:index/getCloudK8sClusterPool:getCloudK8sClusterPool":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"autoHealingEnabled":{"description":"Indicates the status of auto healing\n","type":"boolean"},"bootVolumeSize":{"description":"Size of the boot volume\n","type":"number"},"bootVolumeType":{"description":"Type of the boot volume\n","type":"string"},"createdAt":{"description":"Date of function creation\n","type":"string"},"crioConfig":{"additionalProperties":{"type":"string"},"description":"Crio configuration for pool nodes\n","type":"object"},"flavorId":{"description":"ID of the cluster pool flavor\n","type":"string"},"id":{"description":"UUID of the cluster pool\n","type":"string"},"isPublicIpv4":{"description":"Indicates if the pool is public\n","type":"boolean"},"kubeletConfig":{"additionalProperties":{"type":"string"},"description":"Kubelet configuration for pool nodes\n","type":"object"},"labels":{"additionalProperties":{"type":"string"},"description":"Labels applied to the cluster pool\n","type":"object"},"maxNodeCount":{"description":"Maximum node count in the cluster pool\n","type":"number"},"minNodeCount":{"description":"Minimum node count in the cluster pool\n","type":"number"},"name":{"description":"Name of the cluster pool\n","type":"string"},"nodeCount":{"description":"Node count in the cluster pool\n","type":"number"},"servergroupId":{"description":"Server group ID\n","type":"string"},"servergroupName":{"description":"Server group name\n","type":"string"},"servergroupPolicy":{"description":"Anti-affinity, affinity or soft-anti-affinity server group policy\n","type":"string"},"status":{"description":"Status of the cluster pool\n","type":"string"},"taints":{"additionalProperties":{"type":"string"},"description":"Taints applied to the cluster pool\n","type":"object"}},"required":["autoHealingEnabled","bootVolumeSize","bootVolumeType","createdAt","crioConfig","flavorId","id","isPublicIpv4","kubeletConfig","labels","maxNodeCount","minNodeCount","name","nodeCount","servergroupId","servergroupName","servergroupPolicy","status","taints"],"type":"object"},"gcore:index/getCloudLoadBalancerAdditionalVip:getCloudLoadBalancerAdditionalVip":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudLoadBalancerFindOneBy:getCloudLoadBalancerFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"assignedFloating":{"description":"With or without assigned floating IP\n","type":"boolean"},"loggingEnabled":{"description":"With or without logging enabled\n","type":"boolean"},"name":{"description":"Filter by name\n","type":"string"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"flavor.asc\", \"flavor.desc\", \"name.asc\", \"name.desc\", \"operating*status.asc\", \"operating*status.desc\", \"provisioning*status.asc\", \"provisioning*status.desc\", \"updated*at.asc\", \"updated*at.desc\", \"vip*address.asc\", \"vip*address.desc\", \"vip*ip*family.asc\", \"vip*ip*family.desc\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["orderBy"],"type":"object"},"gcore:index/getCloudLoadBalancerFlavor:getCloudLoadBalancerFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["flavorId","flavorName","ram","vcpus"],"type":"object"},"gcore:index/getCloudLoadBalancerFloatingIp:getCloudLoadBalancerFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IP address of the port the floating IP is attached to\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"id":{"description":"Floating IP ID\n","type":"string"},"portId":{"description":"Port ID the floating IP is attached to. The <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> is the IP address of the port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerFloatingIpTag:getCloudLoadBalancerFloatingIpTag"},"type":"array"},"updatedAt":{"description":"Datetime when the floating IP was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","id","portId","projectId","region","regionId","routerId","status","tags","updatedAt"],"type":"object"},"gcore:index/getCloudLoadBalancerFloatingIpTag:getCloudLoadBalancerFloatingIpTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudLoadBalancerListener:getCloudLoadBalancerListener":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Listener ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/getCloudLoadBalancerListenerStats:getCloudLoadBalancerListenerStats":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"activeConnections":{"description":"Currently active connections\n","type":"number"},"bytesIn":{"description":"Total bytes received\n","type":"number"},"bytesOut":{"description":"Total bytes sent\n","type":"number"},"requestErrors":{"description":"Total requests that were unable to be fulfilled\n","type":"number"},"totalConnections":{"description":"Total connections handled\n","type":"number"}},"required":["activeConnections","bytesIn","bytesOut","requestErrors","totalConnections"],"type":"object"},"gcore:index/getCloudLoadBalancerListenerUserList:getCloudLoadBalancerListenerUserList":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"encryptedPassword":{"description":"Encrypted password to auth via Basic Authentication\n","type":"string"},"username":{"description":"Username to auth via Basic Authentication\n","type":"string"}},"required":["encryptedPassword","username"],"type":"object"},"gcore:index/getCloudLoadBalancerLogging:getCloudLoadBalancerLogging":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destinationRegionId":{"description":"ID of the region in which the logs will be stored\n","type":"number"},"enabled":{"description":"Indicates if log streaming is enabled or disabled\n","type":"boolean"},"retentionPolicy":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancerLoggingRetentionPolicy:getCloudLoadBalancerLoggingRetentionPolicy","description":"Logs retention policy\n"},"topicName":{"description":"The topic name to stream logs to\n","type":"string"}},"required":["destinationRegionId","enabled","retentionPolicy","topicName"],"type":"object"},"gcore:index/getCloudLoadBalancerLoggingRetentionPolicy:getCloudLoadBalancerLoggingRetentionPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"period":{"description":"Duration of days for which logs must be kept.\n","type":"number"}},"required":["period"],"type":"object"},"gcore:index/getCloudLoadBalancerPoolHealthmonitor:getCloudLoadBalancerPoolHealthmonitor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"delay":{"description":"The time, in seconds, between sending probes to members\n","type":"number"},"domainName":{"description":"Domain name for HTTP host header. Can only be used together with `HTTP` or `HTTPS` health monitor type.\n","type":"string"},"expectedCodes":{"description":"Expected HTTP response codes. Can be a single code or a range of codes. Can only be used together with `HTTP` or `HTTPS` health monitor type. For example, 200,202,300-302,401,403,404,500-504. If not specified, the default is 200.\n","type":"string"},"httpMethod":{"description":"HTTP method\nAvailable values: \"CONNECT\", \"DELETE\", \"GET\", \"HEAD\", \"OPTIONS\", \"PATCH\", \"POST\", \"PUT\", \"TRACE\".\n","type":"string"},"httpVersion":{"description":"HTTP version. Can only be used together with `HTTP` or `HTTPS` health monitor type.\nAvailable values: \"1.0\", \"1.1\".\n","type":"string"},"id":{"description":"Health monitor ID\n","type":"string"},"maxRetries":{"description":"Number of successes before the member is switched to ONLINE state\n","type":"number"},"maxRetriesDown":{"description":"Number of failures before the member is switched to ERROR state\n","type":"number"},"operatingStatus":{"description":"Health Monitor operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"provisioningStatus":{"description":"Health monitor lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"timeout":{"description":"The maximum time to connect. Must be less than the delay value\n","type":"number"},"type":{"description":"Health monitor type. Once health monitor is created, cannot be changed.\nAvailable values: \"HTTP\", \"HTTPS\", \"K8S\", \"PING\", \"TCP\", \"TLS-HELLO\", \"UDP-CONNECT\".\n","type":"string"},"urlPath":{"description":"URL Path. Defaults to '/'\n","type":"string"}},"required":["adminStateUp","delay","domainName","expectedCodes","httpMethod","httpVersion","id","maxRetries","maxRetriesDown","operatingStatus","provisioningStatus","timeout","type","urlPath"],"type":"object"},"gcore:index/getCloudLoadBalancerPoolListener:getCloudLoadBalancerPoolListener":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Resource ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/getCloudLoadBalancerPoolLoadbalancer:getCloudLoadBalancerPoolLoadbalancer":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Resource ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/getCloudLoadBalancerPoolMember:getCloudLoadBalancerPoolMember":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"address":{"description":"Member IP address\n","type":"string"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"backup":{"description":"Set to true if the member is a backup member, to which traffic will be sent exclusively when all non-backup members will be unreachable. It allows to realize ACTIVE-BACKUP load balancing without thinking about VRRP and VIP configuration. Default is false\n","type":"boolean"},"id":{"description":"Member ID must be provided if an existing member is being updated\n","type":"string"},"monitorAddress":{"description":"An alternate IP address used for health monitoring of a backend member. Default is null which monitors the member address.\n","type":"string"},"monitorPort":{"description":"An alternate protocol port used for health monitoring of a backend member. Default is null which monitors the member <span pulumi-lang-nodejs=\"`protocolPort`\" pulumi-lang-dotnet=\"`ProtocolPort`\" pulumi-lang-go=\"`protocolPort`\" pulumi-lang-python=\"`protocol_port`\" pulumi-lang-yaml=\"`protocolPort`\" pulumi-lang-java=\"`protocolPort`\">`protocol_port`</span>.\n","type":"number"},"operatingStatus":{"description":"Member operating status of the entity\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"protocolPort":{"description":"Member IP port\n","type":"number"},"provisioningStatus":{"description":"Pool member lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"subnetId":{"description":"<span pulumi-lang-nodejs=\"`subnetId`\" pulumi-lang-dotnet=\"`SubnetId`\" pulumi-lang-go=\"`subnetId`\" pulumi-lang-python=\"`subnet_id`\" pulumi-lang-yaml=\"`subnetId`\" pulumi-lang-java=\"`subnetId`\">`subnet_id`</span> in which <span pulumi-lang-nodejs=\"`address`\" pulumi-lang-dotnet=\"`Address`\" pulumi-lang-go=\"`address`\" pulumi-lang-python=\"`address`\" pulumi-lang-yaml=\"`address`\" pulumi-lang-java=\"`address`\">`address`</span> is present.\n","type":"string"},"weight":{"description":"Member weight. Valid values are 0 < <span pulumi-lang-nodejs=\"`weight`\" pulumi-lang-dotnet=\"`Weight`\" pulumi-lang-go=\"`weight`\" pulumi-lang-python=\"`weight`\" pulumi-lang-yaml=\"`weight`\" pulumi-lang-java=\"`weight`\">`weight`</span> <= 256, defaults to 1. Controls traffic distribution based on the pool's load balancing algorithm:\n","type":"number"}},"required":["address","adminStateUp","backup","id","monitorAddress","monitorPort","operatingStatus","protocolPort","provisioningStatus","subnetId","weight"],"type":"object"},"gcore:index/getCloudLoadBalancerPoolSessionPersistence:getCloudLoadBalancerPoolSessionPersistence":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cookieName":{"description":"Should be set if app cookie or http cookie is used\n","type":"string"},"persistenceGranularity":{"description":"Subnet mask if <span pulumi-lang-nodejs=\"`sourceIp`\" pulumi-lang-dotnet=\"`SourceIp`\" pulumi-lang-go=\"`sourceIp`\" pulumi-lang-python=\"`source_ip`\" pulumi-lang-yaml=\"`sourceIp`\" pulumi-lang-java=\"`sourceIp`\">`source_ip`</span> is used. For UDP ports only\n","type":"string"},"persistenceTimeout":{"description":"Session persistence timeout. For UDP ports only\n","type":"number"},"type":{"description":"Session persistence type\nAvailable values: \"APP*COOKIE\", \"HTTP*COOKIE\", \"SOURCE_IP\".\n","type":"string"}},"required":["cookieName","persistenceGranularity","persistenceTimeout","type"],"type":"object"},"gcore:index/getCloudLoadBalancerStats:getCloudLoadBalancerStats":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"activeConnections":{"description":"Currently active connections\n","type":"number"},"bytesIn":{"description":"Total bytes received\n","type":"number"},"bytesOut":{"description":"Total bytes sent\n","type":"number"},"requestErrors":{"description":"Total requests that were unable to be fulfilled\n","type":"number"},"totalConnections":{"description":"Total connections handled\n","type":"number"}},"required":["activeConnections","bytesIn","bytesOut","requestErrors","totalConnections"],"type":"object"},"gcore:index/getCloudLoadBalancerTagsV2:getCloudLoadBalancerTagsV2":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudLoadBalancerVrrpIp:getCloudLoadBalancerVrrpIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"role":{"description":"LoadBalancer instance role to which VRRP IP belong\nAvailable values: \"BACKUP\", \"MASTER\", \"STANDALONE\".\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"required":["ipAddress","role","subnetId"],"type":"object"},"gcore:index/getCloudLoadBalancersItem:getCloudLoadBalancersItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"additionalVips":{"description":"List of additional IP addresses\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemAdditionalVip:getCloudLoadBalancersItemAdditionalVip"},"type":"array"},"adminStateUp":{"description":"Administrative state of the resource. When set to true, the resource is enabled and operational. When set to false, the resource is disabled and will not process traffic. Defaults to true.\n","type":"boolean"},"createdAt":{"description":"Datetime when the load balancer was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"flavor":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemFlavor:getCloudLoadBalancersItemFlavor","description":"Load balancer flavor (if not default)\n"},"floatingIps":{"description":"List of assigned floating IPs\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemFloatingIp:getCloudLoadBalancersItemFloatingIp"},"type":"array"},"id":{"description":"Load balancer ID\n","type":"string"},"listeners":{"description":"Load balancer listeners\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemListener:getCloudLoadBalancersItemListener"},"type":"array"},"logging":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemLogging:getCloudLoadBalancersItemLogging","description":"Logging configuration\n"},"name":{"description":"Load balancer name\n","type":"string"},"operatingStatus":{"description":"Load balancer operating status\nAvailable values: \"DEGRADED\", \"DRAINING\", \"ERROR\", \"NO_MONITOR\", \"OFFLINE\", \"ONLINE\".\n","type":"string"},"preferredConnectivity":{"description":"Preferred option to establish connectivity between load balancer and its pools members\nAvailable values: \"L2\", \"L3\".\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"provisioningStatus":{"description":"Load balancer lifecycle status\nAvailable values: \"ACTIVE\", \"DELETED\", \"ERROR\", \"PENDING*CREATE\", \"PENDING*DELETE\", \"PENDING_UPDATE\".\n","type":"string"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"stats":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemStats:getCloudLoadBalancersItemStats","description":"Statistics of load balancer.\n"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemTagsV2:getCloudLoadBalancersItemTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the load balancer was last updated\n","type":"string"},"vipAddress":{"description":"Load balancer IP address\n","type":"string"},"vipFqdn":{"description":"Fully qualified domain name for the load balancer VIP\n","type":"string"},"vipIpFamily":{"description":"Load balancer IP family\nAvailable values: \"dual\", \"ipv4\", \"ipv6\".\n","type":"string"},"vipPortId":{"description":"The ID of the Virtual IP (VIP) port.\n","type":"string"},"vrrpIps":{"description":"List of VRRP IP addresses\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemVrrpIp:getCloudLoadBalancersItemVrrpIp"},"type":"array"}},"required":["additionalVips","adminStateUp","createdAt","creatorTaskId","flavor","floatingIps","id","listeners","logging","name","operatingStatus","preferredConnectivity","projectId","provisioningStatus","region","regionId","stats","tagsV2s","updatedAt","vipAddress","vipFqdn","vipIpFamily","vipPortId","vrrpIps"],"type":"object"},"gcore:index/getCloudLoadBalancersItemAdditionalVip:getCloudLoadBalancersItemAdditionalVip":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudLoadBalancersItemFlavor:getCloudLoadBalancersItemFlavor":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"flavorId":{"description":"Flavor ID is the same as name\n","type":"string"},"flavorName":{"description":"Flavor name\n","type":"string"},"ram":{"description":"RAM size in MiB\n","type":"number"},"vcpus":{"description":"Virtual CPU count. For bare metal flavors, it's a physical CPU count\n","type":"number"}},"required":["flavorId","flavorName","ram","vcpus"],"type":"object"},"gcore:index/getCloudLoadBalancersItemFloatingIp:getCloudLoadBalancersItemFloatingIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the floating IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IP address of the port the floating IP is attached to\n","type":"string"},"floatingIpAddress":{"description":"IP Address of the floating IP\n","type":"string"},"id":{"description":"Floating IP ID\n","type":"string"},"portId":{"description":"Port ID the floating IP is attached to. The <span pulumi-lang-nodejs=\"`fixedIpAddress`\" pulumi-lang-dotnet=\"`FixedIpAddress`\" pulumi-lang-go=\"`fixedIpAddress`\" pulumi-lang-python=\"`fixed_ip_address`\" pulumi-lang-yaml=\"`fixedIpAddress`\" pulumi-lang-java=\"`fixedIpAddress`\">`fixed_ip_address`</span> is the IP address of the port.\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routerId":{"description":"Router ID\n","type":"string"},"status":{"description":"Floating IP status. DOWN - unassigned (available). ACTIVE - attached to a port (in use). ERROR - error state.\nAvailable values: \"ACTIVE\", \"DOWN\", \"ERROR\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemFloatingIpTag:getCloudLoadBalancersItemFloatingIpTag"},"type":"array"},"updatedAt":{"description":"Datetime when the floating IP was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","fixedIpAddress","floatingIpAddress","id","portId","projectId","region","regionId","routerId","status","tags","updatedAt"],"type":"object"},"gcore:index/getCloudLoadBalancersItemFloatingIpTag:getCloudLoadBalancersItemFloatingIpTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudLoadBalancersItemListener:getCloudLoadBalancersItemListener":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"id":{"description":"Listener ID\n","type":"string"}},"required":["id"],"type":"object"},"gcore:index/getCloudLoadBalancersItemLogging:getCloudLoadBalancersItemLogging":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destinationRegionId":{"description":"ID of the region in which the logs will be stored\n","type":"number"},"enabled":{"description":"Indicates if log streaming is enabled or disabled\n","type":"boolean"},"retentionPolicy":{"$ref":"#/types/gcore:index%2FgetCloudLoadBalancersItemLoggingRetentionPolicy:getCloudLoadBalancersItemLoggingRetentionPolicy","description":"Logs retention policy\n"},"topicName":{"description":"The topic name to stream logs to\n","type":"string"}},"required":["destinationRegionId","enabled","retentionPolicy","topicName"],"type":"object"},"gcore:index/getCloudLoadBalancersItemLoggingRetentionPolicy:getCloudLoadBalancersItemLoggingRetentionPolicy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"period":{"description":"Duration of days for which logs must be kept.\n","type":"number"}},"required":["period"],"type":"object"},"gcore:index/getCloudLoadBalancersItemStats:getCloudLoadBalancersItemStats":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"activeConnections":{"description":"Currently active connections\n","type":"number"},"bytesIn":{"description":"Total bytes received\n","type":"number"},"bytesOut":{"description":"Total bytes sent\n","type":"number"},"requestErrors":{"description":"Total requests that were unable to be fulfilled\n","type":"number"},"totalConnections":{"description":"Total connections handled\n","type":"number"}},"required":["activeConnections","bytesIn","bytesOut","requestErrors","totalConnections"],"type":"object"},"gcore:index/getCloudLoadBalancersItemTagsV2:getCloudLoadBalancersItemTagsV2":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudLoadBalancersItemVrrpIp:getCloudLoadBalancersItemVrrpIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"role":{"description":"LoadBalancer instance role to which VRRP IP belong\nAvailable values: \"BACKUP\", \"MASTER\", \"STANDALONE\".\n","type":"string"},"subnetId":{"description":"Subnet UUID\n","type":"string"}},"required":["ipAddress","role","subnetId"],"type":"object"},"gcore:index/getCloudNetworkFindOneBy:getCloudNetworkFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"external":{"description":"Filter by external network status\n","type":"boolean"},"name":{"description":"Filter networks by name\n","type":"string"},"networkType":{"description":"Filter by network type (vlan or vxlan)\nAvailable values: \"vlan\", \"vxlan\".\n","type":"string"},"orderBy":{"description":"Ordering networks list result by <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> or <span pulumi-lang-nodejs=\"`priority`\" pulumi-lang-dotnet=\"`Priority`\" pulumi-lang-go=\"`priority`\" pulumi-lang-python=\"`priority`\" pulumi-lang-yaml=\"`priority`\" pulumi-lang-java=\"`priority`\">`priority`</span> fields and directions (e.g. `created_at.desc`). Default is `created_at.desc`. Use `priority.desc` to sort by shared network priority (relevant when `owned_by=any`).\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\", \"priority.desc\".\n","type":"string"},"ownedBy":{"description":"Controls which networks are returned. 'project' (default) returns only networks owned by the project. 'any' returns all networks that the project can use, including shared networks from other projects.\nAvailable values: \"any\", \"project\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["orderBy","ownedBy"],"type":"object"},"gcore:index/getCloudNetworkRouterExternalGatewayInfo:getCloudNetworkRouterExternalGatewayInfo":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enableSnat":{"description":"Is SNAT enabled.\n","type":"boolean"},"externalFixedIps":{"description":"List of external IPs that emit SNAT-ed traffic.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterExternalGatewayInfoExternalFixedIp:getCloudNetworkRouterExternalGatewayInfoExternalFixedIp"},"type":"array"},"networkId":{"description":"Id of the external network.\n","type":"string"}},"required":["enableSnat","externalFixedIps","networkId"],"type":"object"},"gcore:index/getCloudNetworkRouterExternalGatewayInfoExternalFixedIp:getCloudNetworkRouterExternalGatewayInfoExternalFixedIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"ID of the subnet that allocated the IP\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudNetworkRouterFindOneBy:getCloudNetworkRouterFindOneBy":{"properties":{"name":{"description":"Optional. Filter routers by name\n","type":"string"}},"type":"object"},"gcore:index/getCloudNetworkRouterInterface:getCloudNetworkRouterInterface":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAssignments":{"description":"IP addresses assigned to this port\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRouterInterfaceIpAssignment:getCloudNetworkRouterInterfaceIpAssignment"},"type":"array"},"macAddress":{"description":"MAC address of the virtual port\n","type":"string"},"networkId":{"description":"ID of the network the port is attached to\n","type":"string"},"portId":{"description":"ID of virtual ethernet port object\n","type":"string"}},"required":["ipAssignments","macAddress","networkId","portId"],"type":"object"},"gcore:index/getCloudNetworkRouterInterfaceIpAssignment:getCloudNetworkRouterInterfaceIpAssignment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"ID of the subnet that allocated the IP\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudNetworkRouterRoute:getCloudNetworkRouterRoute":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destination":{"description":"CIDR of destination IPv4 or IPv6 subnet.\n","type":"string"},"nexthop":{"description":"IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.\n","type":"string"}},"required":["destination","nexthop"],"type":"object"},"gcore:index/getCloudNetworkRoutersItem:getCloudNetworkRoutersItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the router was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"distributed":{"description":"Whether the router is distributed or centralized.\n","type":"boolean"},"externalGatewayInfo":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRoutersItemExternalGatewayInfo:getCloudNetworkRoutersItemExternalGatewayInfo","description":"State of this router's external gateway.\n"},"id":{"description":"Router ID\n","type":"string"},"interfaces":{"description":"List of router interfaces.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRoutersItemInterface:getCloudNetworkRoutersItemInterface"},"type":"array"},"name":{"description":"Router name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"routes":{"description":"List of custom routes.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRoutersItemRoute:getCloudNetworkRoutersItemRoute"},"type":"array"},"status":{"description":"Status of the router.\n","type":"string"},"updatedAt":{"description":"Datetime when the router was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","distributed","externalGatewayInfo","id","interfaces","name","projectId","region","regionId","routes","status","updatedAt"],"type":"object"},"gcore:index/getCloudNetworkRoutersItemExternalGatewayInfo:getCloudNetworkRoutersItemExternalGatewayInfo":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"enableSnat":{"description":"Is SNAT enabled.\n","type":"boolean"},"externalFixedIps":{"description":"List of external IPs that emit SNAT-ed traffic.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRoutersItemExternalGatewayInfoExternalFixedIp:getCloudNetworkRoutersItemExternalGatewayInfoExternalFixedIp"},"type":"array"},"networkId":{"description":"Id of the external network.\n","type":"string"}},"required":["enableSnat","externalFixedIps","networkId"],"type":"object"},"gcore:index/getCloudNetworkRoutersItemExternalGatewayInfoExternalFixedIp:getCloudNetworkRoutersItemExternalGatewayInfoExternalFixedIp":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"ID of the subnet that allocated the IP\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudNetworkRoutersItemInterface:getCloudNetworkRoutersItemInterface":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAssignments":{"description":"IP addresses assigned to this port\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkRoutersItemInterfaceIpAssignment:getCloudNetworkRoutersItemInterfaceIpAssignment"},"type":"array"},"macAddress":{"description":"MAC address of the virtual port\n","type":"string"},"networkId":{"description":"ID of the network the port is attached to\n","type":"string"},"portId":{"description":"ID of virtual ethernet port object\n","type":"string"}},"required":["ipAssignments","macAddress","networkId","portId"],"type":"object"},"gcore:index/getCloudNetworkRoutersItemInterfaceIpAssignment:getCloudNetworkRoutersItemInterfaceIpAssignment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"IP address\n","type":"string"},"subnetId":{"description":"ID of the subnet that allocated the IP\n","type":"string"}},"required":["ipAddress","subnetId"],"type":"object"},"gcore:index/getCloudNetworkRoutersItemRoute:getCloudNetworkRoutersItemRoute":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destination":{"description":"CIDR of destination IPv4 or IPv6 subnet.\n","type":"string"},"nexthop":{"description":"IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.\n","type":"string"}},"required":["destination","nexthop"],"type":"object"},"gcore:index/getCloudNetworkSubnetFindOneBy:getCloudNetworkSubnetFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"networkId":{"description":"Only list subnets of this network\n","type":"string"},"orderBy":{"description":"Ordering subnets list result by <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span>, <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span>, <span pulumi-lang-nodejs=\"`updatedAt`\" pulumi-lang-dotnet=\"`UpdatedAt`\" pulumi-lang-go=\"`updatedAt`\" pulumi-lang-python=\"`updated_at`\" pulumi-lang-yaml=\"`updatedAt`\" pulumi-lang-java=\"`updatedAt`\">`updated_at`</span>, <span pulumi-lang-nodejs=\"`availableIps`\" pulumi-lang-dotnet=\"`AvailableIps`\" pulumi-lang-go=\"`availableIps`\" pulumi-lang-python=\"`available_ips`\" pulumi-lang-yaml=\"`availableIps`\" pulumi-lang-java=\"`availableIps`\">`available_ips`</span>, <span pulumi-lang-nodejs=\"`totalIps`\" pulumi-lang-dotnet=\"`TotalIps`\" pulumi-lang-go=\"`totalIps`\" pulumi-lang-python=\"`total_ips`\" pulumi-lang-yaml=\"`totalIps`\" pulumi-lang-java=\"`totalIps`\">`total_ips`</span>, and <span pulumi-lang-nodejs=\"`cidr`\" pulumi-lang-dotnet=\"`Cidr`\" pulumi-lang-go=\"`cidr`\" pulumi-lang-python=\"`cidr`\" pulumi-lang-yaml=\"`cidr`\" pulumi-lang-java=\"`cidr`\">`cidr`</span> (default) fields of the subnet and directions (`name.asc`).\nAvailable values: \"available*ips.asc\", \"available*ips.desc\", \"cidr.asc\", \"cidr.desc\", \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\", \"total*ips.asc\", \"total*ips.desc\", \"updated*at.asc\", \"updated*at.desc\".\n","type":"string"},"ownedBy":{"description":"Controls which subnets are returned. 'project' (default) returns only subnets owned by the project. 'any' returns all subnets from networks available to the project, including subnets from shared networks.\nAvailable values: \"any\", \"project\".\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"required":["orderBy","ownedBy"],"type":"object"},"gcore:index/getCloudNetworkSubnetHostRoute:getCloudNetworkSubnetHostRoute":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destination":{"description":"CIDR of destination IPv4 or IPv6 subnet.\n","type":"string"},"nexthop":{"description":"IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.\n","type":"string"}},"required":["destination","nexthop"],"type":"object"},"gcore:index/getCloudNetworkSubnetTag:getCloudNetworkSubnetTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudNetworkSubnetsItem:getCloudNetworkSubnetsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"availableIps":{"description":"Number of available ips in subnet\n","type":"number"},"cidr":{"description":"CIDR\n","type":"string"},"createdAt":{"description":"Datetime when the subnet was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"dnsNameservers":{"description":"List IP addresses of a DNS resolver reachable from the network\n","items":{"type":"string"},"type":"array"},"enableDhcp":{"description":"True if DHCP should be enabled\n","type":"boolean"},"gatewayIp":{"description":"Default GW IPv4 address, advertised in DHCP routes of this subnet. If null, no gateway is advertised by this subnet.\n","type":"string"},"hasRouter":{"deprecationMessage":"Deprecated","description":"Deprecated. Always returns <span pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\">`false`</span>.\n","type":"boolean"},"hostRoutes":{"description":"List of custom static routes to advertise via DHCP.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetsItemHostRoute:getCloudNetworkSubnetsItemHostRoute"},"type":"array"},"id":{"description":"Subnet id.\n","type":"string"},"ipVersion":{"description":"IP version\nAvailable values: 4, 6.\n","type":"number"},"name":{"description":"Subnet name\n","type":"string"},"networkId":{"description":"Network ID\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworkSubnetsItemTag:getCloudNetworkSubnetsItemTag"},"type":"array"},"totalIps":{"description":"Total number of ips in subnet\n","type":"number"},"updatedAt":{"description":"Datetime when the subnet was last updated\n","type":"string"}},"required":["availableIps","cidr","createdAt","creatorTaskId","dnsNameservers","enableDhcp","gatewayIp","hasRouter","hostRoutes","id","ipVersion","name","networkId","projectId","region","regionId","tags","totalIps","updatedAt"],"type":"object"},"gcore:index/getCloudNetworkSubnetsItemHostRoute:getCloudNetworkSubnetsItemHostRoute":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"destination":{"description":"CIDR of destination IPv4 or IPv6 subnet.\n","type":"string"},"nexthop":{"description":"IPv4 or IPv6 address to forward traffic to if it's destination IP matches 'destination' CIDR.\n","type":"string"}},"required":["destination","nexthop"],"type":"object"},"gcore:index/getCloudNetworkSubnetsItemTag:getCloudNetworkSubnetsItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudNetworkTag:getCloudNetworkTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudNetworksItem:getCloudNetworksItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"id":{"description":"Network ID\n","type":"string"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudNetworksItemTag:getCloudNetworksItemTag"},"type":"array"},"type":{"description":"Network type (vlan, vxlan)\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","default","external","id","mtu","name","portSecurityEnabled","projectId","region","regionId","segmentationId","shared","subnets","tags","type","updatedAt"],"type":"object"},"gcore:index/getCloudNetworksItemTag:getCloudNetworksItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudPlacementGroupInstance:getCloudPlacementGroupInstance":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"instanceId":{"description":"The ID of the instance, corresponding to the attribute 'id'.\n","type":"string"},"instanceName":{"description":"The name of the instance, corresponding to the attribute 'name'.\n","type":"string"}},"required":["instanceId","instanceName"],"type":"object"},"gcore:index/getCloudProjectFindOneBy:getCloudProjectFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"includeDeleted":{"description":"Whether to include deleted projects in the response.\n","type":"boolean"},"name":{"description":"Name to filter the results by.\n","type":"string"},"orderBy":{"description":"Order by field and direction.\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\".\n","type":"string"}},"required":["includeDeleted","orderBy"],"type":"object"},"gcore:index/getCloudProjectsItem:getCloudProjectsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"clientId":{"description":"ID associated with the client.\n","type":"number"},"createdAt":{"description":"Datetime of creation, which is automatically generated.\n","type":"string"},"deletedAt":{"description":"Datetime of deletion, which is automatically generated if the project is deleted.\n","type":"string"},"description":{"description":"Description of the project.\n","type":"string"},"id":{"description":"Project ID, which is automatically generated upon creation.\n","type":"number"},"isDefault":{"description":"Indicates if the project is the default one. Each client always has one default project.\n","type":"boolean"},"name":{"description":"Unique project name for a client.\n","type":"string"},"state":{"description":"The state of the project.\n","type":"string"}},"required":["clientId","createdAt","deletedAt","description","id","isDefault","name","state"],"type":"object"},"gcore:index/getCloudRegionCoordinates:getCloudRegionCoordinates":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"latitude":{"type":"string"},"longitude":{"type":"string"}},"required":["latitude","longitude"],"type":"object"},"gcore:index/getCloudRegionFindOneBy:getCloudRegionFindOneBy":{"properties":{"displayName":{"description":"Filter regions by display name. Case-insensitive exact match.\n","type":"string"},"product":{"description":"If defined then return only regions that support given product.\nAvailable values: \"containers\", \"inference\".\n","type":"string"}},"type":"object"},"gcore:index/getCloudRegionsItem:getCloudRegionsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"accessLevel":{"description":"The access level of the region.\nAvailable values: \"core\", \"edge\".\n","type":"string"},"availableVolumeTypes":{"description":"List of available volume types, 'standard', 'ssd_hiiops', 'cold'].\n","items":{"type":"string"},"type":"array"},"coordinates":{"$ref":"#/types/gcore:index%2FgetCloudRegionsItemCoordinates:getCloudRegionsItemCoordinates","description":"Coordinates of the region\n"},"country":{"description":"Two-letter country code, ISO 3166-1 alpha-2\n","type":"string"},"createdAt":{"description":"Region creation date and time\n","type":"string"},"createdOn":{"deprecationMessage":"Deprecated","description":"This field is deprecated. Use <span pulumi-lang-nodejs=\"`createdAt`\" pulumi-lang-dotnet=\"`CreatedAt`\" pulumi-lang-go=\"`createdAt`\" pulumi-lang-python=\"`created_at`\" pulumi-lang-yaml=\"`createdAt`\" pulumi-lang-java=\"`createdAt`\">`created_at`</span> instead.\n","type":"string"},"ddosEndpointId":{"deprecationMessage":"Deprecated","description":"DDoS endpoint ID\n","type":"number"},"displayName":{"description":"Human-readable region name\n","type":"string"},"endpointType":{"description":"Endpoint type\nAvailable values: \"admin\", \"internal\", \"public\".\n","type":"string"},"externalNetworkId":{"description":"External network ID for Neutron\n","type":"string"},"fileShareTypes":{"description":"List of available file share types\n","items":{"type":"string"},"type":"array"},"hasAi":{"description":"Region has AI capability\n","type":"boolean"},"hasAiGpu":{"description":"Region has AI GPU capability\n","type":"boolean"},"hasBaremetal":{"description":"Region has bare metal capability\n","type":"boolean"},"hasBasicVm":{"description":"Region has basic vm capability\n","type":"boolean"},"hasDbaas":{"description":"Region has DBAAS service\n","type":"boolean"},"hasDdos":{"description":"Region has Advanced DDoS Protection capability\n","type":"boolean"},"hasK8s":{"description":"Region has managed kubernetes capability\n","type":"boolean"},"hasKvm":{"description":"Region has KVM virtualization capability\n","type":"boolean"},"hasSfs":{"description":"Region has SFS capability\n","type":"boolean"},"id":{"description":"Region ID\n","type":"number"},"keystoneId":{"description":"Foreign key to Keystone entity\n","type":"number"},"keystoneName":{"description":"Technical region name\n","type":"string"},"metricsDatabaseId":{"description":"Foreign key to Metrics database entity\n","type":"number"},"slug":{"description":"Short, human-readable region identifier (e.g. luxembourg-2, santa-clara-1).\n","type":"string"},"state":{"description":"Region state\nAvailable values: \"ACTIVE\", \"DELETED\", \"DELETING\", \"DELETION_FAILED\", \"INACTIVE\", \"MAINTENANCE\", \"NEW\".\n","type":"string"},"vlanPhysicalNetwork":{"description":"Physical network name to create vlan networks\n","type":"string"},"zone":{"description":"Geographical zone\nAvailable values: \"AMERICAS\", \"APAC\", \"EMEA\", \"RUSSIA*AND*CIS\".\n","type":"string"}},"required":["accessLevel","availableVolumeTypes","coordinates","country","createdAt","createdOn","ddosEndpointId","displayName","endpointType","externalNetworkId","fileShareTypes","hasAi","hasAiGpu","hasBaremetal","hasBasicVm","hasDbaas","hasDdos","hasK8s","hasKvm","hasSfs","id","keystoneId","keystoneName","metricsDatabaseId","slug","state","vlanPhysicalNetwork","zone"],"type":"object"},"gcore:index/getCloudRegionsItemCoordinates:getCloudRegionsItemCoordinates":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"latitude":{"type":"string"},"longitude":{"type":"string"}},"required":["latitude","longitude"],"type":"object"},"gcore:index/getCloudReservedFixedIpAllowedAddressPair:getCloudReservedFixedIpAllowedAddressPair":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"Subnet mask or IP address of the port specified in <span pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\">`allowed_address_pairs`</span>\n","type":"string"},"macAddress":{"description":"MAC address of the port specified in <span pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\">`allowed_address_pairs`</span>\n","type":"string"}},"required":["ipAddress","macAddress"],"type":"object"},"gcore:index/getCloudReservedFixedIpAttachment:getCloudReservedFixedIpAttachment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"resourceId":{"description":"Resource ID\n","type":"string"},"resourceType":{"description":"Resource type\n","type":"string"}},"required":["resourceId","resourceType"],"type":"object"},"gcore:index/getCloudReservedFixedIpNetwork:getCloudReservedFixedIpNetwork":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"id":{"description":"Network ID\n","type":"string"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpNetworkTag:getCloudReservedFixedIpNetworkTag"},"type":"array"},"type":{"description":"Network type (vlan, vxlan)\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","default","external","id","mtu","name","portSecurityEnabled","projectId","region","regionId","segmentationId","shared","subnets","tags","type","updatedAt"],"type":"object"},"gcore:index/getCloudReservedFixedIpNetworkTag:getCloudReservedFixedIpNetworkTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudReservedFixedIpsItem:getCloudReservedFixedIpsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowedAddressPairs":{"description":"Group of subnet masks and/or IP addresses that share the current IP as VIP\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpsItemAllowedAddressPair:getCloudReservedFixedIpsItemAllowedAddressPair"},"type":"array"},"attachments":{"description":"Reserved fixed IP attachment entities\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpsItemAttachment:getCloudReservedFixedIpsItemAttachment"},"type":"array"},"createdAt":{"description":"Datetime when the reserved fixed IP was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"fixedIpAddress":{"description":"IPv4 address of the reserved fixed IP\n","type":"string"},"fixedIpv6Address":{"description":"IPv6 address of the reserved fixed IP\n","type":"string"},"isExternal":{"description":"If reserved fixed IP belongs to a public network\n","type":"boolean"},"isVip":{"description":"If reserved fixed IP is a VIP\n","type":"boolean"},"name":{"description":"Reserved fixed IP name\n","type":"string"},"network":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpsItemNetwork:getCloudReservedFixedIpsItemNetwork","description":"Network details\n"},"networkId":{"description":"ID of the network the port is attached to\n","type":"string"},"portId":{"description":"ID of the port underlying the reserved fixed IP\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"status":{"description":"Underlying port status\n","type":"string"},"subnetId":{"description":"ID of the subnet that owns the IP address\n","type":"string"},"subnetV6Id":{"description":"ID of the subnet that owns the IPv6 address\n","type":"string"},"updatedAt":{"description":"Datetime when the reserved fixed IP was last updated\n","type":"string"}},"required":["allowedAddressPairs","attachments","createdAt","creatorTaskId","fixedIpAddress","fixedIpv6Address","isExternal","isVip","name","network","networkId","portId","projectId","region","regionId","status","subnetId","subnetV6Id","updatedAt"],"type":"object"},"gcore:index/getCloudReservedFixedIpsItemAllowedAddressPair:getCloudReservedFixedIpsItemAllowedAddressPair":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"ipAddress":{"description":"Subnet mask or IP address of the port specified in <span pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\">`allowed_address_pairs`</span>\n","type":"string"},"macAddress":{"description":"MAC address of the port specified in <span pulumi-lang-nodejs=\"`allowedAddressPairs`\" pulumi-lang-dotnet=\"`AllowedAddressPairs`\" pulumi-lang-go=\"`allowedAddressPairs`\" pulumi-lang-python=\"`allowed_address_pairs`\" pulumi-lang-yaml=\"`allowedAddressPairs`\" pulumi-lang-java=\"`allowedAddressPairs`\">`allowed_address_pairs`</span>\n","type":"string"}},"required":["ipAddress","macAddress"],"type":"object"},"gcore:index/getCloudReservedFixedIpsItemAttachment:getCloudReservedFixedIpsItemAttachment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"resourceId":{"description":"Resource ID\n","type":"string"},"resourceType":{"description":"Resource type\n","type":"string"}},"required":["resourceId","resourceType"],"type":"object"},"gcore:index/getCloudReservedFixedIpsItemNetwork:getCloudReservedFixedIpsItemNetwork":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the network was created\n","type":"string"},"creatorTaskId":{"description":"Task that created this entity\n","type":"string"},"default":{"description":"True if network has <span pulumi-lang-nodejs=\"`isDefault`\" pulumi-lang-dotnet=\"`IsDefault`\" pulumi-lang-go=\"`isDefault`\" pulumi-lang-python=\"`is_default`\" pulumi-lang-yaml=\"`isDefault`\" pulumi-lang-java=\"`isDefault`\">`is_default`</span> attribute\n","type":"boolean"},"external":{"description":"True if the network `router:external` attribute\n","type":"boolean"},"id":{"description":"Network ID\n","type":"string"},"mtu":{"description":"MTU (maximum transmission unit). Default value is 1450\n","type":"number"},"name":{"description":"Network name\n","type":"string"},"portSecurityEnabled":{"description":"Indicates <span pulumi-lang-nodejs=\"`portSecurityEnabled`\" pulumi-lang-dotnet=\"`PortSecurityEnabled`\" pulumi-lang-go=\"`portSecurityEnabled`\" pulumi-lang-python=\"`port_security_enabled`\" pulumi-lang-yaml=\"`portSecurityEnabled`\" pulumi-lang-java=\"`portSecurityEnabled`\">`port_security_enabled`</span> status of all newly created in the network ports.\n","type":"boolean"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"segmentationId":{"description":"Id of network segment\n","type":"number"},"shared":{"description":"True when the network is shared with your project by external owner\n","type":"boolean"},"subnets":{"description":"List of subnetworks\n","items":{"type":"string"},"type":"array"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudReservedFixedIpsItemNetworkTag:getCloudReservedFixedIpsItemNetworkTag"},"type":"array"},"type":{"description":"Network type (vlan, vxlan)\n","type":"string"},"updatedAt":{"description":"Datetime when the network was last updated\n","type":"string"}},"required":["createdAt","creatorTaskId","default","external","id","mtu","name","portSecurityEnabled","projectId","region","regionId","segmentationId","shared","subnets","tags","type","updatedAt"],"type":"object"},"gcore:index/getCloudReservedFixedIpsItemNetworkTag:getCloudReservedFixedIpsItemNetworkTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudSecretsItem:getCloudSecretsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"algorithm":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"bitLength":{"description":"Metadata provided by a user or system for informational purposes. Value must be greater than zero. Defaults to None\n","type":"number"},"contentTypes":{"additionalProperties":{"type":"string"},"description":"Describes the content-types that can be used to retrieve the payload. The content-type used with symmetric secrets is application/octet-stream\n","type":"object"},"created":{"description":"Datetime when the secret was created. The format is 2020-01-01T12:00:00+00:00\n","type":"string"},"expiration":{"description":"Datetime when the secret will expire. The format is 2020-01-01T12:00:00+00:00. Defaults to None\n","type":"string"},"id":{"description":"Secret uuid\n","type":"string"},"mode":{"description":"Metadata provided by a user or system for informational purposes. Defaults to None\n","type":"string"},"name":{"description":"Secret name\n","type":"string"},"secretType":{"description":"Secret type, base64 encoded. symmetric - Used for storing byte arrays such as keys suitable for symmetric encryption; public - Used for storing the public key of an asymmetric keypair; private - Used for storing the private key of an asymmetric keypair; passphrase - Used for storing plain text passphrases; certificate - Used for storing cryptographic certificates such as X.509 certificates; opaque - Used for backwards compatibility with previous versions of the API\nAvailable values: \"certificate\", \"opaque\", \"passphrase\", \"private\", \"public\", \"symmetric\".\n","type":"string"},"status":{"description":"Status\n","type":"string"}},"required":["algorithm","bitLength","contentTypes","created","expiration","id","mode","name","secretType","status"],"type":"object"},"gcore:index/getCloudSecurityGroupFindOneBy:getCloudSecurityGroupFindOneBy":{"properties":{"name":{"description":"Optional. Filter by name. Must be specified a full name of the security group.\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"gcore:index/getCloudSecurityGroupSecurityGroupRule:getCloudSecurityGroupSecurityGroupRule":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the rule was created\n","type":"string"},"description":{"description":"Rule description\n","type":"string"},"direction":{"description":"Ingress or egress, which is the direction in which the security group rule is applied\nAvailable values: \"egress\", \"ingress\".\n","type":"string"},"ethertype":{"description":"Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress or egress rules.\nAvailable values: \"IPv4\", \"IPv6\".\n","type":"string"},"id":{"description":"The ID of the security group rule\n","type":"string"},"portRangeMax":{"description":"The maximum port number in the range that is matched by the security group rule\n","type":"number"},"portRangeMin":{"description":"The minimum port number in the range that is matched by the security group rule\n","type":"number"},"protocol":{"description":"Protocol\nAvailable values: \"ah\", \"any\", \"dccp\", \"egp\", \"esp\", \"gre\", \"icmp\", \"igmp\", \"ipencap\", \"ipip\", \"ipv6-encap\", \"ipv6-frag\", \"ipv6-icmp\", \"ipv6-nonxt\", \"ipv6-opts\", \"ipv6-route\", \"ospf\", \"pgm\", \"rsvp\", \"sctp\", \"tcp\", \"udp\", \"udplite\", \"vrrp\".\n","type":"string"},"remoteGroupId":{"description":"The remote group UUID to associate with this security group rule\n","type":"string"},"remoteIpPrefix":{"description":"The remote IP prefix that is matched by this security group rule\n","type":"string"},"revisionNumber":{"description":"The revision number of the resource\n","type":"number"},"securityGroupId":{"description":"The security group ID to associate with this security group rule\n","type":"string"},"updatedAt":{"description":"Datetime when the rule was last updated\n","type":"string"}},"required":["createdAt","description","direction","ethertype","id","portRangeMax","portRangeMin","protocol","remoteGroupId","remoteIpPrefix","revisionNumber","securityGroupId","updatedAt"],"type":"object"},"gcore:index/getCloudSecurityGroupTagsV2:getCloudSecurityGroupTagsV2":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudSecurityGroupsItem:getCloudSecurityGroupsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the security group was created\n","type":"string"},"description":{"description":"Security group description\n","type":"string"},"id":{"description":"Security group ID\n","type":"string"},"name":{"description":"Security group name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"region":{"description":"Region name\n","type":"string"},"regionId":{"description":"Region ID\n","type":"number"},"revisionNumber":{"description":"The number of revisions\n","type":"number"},"securityGroupRules":{"description":"Security group rules\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupsItemSecurityGroupRule:getCloudSecurityGroupsItemSecurityGroupRule"},"type":"array"},"tagsV2s":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudSecurityGroupsItemTagsV2:getCloudSecurityGroupsItemTagsV2"},"type":"array"},"updatedAt":{"description":"Datetime when the security group was last updated\n","type":"string"}},"required":["createdAt","description","id","name","projectId","region","regionId","revisionNumber","securityGroupRules","tagsV2s","updatedAt"],"type":"object"},"gcore:index/getCloudSecurityGroupsItemSecurityGroupRule:getCloudSecurityGroupsItemSecurityGroupRule":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"Datetime when the rule was created\n","type":"string"},"description":{"description":"Rule description\n","type":"string"},"direction":{"description":"Ingress or egress, which is the direction in which the security group rule is applied\nAvailable values: \"egress\", \"ingress\".\n","type":"string"},"ethertype":{"description":"Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress or egress rules.\nAvailable values: \"IPv4\", \"IPv6\".\n","type":"string"},"id":{"description":"The ID of the security group rule\n","type":"string"},"portRangeMax":{"description":"The maximum port number in the range that is matched by the security group rule\n","type":"number"},"portRangeMin":{"description":"The minimum port number in the range that is matched by the security group rule\n","type":"number"},"protocol":{"description":"Protocol\nAvailable values: \"ah\", \"any\", \"dccp\", \"egp\", \"esp\", \"gre\", \"icmp\", \"igmp\", \"ipencap\", \"ipip\", \"ipv6-encap\", \"ipv6-frag\", \"ipv6-icmp\", \"ipv6-nonxt\", \"ipv6-opts\", \"ipv6-route\", \"ospf\", \"pgm\", \"rsvp\", \"sctp\", \"tcp\", \"udp\", \"udplite\", \"vrrp\".\n","type":"string"},"remoteGroupId":{"description":"The remote group UUID to associate with this security group rule\n","type":"string"},"remoteIpPrefix":{"description":"The remote IP prefix that is matched by this security group rule\n","type":"string"},"revisionNumber":{"description":"The revision number of the resource\n","type":"number"},"securityGroupId":{"description":"The security group ID to associate with this security group rule\n","type":"string"},"updatedAt":{"description":"Datetime when the rule was last updated\n","type":"string"}},"required":["createdAt","description","direction","ethertype","id","portRangeMax","portRangeMin","protocol","remoteGroupId","remoteIpPrefix","revisionNumber","securityGroupId","updatedAt"],"type":"object"},"gcore:index/getCloudSecurityGroupsItemTagsV2:getCloudSecurityGroupsItemTagsV2":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudSshKeyFindOneBy:getCloudSshKeyFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"name":{"description":"SSH key name. Partial substring match. Example: `name=abc` matches any key containing <span pulumi-lang-nodejs=\"`abc`\" pulumi-lang-dotnet=\"`Abc`\" pulumi-lang-go=\"`abc`\" pulumi-lang-python=\"`abc`\" pulumi-lang-yaml=\"`abc`\" pulumi-lang-java=\"`abc`\">`abc`</span> in name.\n","type":"string"},"orderBy":{"description":"Sort order for the SSH keys\nAvailable values: \"created*at.asc\", \"created*at.desc\", \"name.asc\", \"name.desc\".\n","type":"string"}},"required":["orderBy"],"type":"object"},"gcore:index/getCloudSshKeysItem:getCloudSshKeysItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"SSH key creation time\n","type":"string"},"fingerprint":{"description":"Fingerprint\n","type":"string"},"id":{"description":"SSH key ID\n","type":"string"},"name":{"description":"SSH key name\n","type":"string"},"projectId":{"description":"Project ID\n","type":"number"},"publicKey":{"description":"The public part of an SSH key is the shareable portion of an SSH key pair. It can be safely sent to servers or services to grant access. It does not contain sensitive information.\n","type":"string"},"sharedInProject":{"description":"SSH key will be visible to all users in the project\n","type":"boolean"},"state":{"description":"SSH key state\nAvailable values: \"ACTIVE\", \"DELETING\".\n","type":"string"}},"required":["createdAt","fingerprint","id","name","projectId","publicKey","sharedInProject","state"],"type":"object"},"gcore:index/getCloudVolumeAttachment:getCloudVolumeAttachment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"attachedAt":{"description":"The date and time when the attachment was created.\n","type":"string"},"attachmentId":{"description":"The unique identifier of the attachment object.\n","type":"string"},"device":{"description":"The block device name inside the guest instance.\n","type":"string"},"flavorId":{"description":"The flavor ID of the instance.\n","type":"string"},"instanceName":{"description":"The name of the instance if attached and the server name is known.\n","type":"string"},"serverId":{"description":"The unique identifier of the instance.\n","type":"string"},"volumeId":{"description":"The unique identifier of the attached volume.\n","type":"string"}},"required":["attachedAt","attachmentId","device","flavorId","instanceName","serverId","volumeId"],"type":"object"},"gcore:index/getCloudVolumeFindOneBy:getCloudVolumeFindOneBy":{"properties":{"bootable":{"description":"Filter by bootable field\n","type":"boolean"},"clusterId":{"description":"Filter volumes by k8s cluster ID\n","type":"string"},"hasAttachments":{"description":"Filter by the presence of attachments\n","type":"boolean"},"idPart":{"description":"Filter the volume list result by the ID part of the volume\n","type":"string"},"instanceId":{"description":"Filter volumes by instance ID\n","type":"string"},"namePart":{"description":"Filter volumes by <span pulumi-lang-nodejs=\"`namePart`\" pulumi-lang-dotnet=\"`NamePart`\" pulumi-lang-go=\"`namePart`\" pulumi-lang-python=\"`name_part`\" pulumi-lang-yaml=\"`namePart`\" pulumi-lang-java=\"`namePart`\">`name_part`</span> inclusion in volume name.Any substring can be used and volumes will be returned with names containing the substring.\n","type":"string"},"tagKeyValue":{"description":"Optional. Filter by tag key-value pairs.\n","type":"string"},"tagKeys":{"description":"Optional. Filter by tag keys. ?<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key1&<span pulumi-lang-nodejs=\"`tagKey`\" pulumi-lang-dotnet=\"`TagKey`\" pulumi-lang-go=\"`tagKey`\" pulumi-lang-python=\"`tag_key`\" pulumi-lang-yaml=\"`tagKey`\" pulumi-lang-java=\"`tagKey`\">`tag_key`</span>=key2\n","items":{"type":"string"},"type":"array"}},"type":"object"},"gcore:index/getCloudVolumeLimiterStats:getCloudVolumeLimiterStats":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"iopsBaseLimit":{"description":"The sustained IOPS (Input/Output Operations Per Second) limit.\n","type":"number"},"iopsBurstLimit":{"description":"The burst IOPS limit.\n","type":"number"},"mBpsBaseLimit":{"description":"The sustained bandwidth limit in megabytes per second (MBps).\n","type":"number"},"mBpsBurstLimit":{"description":"The burst bandwidth limit in megabytes per second (MBps).\n","type":"number"}},"required":["iopsBaseLimit","iopsBurstLimit","mBpsBaseLimit","mBpsBurstLimit"],"type":"object"},"gcore:index/getCloudVolumeTag:getCloudVolumeTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getCloudVolumesItem:getCloudVolumesItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"attachments":{"description":"List of attachments associated with the volume.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudVolumesItemAttachment:getCloudVolumesItemAttachment"},"type":"array"},"bootable":{"description":"Indicates whether the volume is bootable.\n","type":"boolean"},"createdAt":{"description":"The date and time when the volume was created.\n","type":"string"},"creatorTaskId":{"description":"The ID of the task that created this volume.\n","type":"string"},"id":{"description":"The unique identifier of the volume.\n","type":"string"},"isRootVolume":{"description":"Indicates whether this is a root volume.\n","type":"boolean"},"limiterStats":{"$ref":"#/types/gcore:index%2FgetCloudVolumesItemLimiterStats:getCloudVolumesItemLimiterStats","description":"Schema representing the Quality of Service (QoS) parameters for a volume.\n"},"name":{"description":"The name of the volume.\n","type":"string"},"projectId":{"description":"Project ID.\n","type":"number"},"region":{"description":"The region where the volume is located.\n","type":"string"},"regionId":{"description":"The identifier of the region.\n","type":"number"},"size":{"description":"The size of the volume in gibibytes (GiB).\n","type":"number"},"snapshotIds":{"description":"List of snapshot IDs associated with this volume.\n","items":{"type":"string"},"type":"array"},"status":{"description":"The current status of the volume.\nAvailable values: \"attaching\", \"available\", \"awaiting-transfer\", \"backing-up\", \"creating\", \"deleting\", \"detaching\", \"downloading\", \"error\", \"error*backing-up\", \"error*deleting\", \"error*extending\", \"error*restoring\", \"extending\", \"in-use\", \"maintenance\", \"reserved\", \"restoring-backup\", \"retyping\", \"reverting\", \"uploading\".\n","type":"string"},"tags":{"description":"List of key-value tags associated with the resource. A tag is a key-value pair that can be associated with a resource, enabling efficient filtering and grouping for better organization and management. Some tags are read-only and cannot be modified by the user. Tags are also integrated with cost reports, allowing cost data to be filtered based on tag keys or values.\n","items":{"$ref":"#/types/gcore:index%2FgetCloudVolumesItemTag:getCloudVolumesItemTag"},"type":"array"},"updatedAt":{"description":"The date and time when the volume was last updated.\n","type":"string"},"volumeImageMetadata":{"additionalProperties":{"type":"string"},"description":"Image metadata for volumes created from an image.\n","type":"object"},"volumeType":{"description":"The type of volume storage.\n","type":"string"}},"required":["attachments","bootable","createdAt","creatorTaskId","id","isRootVolume","limiterStats","name","projectId","region","regionId","size","snapshotIds","status","tags","updatedAt","volumeImageMetadata","volumeType"],"type":"object"},"gcore:index/getCloudVolumesItemAttachment:getCloudVolumesItemAttachment":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"attachedAt":{"description":"The date and time when the attachment was created.\n","type":"string"},"attachmentId":{"description":"The unique identifier of the attachment object.\n","type":"string"},"device":{"description":"The block device name inside the guest instance.\n","type":"string"},"flavorId":{"description":"The flavor ID of the instance.\n","type":"string"},"instanceName":{"description":"The name of the instance if attached and the server name is known.\n","type":"string"},"serverId":{"description":"The unique identifier of the instance.\n","type":"string"},"volumeId":{"description":"The unique identifier of the attached volume.\n","type":"string"}},"required":["attachedAt","attachmentId","device","flavorId","instanceName","serverId","volumeId"],"type":"object"},"gcore:index/getCloudVolumesItemLimiterStats:getCloudVolumesItemLimiterStats":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"iopsBaseLimit":{"description":"The sustained IOPS (Input/Output Operations Per Second) limit.\n","type":"number"},"iopsBurstLimit":{"description":"The burst IOPS limit.\n","type":"number"},"mBpsBaseLimit":{"description":"The sustained bandwidth limit in megabytes per second (MBps).\n","type":"number"},"mBpsBurstLimit":{"description":"The burst bandwidth limit in megabytes per second (MBps).\n","type":"number"}},"required":["iopsBaseLimit","iopsBurstLimit","mBpsBaseLimit","mBpsBurstLimit"],"type":"object"},"gcore:index/getCloudVolumesItemTag:getCloudVolumesItemTag":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"description":"Tag key. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"},"readOnly":{"description":"If true, the tag is read-only and cannot be modified by the user\n","type":"boolean"},"value":{"description":"Tag value. Maximum 255 characters. Cannot contain spaces, tabs, newlines, empty string or '=' character.\n","type":"string"}},"required":["key","readOnly","value"],"type":"object"},"gcore:index/getDnsNetworkMappingMapping:getDnsNetworkMappingMapping":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"cidr4s":{"items":{"type":"string"},"type":"array"},"cidr6s":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"type":"string"},"type":"array"}},"required":["cidr4s","cidr6s","tags"],"type":"object"},"gcore:index/getDnsZoneRecord:getDnsZoneRecord":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"name":{"type":"string"},"shortAnswers":{"items":{"type":"string"},"type":"array"},"ttl":{"type":"number"},"type":{"type":"string"}},"required":["name","shortAnswers","ttl","type"],"type":"object"},"gcore:index/getDnsZoneRrsetPicker:getDnsZoneRrsetPicker":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"limit":{"description":"Limits the number of records returned by the filter\nCan be a positive value for a specific limit. Use zero or leave it blank to indicate no limits.\n","type":"number"},"strict":{"description":"if strict=false, then the filter will return all records if no records match the filter\n","type":"boolean"},"type":{"description":"Filter type\nAvailable values: \"geodns\", \"asn\", \"country\", \"continent\", \"region\", \"ip\", \"geodistance\", \"weighted*shuffle\", \"default\", \"first*n\".\n","type":"string"}},"required":["limit","strict","type"],"type":"object"},"gcore:index/getDnsZoneRrsetResourceRecord:getDnsZoneRrsetResourceRecord":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"contents":{"description":"Content of resource record\nThe exact length of the array depends on the type of rrset,\neach individual record parameter must be a separate element of the array. For example\nSRV-record: `[100, 1, 5061, \"example.com\"]`\nCNAME-record: `[ \"the.target.domain\" ]`\nA-record: `[ \"1.2.3.4\", \"5.6.7.8\" ]`\nAAAA-record: `[ \"2001:db8::1\", \"2001:db8::2\" ]`\nMX-record: `[ \"mail1.example.com\", \"mail2.example.com\" ]`\nSVCB/HTTPS-record: `[ 1, \".\", [\"alpn\", \"h3\", \"h2\"], [ \"port\", 1443 ], [ \"ipv4hint\", \"10.0.0.1\" ], [ \"ech\", \"AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA\" ] ]`\n","items":{"type":"string"},"type":"array"},"enabled":{"type":"boolean"},"id":{"type":"number"},"meta":{"additionalProperties":{"type":"string"},"description":"Meta information for record\nMap with string key and any valid json as value, with valid keys\n","type":"object"}},"required":["contents","enabled","id","meta"],"type":"object"},"gcore:index/getDnsZoneRrsetWarning:getDnsZoneRrsetWarning":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"key":{"type":"string"},"message":{"type":"string"}},"required":["key","message"],"type":"object"},"gcore:index/getDnsZoneRrsetsAmount:getDnsZoneRrsetsAmount":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"dynamic":{"$ref":"#/types/gcore:index%2FgetDnsZoneRrsetsAmountDynamic:getDnsZoneRrsetsAmountDynamic","description":"Amount of dynamic RRsets in zone\n"},"static":{"description":"Amount of static RRsets in zone\n","type":"number"},"total":{"description":"Total amount of RRsets in zone\n","type":"number"}},"required":["dynamic","static","total"],"type":"object"},"gcore:index/getDnsZoneRrsetsAmountDynamic:getDnsZoneRrsetsAmountDynamic":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"healthcheck":{"description":"Amount of RRsets with enabled healthchecks\n","type":"number"},"total":{"description":"Total amount of dynamic RRsets in zone\n","type":"number"}},"required":["healthcheck","total"],"type":"object"},"gcore:index/getFastedgeAppFindOneBy:getFastedgeAppFindOneBy":{"properties":{"apiType":{"description":"API type:  \nwasi-http - WASI with HTTP entry point  \nproxy-wasm - Proxy-Wasm app, callable from CDN\nAvailable values: \"wasi-http\", \"proxy-wasm\".\n","type":"string"},"binary":{"description":"Filter by binary ID (shows apps using this binary)\n","type":"number"},"name":{"description":"Filter by application name (case-insensitive partial match)\n","type":"string"},"ordering":{"description":"Sort order. Use - prefix for descending (e.g., -name sorts by name descending)\nAvailable values: \"name\", \"-name\", \"status\", \"-status\", \"id\", \"-id\", \"template\", \"-template\", \"binary\", \"-binary\", \"plan\", \"-plan\".\n","type":"string"},"plan":{"description":"Filter by plan ID\n","type":"number"},"status":{"description":"Status code:  \n0 - draft (inactive)  \n1 - enabled  \n2 - disabled  \n3 - hourly call limit exceeded  \n4 - daily call limit exceeded  \n5 - suspended\n","type":"number"},"template":{"description":"Filter by template ID (shows apps created from this template)\n","type":"number"}},"type":"object"},"gcore:index/getFastedgeAppSecrets:getFastedgeAppSecrets":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"comment":{"description":"A description or comment about the secret.\n","type":"string"},"id":{"description":"The unique identifier of the secret.\n","type":"number"},"name":{"description":"The unique name of the secret.\n","type":"string"}},"required":["comment","id","name"],"type":"object"},"gcore:index/getFastedgeAppStores:getFastedgeAppStores":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"comment":{"description":"A description of the store\n","type":"string"},"id":{"description":"The identifier of the store\n","type":"number"},"name":{"description":"The name of the store\n","type":"string"}},"required":["comment","id","name"],"type":"object"},"gcore:index/getFastedgeAppsItem:getFastedgeAppsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"apiType":{"description":"Wasm API type\n","type":"string"},"binary":{"description":"Binary ID\n","type":"number"},"comment":{"description":"Description of the binary\n","type":"string"},"debug":{"description":"Switch on logging for 30 minutes (switched off by default)\n","type":"boolean"},"debugUntil":{"description":"When debugging finishes\n","type":"string"},"id":{"description":"App ID\n","type":"number"},"name":{"description":"App name\n","type":"string"},"networks":{"description":"Networks\n","items":{"type":"string"},"type":"array"},"plan":{"description":"Application plan name\n","type":"string"},"planId":{"description":"Application plan ID\n","type":"number"},"status":{"description":"Status code:  \n0 - draft (inactive)  \n1 - enabled  \n2 - disabled  \n3 - hourly call limit exceeded  \n4 - daily call limit exceeded  \n5 - suspended\n","type":"number"},"template":{"description":"Template ID\n","type":"number"},"templateName":{"description":"Template name\n","type":"string"},"upgradeableTo":{"description":"ID of the binary the app can be upgraded to\n","type":"number"},"url":{"description":"App URL\n","type":"string"}},"required":["apiType","binary","comment","debug","debugUntil","id","name","networks","plan","planId","status","template","templateName","upgradeableTo","url"],"type":"object"},"gcore:index/getFastedgeSecretSecretSlot:getFastedgeSecretSecretSlot":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"checksum":{"description":"SHA-256 hash of the decrypted value for integrity verification (auto-generated)\n","type":"string"},"slot":{"description":"Unix timestamp (seconds since epoch) indicating when this secret version becomes active. Use for time-based secret rotation.\n","type":"number"},"value":{"description":"The plaintext secret value. Will be encrypted with AES-256-GCM before storage.\n","type":"string"}},"required":["checksum","slot","value"],"type":"object"},"gcore:index/getFastedgeTemplateFindOneBy:getFastedgeTemplateFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"apiType":{"description":"API type:  \nwasi-http - WASI with HTTP entry point  \nproxy-wasm - Proxy-Wasm app, callable from CDN\nAvailable values: \"wasi-http\", \"proxy-wasm\".\n","type":"string"},"onlyMine":{"description":"When true, returns only templates created by the client. When false, includes shared templates.\n","type":"boolean"}},"required":["onlyMine"],"type":"object"},"gcore:index/getFastedgeTemplateParam:getFastedgeTemplateParam":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"dataType":{"description":"Parameter type determines validation and UI rendering:  \nstring - text input  \nnumber - numeric input  \ndate - date picker  \ntime - time picker  \nsecret - references a secret  \nstore - references an edge store  \nbool - boolean toggle  \njson - JSON editor or multiline text area with JSON validation  \nenum - dropdown/select with allowed values defined via parameter metadata\nAvailable values: \"string\", \"number\", \"date\", \"time\", \"secret\", \"store\", \"bool\", \"json\", \"enum\".\n","type":"string"},"descr":{"description":"Human-readable explanation of what this parameter controls\n","type":"string"},"mandatory":{"description":"If true, this parameter must be provided when instantiating the template\n","type":"boolean"},"metadata":{"description":"Optional JSON-encoded string for additional parameter metadata, such as allowed values for enum types\n","type":"string"},"name":{"description":"Parameter name used as a placeholder in template (e.g., `API_KEY`, `DATABASE_URL`)\n","type":"string"}},"required":["dataType","descr","mandatory","metadata","name"],"type":"object"},"gcore:index/getFastedgeTemplatesItem:getFastedgeTemplatesItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"apiType":{"description":"Wasm API type\n","type":"string"},"id":{"description":"Template ID\n","type":"number"},"longDescr":{"description":"Long description of the template\n","type":"string"},"name":{"description":"Name of the template\n","type":"string"},"owned":{"description":"Is the template owned by user?\n","type":"boolean"},"shortDescr":{"description":"Short description of the template\n","type":"string"}},"required":["apiType","id","longDescr","name","owned","shortDescr"],"type":"object"},"gcore:index/getStorageLocationsItem:getStorageLocationsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"address":{"description":"Full hostname/address for accessing the storage endpoint.\n","type":"string"},"name":{"description":"Human-readable display name for the location.\n","type":"string"},"technicalName":{"description":"Internal technical identifier for the location\n","type":"string"},"title":{"description":"Display title for the location (English). Null if no title is set.\n","type":"string"},"type":{"description":"Storage type supported by this location\nAvailable values: <span pulumi-lang-nodejs=\"\"s3Compatible\"\" pulumi-lang-dotnet=\"\"S3Compatible\"\" pulumi-lang-go=\"\"s3Compatible\"\" pulumi-lang-python=\"\"s3_compatible\"\" pulumi-lang-yaml=\"\"s3Compatible\"\" pulumi-lang-java=\"\"s3Compatible\"\">\"s3_compatible\"</span>, \"sftp\".\n","type":"string"}},"required":["address","name","technicalName","title","type"],"type":"object"},"gcore:index/getStorageSshKeyFindOneBy:getStorageSshKeyFindOneBy":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"name":{"description":"Filter by name (partial match)\n","type":"string"},"orderBy":{"type":"string"}},"required":["orderBy"],"type":"object"},"gcore:index/getStorageSshKeysItem:getStorageSshKeysItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"ISO 8601 timestamp when the SSH key was created\n","type":"string"},"id":{"description":"Unique identifier for the SSH key\n","type":"number"},"name":{"description":"User-defined name for the SSH key\n","type":"string"},"publicKey":{"description":"The SSH public key content\n","type":"string"}},"required":["createdAt","id","name","publicKey"],"type":"object"},"gcore:index/getWaapDomainQuotas:getWaapDomainQuotas":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"allowed":{"description":"The maximum allowed number of this resource\n","type":"number"},"current":{"description":"The current number of this resource\n","type":"number"}},"required":["allowed","current"],"type":"object"},"gcore:index/getWaapDomainsItem:getWaapDomainsItem":{"language":{"nodejs":{"requiredInputs":[]}},"properties":{"createdAt":{"description":"The date and time the domain was created in ISO 8601 format\n","type":"string"},"customPageSet":{"description":"The ID of the custom page set\n","type":"number"},"id":{"description":"The domain ID\n","type":"number"},"name":{"description":"The domain name\n","type":"string"},"status":{"description":"The different statuses a domain can have\nAvailable values: \"active\", \"bypass\", \"monitor\", \"locked\".\n","type":"string"}},"required":["createdAt","customPageSet","id","name","status"],"type":"object"}},"version":"2.0.0-alpha.6"}
