diff --git a/go.work.sum b/go.work.sum index b8e4a34f..3ffb3d81 100644 --- a/go.work.sum +++ b/go.work.sum @@ -886,6 +886,8 @@ github.com/lyft/protoc-gen-star v0.6.1 h1:erE0rdztuaDq3bpGifD95wfoPrSZc95nGA6tbi github.com/lyft/protoc-gen-star/v2 v2.0.1 h1:keaAo8hRuAT0O3DfJ/wM3rufbAjGeJ1lAtWZHDjKGB0= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4 h1:sIXJOMrYnQZJu7OB7ANSF4MYri2fTEGIsRLz6LwI4xE= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= +github.com/lyft/protoc-gen-star/v2 v2.0.4 h1:JDlNKttNIRd68AAIychs0AqEpO8/I/WYi01OQ7Raw6Q= +github.com/lyft/protoc-gen-star/v2 v2.0.4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE= github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= @@ -1256,6 +1258,8 @@ golang.org/x/telemetry v0.0.0-20260409153401-be6f6cb8b1fa h1:efT73AJZfAAUV7SOip6 golang.org/x/telemetry v0.0.0-20260409153401-be6f6cb8b1fa/go.mod h1:kHjTxDEnAu6/Nl9lDkzjWpR+bmKfxeiRuSDlsMb70gE= golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6 h1:HjU6IWBiAgRIdAJ9/y1rwCn+UELEmwV+VsTLzj/W4sE= golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6/go.mod h1:Eqhaxk/wZsWEH8CRxLwj6xzEJbz7k1EFGqx7nyCoabE= +golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57 h1:nwGZBCt+FnXUrGsj5vjzAsEmkcaFvd82BbOjECiFYZc= +golang.org/x/telemetry v0.0.0-20260625142307-59b4966ccb57/go.mod h1:3AWMyWHS+caVoiEXpiq6+tzKA40J4vQT3MYr80ZtQpc= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= @@ -1306,6 +1310,7 @@ gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc h1:/hemPrYIhOhy8zYrNj+069zDB68us2sMGsfkFJO0iZs= honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= honnef.co/go/tools v0.1.3 h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o= honnef.co/go/tools v0.7.0 h1:w6WUp1VbkqPEgLz4rkBzH/CSU6HkoqNLp6GstyTx3lU= diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index 6054b4da..e1a65329 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -12,6 +12,34 @@ "stackit_alb_certificate": { "current": "stackit:index/albCertificate:AlbCertificate" }, + "stackit_alb_waf_configuration": { + "current": "stackit:index/albWafConfiguration:AlbWafConfiguration" + }, + "stackit_alb_waf_custom_rule_group": { + "current": "stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup", + "fields": { + "rules": { + "maxItemsOne": false, + "elem": { + "fields": { + "conditions": { + "maxItemsOne": false, + "elem": { + "fields": { + "transformations": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, + "stackit_alb_waf_managed_rule_set": { + "current": "stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet" + }, "stackit_application_load_balancer": { "current": "stackit:index/applicationLoadBalancer:ApplicationLoadBalancer", "fields": { @@ -158,6 +186,9 @@ "blocked_countries": { "maxItemsOne": false }, + "blocked_ips": { + "maxItemsOne": false + }, "redirects": { "fields": { "rules": { @@ -404,6 +435,12 @@ } } }, + "stackit_modelexperiments_instance": { + "current": "stackit:index/modelexperimentsInstance:ModelexperimentsInstance" + }, + "stackit_modelexperiments_token": { + "current": "stackit:index/modelexperimentsToken:ModelexperimentsToken" + }, "stackit_modelserving_token": { "current": "stackit:index/modelservingToken:ModelservingToken" }, @@ -441,15 +478,7 @@ } }, "stackit_network_area": { - "current": "stackit:index/networkArea:NetworkArea", - "fields": { - "default_nameservers": { - "maxItemsOne": false - }, - "network_ranges": { - "maxItemsOne": false - } - } + "current": "stackit:index/networkArea:NetworkArea" }, "stackit_network_area_region": { "current": "stackit:index/networkAreaRegion:NetworkAreaRegion", @@ -614,6 +643,13 @@ "fields": { "acl": { "maxItemsOne": false + }, + "network": { + "fields": { + "acl": { + "maxItemsOne": false + } + } } } }, @@ -862,6 +898,9 @@ "stackit_ske_kubeconfig": { "current": "stackit:index/skeKubeconfig:SkeKubeconfig" }, + "stackit_sqlserverflex_database": { + "current": "stackit:index/sqlserverflexDatabase:SqlserverflexDatabase" + }, "stackit_sqlserverflex_instance": { "current": "stackit:index/sqlserverflexInstance:SqlserverflexInstance", "fields": { @@ -1055,6 +1094,34 @@ "stackit_alb_certificate": { "current": "stackit:index/getAlbCertificate:getAlbCertificate" }, + "stackit_alb_waf_configuration": { + "current": "stackit:index/getAlbWafConfiguration:getAlbWafConfiguration" + }, + "stackit_alb_waf_custom_rule_group": { + "current": "stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", + "fields": { + "rules": { + "maxItemsOne": false, + "elem": { + "fields": { + "conditions": { + "maxItemsOne": false, + "elem": { + "fields": { + "transformations": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, + "stackit_alb_waf_managed_rule_set": { + "current": "stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet" + }, "stackit_application_load_balancer": { "current": "stackit:index/getApplicationLoadBalancer:getApplicationLoadBalancer", "fields": { @@ -1189,6 +1256,9 @@ "blocked_countries": { "maxItemsOne": false }, + "blocked_ips": { + "maxItemsOne": false + }, "redirects": { "fields": { "rules": { @@ -1448,6 +1518,12 @@ } } }, + "stackit_modelexperiments_instance": { + "current": "stackit:index/getModelexperimentsInstance:getModelexperimentsInstance" + }, + "stackit_modelexperiments_token": { + "current": "stackit:index/getModelexperimentsToken:getModelexperimentsToken" + }, "stackit_mongodbflex_instance": { "current": "stackit:index/getMongodbflexInstance:getMongodbflexInstance", "fields": { @@ -1482,15 +1558,7 @@ } }, "stackit_network_area": { - "current": "stackit:index/getNetworkArea:getNetworkArea", - "fields": { - "default_nameservers": { - "maxItemsOne": false - }, - "network_ranges": { - "maxItemsOne": false - } - } + "current": "stackit:index/getNetworkArea:getNetworkArea" }, "stackit_network_area_region": { "current": "stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", @@ -1647,11 +1715,33 @@ "stackit_postgresflex_database": { "current": "stackit:index/getPostgresflexDatabase:getPostgresflexDatabase" }, + "stackit_postgresflex_flavors": { + "current": "stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", + "fields": { + "flavors": { + "maxItemsOne": false, + "elem": { + "fields": { + "storage_classes": { + "maxItemsOne": false + } + } + } + } + } + }, "stackit_postgresflex_instance": { "current": "stackit:index/getPostgresflexInstance:getPostgresflexInstance", "fields": { "acl": { "maxItemsOne": false + }, + "network": { + "fields": { + "acl": { + "maxItemsOne": false + } + } } } }, @@ -2010,6 +2100,24 @@ } } }, + "stackit_sqlserverflex_database": { + "current": "stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase" + }, + "stackit_sqlserverflex_flavors": { + "current": "stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", + "fields": { + "flavors": { + "maxItemsOne": false, + "elem": { + "fields": { + "storage_classes": { + "maxItemsOne": false + } + } + } + } + } + }, "stackit_sqlserverflex_instance": { "current": "stackit:index/getSqlserverflexInstance:getSqlserverflexInstance", "fields": { diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index 0a977bcd..8d5def89 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -63,6 +63,10 @@ "type": "string", "description": "Custom endpoint for the Application Load Balancer service" }, + "albWafCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Application Load Balancer Web Application Firewall service" + }, "authorizationCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Membership service" @@ -134,6 +138,10 @@ "type": "string", "description": "Custom endpoint for the MariaDB service" }, + "modelexperimentsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the AI Model Experiments service" + }, "modelservingCustomEndpoint": { "type": "string", "description": "Custom endpoint for the AI Model Serving service" @@ -182,11 +190,6 @@ "type": "string", "description": "Custom endpoint for the Redis service" }, - "region": { - "type": "string", - "description": "Region will be used as the default location for regional services. Not all services require a region, some are global", - "deprecationMessage": "This attribute is deprecated. Use 'default_region' instead" - }, "resourcemanagerCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Resource Manager service" @@ -275,6 +278,195 @@ } }, "types": { + "stackit:index/AlbWafCustomRuleGroupRule:AlbWafCustomRuleGroupRule": { + "properties": { + "behavior": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRuleBehavior:AlbWafCustomRuleGroupRuleBehavior" + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRuleCondition:AlbWafCustomRuleGroupRuleCondition" + } + }, + "description": { + "type": "string", + "description": "A clear description explaining the threat vector or criteria addressed by this rule.\n" + }, + "id": { + "type": "integer", + "description": "Backend auto-allocated unique rule ID within the valid 1-99999 threshold.\n" + } + }, + "type": "object", + "required": [ + "behavior", + "conditions" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "behavior", + "conditions", + "id" + ] + } + } + }, + "stackit:index/AlbWafCustomRuleGroupRuleBehavior:AlbWafCustomRuleGroupRuleBehavior": { + "properties": { + "action": { + "type": "string", + "description": "The protective stance action. ACTION_DENY forces a 403 status response code.\n" + }, + "log": { + "type": "boolean", + "description": "Determines whether an entry should be generated in the security ledger upon a rule hit.\n" + }, + "logMsg": { + "type": "string", + "description": "Custom notification message string mapped to underlying logdata contexts. Required if log is true.\n" + }, + "severity": { + "type": "string", + "description": "Severity classification metric used by internal analytics graphs.\n" + } + }, + "type": "object", + "required": [ + "action" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "action", + "log", + "logMsg", + "severity" + ] + } + } + }, + "stackit:index/AlbWafCustomRuleGroupRuleCondition:AlbWafCustomRuleGroupRuleCondition": { + "properties": { + "operator": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRuleConditionOperator:AlbWafCustomRuleGroupRuleConditionOperator", + "description": "The comparison logic executed against the transformed variable.\n" + }, + "transformations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered normalization steps applied before the operator runs.\n" + }, + "variable": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRuleConditionVariable:AlbWafCustomRuleGroupRuleConditionVariable", + "description": "The part of the HTTP transaction to inspect.\n" + } + }, + "type": "object", + "required": [ + "operator", + "variable" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "operator", + "transformations", + "variable" + ] + } + } + }, + "stackit:index/AlbWafCustomRuleGroupRuleConditionOperator:AlbWafCustomRuleGroupRuleConditionOperator": { + "properties": { + "type": { + "type": "string", + "description": "The operational evaluation type definition macro.\n" + }, + "value": { + "type": "string", + "description": "The text or rule regex pattern arguments applied inside the operator execution loop.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "stackit:index/AlbWafCustomRuleGroupRuleConditionVariable:AlbWafCustomRuleGroupRuleConditionVariable": { + "properties": { + "type": { + "type": "string", + "description": "The targeted validation engine variable macro.\n" + }, + "value": { + "type": "string", + "description": "Optional key element context for map variables (e.g., matching a 'Host' header key).\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "stackit:index/AlbWafManagedRuleSetGroups:AlbWafManagedRuleSetGroups": { + "properties": { + "description": { + "type": "string", + "description": "A description of what this group covers.\n" + }, + "groupName": { + "type": "string", + "description": "The name for the rule group.\n" + }, + "rules": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/stackit:index/AlbWafManagedRuleSetGroupsRules:AlbWafManagedRuleSetGroupsRules" + }, + "description": "Rules of the rule group.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "description", + "groupName", + "rules" + ] + } + } + }, + "stackit:index/AlbWafManagedRuleSetGroupsRules:AlbWafManagedRuleSetGroupsRules": { + "properties": { + "description": { + "type": "string", + "description": "A description of what this rule does.\n" + }, + "mode": { + "type": "string", + "description": "The current mode of the rule.\n" + }, + "severity": { + "type": "string", + "description": "Impact level.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "description", + "mode", + "severity" + ] + } + } + }, "stackit:index/ApplicationLoadBalancerError:ApplicationLoadBalancerError": { "properties": { "description": { @@ -819,10 +1011,25 @@ }, "description": "The configured countries where distribution of content is blocked\n" }, + "blockedIps": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list.\n" + }, + "defaultCacheDuration": { + "type": "string", + "description": "Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state.\n" + }, "forwardHostHeader": { "type": "boolean", "description": "Enable this allows the 'Host' header to be passed through to the origin.\n" }, + "monthlyLimitBytes": { + "type": "integer", + "description": "Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state.\n" + }, "optimizer": { "$ref": "#/types/stackit:index/CdnDistributionConfigOptimizer:CdnDistributionConfigOptimizer", "description": "Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience.\n" @@ -861,7 +1068,10 @@ "requiredOutputs": [ "backend", "blockedCountries", + "blockedIps", + "defaultCacheDuration", "forwardHostHeader", + "monthlyLimitBytes", "optimizer", "regions", "stripResponseCookies", @@ -2131,31 +2341,6 @@ "size" ] }, - "stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange": { - "properties": { - "networkRangeId": { - "type": "string", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "prefix": { - "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - } - }, - "type": "object", - "required": [ - "prefix" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "networkRangeId", - "prefix" - ] - } - } - }, "stackit:index/NetworkAreaRegionIpv4:NetworkAreaRegionIpv4": { "properties": { "defaultNameservers": { @@ -2829,6 +3014,70 @@ } } }, + "stackit:index/PostgresflexInstanceConnectionInfo:PostgresflexInstanceConnectionInfo": { + "properties": { + "write": { + "$ref": "#/types/stackit:index/PostgresflexInstanceConnectionInfoWrite:PostgresflexInstanceConnectionInfoWrite", + "description": "The DNS name and port in the instance overview.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "write" + ] + } + } + }, + "stackit:index/PostgresflexInstanceConnectionInfoWrite:PostgresflexInstanceConnectionInfoWrite": { + "properties": { + "host": { + "type": "string", + "description": "The host of the instance.\n" + }, + "port": { + "type": "integer", + "description": "The port of the instance.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "host", + "port" + ] + } + } + }, + "stackit:index/PostgresflexInstanceEncryption:PostgresflexInstanceEncryption": { + "properties": { + "kekKeyId": { + "type": "string", + "description": "The ID of the Key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyVersion": { + "type": "string", + "description": "Version of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyringId": { + "type": "string", + "description": "The ID of the keyring where the key is located within the STACKTI-KMS.\n" + }, + "serviceAccount": { + "type": "string", + "description": "Service-Account linked to the Key within the STACKIT-KMS.\n" + } + }, + "type": "object", + "required": [ + "kekKeyId", + "kekKeyVersion", + "kekKeyringId", + "serviceAccount" + ] + }, "stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor": { "properties": { "cpu": { @@ -2838,6 +3087,10 @@ "type": "string" }, "id": { + "type": "string", + "description": "Terraform's internal resource ID. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" + }, + "nodeType": { "type": "string" }, "ram": { @@ -2855,16 +3108,49 @@ "cpu", "description", "id", + "nodeType", "ram" ] } } }, + "stackit:index/PostgresflexInstanceNetwork:PostgresflexInstanceNetwork": { + "properties": { + "accessScope": { + "type": "string", + "description": "The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`.\n" + }, + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" + }, + "instanceAddress": { + "type": "string" + }, + "routerAddress": { + "type": "string" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "accessScope", + "acls", + "instanceAddress", + "routerAddress" + ] + } + } + }, "stackit:index/PostgresflexInstanceStorage:PostgresflexInstanceStorage": { "properties": { "class": { "type": "string", - "description": "The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n`bash\nstackit postgresflex options --storages --flavor-id FLAVOR_ID\n`\n- \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e (Number)\n" + "description": "The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n`bash\nstackit postgresflex flavor describe FLAVOR_ID\n`\n- \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e (Number)\n\\n\\n\\n\\n\n### Nested Schema for \u003cspan pulumi-lang-nodejs=\"`encryption`\" pulumi-lang-dotnet=\"`Encryption`\" pulumi-lang-go=\"`encryption`\" pulumi-lang-python=\"`encryption`\" pulumi-lang-yaml=\"`encryption`\" pulumi-lang-java=\"`encryption`\"\u003e`encryption`\u003c/span\u003e\nRequired:\n- \u003cspan pulumi-lang-nodejs=\"`kekKeyId`\" pulumi-lang-dotnet=\"`KekKeyId`\" pulumi-lang-go=\"`kekKeyId`\" pulumi-lang-python=\"`kek_key_id`\" pulumi-lang-yaml=\"`kekKeyId`\" pulumi-lang-java=\"`kekKeyId`\"\u003e`kekKeyId`\u003c/span\u003e (String) The ID of the Key within the STACKIT-KMS to use for the encryption.\n- \u003cspan pulumi-lang-nodejs=\"`kekKeyVersion`\" pulumi-lang-dotnet=\"`KekKeyVersion`\" pulumi-lang-go=\"`kekKeyVersion`\" pulumi-lang-python=\"`kek_key_version`\" pulumi-lang-yaml=\"`kekKeyVersion`\" pulumi-lang-java=\"`kekKeyVersion`\"\u003e`kekKeyVersion`\u003c/span\u003e (String) Version of the key within the STACKIT-KMS to use for the encryption.\n- \u003cspan pulumi-lang-nodejs=\"`kekKeyringId`\" pulumi-lang-dotnet=\"`KekKeyringId`\" pulumi-lang-go=\"`kekKeyringId`\" pulumi-lang-python=\"`kek_keyring_id`\" pulumi-lang-yaml=\"`kekKeyringId`\" pulumi-lang-java=\"`kekKeyringId`\"\u003e`kekKeyringId`\u003c/span\u003e (String) The ID of the keyring where the key is located within the STACKTI-KMS.\n- \u003cspan pulumi-lang-nodejs=\"`serviceAccount`\" pulumi-lang-dotnet=\"`ServiceAccount`\" pulumi-lang-go=\"`serviceAccount`\" pulumi-lang-python=\"`service_account`\" pulumi-lang-yaml=\"`serviceAccount`\" pulumi-lang-java=\"`serviceAccount`\"\u003e`serviceAccount`\u003c/span\u003e (String) Service-Account linked to the Key within the STACKIT-KMS.\n\\n\\n\\n\\n\n### Nested Schema for \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e\nRequired:\n- \u003cspan pulumi-lang-nodejs=\"`cpu`\" pulumi-lang-dotnet=\"`Cpu`\" pulumi-lang-go=\"`cpu`\" pulumi-lang-python=\"`cpu`\" pulumi-lang-yaml=\"`cpu`\" pulumi-lang-java=\"`cpu`\"\u003e`cpu`\u003c/span\u003e (Number)\n- \u003cspan pulumi-lang-nodejs=\"`ram`\" pulumi-lang-dotnet=\"`Ram`\" pulumi-lang-go=\"`ram`\" pulumi-lang-python=\"`ram`\" pulumi-lang-yaml=\"`ram`\" pulumi-lang-java=\"`ram`\"\u003e`ram`\u003c/span\u003e (Number)\nRead-Only:\n- \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\"\u003e`description`\u003c/span\u003e (String)\n- \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e (String)\n- \u003cspan pulumi-lang-nodejs=\"`nodeType`\" pulumi-lang-dotnet=\"`NodeType`\" pulumi-lang-go=\"`nodeType`\" pulumi-lang-python=\"`node_type`\" pulumi-lang-yaml=\"`nodeType`\" pulumi-lang-java=\"`nodeType`\"\u003e`nodeType`\u003c/span\u003e (String)\n\\n\\n\\n\\n\n### Nested Schema for \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e\nOptional:\n- \u003cspan pulumi-lang-nodejs=\"`accessScope`\" pulumi-lang-dotnet=\"`AccessScope`\" pulumi-lang-go=\"`accessScope`\" pulumi-lang-python=\"`access_scope`\" pulumi-lang-yaml=\"`accessScope`\" pulumi-lang-java=\"`accessScope`\"\u003e`accessScope`\u003c/span\u003e (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`.\n- \u003cspan pulumi-lang-nodejs=\"`acl`\" pulumi-lang-dotnet=\"`Acl`\" pulumi-lang-go=\"`acl`\" pulumi-lang-python=\"`acl`\" pulumi-lang-yaml=\"`acl`\" pulumi-lang-java=\"`acl`\"\u003e`acl`\u003c/span\u003e (List of String) The Access Control List (ACL) for the PostgresFlex instance.\nRead-Only:\n- \u003cspan pulumi-lang-nodejs=\"`instanceAddress`\" pulumi-lang-dotnet=\"`InstanceAddress`\" pulumi-lang-go=\"`instanceAddress`\" pulumi-lang-python=\"`instance_address`\" pulumi-lang-yaml=\"`instanceAddress`\" pulumi-lang-java=\"`instanceAddress`\"\u003e`instanceAddress`\u003c/span\u003e (String)\n- \u003cspan pulumi-lang-nodejs=\"`routerAddress`\" pulumi-lang-dotnet=\"`RouterAddress`\" pulumi-lang-go=\"`routerAddress`\" pulumi-lang-python=\"`router_address`\" pulumi-lang-yaml=\"`routerAddress`\" pulumi-lang-java=\"`routerAddress`\"\u003e`routerAddress`\u003c/span\u003e (String)\n\\n\\n\\n\\n\n### Nested Schema for \u003cspan pulumi-lang-nodejs=\"`connectionInfo`\" pulumi-lang-dotnet=\"`ConnectionInfo`\" pulumi-lang-go=\"`connectionInfo`\" pulumi-lang-python=\"`connection_info`\" pulumi-lang-yaml=\"`connectionInfo`\" pulumi-lang-java=\"`connectionInfo`\"\u003e`connectionInfo`\u003c/span\u003e\nRead-Only:\n- \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e (Attributes) The DNS name and port in the instance overview. \n\\n\\n\\n\\n\n### Nested Schema for `connection_info.write`\nRead-Only:\n- \u003cspan pulumi-lang-nodejs=\"`host`\" pulumi-lang-dotnet=\"`Host`\" pulumi-lang-go=\"`host`\" pulumi-lang-python=\"`host`\" pulumi-lang-yaml=\"`host`\" pulumi-lang-java=\"`host`\"\u003e`host`\u003c/span\u003e (String) The host of the instance.\n- \u003cspan pulumi-lang-nodejs=\"`port`\" pulumi-lang-dotnet=\"`Port`\" pulumi-lang-go=\"`port`\" pulumi-lang-python=\"`port`\" pulumi-lang-yaml=\"`port`\" pulumi-lang-java=\"`port`\"\u003e`port`\u003c/span\u003e (Number) The port of the instance.\n" }, "size": { "type": "integer" @@ -3424,12 +3710,32 @@ } } }, + "stackit:index/SkeClusterAudit:SkeClusterAudit": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable cluster audit log forwarding to a Telemetry Router.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "enabled" + ] + } + } + }, "stackit:index/SkeClusterExtensions:SkeClusterExtensions": { "properties": { "acl": { "$ref": "#/types/stackit:index/SkeClusterExtensionsAcl:SkeClusterExtensionsAcl", "description": "Cluster access control configuration.\n" }, + "applicationLoadBalancer": { + "$ref": "#/types/stackit:index/SkeClusterExtensionsApplicationLoadBalancer:SkeClusterExtensionsApplicationLoadBalancer", + "description": "Application Load Balancer extension.\n" + }, "argus": { "$ref": "#/types/stackit:index/SkeClusterExtensionsArgus:SkeClusterExtensionsArgus", "description": "A single argus block as defined below. This field is deprecated and will be removed 06 January 2026.\n", @@ -3444,7 +3750,14 @@ "description": "A single observability block as defined below.\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "applicationLoadBalancer" + ] + } + } }, "stackit:index/SkeClusterExtensionsAcl:SkeClusterExtensionsAcl": { "properties": { @@ -3466,6 +3779,22 @@ "enabled" ] }, + "stackit:index/SkeClusterExtensionsApplicationLoadBalancer:SkeClusterExtensionsApplicationLoadBalancer": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "enabled" + ] + } + } + }, "stackit:index/SkeClusterExtensionsArgus:SkeClusterExtensionsArgus": { "properties": { "argusInstanceId": { @@ -3488,6 +3817,10 @@ "type": "boolean", "description": "Flag to enable/disable DNS extensions\n" }, + "gatewayApi": { + "type": "boolean", + "description": "Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile.\n" + }, "zones": { "type": "array", "items": { @@ -3611,7 +3944,7 @@ "properties": { "accessScope": { "type": "string", - "description": "Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable!\n" + "description": "Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable!\n" } }, "type": "object", @@ -3763,6 +4096,54 @@ } } }, + "stackit:index/SqlserverflexDatabaseTimeouts:SqlserverflexDatabaseTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "read": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "stackit:index/SqlserverflexInstanceEncryption:SqlserverflexInstanceEncryption": { + "properties": { + "kekKeyId": { + "type": "string", + "description": "UUID of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyVersion": { + "type": "string", + "description": "Version of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyringId": { + "type": "string", + "description": "UUID of the keyring where the key is located within the STACKTI-KMS.\n" + }, + "serviceAccount": { + "type": "string", + "description": "Service-Account linked to the Key within the STACKIT-KMS.\n" + } + }, + "type": "object", + "required": [ + "kekKeyId", + "kekKeyVersion", + "kekKeyringId", + "serviceAccount" + ] + }, "stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor": { "properties": { "cpu": { @@ -3806,6 +4187,14 @@ "type": "string" }, "description": "List of IPV4 cidr.\n" + }, + "instanceAddress": { + "type": "string", + "description": "Address of this instance.\n" + }, + "routerAddress": { + "type": "string", + "description": "Address of the router.\n" } }, "type": "object", @@ -3813,7 +4202,9 @@ "nodejs": { "requiredOutputs": [ "accessScope", - "acls" + "acls", + "instanceAddress", + "routerAddress" ] } } @@ -3822,11 +4213,11 @@ "properties": { "edition": { "type": "string", - "deprecationMessage": "edition is deprecated and will be removed after January 2027." + "deprecationMessage": "edition is deprecated and will be removed after February 2027." }, "retentionDays": { "type": "integer", - "deprecationMessage": "retention_days is deprecated and will be removed after January 2027. Use instead \u003cspan pulumi-lang-nodejs=\"`retentionDays`\" pulumi-lang-dotnet=\"`RetentionDays`\" pulumi-lang-go=\"`retentionDays`\" pulumi-lang-python=\"`retention_days`\" pulumi-lang-yaml=\"`retentionDays`\" pulumi-lang-java=\"`retentionDays`\"\u003e`retentionDays`\u003c/span\u003e from root." + "deprecationMessage": "retention_days is deprecated and will be removed after February 2027. Use instead \u003cspan pulumi-lang-nodejs=\"`retentionDays`\" pulumi-lang-dotnet=\"`RetentionDays`\" pulumi-lang-go=\"`retentionDays`\" pulumi-lang-python=\"`retention_days`\" pulumi-lang-yaml=\"`retentionDays`\" pulumi-lang-java=\"`retentionDays`\"\u003e`retentionDays`\u003c/span\u003e from root." } }, "type": "object", @@ -3843,7 +4234,7 @@ "properties": { "class": { "type": "string", - "description": "The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n`bash\nstackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID\n` Will be required in the future. Set a value to prevent breaking changes.\n" + "description": "The storage class. You can list available storage classes for a the according flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e. Will be required in the future. Set a value to prevent breaking changes.\n" }, "size": { "type": "integer", @@ -4601,6 +4992,202 @@ } } }, + "stackit:index/getAlbWafCustomRuleGroupRule:getAlbWafCustomRuleGroupRule": { + "properties": { + "behavior": { + "$ref": "#/types/stackit:index/getAlbWafCustomRuleGroupRuleBehavior:getAlbWafCustomRuleGroupRuleBehavior" + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getAlbWafCustomRuleGroupRuleCondition:getAlbWafCustomRuleGroupRuleCondition" + } + }, + "description": { + "type": "string", + "description": "A clear description explaining the threat vector or criteria addressed by this rule.\n" + }, + "id": { + "type": "integer", + "description": "Backend auto-allocated unique rule ID within the valid 1-99999 threshold.\n" + } + }, + "type": "object", + "required": [ + "behavior", + "conditions", + "description", + "id" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getAlbWafCustomRuleGroupRuleBehavior:getAlbWafCustomRuleGroupRuleBehavior": { + "properties": { + "action": { + "type": "string", + "description": "The protective stance action. ACTION_DENY forces a 403 status response code.\n" + }, + "log": { + "type": "boolean", + "description": "Determines whether an entry should be generated in the security ledger upon a rule hit.\n" + }, + "logMsg": { + "type": "string", + "description": "Custom notification message string mapped to underlying logdata contexts. Required if log is true.\n" + }, + "severity": { + "type": "string", + "description": "Severity classification metric used by internal analytics graphs.\n" + } + }, + "type": "object", + "required": [ + "action", + "log", + "logMsg", + "severity" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getAlbWafCustomRuleGroupRuleCondition:getAlbWafCustomRuleGroupRuleCondition": { + "properties": { + "operator": { + "$ref": "#/types/stackit:index/getAlbWafCustomRuleGroupRuleConditionOperator:getAlbWafCustomRuleGroupRuleConditionOperator", + "description": "The comparison logic executed against the transformed variable.\n" + }, + "transformations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered normalization steps applied before the operator runs.\n" + }, + "variable": { + "$ref": "#/types/stackit:index/getAlbWafCustomRuleGroupRuleConditionVariable:getAlbWafCustomRuleGroupRuleConditionVariable", + "description": "The part of the HTTP transaction to inspect.\n" + } + }, + "type": "object", + "required": [ + "operator", + "transformations", + "variable" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getAlbWafCustomRuleGroupRuleConditionOperator:getAlbWafCustomRuleGroupRuleConditionOperator": { + "properties": { + "type": { + "type": "string", + "description": "The operational evaluation type definition macro.\n" + }, + "value": { + "type": "string", + "description": "The text or rule regex pattern arguments applied inside the operator execution loop.\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getAlbWafCustomRuleGroupRuleConditionVariable:getAlbWafCustomRuleGroupRuleConditionVariable": { + "properties": { + "type": { + "type": "string", + "description": "The targeted validation engine variable macro.\n" + }, + "value": { + "type": "string", + "description": "Optional key element context for map variables (e.g., matching a 'Host' header key).\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getAlbWafManagedRuleSetGroups:getAlbWafManagedRuleSetGroups": { + "properties": { + "description": { + "type": "string", + "description": "A description of what this group covers.\n" + }, + "groupName": { + "type": "string", + "description": "The name for the rule group.\n" + }, + "rules": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/stackit:index/getAlbWafManagedRuleSetGroupsRules:getAlbWafManagedRuleSetGroupsRules" + }, + "description": "Rules of the rule group.\n" + } + }, + "type": "object", + "required": [ + "description", + "groupName", + "rules" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getAlbWafManagedRuleSetGroupsRules:getAlbWafManagedRuleSetGroupsRules": { + "properties": { + "description": { + "type": "string", + "description": "A description of what this rule does.\n" + }, + "mode": { + "type": "string", + "description": "The current mode of the rule.\n" + }, + "severity": { + "type": "string", + "description": "Impact level.\n" + } + }, + "type": "object", + "required": [ + "description", + "mode", + "severity" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getApplicationLoadBalancerError:getApplicationLoadBalancerError": { "properties": { "description": { @@ -5252,10 +5839,25 @@ }, "description": "The configured countries where distribution of content is blocked\n" }, + "blockedIps": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list.\n" + }, + "defaultCacheDuration": { + "type": "string", + "description": "Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state.\n" + }, "forwardHostHeader": { "type": "boolean", "description": "Enable this allows the 'Host' header to be passed through to the origin.\n" }, + "monthlyLimitBytes": { + "type": "integer", + "description": "Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state.\n" + }, "optimizer": { "$ref": "#/types/stackit:index/getCdnDistributionConfigOptimizer:getCdnDistributionConfigOptimizer", "description": "Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience.\n" @@ -5287,7 +5889,10 @@ "type": "object", "required": [ "backend", + "blockedIps", + "defaultCacheDuration", "forwardHostHeader", + "monthlyLimitBytes", "optimizer", "redirects", "regions", @@ -6723,26 +7328,6 @@ } } }, - "stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange": { - "properties": { - "networkRangeId": { - "type": "string" - }, - "prefix": { - "type": "string" - } - }, - "type": "object", - "required": [ - "networkRangeId", - "prefix" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } - }, "stackit:index/getNetworkAreaRegionIpv4:getNetworkAreaRegionIpv4": { "properties": { "defaultNameservers": { @@ -7476,6 +8061,164 @@ } } }, + "stackit:index/getPostgresflexFlavorsFlavor:getPostgresflexFlavorsFlavor": { + "properties": { + "cpu": { + "type": "integer", + "description": "CPU count of the instance.\n" + }, + "description": { + "type": "string", + "description": "Flavor description.\n" + }, + "id": { + "type": "string", + "description": "Flavor ID.\n" + }, + "maxGb": { + "type": "integer", + "description": "Maximum storage capacity available for the flavor in GB.\n" + }, + "memory": { + "type": "integer", + "description": "Memory of the instance in GiB.\n" + }, + "minGb": { + "type": "integer", + "description": "Minimum storage capacity available for the flavor in GB.\n" + }, + "nodeType": { + "type": "string", + "description": "Node type of the flavor, either single or replica.\n" + }, + "storageClasses": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getPostgresflexFlavorsFlavorStorageClass:getPostgresflexFlavorsFlavorStorageClass" + }, + "description": "Storage classes available for the flavor.\n" + } + }, + "type": "object", + "required": [ + "cpu", + "description", + "id", + "maxGb", + "memory", + "minGb", + "nodeType", + "storageClasses" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getPostgresflexFlavorsFlavorStorageClass:getPostgresflexFlavorsFlavorStorageClass": { + "properties": { + "class": { + "type": "string", + "description": "Storage class.\n" + }, + "maxIoPerSec": { + "type": "integer", + "description": "Maximum I/O operations per second.\n" + }, + "maxThroughInMb": { + "type": "integer", + "description": "Maximum throughput in MB per second.\n" + } + }, + "type": "object", + "required": [ + "class", + "maxIoPerSec", + "maxThroughInMb" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getPostgresflexFlavorsTimeouts:getPostgresflexFlavorsTimeouts": { + "properties": { + "read": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "stackit:index/getPostgresflexInstanceConnectionInfo:getPostgresflexInstanceConnectionInfo": { + "properties": { + "write": { + "$ref": "#/types/stackit:index/getPostgresflexInstanceConnectionInfoWrite:getPostgresflexInstanceConnectionInfoWrite", + "description": "The DNS name and port in the instance overview.\n" + } + }, + "type": "object", + "required": [ + "write" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getPostgresflexInstanceConnectionInfoWrite:getPostgresflexInstanceConnectionInfoWrite": { + "properties": { + "host": { + "type": "string", + "description": "The host of the instance.\n" + }, + "port": { + "type": "integer", + "description": "The port of the instance.\n" + } + }, + "type": "object", + "required": [ + "host", + "port" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getPostgresflexInstanceEncryption:getPostgresflexInstanceEncryption": { + "properties": { + "kekKeyId": { + "type": "string" + }, + "kekKeyVersion": { + "type": "string" + }, + "kekKeyringId": { + "type": "string" + }, + "serviceAccount": { + "type": "string" + } + }, + "type": "object", + "required": [ + "kekKeyId", + "kekKeyVersion", + "kekKeyringId", + "serviceAccount" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor": { "properties": { "cpu": { @@ -7487,6 +8230,9 @@ "id": { "type": "string" }, + "nodeType": { + "type": "string" + }, "ram": { "type": "integer" } @@ -7496,6 +8242,7 @@ "cpu", "description", "id", + "nodeType", "ram" ], "language": { @@ -7504,6 +8251,39 @@ } } }, + "stackit:index/getPostgresflexInstanceNetwork:getPostgresflexInstanceNetwork": { + "properties": { + "accessScope": { + "type": "string", + "description": "The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`.\n" + }, + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPV4 cidr.\n" + }, + "instanceAddress": { + "type": "string" + }, + "routerAddress": { + "type": "string" + } + }, + "type": "object", + "required": [ + "accessScope", + "acls", + "instanceAddress", + "routerAddress" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getPostgresflexInstanceStorage:getPostgresflexInstanceStorage": { "properties": { "class": { @@ -8553,12 +9333,33 @@ } } }, + "stackit:index/getSkeClusterAudit:getSkeClusterAudit": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable cluster audit log forwarding to a Telemetry Router.\n" + } + }, + "type": "object", + "required": [ + "enabled" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getSkeClusterExtensions:getSkeClusterExtensions": { "properties": { "acl": { "$ref": "#/types/stackit:index/getSkeClusterExtensionsAcl:getSkeClusterExtensionsAcl", "description": "Cluster access control configuration\n" }, + "applicationLoadBalancer": { + "$ref": "#/types/stackit:index/getSkeClusterExtensionsApplicationLoadBalancer:getSkeClusterExtensionsApplicationLoadBalancer", + "description": "Application Load Balancer extension.\n" + }, "argus": { "$ref": "#/types/stackit:index/getSkeClusterExtensionsArgus:getSkeClusterExtensionsArgus", "description": "A single argus block as defined below. This field is deprecated and will be removed 06 January 2026.\n", @@ -8576,6 +9377,7 @@ "type": "object", "required": [ "acl", + "applicationLoadBalancer", "argus", "dns", "observability" @@ -8611,6 +9413,23 @@ } } }, + "stackit:index/getSkeClusterExtensionsApplicationLoadBalancer:getSkeClusterExtensionsApplicationLoadBalancer": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables the application load balancer extension.\n" + } + }, + "type": "object", + "required": [ + "enabled" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getSkeClusterExtensionsArgus:getSkeClusterExtensionsArgus": { "properties": { "argusInstanceId": { @@ -8639,6 +9458,10 @@ "type": "boolean", "description": "Flag to enable/disable DNS extensions\n" }, + "gatewayApi": { + "type": "boolean", + "description": "Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile.\n" + }, "zones": { "type": "array", "items": { @@ -8650,6 +9473,7 @@ "type": "object", "required": [ "enabled", + "gatewayApi", "zones" ], "language": { @@ -9006,6 +9830,138 @@ } } }, + "stackit:index/getSqlserverflexDatabaseTimeouts:getSqlserverflexDatabaseTimeouts": { + "properties": { + "read": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "stackit:index/getSqlserverflexFlavorsFlavor:getSqlserverflexFlavorsFlavor": { + "properties": { + "cpu": { + "type": "integer", + "description": "The CPU count of the instance.\n" + }, + "description": { + "type": "string", + "description": "Description of the flavor.\n" + }, + "id": { + "type": "string", + "description": "ID of the flavor.\n" + }, + "maxGb": { + "type": "integer", + "description": "Maximum storage, which can be ordered for the flavor in Gigabyte.\n" + }, + "memory": { + "type": "integer", + "description": "The memory (Gibibyte) of the instance.\n" + }, + "minGb": { + "type": "integer", + "description": "Minimum storage, which is required to order in Gigabyte.\n" + }, + "nodeType": { + "type": "string", + "description": "Defines the node type (either single or HA).\n" + }, + "storageClasses": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSqlserverflexFlavorsFlavorStorageClass:getSqlserverflexFlavorsFlavorStorageClass" + }, + "description": "Storage classes available for the flavor.\n" + } + }, + "type": "object", + "required": [ + "cpu", + "description", + "id", + "maxGb", + "memory", + "minGb", + "nodeType", + "storageClasses" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getSqlserverflexFlavorsFlavorStorageClass:getSqlserverflexFlavorsFlavorStorageClass": { + "properties": { + "class": { + "type": "string", + "description": "Class of the instance.\n" + }, + "maxIoPerSec": { + "type": "integer", + "description": "Maximum I/O per second.\n" + }, + "maxThroughInMb": { + "type": "integer", + "description": "Maximum throughput in Megabyte.\n" + } + }, + "type": "object", + "required": [ + "class", + "maxIoPerSec", + "maxThroughInMb" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getSqlserverflexFlavorsTimeouts:getSqlserverflexFlavorsTimeouts": { + "properties": { + "read": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "stackit:index/getSqlserverflexInstanceEncryption:getSqlserverflexInstanceEncryption": { + "properties": { + "kekKeyId": { + "type": "string", + "description": "UUID of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyVersion": { + "type": "string", + "description": "Version of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyringId": { + "type": "string", + "description": "UUID of the keyring where the key is located within the STACKTI-KMS.\n" + }, + "serviceAccount": { + "type": "string", + "description": "Service-Account linked to the Key within the STACKIT-KMS.\n" + } + }, + "type": "object", + "required": [ + "kekKeyId", + "kekKeyVersion", + "kekKeyringId", + "serviceAccount" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor": { "properties": { "cpu": { @@ -9046,11 +10002,21 @@ "type": "string" }, "description": "List of IPV4 cidr.\n" + }, + "instanceAddress": { + "type": "string", + "description": "Address of this instance.\n" + }, + "routerAddress": { + "type": "string", + "description": "Address of the router.\n" } }, "type": "object", "required": [ - "acls" + "acls", + "instanceAddress", + "routerAddress" ], "language": { "nodejs": { @@ -9061,10 +10027,12 @@ "stackit:index/getSqlserverflexInstanceOptions:getSqlserverflexInstanceOptions": { "properties": { "edition": { - "type": "string" + "type": "string", + "deprecationMessage": "edition is deprecated and will be removed after February 2027." }, "retentionDays": { - "type": "integer" + "type": "integer", + "deprecationMessage": "retention_days is deprecated and will be removed after February 2027. Use instead \u003cspan pulumi-lang-nodejs=\"`retentionDays`\" pulumi-lang-dotnet=\"`RetentionDays`\" pulumi-lang-go=\"`retentionDays`\" pulumi-lang-python=\"`retention_days`\" pulumi-lang-yaml=\"`retentionDays`\" pulumi-lang-java=\"`retentionDays`\"\u003e`retentionDays`\u003c/span\u003e from root." } }, "type": "object", @@ -9826,224 +10794,9 @@ "type": "string", "description": "Custom endpoint for the Application Load Balancer service" }, - "authorizationCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Membership service" - }, - "cdnCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the CDN service" - }, - "credentialsPath": { - "type": "string", - "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`." - }, - "defaultRegion": { - "type": "string", - "description": "Region will be used as the default location for regional services. Not all services require a region, some are global" - }, - "dnsCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the DNS service" - }, - "dremioCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Dremio service" - }, - "edgecloudCustomEndpoint": { + "albWafCustomEndpoint": { "type": "string", - "description": "Custom endpoint for the Edge Cloud service" - }, - "enableBetaResources": { - "type": "boolean", - "description": "Enable beta resources. Default is false." - }, - "experiments": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, network, routing-tables, vpc" - }, - "gitCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Git service" - }, - "iaasCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the IaaS service" - }, - "intakeCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Intake service" - }, - "kmsCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the KMS service" - }, - "loadbalancerCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Load Balancer service" - }, - "logmeCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the LogMe service" - }, - "logsCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Logs service" - }, - "mariadbCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the MariaDB service" - }, - "modelservingCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the AI Model Serving service" - }, - "mongodbflexCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the MongoDB Flex service" - }, - "objectstorageCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Object Storage service" - }, - "observabilityCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Observability service" - }, - "oidcRequestToken": { - "type": "string", - "description": "The bearer token for the request to the OIDC provider. For use when authenticating as a Service Account using OpenID Connect." - }, - "oidcRequestUrl": { - "type": "string", - "description": "The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Account using OpenID Connect." - }, - "opensearchCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the OpenSearch service" - }, - "postgresflexCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the PostgresFlex service" - }, - "privateKey": { - "type": "string", - "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key." - }, - "privateKeyPath": { - "type": "string", - "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key." - }, - "rabbitmqCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the RabbitMQ service" - }, - "redisCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Redis service" - }, - "region": { - "type": "string", - "description": "Region will be used as the default location for regional services. Not all services require a region, some are global", - "deprecationMessage": "This attribute is deprecated. Use 'default_region' instead" - }, - "resourcemanagerCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Resource Manager service" - }, - "scfCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Cloud Foundry (SCF) service" - }, - "secretsmanagerCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Secrets Manager service" - }, - "serverBackupCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Server Backup service" - }, - "serverUpdateCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Server Update service" - }, - "serviceAccountCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Service Account service" - }, - "serviceAccountEmail": { - "type": "string", - "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource. This value is required using OpenID Connect authentication." - }, - "serviceAccountFederatedToken": { - "type": "string", - "description": "The OIDC ID token for use when authenticating as a Service Account using OpenID Connect." - }, - "serviceAccountFederatedTokenPath": { - "type": "string", - "description": "Path for workload identity assertion. It can also be set using the environment variable STACKIT_FEDERATED_TOKEN_FILE." - }, - "serviceAccountKey": { - "type": "string", - "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations." - }, - "serviceAccountKeyPath": { - "type": "string", - "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations." - }, - "serviceAccountToken": { - "type": "string", - "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.", - "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`serviceAccountKey`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`serviceAccountKeyPath`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/" - }, - "serviceEnablementCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Service Enablement API" - }, - "sfsCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Stackit Filestorage API" - }, - "skeCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Kubernetes Engine (SKE) service" - }, - "sqlserverflexCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the SQL Server Flex service" - }, - "telemetrylinkCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Telemetry Link service" - }, - "telemetryrouterCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Telemetry Router service" - }, - "tokenCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow" - }, - "useOidc": { - "type": "boolean", - "description": "Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e." - }, - "vpnCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the VPN service" - } - }, - "inputProperties": { - "albCertificatesCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Application Load Balancer TLS Certificate service" - }, - "albCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Application Load Balancer service" + "description": "Custom endpoint for the Application Load Balancer Web Application Firewall service" }, "authorizationCustomEndpoint": { "type": "string", @@ -10116,6 +10869,10 @@ "type": "string", "description": "Custom endpoint for the MariaDB service" }, + "modelexperimentsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the AI Model Experiments service" + }, "modelservingCustomEndpoint": { "type": "string", "description": "Custom endpoint for the AI Model Serving service" @@ -10164,10 +10921,227 @@ "type": "string", "description": "Custom endpoint for the Redis service" }, - "region": { + "resourcemanagerCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Resource Manager service" + }, + "scfCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Cloud Foundry (SCF) service" + }, + "secretsmanagerCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Secrets Manager service" + }, + "serverBackupCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Server Backup service" + }, + "serverUpdateCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Server Update service" + }, + "serviceAccountCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Service Account service" + }, + "serviceAccountEmail": { + "type": "string", + "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource. This value is required using OpenID Connect authentication." + }, + "serviceAccountFederatedToken": { + "type": "string", + "description": "The OIDC ID token for use when authenticating as a Service Account using OpenID Connect." + }, + "serviceAccountFederatedTokenPath": { + "type": "string", + "description": "Path for workload identity assertion. It can also be set using the environment variable STACKIT_FEDERATED_TOKEN_FILE." + }, + "serviceAccountKey": { + "type": "string", + "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations." + }, + "serviceAccountKeyPath": { + "type": "string", + "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations." + }, + "serviceAccountToken": { + "type": "string", + "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.", + "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`serviceAccountKey`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`serviceAccountKeyPath`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/" + }, + "serviceEnablementCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Service Enablement API" + }, + "sfsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Stackit Filestorage API" + }, + "skeCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Kubernetes Engine (SKE) service" + }, + "sqlserverflexCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the SQL Server Flex service" + }, + "telemetrylinkCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Link service" + }, + "telemetryrouterCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Router service" + }, + "tokenCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow" + }, + "useOidc": { + "type": "boolean", + "description": "Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e." + }, + "vpnCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the VPN service" + } + }, + "inputProperties": { + "albCertificatesCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Application Load Balancer TLS Certificate service" + }, + "albCustomEndpoint": { "type": "string", - "description": "Region will be used as the default location for regional services. Not all services require a region, some are global", - "deprecationMessage": "This attribute is deprecated. Use 'default_region' instead" + "description": "Custom endpoint for the Application Load Balancer service" + }, + "albWafCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Application Load Balancer Web Application Firewall service" + }, + "authorizationCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Membership service" + }, + "cdnCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the CDN service" + }, + "credentialsPath": { + "type": "string", + "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`." + }, + "defaultRegion": { + "type": "string", + "description": "Region will be used as the default location for regional services. Not all services require a region, some are global" + }, + "dnsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the DNS service" + }, + "dremioCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Dremio service" + }, + "edgecloudCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Edge Cloud service" + }, + "enableBetaResources": { + "type": "boolean", + "description": "Enable beta resources. Default is false." + }, + "experiments": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, network, routing-tables, vpc" + }, + "gitCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Git service" + }, + "iaasCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the IaaS service" + }, + "intakeCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Intake service" + }, + "kmsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the KMS service" + }, + "loadbalancerCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Load Balancer service" + }, + "logmeCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the LogMe service" + }, + "logsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Logs service" + }, + "mariadbCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the MariaDB service" + }, + "modelexperimentsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the AI Model Experiments service" + }, + "modelservingCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the AI Model Serving service" + }, + "mongodbflexCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the MongoDB Flex service" + }, + "objectstorageCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Object Storage service" + }, + "observabilityCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Observability service" + }, + "oidcRequestToken": { + "type": "string", + "description": "The bearer token for the request to the OIDC provider. For use when authenticating as a Service Account using OpenID Connect." + }, + "oidcRequestUrl": { + "type": "string", + "description": "The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Account using OpenID Connect." + }, + "opensearchCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the OpenSearch service" + }, + "postgresflexCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the PostgresFlex service" + }, + "privateKey": { + "type": "string", + "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key." + }, + "privateKeyPath": { + "type": "string", + "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key." + }, + "rabbitmqCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the RabbitMQ service" + }, + "redisCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Redis service" }, "resourcemanagerCustomEndpoint": { "type": "string", @@ -10452,6 +11426,283 @@ "type": "object" } }, + "stackit:index/albWafConfiguration:AlbWafConfiguration": { + "description": "ALB WAF Custom Rule Group resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_alb_waf_managed_rule_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-managed-rule-set\"\n type = \"TYPE_OWASP_CRS\"\n}\n\nresource \"stackit_alb_waf_custom_rule_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-custom-rule-group\"\n rules = [\n {\n behavior = {\n action = \"ACTION_DENY\"\n }\n conditions = [\n {\n operator = {\n type = \"OPERATOR_VALIDATE_UTF8_ENCODING\"\n }\n variable = {\n type = \"VARIABLE_REQUEST_HEADERS\"\n }\n }\n ]\n }\n ]\n}\n\nresource \"stackit_alb_waf_configuration\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-waf-configuration\"\n\n managed_rule_set_name = stackit_alb_waf_managed_rule_set.example.name\n custom_rule_group_name = stackit_alb_waf_custom_rule_group.example.name\n\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n", + "properties": { + "customRuleGroupName": { + "type": "string", + "description": "Name of the custom rule group for this WAF Configuration.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "User-defined metadata as key-value pairs. Should not exceed 64 entries.\n" + }, + "managedRuleSetName": { + "type": "string", + "description": "Name of the managed rule set configuration for this WAF Configuration.\n" + }, + "name": { + "type": "string", + "description": "The name of the WAF Configuration.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the WAF Configuration is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + } + }, + "required": [ + "name", + "projectId", + "region" + ], + "inputProperties": { + "customRuleGroupName": { + "type": "string", + "description": "Name of the custom rule group for this WAF Configuration.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "User-defined metadata as key-value pairs. Should not exceed 64 entries.\n" + }, + "managedRuleSetName": { + "type": "string", + "description": "Name of the managed rule set configuration for this WAF Configuration.\n" + }, + "name": { + "type": "string", + "description": "The name of the WAF Configuration.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the WAF Configuration is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlbWafConfiguration resources.\n", + "properties": { + "customRuleGroupName": { + "type": "string", + "description": "Name of the custom rule group for this WAF Configuration.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "User-defined metadata as key-value pairs. Should not exceed 64 entries.\n" + }, + "managedRuleSetName": { + "type": "string", + "description": "Name of the managed rule set configuration for this WAF Configuration.\n" + }, + "name": { + "type": "string", + "description": "The name of the WAF Configuration.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the WAF Configuration is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + } + }, + "type": "object" + } + }, + "stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup": { + "description": "ALB WAF Custom Rule Group resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_alb_waf_custom_rule_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-custom-rule-group\"\n rules = [\n {\n description = \"My custom rule group\"\n behavior = {\n action = \"ACTION_DENY\"\n log = true\n log_msg = \"Some custom notification message string\"\n }\n conditions = [\n {\n operator = {\n type = \"OPERATOR_BEGINS_WITH\"\n value = \"allowed objects\"\n }\n transformations = [\n \"TRANSFORMATION_LOWERCASE\"\n ]\n variable = {\n type = \"VARIABLE_REQUEST_HEADERS\"\n value = \"Host\"\n }\n }\n ]\n }\n ]\n}\n```\n", + "properties": { + "name": { + "type": "string", + "description": "Custom rule group configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Custom Rule Group.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRule:AlbWafCustomRuleGroupRule" + }, + "description": "Enriched rules containing auto-generated IDs and computed severity values.\n" + } + }, + "required": [ + "name", + "projectId", + "region", + "rules" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Custom rule group configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Custom Rule Group.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRule:AlbWafCustomRuleGroupRule" + }, + "description": "Enriched rules containing auto-generated IDs and computed severity values.\n" + } + }, + "requiredInputs": [ + "projectId", + "rules" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlbWafCustomRuleGroup resources.\n", + "properties": { + "name": { + "type": "string", + "description": "Custom rule group configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Custom Rule Group.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/AlbWafCustomRuleGroupRule:AlbWafCustomRuleGroupRule" + }, + "description": "Enriched rules containing auto-generated IDs and computed severity values.\n" + } + }, + "type": "object" + } + }, + "stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet": { + "description": "ALB WAF Managed Rule Set resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_alb_waf_managed_rule_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-managed-rule-set\"\n type = \"TYPE_OWASP_CRS\"\n}\n```\n", + "properties": { + "groups": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/stackit:index/AlbWafManagedRuleSetGroups:AlbWafManagedRuleSetGroups" + }, + "description": "Inventory of all available Managed Rule Set groups and their current configuration.\n" + }, + "name": { + "type": "string", + "description": "Managed Rule Set configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Managed Rule Set.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "type": { + "type": "string", + "description": "Type of the Managed Rule Set.\n" + }, + "version": { + "type": "string", + "description": "Managed Rule Set version.\n" + } + }, + "required": [ + "groups", + "name", + "projectId", + "region", + "type", + "version" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Managed Rule Set configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Managed Rule Set.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "type": { + "type": "string", + "description": "Type of the Managed Rule Set.\n" + } + }, + "requiredInputs": [ + "projectId", + "type" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AlbWafManagedRuleSet resources.\n", + "properties": { + "groups": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/stackit:index/AlbWafManagedRuleSetGroups:AlbWafManagedRuleSetGroups" + }, + "description": "Inventory of all available Managed Rule Set groups and their current configuration.\n" + }, + "name": { + "type": "string", + "description": "Managed Rule Set configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Managed Rule Set.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "type": { + "type": "string", + "description": "Type of the Managed Rule Set.\n" + }, + "version": { + "type": "string", + "description": "Managed Rule Set version.\n" + } + }, + "type": "object" + } + }, "stackit:index/applicationLoadBalancer:ApplicationLoadBalancer": { "description": "## Setting up supporting infrastructure\n\n\nThe example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.\n\n## Example Usage\n\n```terraform\nvariable \"project_id\" {\n description = \"The STACKIT Project ID\"\n type = string\n default = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nvariable \"image_id\" {\n description = \"A valid Debian 12 Image ID available in all projects\"\n type = string\n default = \"d333affd-9f00-446d-978f-524cb0384360\"\n}\n\nvariable \"availability_zone\" {\n description = \"An availability zone\"\n type = string\n default = \"eu01-1\"\n}\n\nvariable \"machine_type\" {\n description = \"The machine flavor with 2GB of RAM and 1 core\"\n type = string\n default = \"c2i.1\"\n}\n\nvariable \"label_key\" {\n description = \"An optional label key\"\n type = string\n default = \"key\"\n}\n\nvariable \"label_value\" {\n description = \"An optional label value\"\n type = string\n default = \"value\"\n}\n\n# Create a network\nresource \"stackit_network\" \"network\" {\n project_id = var.project_id\n name = \"example-network\"\n ipv4_nameservers = [\"1.1.1.1\"]\n ipv4_prefix = \"192.168.2.0/25\"\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = var.project_id\n network_id = stackit_network.network.network_id\n lifecycle {\n ignore_changes = [\n security_group_ids,\n ]\n }\n}\n\n# Create a key pair for accessing the target server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a target server instance\nresource \"stackit_server\" \"server\" {\n project_id = var.project_id\n name = \"example-server\"\n machine_type = var.machine_type\n keypair_name = stackit_key_pair.keypair.name\n availability_zone = var.availability_zone\n\n boot_volume = {\n size = 20\n source_type = \"image\"\n source_id = var.image_id\n delete_on_termination = true\n }\n\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n\n # Explicit dependencies to ensure ordering\n depends_on = [\n stackit_network.network,\n stackit_key_pair.keypair,\n stackit_network_interface.nic\n ]\n}\n\n# Create example credentials for observability of the ALB\n# Create real credentials in your STACKIT observability\nresource \"stackit_loadbalancer_observability_credential\" \"observability\" {\n project_id = var.project_id\n display_name = \"my-cred\"\n password = \"password\"\n username = \"username\"\n}\n\n# Create a RAS key pair\nresource \"tls_private_key\" \"example\" {\n algorithm = \"RSA\"\n rsa_bits = 2048\n}\n\n# Create a TLS certificate\nresource \"tls_self_signed_cert\" \"example\" {\n private_key_pem = tls_private_key.example.private_key_pem\n\n subject {\n common_name = \"localhost\"\n organization = \"STACKIT Test\"\n }\n\n validity_period_hours = 12\n\n allowed_uses = [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ]\n}\n\n# Create a ALB certificate\nresource \"stackit_alb_certificate\" \"certificate\" {\n project_id = var.project_id\n name = \"example-certificate\"\n private_key = tls_private_key.example.private_key_pem\n public_key = tls_self_signed_cert.example.cert_pem\n}\n\n# Create a Application Load Balancer\nresource \"stackit_application_load_balancer\" \"example\" {\n project_id = var.project_id\n region = \"eu01\"\n name = \"example-load-balancer\"\n plan_id = \"p10\"\n // Hint: Automatically create an IP for the ALB lifecycle by setting ephemeral_address = true or use:\n // external_address = \"124.124.124.124\"\n labels = {\n (var.label_key) = var.label_value\n }\n listeners = [{\n name = \"my-listener\"\n port = 443\n http = {\n hosts = [{\n host = \"*\"\n rules = [{\n target_pool = \"my-target-pool\"\n web_socket = true\n query_parameters = [{\n name = \"my-query-key\"\n exact_match = \"my-query-value\"\n }]\n headers = [{\n name = \"my-header-key\"\n exact_match = \"my-header-value\"\n }]\n path = {\n prefix = \"/path\"\n }\n cookie_persistence = {\n name = \"my-cookie\"\n ttl = \"60s\"\n }\n }]\n }]\n }\n https = {\n certificate_config = {\n certificate_ids = [\n stackit_alb_certificate.certificate.cert_id\n ]\n }\n }\n protocol = \"PROTOCOL_HTTPS\"\n # Currently no TF provider available, needs to be added with API\n # https://docs.api.stackit.cloud/documentation/alb-waf/version/v1alpha\n waf_config_name = \"my-waf-config\"\n }\n ]\n networks = [\n {\n network_id = stackit_network.network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n options = {\n access_control = {\n allowed_source_ranges = [\"123.123.123.123/24\", \"12.12.12.12/24\"]\n }\n ephemeral_address = true\n private_network_only = false\n observability = {\n logs = {\n credentials_ref = stackit_loadbalancer_observability_credential.observability.credentials_ref\n push_url = \"https://logs.stackit\u003cid\u003e.argus.eu01.stackit.cloud/instances/\u003cinstance-id\u003e/loki/api/v1/push\"\n }\n metrics = {\n credentials_ref = stackit_loadbalancer_observability_credential.observability.credentials_ref\n push_url = \"https://push.metrics.stackit\u003cid\u003e.argus.eu01.stackit.cloud/instances/\u003cinstance-id\u003e/api/v1/receive\"\n }\n }\n }\n target_pools = [\n {\n name = \"my-target-pool\"\n active_health_check = {\n interval = \"0.500s\"\n interval_jitter = \"0.010s\"\n timeout = \"1s\"\n healthy_threshold = \"5\"\n unhealthy_threshold = \"3\"\n http_health_checks = {\n ok_status = [\"200\", \"201\"]\n path = \"/healthy\"\n }\n }\n target_port = 80\n targets = [\n {\n display_name = \"my-target\"\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n tls_config = {\n enabled = true\n skip_certificate_validation = false\n custom_ca = chomp(file(\"path/to/PEM_formated_CA\"))\n }\n }\n ]\n disable_target_security_group_assignment = false # only needed if targets are not in the same network\n}\n```\n", "properties": { @@ -11298,7 +12549,7 @@ } }, "stackit:index/cdnDistribution:CdnDistribution": { - "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_cdn_distribution\" \"example_distribution\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n config = {\n backend = {\n type = \"http\"\n origin_url = \"https://mybackend.onstackit.cloud\"\n geofencing = {\n \"https://mybackend.onstackit.cloud\" = [\"DE\"]\n }\n }\n regions = [\"EU\", \"US\", \"ASIA\", \"AF\", \"SA\"]\n blocked_countries = [\"DE\", \"AT\", \"CH\"]\n\n optimizer = {\n enabled = true\n }\n }\n}\n\nresource \"stackit_cdn_distribution\" \"example_bucket_distribution\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n config = {\n backend = {\n type = \"bucket\"\n bucket_url = \"https://my-test.object.storage.eu01.onstackit.cloud\"\n region = \"eu01\"\n\n # Credentials are required for bucket backends\n # It is strongly recommended to use variables for secrets\n credentials = {\n access_key_id = var.bucket_access_key\n secret_access_key = var.bucket_secret_key\n }\n }\n regions = [\"EU\", \"US\"]\n blocked_countries = [\"CN\", \"RU\"]\n\n optimizer = {\n enabled = false\n }\n\n redirects = {\n rules = [\n {\n description = \"test redirect\"\n enabled = true\n rule_match_condition = \"ANY\"\n status_code = 302\n target_url = \"https://stackit.de/\"\n matchers = [\n {\n values = [\"*/otherPath/\"]\n value_match_condition = \"ANY\"\n }\n ]\n }\n ]\n }\n\n tls = {\n enable_tls_10 = true\n enable_tls_11 = true\n }\n strip_response_cookies = true\n forward_host_header = true\n\n # WAF Configuration\n # \n # Precedence Hierarchy: Specific Rules \u003e Groups \u003e Collections\n # In this example, the entire \"@builtin/crs/request\" collection is ENABLED.\n # However, because specific Rule IDs have a higher precedence, the rule \n # \"@builtin/crs/request/942151\" is explicitly DISABLED, overriding the collection setting.\n # \n # To view all available collections, groups, and rules, consult the API documentation:\n # https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections\n waf = {\n mode = \"ENABLED\"\n type = \"PREMIUM\"\n paranoia_level = \"L1\"\n allowed_http_versions = [\"HTTP/1.0\", \"HTTP/1.1\"]\n allowed_http_methods = [\"GET\"]\n allowed_request_content_types = [\"text/plain\"]\n\n # Collections\n enabled_rule_collection_ids = [\"@builtin/crs/request\"]\n disabled_rule_collection_ids = []\n log_only_rule_collection_ids = [\"@builtin/crs/response\"]\n\n # Groups\n enabled_rule_group_ids = []\n disabled_rule_group_ids = []\n log_only_rule_group_ids = []\n\n # Specific Rules (Highest Precedence)\n enabled_rule_ids = [\"@builtin/crs/request/913100\"]\n disabled_rule_ids = [\"@builtin/crs/request/942151\"]\n log_only_rule_ids = [\"@builtin/crs/response/954120\"]\n }\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing cdn distribution\nimport {\n to = stackit_cdn_distribution.import-example\n id = \"${var.project_id},${var.distribution_id}\"\n}\n```\n\n", + "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_cdn_distribution\" \"example_distribution\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n config = {\n backend = {\n type = \"http\"\n origin_url = \"https://mybackend.onstackit.cloud\"\n geofencing = {\n \"https://mybackend.onstackit.cloud\" = [\"DE\"]\n }\n }\n regions = [\"EU\", \"US\", \"ASIA\", \"AF\", \"SA\"]\n blocked_countries = [\"DE\", \"AT\", \"CH\"]\n blocked_ips = [\"1.1.1.1\"]\n\n default_cache_duration = \"P1DT2H30M\"\n monthly_limit_bytes = 1048576\n\n optimizer = {\n enabled = true\n }\n }\n}\n\nresource \"stackit_cdn_distribution\" \"example_bucket_distribution\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n config = {\n backend = {\n type = \"bucket\"\n bucket_url = \"https://my-test.object.storage.eu01.onstackit.cloud\"\n region = \"eu01\"\n\n # Credentials are required for bucket backends\n # It is strongly recommended to use variables for secrets\n credentials = {\n access_key_id = var.bucket_access_key\n secret_access_key = var.bucket_secret_key\n }\n }\n regions = [\"EU\", \"US\"]\n blocked_countries = [\"CN\", \"RU\"]\n blocked_ips = [\"1.1.1.1\"]\n\n default_cache_duration = \"P1DT2H30M\"\n monthly_limit_bytes = 1048576\n\n optimizer = {\n enabled = false\n }\n\n redirects = {\n rules = [\n {\n description = \"test redirect\"\n enabled = true\n rule_match_condition = \"ANY\"\n status_code = 302\n target_url = \"https://stackit.de/\"\n matchers = [\n {\n values = [\"*/otherPath/\"]\n value_match_condition = \"ANY\"\n }\n ]\n }\n ]\n }\n\n tls = {\n enable_tls_10 = true\n enable_tls_11 = true\n }\n strip_response_cookies = true\n forward_host_header = true\n\n # WAF Configuration\n # \n # Precedence Hierarchy: Specific Rules \u003e Groups \u003e Collections\n # In this example, the entire \"@builtin/crs/request\" collection is ENABLED.\n # However, because specific Rule IDs have a higher precedence, the rule \n # \"@builtin/crs/request/942151\" is explicitly DISABLED, overriding the collection setting.\n # \n # To view all available collections, groups, and rules, consult the API documentation:\n # https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections\n waf = {\n mode = \"ENABLED\"\n type = \"PREMIUM\"\n paranoia_level = \"L1\"\n allowed_http_versions = [\"HTTP/1.0\", \"HTTP/1.1\"]\n allowed_http_methods = [\"GET\"]\n allowed_request_content_types = [\"text/plain\"]\n\n # Collections\n enabled_rule_collection_ids = [\"@builtin/crs/request\"]\n disabled_rule_collection_ids = []\n log_only_rule_collection_ids = [\"@builtin/crs/response\"]\n\n # Groups\n enabled_rule_group_ids = []\n disabled_rule_group_ids = []\n log_only_rule_group_ids = []\n\n # Specific Rules (Highest Precedence)\n enabled_rule_ids = [\"@builtin/crs/request/913100\"]\n disabled_rule_ids = [\"@builtin/crs/request/942151\"]\n log_only_rule_ids = [\"@builtin/crs/response/954120\"]\n }\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing cdn distribution\nimport {\n to = stackit_cdn_distribution.import-example\n id = \"${var.project_id},${var.distribution_id}\"\n}\n```\n\n", "properties": { "config": { "$ref": "#/types/stackit:index/CdnDistributionConfig:CdnDistributionConfig", @@ -11592,7 +12843,7 @@ "properties": { "acl": { "type": "string", - "description": "The access control list. E.g. `0.0.0.0/0,::/0`\n" + "description": "The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone.\n" }, "active": { "type": "boolean" @@ -11706,7 +12957,7 @@ "inputProperties": { "acl": { "type": "string", - "description": "The access control list. E.g. `0.0.0.0/0,::/0`\n" + "description": "The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone.\n" }, "active": { "type": "boolean" @@ -11779,7 +13030,7 @@ "properties": { "acl": { "type": "string", - "description": "The access control list. E.g. `0.0.0.0/0,::/0`\n" + "description": "The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone.\n" }, "active": { "type": "boolean" @@ -13096,7 +14347,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "purpose": { "type": "string", @@ -13150,7 +14401,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "purpose": { "type": "string", @@ -13206,7 +14457,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "purpose": { "type": "string", @@ -13336,7 +14587,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "publicKey": { "type": "string", @@ -13396,7 +14647,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "purpose": { "type": "string", @@ -13452,7 +14703,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "publicKey": { "type": "string", @@ -13783,7 +15034,7 @@ } }, "stackit:index/logmeCredential:LogmeCredential": { - "description": "LogMe credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing logme credential\nimport {\n to = stackit_logme_credential.import-example\n id = \"${var.project_id},${var.logme_instance_id},${var.logme_credentials_id}\"\n}\n```\n\n", + "description": "LogMe credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing logme credential\nimport {\n to = stackit_logme_credential.import-example\n id = \"${var.project_id},${var.region},${var.logme_instance_id},${var.logme_credentials_id}\"\n}\n```\n\n", "properties": { "credentialId": { "type": "string", @@ -13807,6 +15058,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "uri": { "type": "string", "secret": true @@ -13822,6 +15077,7 @@ "password", "port", "projectId", + "region", "uri", "username" ], @@ -13833,6 +15089,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "requiredInputs": [ @@ -13864,6 +15124,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "uri": { "type": "string", "secret": true @@ -13876,7 +15140,7 @@ } }, "stackit:index/logmeInstance:LogmeInstance": { - "description": "LogMe instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"2\"\n plan_name = \"stackit-logme2-1.2.50-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing logme instance\nimport {\n to = stackit_logme_instance.import-example\n id = \"${var.project_id},${var.logme_instance_id}\"\n}\n```\n\n", + "description": "LogMe instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"2\"\n plan_name = \"stackit-logme2-1.2.50-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing logme instance\nimport {\n to = stackit_logme_instance.import-example\n id = \"${var.project_id},${var.region},${var.logme_instance_id}\"\n}\n```\n\n", "properties": { "cfGuid": { "type": "string" @@ -13917,6 +15181,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -13934,6 +15202,7 @@ "planId", "planName", "projectId", + "region", "version" ], "inputProperties": { @@ -13953,6 +15222,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -14005,6 +15278,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -14387,7 +15664,7 @@ } }, "stackit:index/mariadbCredential:MariadbCredential": { - "description": "MariaDB credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_mariadb_credential\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing mariadb credential\nimport {\n to = stackit_mariadb_credential.import-example\n id = \"${var.project_id},${var.mariadb_instance_id},${var.mariadb_credential_id}\"\n}\n```\n\n", + "description": "MariaDB credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_mariadb_credential\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing mariadb credential\nimport {\n to = stackit_mariadb_credential.import-example\n id = \"${var.project_id},${var.region},${var.mariadb_instance_id},${var.mariadb_credential_id}\"\n}\n```\n\n", "properties": { "credentialId": { "type": "string", @@ -14420,6 +15697,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "rotateWhenChanged": { "type": "object", "additionalProperties": { @@ -14444,6 +15725,7 @@ "password", "port", "projectId", + "region", "uri", "username" ], @@ -14456,6 +15738,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "rotateWhenChanged": { "type": "object", "additionalProperties": { @@ -14502,6 +15788,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "rotateWhenChanged": { "type": "object", "additionalProperties": { @@ -14521,7 +15811,7 @@ } }, "stackit:index/mariadbInstance:MariadbInstance": { - "description": "MariaDB instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"10.11\"\n plan_name = \"stackit-mariadb-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing mariadb instance\nimport {\n to = stackit_mariadb_instance.import-example\n id = \"${var.project_id},${var.mariadb_instance_id}\"\n}\n```\n\n", + "description": "MariaDB instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"10.11\"\n plan_name = \"stackit-mariadb-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing mariadb instance\nimport {\n to = stackit_mariadb_instance.import-example\n id = \"${var.project_id},${var.region},${var.mariadb_instance_id}\"\n}\n```\n\n", "properties": { "cfGuid": { "type": "string" @@ -14562,6 +15852,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -14579,6 +15873,7 @@ "planId", "planName", "projectId", + "region", "version" ], "inputProperties": { @@ -14598,6 +15893,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -14650,6 +15949,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -14658,6 +15961,302 @@ "type": "object" } }, + "stackit:index/modelexperimentsInstance:ModelexperimentsInstance": { + "description": "Manages a STACKIT AI Model Experiments instance.\n\n## Example Usage\n\n```terraform\nresource \"stackit_modelexperiments_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n name = \"Example name\"\n description = \"Example description\"\n deleted_experiment_retention = \"30d\"\n labels = {\n label = \"ExampleLabel\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n", + "properties": { + "bucketName": { + "type": "string", + "description": "The object storage bucket name of the AI Model Experiments instance.\n" + }, + "deletedExperimentRetention": { + "type": "string", + "description": "The deleted experiment retention time of the AI Model Experiments instance.\n" + }, + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "url": { + "type": "string", + "description": "The Dashboard URL of the AI Model Experiments instance.\n" + } + }, + "required": [ + "bucketName", + "deletedExperimentRetention", + "instanceId", + "name", + "projectId", + "region", + "url" + ], + "inputProperties": { + "deletedExperimentRetention": { + "type": "string", + "description": "The deleted experiment retention time of the AI Model Experiments instance.\n" + }, + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ModelexperimentsInstance resources.\n", + "properties": { + "bucketName": { + "type": "string", + "description": "The object storage bucket name of the AI Model Experiments instance.\n" + }, + "deletedExperimentRetention": { + "type": "string", + "description": "The deleted experiment retention time of the AI Model Experiments instance.\n" + }, + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "url": { + "type": "string", + "description": "The Dashboard URL of the AI Model Experiments instance.\n" + } + }, + "type": "object" + } + }, + "stackit:index/modelexperimentsToken:ModelexperimentsToken": { + "description": "Manages a STACKIT AI Model Experiments instance tokens.\n\n## Example Usage\n\n```terraform\nresource \"stackit_modelexperiments_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n name = \"Example name\"\n description = \"Example description\"\n deleted_experiment_retention = \"30d\"\n labels = {\n label = \"ExampleLabel\"\n }\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_modelexperiments_token\" \"token\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"Example token nane\"\n region = \"eu01\"\n instance_id = stackit_modelexperiments_instance.example.instance_id\n description = \"Example token description\"\n ttl_duration = \"80d\"\n labels = {\n label = \"ExampleLlabel\"\n }\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n", + "properties": { + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, + "token": { + "type": "string", + "description": "The content of the AI Model Experiments instance token.\n", + "secret": true + }, + "tokenId": { + "type": "string", + "description": "The AI Model Experiments instance token ID.\n" + }, + "ttlDuration": { + "type": "string", + "description": "The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s\n" + }, + "validUntil": { + "type": "string", + "description": "The time until the AI Model Experiments instance token is valid.\n" + } + }, + "required": [ + "instanceId", + "name", + "projectId", + "region", + "token", + "tokenId", + "validUntil" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, + "ttlDuration": { + "type": "string", + "description": "The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s\n" + } + }, + "requiredInputs": [ + "instanceId", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ModelexperimentsToken resources.\n", + "properties": { + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, + "token": { + "type": "string", + "description": "The content of the AI Model Experiments instance token.\n", + "secret": true + }, + "tokenId": { + "type": "string", + "description": "The AI Model Experiments instance token ID.\n" + }, + "ttlDuration": { + "type": "string", + "description": "The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s\n" + }, + "validUntil": { + "type": "string", + "description": "The time until the AI Model Experiments instance token is valid.\n" + } + }, + "type": "object" + } + }, "stackit:index/modelservingToken:ModelservingToken": { "description": "AI Model Serving Auth Token Resource schema.\n\n## Example Usage\n\n### Automatically rotate AI model serving token\n```terraform\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_modelserving_token\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"Example token\"\n \n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n\n}\n```\n", "properties": { @@ -15121,7 +16720,7 @@ } }, "stackit:index/network:Network": { - "description": "Network resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\u003e Behavior of not configured \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e has changed. When \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e is not set, it will be set to the network area's \u003cspan pulumi-lang-nodejs=\"`defaultNameservers`\" pulumi-lang-dotnet=\"`DefaultNameservers`\" pulumi-lang-go=\"`defaultNameservers`\" pulumi-lang-python=\"`default_nameservers`\" pulumi-lang-yaml=\"`defaultNameservers`\" pulumi-lang-java=\"`defaultNameservers`\"\u003e`defaultNameservers`\u003c/span\u003e.\nTo prevent any nameserver configuration, the \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e attribute should be explicitly set to an empty list `[]`.\nIn cases where \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e are defined within the resource, the existing behavior will remain unchanged.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network\" \"example_with_name\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-with-name\"\n}\n\nresource \"stackit_network\" \"example_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-routed-network\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\nresource \"stackit_network\" \"example_non_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-non-routed-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing network\n# Note: There will be a conflict which needs to be resolved manually.\n# These attributes cannot be configured together: [ipv4_prefix,ipv4_prefix_length,ipv4_gateway]\nimport {\n to = stackit_network.import-example\n id = \"${var.project_id},${var.region},${var.network_id}\"\n}\n```\n\n", + "description": "Network resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\u003e Behavior of not configured \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e has changed. When \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e is not set, it will be set to the network area's \u003cspan pulumi-lang-nodejs=\"`defaultNameservers`\" pulumi-lang-dotnet=\"`DefaultNameservers`\" pulumi-lang-go=\"`defaultNameservers`\" pulumi-lang-python=\"`default_nameservers`\" pulumi-lang-yaml=\"`defaultNameservers`\" pulumi-lang-java=\"`defaultNameservers`\"\u003e`defaultNameservers`\u003c/span\u003e.\nTo prevent any nameserver configuration, the \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e attribute should be explicitly set to an empty list `[]`.\nIn cases where \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4Nameservers`\u003c/span\u003e are defined within the resource, the existing behavior will remain unchanged.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network\" \"example_with_name\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-with-name\"\n}\n\nresource \"stackit_network\" \"example_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-routed-network\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\nresource \"stackit_network\" \"example_non_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-non-routed-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n}\n\nresource \"stackit_network\" \"example_vpc_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-vpc-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n ipv4_vpc_network_range_id = \"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n vpc_id = \"yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing network\n# Note: There will be a conflict which needs to be resolved manually.\n# These attributes cannot be configured together: [ipv4_prefix,ipv4_prefix_length,ipv4_gateway]\nimport {\n to = stackit_network.import-example\n id = \"${var.project_id},${var.region},${var.network_id}\"\n}\n```\n\n", "properties": { "dhcp": { "type": "boolean", @@ -15146,12 +16745,142 @@ "type": "integer", "description": "The IPv4 prefix length of the network.\n" }, - "ipv4Prefixes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv4 prefixes of the network.\n" + "ipv4Prefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv4 prefixes of the network.\n" + }, + "ipv4VpcNetworkRangeId": { + "type": "string", + "description": "The IPv4 VPC network range ID.\n" + }, + "ipv6Gateway": { + "type": "string", + "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" + }, + "ipv6Nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv6 nameservers of the network.\n" + }, + "ipv6Prefix": { + "type": "string", + "description": "The IPv6 prefix of the network (CIDR).\n" + }, + "ipv6PrefixLength": { + "type": "integer", + "description": "The IPv6 prefix length of the network.\n" + }, + "ipv6Prefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv6 prefixes of the network.\n" + }, + "ipv6VpcNetworkRangeId": { + "type": "string", + "description": "The IPv6 VPC network range ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { + "type": "string", + "description": "The name of the network.\n" + }, + "networkId": { + "type": "string", + "description": "The network ID.\n" + }, + "noIpv4Gateway": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network doesn't have a gateway.\n" + }, + "noIpv6Gateway": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network doesn't have a gateway.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the network is associated.\n" + }, + "publicIp": { + "type": "string", + "description": "The public IP of the network.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routed": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network is routed and therefore accessible from other networks.\n" + }, + "routingTableId": { + "type": "string", + "description": "The ID of the routing table associated with the network.\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC the network is associated with.\n" + } + }, + "required": [ + "dhcp", + "ipv4Gateway", + "ipv4Nameservers", + "ipv4Prefix", + "ipv4PrefixLength", + "ipv4Prefixes", + "ipv6Gateway", + "ipv6Nameservers", + "ipv6Prefix", + "ipv6PrefixLength", + "ipv6Prefixes", + "name", + "networkId", + "projectId", + "publicIp", + "region", + "routed", + "routingTableId" + ], + "inputProperties": { + "dhcp": { + "type": "boolean", + "description": "If the network has DHCP enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" + }, + "ipv4Gateway": { + "type": "string", + "description": "The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" + }, + "ipv4Nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv4 nameservers of the network. If not specified on creation, it will be set with the default nameservers from the network area. If not specified on update, it will remain unchanged.\n" + }, + "ipv4Prefix": { + "type": "string", + "description": "The IPv4 prefix of the network (CIDR).\n" + }, + "ipv4PrefixLength": { + "type": "integer", + "description": "The IPv4 prefix length of the network.\n" + }, + "ipv4VpcNetworkRangeId": { + "type": "string", + "description": "The IPv4 VPC network range ID.\n" }, "ipv6Gateway": { "type": "string", @@ -15172,12 +16901,9 @@ "type": "integer", "description": "The IPv6 prefix length of the network.\n" }, - "ipv6Prefixes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv6 prefixes of the network.\n" + "ipv6VpcNetworkRangeId": { + "type": "string", + "description": "The IPv6 VPC network range ID.\n" }, "labels": { "type": "object", @@ -15190,10 +16916,6 @@ "type": "string", "description": "The name of the network.\n" }, - "networkId": { - "type": "string", - "description": "The network ID.\n" - }, "noIpv4Gateway": { "type": "boolean", "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network doesn't have a gateway.\n" @@ -15206,10 +16928,6 @@ "type": "string", "description": "STACKIT project ID to which the network is associated.\n" }, - "publicIp": { - "type": "string", - "description": "The public IP of the network.\n" - }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" @@ -15221,105 +16939,10 @@ "routingTableId": { "type": "string", "description": "The ID of the routing table associated with the network.\n" - } - }, - "required": [ - "dhcp", - "ipv4Gateway", - "ipv4Nameservers", - "ipv4Prefix", - "ipv4PrefixLength", - "ipv4Prefixes", - "ipv6Gateway", - "ipv6Nameservers", - "ipv6Prefix", - "ipv6PrefixLength", - "ipv6Prefixes", - "name", - "networkId", - "projectId", - "publicIp", - "region", - "routed", - "routingTableId" - ], - "inputProperties": { - "dhcp": { - "type": "boolean", - "description": "If the network has DHCP enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" - }, - "ipv4Gateway": { - "type": "string", - "description": "The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" }, - "ipv4Nameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv4 nameservers of the network. If not specified on creation, it will be set with the default nameservers from the network area. If not specified on update, it will remain unchanged.\n" - }, - "ipv4Prefix": { - "type": "string", - "description": "The IPv4 prefix of the network (CIDR).\n" - }, - "ipv4PrefixLength": { - "type": "integer", - "description": "The IPv4 prefix length of the network.\n" - }, - "ipv6Gateway": { - "type": "string", - "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" - }, - "ipv6Nameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv6 nameservers of the network.\n" - }, - "ipv6Prefix": { - "type": "string", - "description": "The IPv6 prefix of the network (CIDR).\n" - }, - "ipv6PrefixLength": { - "type": "integer", - "description": "The IPv6 prefix length of the network.\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "name": { - "type": "string", - "description": "The name of the network.\n" - }, - "noIpv4Gateway": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network doesn't have a gateway.\n" - }, - "noIpv6Gateway": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network doesn't have a gateway.\n" - }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the network is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "routed": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the network is routed and therefore accessible from other networks.\n" - }, - "routingTableId": { + "vpcId": { "type": "string", - "description": "The ID of the routing table associated with the network.\n" + "description": "The ID of the VPC the network is associated with.\n" } }, "requiredInputs": [ @@ -15358,6 +16981,10 @@ }, "description": "The IPv4 prefixes of the network.\n" }, + "ipv4VpcNetworkRangeId": { + "type": "string", + "description": "The IPv4 VPC network range ID.\n" + }, "ipv6Gateway": { "type": "string", "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" @@ -15384,6 +17011,10 @@ }, "description": "The IPv6 prefixes of the network.\n" }, + "ipv6VpcNetworkRangeId": { + "type": "string", + "description": "The IPv6 VPC network range ID.\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -15426,27 +17057,18 @@ "routingTableId": { "type": "string", "description": "The ID of the routing table associated with the network.\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC the network is associated with.\n" } }, "type": "object" } }, "stackit:index/networkArea:NetworkArea": { - "description": "Network area resource schema.\n\nThis resource is for SNA, not VPC, networks.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network-area\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Migration of IaaS resources from versions \u003c= v0.78.1\n\nThe release of the STACKIT IaaS API v2 provides a lot of new features, but also includes some breaking changes\n(when coming from v1 of the STACKIT IaaS API) which must be somehow represented on Terraform side. The\n\u003cspan pulumi-lang-nodejs=\"`stackit.NetworkArea`\" pulumi-lang-dotnet=\"`stackit.NetworkArea`\" pulumi-lang-go=\"`NetworkArea`\" pulumi-lang-python=\"`NetworkArea`\" pulumi-lang-yaml=\"`stackit.NetworkArea`\" pulumi-lang-java=\"`stackit.NetworkArea`\"\u003e`stackit.NetworkArea`\u003c/span\u003e resource deprecated some fields. See the example below how to migrate your resources.\n\n### Migration: Network area resource (stackit_network_area)\n\n**Configuration for \u003c= v0.78.1**\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-network-area\"\n transfer_network = \"192.168.1.0/24\" # transfer_network field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n network_ranges = [\n {\n prefix = \"192.168.0.0/25\" # network_ranges field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n }\n ]\n default_nameservers = [\"8.8.8.8\"] # default_nameservers field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n default_prefix_length = 25 # default_prefix_length field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n max_prefix_length = 29 # max_prefix_length field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n min_prefix_length = 24 # min_prefix_length field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n}\n```\nThe previous configuration has some deprecated fields.\n\n**Configuration for \u003e v0.78.1**\n\nTo migrate from a previous state, you need to modify your configuration like this:\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-network-area\"\n # remove all the deprecated fields\n}\n\n# Add the new resource \"stackit_network_area_region\" and configure it with all the deprecated values from the \"stackit_network_area\" resource\nresource \"stackit_network_area_region\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = stackit_network_area.example.network_area_id\n region = \"eu01\"\n ipv4 = {\n transfer_network = \"192.168.1.0/24\"\n network_ranges = [\n {\n prefix = \"192.168.0.0/25\"\n }\n ]\n default_nameservers = [\"8.8.8.8\"]\n default_prefix_length = 25\n max_prefix_length = 29\n min_prefix_length = 24\n }\n}\n\n# Add this import for \"stackit_network_area_region\" to migrate from the previous configuration\nimport {\n to = stackit_network_area_region.example\n id = \"${stackit_network_area.example.id},eu01\"\n}\n```\n\nAfter modifying the configuration, run `$ pulumi preview` to check what terraform will do.\nThe changes should trigger an update in-place for the existing \u003cspan pulumi-lang-nodejs=\"\"stackit.NetworkArea\"\" pulumi-lang-dotnet=\"\"stackit.NetworkArea\"\" pulumi-lang-go=\"\"NetworkArea\"\" pulumi-lang-python=\"\"NetworkArea\"\" pulumi-lang-yaml=\"\"stackit.NetworkArea\"\" pulumi-lang-java=\"\"stackit.NetworkArea\"\"\u003e\"stackit.NetworkArea\"\u003c/span\u003e where the deprecated fields will be removed and the resource \u003cspan pulumi-lang-nodejs=\"\"stackit.NetworkAreaRegion\"\" pulumi-lang-dotnet=\"\"stackit.NetworkAreaRegion\"\" pulumi-lang-go=\"\"NetworkAreaRegion\"\" pulumi-lang-python=\"\"NetworkAreaRegion\"\" pulumi-lang-yaml=\"\"stackit.NetworkAreaRegion\"\" pulumi-lang-java=\"\"stackit.NetworkAreaRegion\"\"\u003e\"stackit.NetworkAreaRegion\"\u003c/span\u003e should be imported.\nIt shouldn't trigger any recreation. If terraform wants to recreate any of the resources, verify that you are using the provider version \u003e v0.78.1 and have everything defined correctly.\n\nWhen everything looks good, run `$ pulumi up` to apply these changes.\nWhen the run is completed, you can remove the import-block. Run `$ pulumi preview` to verify that the infrastructure matches the configuration.\n", + "description": "Network area resource schema.\n\nThis resource is for SNA, not VPC, networks.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network-area\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Migration of IaaS resources from versions \u003c= v0.78.1\n\nThe release of the STACKIT IaaS API v2 provides a lot of new features, but also includes some breaking changes\n(when coming from v1 of the STACKIT IaaS API) which must be somehow represented on Terraform side. The\n\u003cspan pulumi-lang-nodejs=\"`stackit.NetworkArea`\" pulumi-lang-dotnet=\"`stackit.NetworkArea`\" pulumi-lang-go=\"`NetworkArea`\" pulumi-lang-python=\"`NetworkArea`\" pulumi-lang-yaml=\"`stackit.NetworkArea`\" pulumi-lang-java=\"`stackit.NetworkArea`\"\u003e`stackit.NetworkArea`\u003c/span\u003e resource deprecated some fields. See the example below how to migrate your resources.\n\n### Migration: Network area resource (stackit_network_area)\n\n**Configuration for \u003c= v0.78.1**\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-network-area\"\n transfer_network = \"192.168.1.0/24\" # transfer_network field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n network_ranges = [\n {\n prefix = \"192.168.0.0/25\" # network_ranges field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n }\n ]\n default_nameservers = [\"8.8.8.8\"] # default_nameservers field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n default_prefix_length = 25 # default_prefix_length field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n max_prefix_length = 29 # max_prefix_length field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n min_prefix_length = 24 # min_prefix_length field got deprecated for provider versions \u003e v0.74.0, use the new \"stackit_network_area_region\" resource instead\n}\n```\nThe previous configuration has some deprecated fields.\n\n**Configuration for \u003e v0.78.1**\n\nTo migrate from a previous state, you need to modify your configuration like this:\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-network-area\"\n # remove all the deprecated fields\n}\n\n# Add the new resource \"stackit_network_area_region\" and configure it with all the deprecated values from the \"stackit_network_area\" resource\nresource \"stackit_network_area_region\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = stackit_network_area.example.network_area_id\n ipv4 = {\n transfer_network = \"192.168.1.0/24\"\n network_ranges = [\n {\n prefix = \"192.168.0.0/25\"\n }\n ]\n default_nameservers = [\"8.8.8.8\"]\n default_prefix_length = 25\n max_prefix_length = 29\n min_prefix_length = 24\n }\n}\n\n# Add this import for \"stackit_network_area_region\" to migrate from the previous configuration\nimport {\n to = stackit_network_area_region.example\n id = \"${stackit_network_area.example.id},eu01\"\n}\n```\n\nAfter modifying the configuration, run `$ pulumi preview` to check what terraform will do.\nThe changes should trigger an update in-place for the existing \u003cspan pulumi-lang-nodejs=\"\"stackit.NetworkArea\"\" pulumi-lang-dotnet=\"\"stackit.NetworkArea\"\" pulumi-lang-go=\"\"NetworkArea\"\" pulumi-lang-python=\"\"NetworkArea\"\" pulumi-lang-yaml=\"\"stackit.NetworkArea\"\" pulumi-lang-java=\"\"stackit.NetworkArea\"\"\u003e\"stackit.NetworkArea\"\u003c/span\u003e where the deprecated fields will be removed and the resource \u003cspan pulumi-lang-nodejs=\"\"stackit.NetworkAreaRegion\"\" pulumi-lang-dotnet=\"\"stackit.NetworkAreaRegion\"\" pulumi-lang-go=\"\"NetworkAreaRegion\"\" pulumi-lang-python=\"\"NetworkAreaRegion\"\" pulumi-lang-yaml=\"\"stackit.NetworkAreaRegion\"\" pulumi-lang-java=\"\"stackit.NetworkAreaRegion\"\"\u003e\"stackit.NetworkAreaRegion\"\u003c/span\u003e should be imported.\nIt shouldn't trigger any recreation. If terraform wants to recreate any of the resources, verify that you are using the provider version \u003e v0.78.1 and have everything defined correctly.\n\nWhen everything looks good, run `$ pulumi up` to apply these changes.\nWhen the run is completed, you can remove the import-block. Run `$ pulumi preview` to verify that the infrastructure matches the configuration.\n", "properties": { - "defaultNameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of DNS Servers/Nameservers for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "defaultPrefixLength": { - "type": "integer", - "description": "The default prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "labels": { "type": "object", "additionalProperties": { @@ -15454,16 +17076,6 @@ }, "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "maxPrefixLength": { - "type": "integer", - "description": "The maximal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "minPrefixLength": { - "type": "integer", - "description": "The minimal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "name": { "type": "string", "description": "The name of the network area.\n" @@ -15472,14 +17084,6 @@ "type": "string", "description": "The network area ID.\n" }, - "networkRanges": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange" - }, - "description": "List of Network ranges for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" @@ -15487,36 +17091,15 @@ "projectCount": { "type": "integer", "description": "The amount of projects currently referencing this area.\n" - }, - "transferNetwork": { - "type": "string", - "description": "Classless Inter-Domain Routing (CIDR) for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." } }, "required": [ - "defaultPrefixLength", - "maxPrefixLength", - "minPrefixLength", "name", "networkAreaId", "organizationId", "projectCount" ], "inputProperties": { - "defaultNameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of DNS Servers/Nameservers for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "defaultPrefixLength": { - "type": "integer", - "description": "The default prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "labels": { "type": "object", "additionalProperties": { @@ -15524,36 +17107,13 @@ }, "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "maxPrefixLength": { - "type": "integer", - "description": "The maximal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "minPrefixLength": { - "type": "integer", - "description": "The minimal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "name": { "type": "string", "description": "The name of the network area.\n" }, - "networkRanges": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange" - }, - "description": "List of Network ranges for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" - }, - "transferNetwork": { - "type": "string", - "description": "Classless Inter-Domain Routing (CIDR) for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." } }, "requiredInputs": [ @@ -15562,19 +17122,6 @@ "stateInputs": { "description": "Input properties used for looking up and filtering NetworkArea resources.\n", "properties": { - "defaultNameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of DNS Servers/Nameservers for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "defaultPrefixLength": { - "type": "integer", - "description": "The default prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "labels": { "type": "object", "additionalProperties": { @@ -15582,16 +17129,6 @@ }, "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "maxPrefixLength": { - "type": "integer", - "description": "The maximal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, - "minPrefixLength": { - "type": "integer", - "description": "The minimal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "name": { "type": "string", "description": "The name of the network area.\n" @@ -15600,14 +17137,6 @@ "type": "string", "description": "The network area ID.\n" }, - "networkRanges": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange" - }, - "description": "List of Network ranges for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." - }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" @@ -15615,11 +17144,6 @@ "projectCount": { "type": "integer", "description": "The amount of projects currently referencing this area.\n" - }, - "transferNetwork": { - "type": "string", - "description": "Classless Inter-Domain Routing (CIDR) for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." } }, "type": "object" @@ -17295,6 +18819,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "rotateWhenChanged": { "type": "object", "additionalProperties": { @@ -17321,6 +18849,7 @@ "password", "port", "projectId", + "region", "scheme", "uri", "username" @@ -17334,6 +18863,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "rotateWhenChanged": { "type": "object", "additionalProperties": { @@ -17377,6 +18910,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "rotateWhenChanged": { "type": "object", "additionalProperties": { @@ -17440,6 +18977,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -17457,6 +18998,7 @@ "planId", "planName", "projectId", + "region", "version" ], "inputProperties": { @@ -17476,6 +19018,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -17528,6 +19074,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -17631,21 +19181,34 @@ } }, "stackit:index/postgresflexInstance:PostgresflexInstance": { - "description": "Postgres Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 2\n ram = 4\n }\n replicas = 3\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n version = 14\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing postgresflex instance\nimport {\n to = stackit_postgresflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id}\"\n}\n```\n\n", + "description": "Postgres Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n network = {\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n }\n backup_schedule = \"0 0 * * *\"\n flavor_id = \"4.8-replica\"\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n version = \"17\"\n retention_days = 32\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing postgresflex instance\nimport {\n to = stackit_postgresflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id}\"\n}\n```\n\n", "properties": { "acls": { "type": "array", "items": { "type": "string" }, - "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" + "description": "The Access Control List (ACL) for the PostgresFlex instance.\n", + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", "description": "The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'.\n" }, + "connectionInfo": { + "$ref": "#/types/stackit:index/PostgresflexInstanceConnectionInfo:PostgresflexInstanceConnectionInfo", + "description": "The connection info for the PostgresFlex instance.\n" + }, + "encryption": { + "$ref": "#/types/stackit:index/PostgresflexInstanceEncryption:PostgresflexInstanceEncryption" + }, "flavor": { - "$ref": "#/types/stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor" + "$ref": "#/types/stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "flavorId": { + "type": "string", + "description": "The flavor ID of the PostgreSQL Flex instance. Can only be set when \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\"\u003e`replicas`\u003c/span\u003e are not set. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e\n" }, "instanceId": { "type": "string", @@ -17655,6 +19218,10 @@ "type": "string", "description": "Instance name.\n" }, + "network": { + "$ref": "#/types/stackit:index/PostgresflexInstanceNetwork:PostgresflexInstanceNetwork", + "description": "The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes.\n" + }, "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" @@ -17665,7 +19232,12 @@ }, "replicas": { "type": "integer", - "description": "How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication.\n" + "description": "How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e\n", + "deprecationMessage": "replicas is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "retentionDays": { + "type": "integer", + "description": "How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes.\n" }, "storage": { "$ref": "#/types/stackit:index/PostgresflexInstanceStorage:PostgresflexInstanceStorage" @@ -17677,12 +19249,16 @@ "required": [ "acls", "backupSchedule", + "connectionInfo", "flavor", + "flavorId", "instanceId", "name", + "network", "projectId", "region", "replicas", + "retentionDays", "storage", "version" ], @@ -17692,19 +19268,32 @@ "items": { "type": "string" }, - "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" + "description": "The Access Control List (ACL) for the PostgresFlex instance.\n", + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", "description": "The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'.\n" }, + "encryption": { + "$ref": "#/types/stackit:index/PostgresflexInstanceEncryption:PostgresflexInstanceEncryption" + }, "flavor": { - "$ref": "#/types/stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor" + "$ref": "#/types/stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "flavorId": { + "type": "string", + "description": "The flavor ID of the PostgreSQL Flex instance. Can only be set when \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\"\u003e`replicas`\u003c/span\u003e are not set. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e\n" }, "name": { "type": "string", "description": "Instance name.\n" }, + "network": { + "$ref": "#/types/stackit:index/PostgresflexInstanceNetwork:PostgresflexInstanceNetwork", + "description": "The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes.\n" + }, "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" @@ -17715,7 +19304,12 @@ }, "replicas": { "type": "integer", - "description": "How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication.\n" + "description": "How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e\n", + "deprecationMessage": "replicas is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "retentionDays": { + "type": "integer", + "description": "How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes.\n" }, "storage": { "$ref": "#/types/stackit:index/PostgresflexInstanceStorage:PostgresflexInstanceStorage" @@ -17725,11 +19319,8 @@ } }, "requiredInputs": [ - "acls", "backupSchedule", - "flavor", "projectId", - "replicas", "storage", "version" ], @@ -17741,14 +19332,27 @@ "items": { "type": "string" }, - "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" + "description": "The Access Control List (ACL) for the PostgresFlex instance.\n", + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", "description": "The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'.\n" }, + "connectionInfo": { + "$ref": "#/types/stackit:index/PostgresflexInstanceConnectionInfo:PostgresflexInstanceConnectionInfo", + "description": "The connection info for the PostgresFlex instance.\n" + }, + "encryption": { + "$ref": "#/types/stackit:index/PostgresflexInstanceEncryption:PostgresflexInstanceEncryption" + }, "flavor": { - "$ref": "#/types/stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor" + "$ref": "#/types/stackit:index/PostgresflexInstanceFlavor:PostgresflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "flavorId": { + "type": "string", + "description": "The flavor ID of the PostgreSQL Flex instance. Can only be set when \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\"\u003e`replicas`\u003c/span\u003e are not set. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e\n" }, "instanceId": { "type": "string", @@ -17758,6 +19362,10 @@ "type": "string", "description": "Instance name.\n" }, + "network": { + "$ref": "#/types/stackit:index/PostgresflexInstanceNetwork:PostgresflexInstanceNetwork", + "description": "The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes.\n" + }, "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" @@ -17768,7 +19376,12 @@ }, "replicas": { "type": "integer", - "description": "How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication.\n" + "description": "How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e\n", + "deprecationMessage": "replicas is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "retentionDays": { + "type": "integer", + "description": "How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes.\n" }, "storage": { "$ref": "#/types/stackit:index/PostgresflexInstanceStorage:PostgresflexInstanceStorage" @@ -17784,7 +19397,8 @@ "description": "Postgres Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"login\"]\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_postgresflex_user\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"login\"]\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing postgresflex user\nimport {\n to = stackit_postgresflex_user.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id},${var.user_id}\"\n}\n```\n\n", "properties": { "host": { - "type": "string" + "type": "string", + "deprecationMessage": "host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`." }, "instanceId": { "type": "string", @@ -17795,7 +19409,8 @@ "secret": true }, "port": { - "type": "integer" + "type": "integer", + "deprecationMessage": "port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`." }, "projectId": { "type": "string", @@ -17821,6 +19436,7 @@ }, "uri": { "type": "string", + "deprecationMessage": "uri is deprecated and will be removed after February 2027.", "secret": true }, "userId": { @@ -17884,7 +19500,8 @@ "description": "Input properties used for looking up and filtering PostgresflexUser resources.\n", "properties": { "host": { - "type": "string" + "type": "string", + "deprecationMessage": "host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`." }, "instanceId": { "type": "string", @@ -17895,7 +19512,8 @@ "secret": true }, "port": { - "type": "integer" + "type": "integer", + "deprecationMessage": "port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`." }, "projectId": { "type": "string", @@ -17921,6 +19539,7 @@ }, "uri": { "type": "string", + "deprecationMessage": "uri is deprecated and will be removed after February 2027.", "secret": true }, "userId": { @@ -21773,12 +23392,16 @@ } }, "stackit:index/skeCluster:SkeCluster": { - "description": "SKE Cluster Resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e When updating \u003cspan pulumi-lang-nodejs=\"`nodePools`\" pulumi-lang-dotnet=\"`NodePools`\" pulumi-lang-go=\"`nodePools`\" pulumi-lang-python=\"`node_pools`\" pulumi-lang-yaml=\"`nodePools`\" pulumi-lang-java=\"`nodePools`\"\u003e`nodePools`\u003c/span\u003e of a \u003cspan pulumi-lang-nodejs=\"`stackit.SkeCluster`\" pulumi-lang-dotnet=\"`stackit.SkeCluster`\" pulumi-lang-go=\"`SkeCluster`\" pulumi-lang-python=\"`SkeCluster`\" pulumi-lang-yaml=\"`stackit.SkeCluster`\" pulumi-lang-java=\"`stackit.SkeCluster`\"\u003e`stackit.SkeCluster`\u003c/span\u003e, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n network = {\n control_plane = {\n access_scope = \"PUBLIC\"\n }\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n\n", + "description": "SKE Cluster Resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e When updating \u003cspan pulumi-lang-nodejs=\"`nodePools`\" pulumi-lang-dotnet=\"`NodePools`\" pulumi-lang-go=\"`nodePools`\" pulumi-lang-python=\"`node_pools`\" pulumi-lang-yaml=\"`nodePools`\" pulumi-lang-java=\"`nodePools`\"\u003e`nodePools`\u003c/span\u003e of a \u003cspan pulumi-lang-nodejs=\"`stackit.SkeCluster`\" pulumi-lang-dotnet=\"`stackit.SkeCluster`\" pulumi-lang-go=\"`SkeCluster`\" pulumi-lang-python=\"`SkeCluster`\" pulumi-lang-yaml=\"`stackit.SkeCluster`\" pulumi-lang-java=\"`stackit.SkeCluster`\"\u003e`stackit.SkeCluster`\u003c/span\u003e, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n network = {\n control_plane = {\n access_scope = \"PUBLIC\"\n }\n }\n # Cluster audit log forwarding to a Telemetry Router.\n # Private preview: only configurable for enabled accounts.\n audit = {\n enabled = true\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n\n", "properties": { "access": { "$ref": "#/types/stackit:index/SkeClusterAccess:SkeClusterAccess", "description": "Configure access to the cluster\n" }, + "audit": { + "$ref": "#/types/stackit:index/SkeClusterAudit:SkeClusterAudit", + "description": "Cluster audit log forwarding configuration.\n" + }, "egressAddressRanges": { "type": "array", "items": { @@ -21846,7 +23469,9 @@ }, "required": [ "access", + "audit", "egressAddressRanges", + "extensions", "kubernetesVersionUsed", "maintenance", "name", @@ -21862,6 +23487,10 @@ "$ref": "#/types/stackit:index/SkeClusterAccess:SkeClusterAccess", "description": "Configure access to the cluster\n" }, + "audit": { + "$ref": "#/types/stackit:index/SkeClusterAudit:SkeClusterAudit", + "description": "Cluster audit log forwarding configuration.\n" + }, "extensions": { "$ref": "#/types/stackit:index/SkeClusterExtensions:SkeClusterExtensions", "description": "A single extensions block as defined below.\n" @@ -21916,6 +23545,10 @@ "$ref": "#/types/stackit:index/SkeClusterAccess:SkeClusterAccess", "description": "Configure access to the cluster\n" }, + "audit": { + "$ref": "#/types/stackit:index/SkeClusterAudit:SkeClusterAudit", + "description": "Cluster audit log forwarding configuration.\n" + }, "egressAddressRanges": { "type": "array", "items": { @@ -22117,8 +23750,137 @@ "type": "object" } }, + "stackit:index/sqlserverflexDatabase:SqlserverflexDatabase": { + "description": "SQLServer Flex database resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_database\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-database\"\n owner = \"example-user\"\n collation = \"SQL_Latin1_General_CP1_CI_AS\"\n compatibility = 160\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Terraform import\nimport {\n to = stackit_sqlserverflex_database.example\n id = \"project_id,region,instance_id,name\"\n}\n```\n\n", + "properties": { + "collation": { + "type": "string", + "description": "The collation of the database.\n" + }, + "compatibility": { + "type": "integer", + "description": "Compatibility level of the database.\n" + }, + "databaseId": { + "type": "integer", + "description": "The id of the database.\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, + "name": { + "type": "string", + "description": "Name of the database.\n" + }, + "owner": { + "type": "string", + "description": "The owner of the database.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/SqlserverflexDatabaseTimeouts:SqlserverflexDatabaseTimeouts" + } + }, + "required": [ + "collation", + "compatibility", + "databaseId", + "instanceId", + "name", + "owner", + "projectId", + "region" + ], + "inputProperties": { + "collation": { + "type": "string", + "description": "The collation of the database.\n" + }, + "compatibility": { + "type": "integer", + "description": "Compatibility level of the database.\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, + "name": { + "type": "string", + "description": "Name of the database.\n" + }, + "owner": { + "type": "string", + "description": "The owner of the database.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/SqlserverflexDatabaseTimeouts:SqlserverflexDatabaseTimeouts" + } + }, + "requiredInputs": [ + "instanceId", + "owner", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SqlserverflexDatabase resources.\n", + "properties": { + "collation": { + "type": "string", + "description": "The collation of the database.\n" + }, + "compatibility": { + "type": "integer", + "description": "Compatibility level of the database.\n" + }, + "databaseId": { + "type": "integer", + "description": "The id of the database.\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, + "name": { + "type": "string", + "description": "Name of the database.\n" + }, + "owner": { + "type": "string", + "description": "The owner of the database.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/SqlserverflexDatabaseTimeouts:SqlserverflexDatabaseTimeouts" + } + }, + "type": "object" + } + }, "stackit:index/sqlserverflexInstance:SqlserverflexInstance": { - "description": "SQLServer Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor_id = \"4.16-Single\"\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n version = 2022\n}\n```\n", + "description": "SQLServer Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n flavor_id = \"4.16-Single\"\n backup_schedule = \"0 0 * * *\"\n network = {\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n }\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n retention_days = 32\n version = \"2022\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing sqlserverflex instance\nimport {\n to = stackit_sqlserverflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id}\"\n}\n```\n\n", "properties": { "acls": { "type": "array", @@ -22126,7 +23888,7 @@ "type": "string" }, "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n", - "deprecationMessage": "acl is deprecated and will be removed after January 2027. Use instead `network.acl`." + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", @@ -22136,12 +23898,17 @@ "type": "string", "description": "Edition of the MSSQL server instance.\n" }, + "encryption": { + "$ref": "#/types/stackit:index/SqlserverflexInstanceEncryption:SqlserverflexInstanceEncryption", + "description": "Parameter to define which key to use for storage encryption.\n" + }, "flavor": { - "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor" + "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e." }, "flavorId": { "type": "string", - "description": "The flavor ID of the SQLServer Flex instance.\n" + "description": "The flavor ID of the SQLServer Flex instance. Can only be set when \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\"\u003e`replicas`\u003c/span\u003e are not set. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e.\n" }, "instanceId": { "type": "string", @@ -22157,7 +23924,7 @@ }, "options": { "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions", - "deprecationMessage": "option is deprecated and will be removed after January 2027." + "deprecationMessage": "option is deprecated and will be removed after February 2027." }, "projectId": { "type": "string", @@ -22207,18 +23974,23 @@ "type": "string" }, "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n", - "deprecationMessage": "acl is deprecated and will be removed after January 2027. Use instead `network.acl`." + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\") Will be required in the future. Set a value to prevent breaking changes.\n" }, + "encryption": { + "$ref": "#/types/stackit:index/SqlserverflexInstanceEncryption:SqlserverflexInstanceEncryption", + "description": "Parameter to define which key to use for storage encryption.\n" + }, "flavor": { - "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor" + "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e." }, "flavorId": { "type": "string", - "description": "The flavor ID of the SQLServer Flex instance.\n" + "description": "The flavor ID of the SQLServer Flex instance. Can only be set when \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\"\u003e`replicas`\u003c/span\u003e are not set. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e.\n" }, "name": { "type": "string", @@ -22230,7 +24002,7 @@ }, "options": { "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions", - "deprecationMessage": "option is deprecated and will be removed after January 2027." + "deprecationMessage": "option is deprecated and will be removed after February 2027." }, "projectId": { "type": "string", @@ -22265,7 +24037,7 @@ "type": "string" }, "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n", - "deprecationMessage": "acl is deprecated and will be removed after January 2027. Use instead `network.acl`." + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", @@ -22275,12 +24047,17 @@ "type": "string", "description": "Edition of the MSSQL server instance.\n" }, + "encryption": { + "$ref": "#/types/stackit:index/SqlserverflexInstanceEncryption:SqlserverflexInstanceEncryption", + "description": "Parameter to define which key to use for storage encryption.\n" + }, "flavor": { - "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor" + "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e." }, "flavorId": { "type": "string", - "description": "The flavor ID of the SQLServer Flex instance.\n" + "description": "The flavor ID of the SQLServer Flex instance. Can only be set when \u003cspan pulumi-lang-nodejs=\"`flavor`\" pulumi-lang-dotnet=\"`Flavor`\" pulumi-lang-go=\"`flavor`\" pulumi-lang-python=\"`flavor`\" pulumi-lang-yaml=\"`flavor`\" pulumi-lang-java=\"`flavor`\"\u003e`flavor`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\"\u003e`replicas`\u003c/span\u003e are not set. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e.\n" }, "instanceId": { "type": "string", @@ -22296,7 +24073,7 @@ }, "options": { "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions", - "deprecationMessage": "option is deprecated and will be removed after January 2027." + "deprecationMessage": "option is deprecated and will be removed after February 2027." }, "projectId": { "type": "string", @@ -22473,20 +24250,29 @@ } }, "stackit:index/telemetrylink:Telemetrylink": { - "description": "TelemetryLink instance resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n## Example Usage\n\n```terraform\nresource \"stackit_telemetrylink\" \"link\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetrylink-example\"\n access_token = \"eyJxxx\"\n telemetry_router_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_telemetrylink\" \"link2\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetrylink-example\"\n description = \"telemetrylink description\"\n access_token = \"eyJxxx\"\n telemetry_router_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing TelemetryLink\nimport {\n to = stackit_telemetrylink.import-example\n id = \"${var.resource_type},${var.resource_id},${var.region}\"\n}\n```\n\n", + "description": "TelemetryLink instance resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n## Example Usage\n\n```terraform\nresource \"stackit_telemetrylink\" \"link\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetrylink-example\"\n access_token_wo = \"eyJxxx\"\n access_token_wo_version = 1\n telemetry_router_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# access_token is kept for backwards compatibility, but access_token_wo (see above) should be preferred\n# since it is never persisted to the Terraform state.\nresource \"stackit_telemetrylink\" \"link2\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetrylink-example\"\n description = \"telemetrylink description\"\n access_token = \"eyJxxx\"\n telemetry_router_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing TelemetryLink\nimport {\n to = stackit_telemetrylink.import-example\n id = \"${var.resource_type},${var.resource_id},${var.region}\"\n}\n```\n\n", "properties": { "accessToken": { "type": "string", - "description": "The access token of the Telemetry Router instance.\n", + "description": "The access token of the Telemetry Router instance. Write-only argument \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e should be preferred.", + "secret": true + }, + "accessTokenWo": { + "type": "string", + "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment \u003cspan pulumi-lang-nodejs=\"`accessTokenWoVersion`\" pulumi-lang-dotnet=\"`AccessTokenWoVersion`\" pulumi-lang-go=\"`accessTokenWoVersion`\" pulumi-lang-python=\"`access_token_wo_version`\" pulumi-lang-yaml=\"`accessTokenWoVersion`\" pulumi-lang-java=\"`accessTokenWoVersion`\"\u003e`accessTokenWoVersion`\u003c/span\u003e. Changing this field alone will NOT trigger an update.", "secret": true }, + "accessTokenWoVersion": { + "type": "integer", + "description": "User-managed rotation counter for \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e. Must be incremented every time \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e is changed. Terraform diffs this field to detect token rotations - changing \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e alone will NOT trigger an update because it is write-only and never stored in state." + }, "createTime": { "type": "string", - "description": "The time the Telemetry Link was created.\n" + "description": "The time the Telemetry Link was created." }, "description": { "type": "string", - "description": "The description of the Telemetry Link resource.\n" + "description": "The description of the Telemetry Link resource." }, "displayName": { "type": "string", @@ -22494,7 +24280,7 @@ }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used." }, "resourceId": { "type": "string", @@ -22506,7 +24292,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "telemetryRouterId": { "type": "string", @@ -22525,12 +24312,21 @@ "inputProperties": { "accessToken": { "type": "string", - "description": "The access token of the Telemetry Router instance.\n", + "description": "The access token of the Telemetry Router instance. Write-only argument \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e should be preferred.", "secret": true }, + "accessTokenWo": { + "type": "string", + "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment \u003cspan pulumi-lang-nodejs=\"`accessTokenWoVersion`\" pulumi-lang-dotnet=\"`AccessTokenWoVersion`\" pulumi-lang-go=\"`accessTokenWoVersion`\" pulumi-lang-python=\"`access_token_wo_version`\" pulumi-lang-yaml=\"`accessTokenWoVersion`\" pulumi-lang-java=\"`accessTokenWoVersion`\"\u003e`accessTokenWoVersion`\u003c/span\u003e. Changing this field alone will NOT trigger an update.", + "secret": true + }, + "accessTokenWoVersion": { + "type": "integer", + "description": "User-managed rotation counter for \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e. Must be incremented every time \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e is changed. Terraform diffs this field to detect token rotations - changing \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e alone will NOT trigger an update because it is write-only and never stored in state." + }, "description": { "type": "string", - "description": "The description of the Telemetry Link resource.\n" + "description": "The description of the Telemetry Link resource." }, "displayName": { "type": "string", @@ -22538,7 +24334,7 @@ }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used." }, "resourceId": { "type": "string", @@ -22564,16 +24360,25 @@ "properties": { "accessToken": { "type": "string", - "description": "The access token of the Telemetry Router instance.\n", + "description": "The access token of the Telemetry Router instance. Write-only argument \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e should be preferred.", "secret": true }, + "accessTokenWo": { + "type": "string", + "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment \u003cspan pulumi-lang-nodejs=\"`accessTokenWoVersion`\" pulumi-lang-dotnet=\"`AccessTokenWoVersion`\" pulumi-lang-go=\"`accessTokenWoVersion`\" pulumi-lang-python=\"`access_token_wo_version`\" pulumi-lang-yaml=\"`accessTokenWoVersion`\" pulumi-lang-java=\"`accessTokenWoVersion`\"\u003e`accessTokenWoVersion`\u003c/span\u003e. Changing this field alone will NOT trigger an update.", + "secret": true + }, + "accessTokenWoVersion": { + "type": "integer", + "description": "User-managed rotation counter for \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e. Must be incremented every time \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e is changed. Terraform diffs this field to detect token rotations - changing \u003cspan pulumi-lang-nodejs=\"`accessTokenWo`\" pulumi-lang-dotnet=\"`AccessTokenWo`\" pulumi-lang-go=\"`accessTokenWo`\" pulumi-lang-python=\"`access_token_wo`\" pulumi-lang-yaml=\"`accessTokenWo`\" pulumi-lang-java=\"`accessTokenWo`\"\u003e`accessTokenWo`\u003c/span\u003e alone will NOT trigger an update because it is write-only and never stored in state." + }, "createTime": { "type": "string", - "description": "The time the Telemetry Link was created.\n" + "description": "The time the Telemetry Link was created." }, "description": { "type": "string", - "description": "The description of the Telemetry Link resource.\n" + "description": "The description of the Telemetry Link resource." }, "displayName": { "type": "string", @@ -22581,7 +24386,7 @@ }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used." }, "resourceId": { "type": "string", @@ -22593,7 +24398,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "telemetryRouterId": { "type": "string", @@ -22645,7 +24451,8 @@ }, "status": { "type": "string", - "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "ttl": { "type": "integer", @@ -22736,7 +24543,8 @@ }, "status": { "type": "string", - "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "ttl": { "type": "integer", @@ -22787,7 +24595,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." } }, "required": [ @@ -22874,7 +24683,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." } }, "type": "object" @@ -22913,7 +24723,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "uri": { "type": "string", @@ -22988,7 +24799,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "uri": { "type": "string", @@ -24332,6 +26144,209 @@ ] } }, + "stackit:index/getAlbWafConfiguration:getAlbWafConfiguration": { + "description": "ALB WAF Custom Rule Group resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_alb_waf_configuration\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-waf-configuration\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAlbWafConfiguration.\n", + "properties": { + "name": { + "type": "string", + "description": "The name of the WAF Configuration.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the WAF Configuration is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "name", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAlbWafConfiguration.\n", + "properties": { + "customRuleGroupName": { + "type": "string", + "description": "Name of the custom rule group for this WAF Configuration.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource ID. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e\".\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "User-defined metadata as key-value pairs. Should not exceed 64 entries.\n" + }, + "managedRuleSetName": { + "type": "string", + "description": "Name of the managed rule set configuration for this WAF Configuration.\n" + }, + "name": { + "type": "string", + "description": "The name of the WAF Configuration.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the WAF Configuration is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "customRuleGroupName", + "id", + "labels", + "managedRuleSetName", + "name", + "projectId", + "region" + ] + } + }, + "stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup": { + "description": "ALB WAF Custom Rule Group resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_alb_waf_custom_rule_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-custom-rule-group\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAlbWafCustomRuleGroup.\n", + "properties": { + "name": { + "type": "string", + "description": "Custom rule group configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Custom Rule Group.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "name", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAlbWafCustomRuleGroup.\n", + "properties": { + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. Structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e\".\n" + }, + "name": { + "type": "string", + "description": "Custom rule group configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Custom Rule Group.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getAlbWafCustomRuleGroupRule:getAlbWafCustomRuleGroupRule" + }, + "description": "Enriched rules containing auto-generated IDs and computed severity values.\n" + } + }, + "type": "object", + "required": [ + "id", + "name", + "projectId", + "region", + "rules" + ] + } + }, + "stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet": { + "description": "ALB WAF Managed Rule Set DataSource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on datasource level.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_alb_waf_managed_rule_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-managed-rule-set\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAlbWafManagedRuleSet.\n", + "properties": { + "name": { + "type": "string", + "description": "Managed Rule Set configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Managed Rule Set.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "name", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAlbWafManagedRuleSet.\n", + "properties": { + "groups": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/stackit:index/getAlbWafManagedRuleSetGroups:getAlbWafManagedRuleSetGroups" + }, + "description": "Inventory of all available Managed Rule Set groups and their current configuration.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. Structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e\".\n" + }, + "name": { + "type": "string", + "description": "Managed Rule Set configuration name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the ALB WAF Managed Rule Set.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "type": { + "type": "string", + "description": "Type of the Managed Rule Set.\n" + }, + "version": { + "type": "string", + "description": "Managed Rule Set version.\n" + } + }, + "type": "object", + "required": [ + "groups", + "id", + "name", + "projectId", + "region", + "type", + "version" + ] + } + }, "stackit:index/getApplicationLoadBalancer:getApplicationLoadBalancer": { "description": "Application Load Balancer data source schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_application_load_balancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n}\n```\n", "inputs": { @@ -25903,7 +27918,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "purpose": { "type": "string", @@ -26064,7 +28079,7 @@ }, "protection": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hsm`\" pulumi-lang-dotnet=\"`Hsm`\" pulumi-lang-go=\"`hsm`\" pulumi-lang-python=\"`hsm`\" pulumi-lang-yaml=\"`hsm`\" pulumi-lang-java=\"`hsm`\"\u003e`hsm`\u003c/span\u003e.\n" + "description": "The underlying system that is responsible for protecting the key material.\n" }, "publicKey": { "type": "string", @@ -26234,6 +28249,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -26255,7 +28274,7 @@ }, "id": { "type": "string", - "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" + "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", @@ -26272,6 +28291,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "uri": { "type": "string", "secret": true @@ -26289,6 +28312,7 @@ "password", "port", "projectId", + "region", "uri", "username" ] @@ -26306,6 +28330,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -26331,7 +28359,7 @@ }, "id": { "type": "string", - "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" + "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" }, "imageUrl": { "type": "string" @@ -26359,6 +28387,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -26378,6 +28410,7 @@ "planId", "planName", "projectId", + "region", "version" ] } @@ -26688,6 +28721,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -26715,7 +28752,7 @@ }, "id": { "type": "string", - "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" + "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", @@ -26735,6 +28772,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "uri": { "type": "string", "secret": true @@ -26754,6 +28795,7 @@ "password", "port", "projectId", + "region", "uri", "username" ] @@ -26771,6 +28813,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -26796,7 +28842,7 @@ }, "id": { "type": "string", - "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" + "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" }, "imageUrl": { "type": "string" @@ -26824,6 +28870,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -26843,10 +28893,183 @@ "planId", "planName", "projectId", + "region", "version" ] } }, + "stackit:index/getModelexperimentsInstance:getModelexperimentsInstance": { + "description": "Datasource scheme for a STACKIT AI Model Experiments instance.\n\n## Example Usage\n\n```terraform\ndata \"stackit_modelexperiments_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"example-instance-id\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getModelexperimentsInstance.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "instanceId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getModelexperimentsInstance.\n", + "properties": { + "bucketName": { + "type": "string", + "description": "The object storage bucket name of the AI Model Experiments instance.\n" + }, + "deletedExperimentRetention": { + "type": "string", + "description": "The deleted experiment retention time of the AI Model Experiments instance.\n" + }, + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "url": { + "type": "string", + "description": "The Dashboard URL of the AI Model Experiments instance.\n" + } + }, + "type": "object", + "required": [ + "bucketName", + "deletedExperimentRetention", + "description", + "id", + "instanceId", + "labels", + "name", + "projectId", + "region", + "url" + ] + } + }, + "stackit:index/getModelexperimentsToken:getModelexperimentsToken": { + "description": "Datasource scheme for a STACKIT AI Model Experiments instance tokens.\n\n## Example Usage\n\n```terraform\ndata \"stackit_modelexperiments_token\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"example-instance-id\"\n token_id = \"example-token-id\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getModelexperimentsToken.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "tokenId": { + "type": "string", + "description": "The AI Model Experiments instance token ID.\n" + } + }, + "type": "object", + "required": [ + "instanceId", + "projectId", + "tokenId" + ] + }, + "outputs": { + "description": "A collection of values returned by getModelexperimentsToken.\n", + "properties": { + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`tokenId`\" pulumi-lang-dotnet=\"`TokenId`\" pulumi-lang-go=\"`tokenId`\" pulumi-lang-python=\"`token_id`\" pulumi-lang-yaml=\"`tokenId`\" pulumi-lang-java=\"`tokenId`\"\u003e`tokenId`\u003c/span\u003e\".\n" + }, + "instanceId": { + "type": "string", + "description": "The AI Model Experiments instance ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that can be attached to the resource\n" + }, + "name": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "tokenId": { + "type": "string", + "description": "The AI Model Experiments instance token ID.\n" + }, + "validUntil": { + "type": "string", + "description": "The time until the AI Model Experiments instance token is valid.\n" + } + }, + "type": "object", + "required": [ + "description", + "id", + "instanceId", + "labels", + "name", + "projectId", + "region", + "tokenId", + "validUntil" + ] + } + }, "stackit:index/getMongodbflexInstance:getMongodbflexInstance": { "description": "MongoDB Flex instance data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_mongodbflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { @@ -27030,6 +29253,14 @@ "inputs": { "description": "A collection of arguments for invoking getNetwork.\n", "properties": { + "ipv4VpcNetworkRangeId": { + "type": "string", + "description": "The IPv4 VPC network range ID.\n" + }, + "ipv6VpcNetworkRangeId": { + "type": "string", + "description": "The IPv6 VPC network range ID.\n" + }, "networkId": { "type": "string", "description": "The network ID.\n" @@ -27041,6 +29272,10 @@ "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC the network is associated with.\n" } }, "type": "object", @@ -27087,6 +29322,10 @@ }, "description": "The IPv4 prefixes of the network.\n" }, + "ipv4VpcNetworkRangeId": { + "type": "string", + "description": "The IPv4 VPC network range ID.\n" + }, "ipv6Gateway": { "type": "string", "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" @@ -27114,6 +29353,10 @@ }, "description": "The IPv6 prefixes of the network.\n" }, + "ipv6VpcNetworkRangeId": { + "type": "string", + "description": "The IPv6 VPC network range ID.\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -27148,6 +29391,10 @@ "routingTableId": { "type": "string", "description": "The ID of the routing table associated with the network.\n" + }, + "vpcId": { + "type": "string", + "description": "The ID of the VPC the network is associated with.\n" } }, "type": "object", @@ -27197,19 +29444,6 @@ "outputs": { "description": "A collection of values returned by getNetworkArea.\n", "properties": { - "defaultNameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of DNS Servers/Nameservers.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, - "defaultPrefixLength": { - "type": "integer", - "description": "The default prefix length for networks in the network area.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, "id": { "type": "string", "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e\".\n" @@ -27221,16 +29455,6 @@ }, "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "maxPrefixLength": { - "type": "integer", - "description": "The maximal prefix length for networks in the network area.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, - "minPrefixLength": { - "type": "integer", - "description": "The minimal prefix length for networks in the network area.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, "name": { "type": "string", "description": "The name of the network area.\n" @@ -27239,14 +29463,6 @@ "type": "string", "description": "The network area ID.\n" }, - "networkRanges": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange" - }, - "description": "List of Network ranges.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" @@ -27254,27 +29470,16 @@ "projectCount": { "type": "integer", "description": "The amount of projects currently referencing this area.\n" - }, - "transferNetwork": { - "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." } }, "type": "object", "required": [ - "defaultNameservers", - "defaultPrefixLength", "id", "labels", - "maxPrefixLength", - "minPrefixLength", "name", "networkAreaId", - "networkRanges", "organizationId", - "projectCount", - "transferNetwork" + "projectCount" ] } }, @@ -28284,6 +30489,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -28311,7 +30520,7 @@ }, "id": { "type": "string", - "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" + "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", @@ -28328,6 +30537,10 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "scheme": { "type": "string" }, @@ -28349,6 +30562,7 @@ "password", "port", "projectId", + "region", "scheme", "uri", "username" @@ -28367,6 +30581,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -28392,7 +30610,7 @@ }, "id": { "type": "string", - "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" + "description": "Terraform's internal data source. identifier. It is structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e\".\n" }, "imageUrl": { "type": "string" @@ -28420,6 +30638,10 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "version": { "type": "string", "description": "The service version.\n" @@ -28439,6 +30661,7 @@ "planId", "planName", "projectId", + "region", "version" ] } @@ -28515,6 +30738,63 @@ ] } }, + "stackit:index/getPostgresflexFlavors:getPostgresflexFlavors": { + "description": "Postgres Flex flavors data source schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_postgresflex_flavors\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n # region is taken from the provider configuration\n}\n\n# Example usage with an instance\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n flavor_id = one([for flavor in data.stackit_postgresflex_flavors.example.flavors : flavor.id if flavor.cpu == 2 \u0026\u0026 flavor.memory == 4 \u0026\u0026 flavor.node_type == \"Single\"])\n backup_schedule = \"0 16 * * *\"\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n version = \"17\"\n network = {\n acl = [\"192.168.0.0/24\"]\n }\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getPostgresflexFlavors.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "Postgres Flex flavors data source region. If undefined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getPostgresflexFlavorsTimeouts:getPostgresflexFlavorsTimeouts" + } + }, + "type": "object", + "required": [ + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getPostgresflexFlavors.\n", + "properties": { + "flavors": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getPostgresflexFlavorsFlavor:getPostgresflexFlavorsFlavor" + }, + "description": "List of flavors available for the project.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal data source ID, structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e\".\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "Postgres Flex flavors data source region. If undefined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getPostgresflexFlavorsTimeouts:getPostgresflexFlavorsTimeouts" + } + }, + "type": "object", + "required": [ + "flavors", + "id", + "projectId", + "region" + ] + } + }, "stackit:index/getPostgresflexInstance:getPostgresflexInstance": { "description": "Postgres Flex instance data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { @@ -28547,13 +30827,26 @@ "items": { "type": "string" }, - "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" + "description": "The Access Control List (ACL) for the PostgresFlex instance.\n", + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { - "type": "string" + "type": "string", + "description": "The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'.\n" + }, + "connectionInfo": { + "$ref": "#/types/stackit:index/getPostgresflexInstanceConnectionInfo:getPostgresflexInstanceConnectionInfo", + "description": "The connection info for the PostgresFlex instance.\n" + }, + "encryption": { + "$ref": "#/types/stackit:index/getPostgresflexInstanceEncryption:getPostgresflexInstanceEncryption" }, "flavor": { - "$ref": "#/types/stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor" + "$ref": "#/types/stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e.." + }, + "flavorId": { + "type": "string" }, "id": { "type": "string", @@ -28567,6 +30860,9 @@ "type": "string", "description": "Instance name.\n" }, + "network": { + "$ref": "#/types/stackit:index/getPostgresflexInstanceNetwork:getPostgresflexInstanceNetwork" + }, "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" @@ -28576,6 +30872,10 @@ "description": "The resource region. If not defined, the provider region is used.\n" }, "replicas": { + "type": "integer", + "deprecationMessage": "replicas is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-go=\"`getPostgresflexFlavors`\" pulumi-lang-python=\"`get_postgresflex_flavors`\" pulumi-lang-yaml=\"`stackit.getPostgresflexFlavors`\" pulumi-lang-java=\"`stackit.getPostgresflexFlavors`\"\u003e`stackit.getPostgresflexFlavors`\u003c/span\u003e." + }, + "retentionDays": { "type": "integer" }, "storage": { @@ -28589,12 +30889,17 @@ "required": [ "acls", "backupSchedule", + "connectionInfo", + "encryption", "flavor", + "flavorId", "id", "instanceId", "name", + "network", "projectId", "replicas", + "retentionDays", "storage", "version" ] @@ -28633,7 +30938,8 @@ "description": "A collection of values returned by getPostgresflexUser.\n", "properties": { "host": { - "type": "string" + "type": "string", + "deprecationMessage": "host is deprecated and will be removed after February 2027. The host can be retrieved from the instance `connection_info.write.host`." }, "id": { "type": "string", @@ -28644,7 +30950,8 @@ "description": "ID of the PostgresFlex instance.\n" }, "port": { - "type": "integer" + "type": "integer", + "deprecationMessage": "port is deprecated and will be removed after February 2027. The port can be retrieved from the instance `connection_info.write.port`." }, "projectId": { "type": "string", @@ -31478,6 +33785,10 @@ "$ref": "#/types/stackit:index/getSkeClusterAccess:getSkeClusterAccess", "description": "Configure access to the cluster\n" }, + "audit": { + "$ref": "#/types/stackit:index/getSkeClusterAudit:getSkeClusterAudit", + "description": "Cluster audit log forwarding configuration.\n" + }, "egressAddressRanges": { "type": "array", "items": { @@ -31550,6 +33861,7 @@ "type": "object", "required": [ "access", + "audit", "egressAddressRanges", "extensions", "hibernations", @@ -31658,6 +33970,152 @@ ] } }, + "stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase": { + "description": "SQLServer Flex database data source schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_database\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-database\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSqlserverflexDatabase.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, + "name": { + "type": "string", + "description": "Name of the database.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getSqlserverflexDatabaseTimeouts:getSqlserverflexDatabaseTimeouts" + } + }, + "type": "object", + "required": [ + "instanceId", + "name", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getSqlserverflexDatabase.\n", + "properties": { + "collation": { + "type": "string", + "description": "The collation of the database.\n" + }, + "compatibility": { + "type": "integer", + "description": "Compatibility level of the database.\n" + }, + "databaseId": { + "type": "integer", + "description": "The id of the database.\n" + }, + "id": { + "type": "string", + "description": "Terraform internal ID, structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e,\u003cspan 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`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e\"\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, + "name": { + "type": "string", + "description": "Name of the database.\n" + }, + "owner": { + "type": "string", + "description": "The owner of the database.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getSqlserverflexDatabaseTimeouts:getSqlserverflexDatabaseTimeouts" + } + }, + "type": "object", + "required": [ + "collation", + "compatibility", + "databaseId", + "id", + "instanceId", + "name", + "owner", + "projectId", + "region" + ] + } + }, + "stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors": { + "description": "SqlserverFlex flavors data source schema\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_flavors\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n // region taken from provider\n}\n\n// example usage with instance\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n flavor_id = one([for f in data.stackit_sqlserverflex_flavors.example.flavors : f.id if f.cpu == 4 \u0026\u0026 f.memory == 16])\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSqlserverflexFlavors.\n", + "properties": { + "projectId": { + "type": "string", + "description": "The project ID.\n" + }, + "region": { + "type": "string", + "description": "SqlserverFlex flavors data source region. If undefined the providers region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getSqlserverflexFlavorsTimeouts:getSqlserverflexFlavorsTimeouts" + } + }, + "type": "object", + "required": [ + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getSqlserverflexFlavors.\n", + "properties": { + "flavors": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSqlserverflexFlavorsFlavor:getSqlserverflexFlavorsFlavor" + }, + "description": "A list of available flavors.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal data source ID, structured as \"\u003cspan 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`\"\u003e`projectId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e\"\n" + }, + "projectId": { + "type": "string", + "description": "The project ID.\n" + }, + "region": { + "type": "string", + "description": "SqlserverFlex flavors data source region. If undefined the providers region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getSqlserverflexFlavorsTimeouts:getSqlserverflexFlavorsTimeouts" + } + }, + "type": "object", + "required": [ + "flavors", + "id", + "projectId", + "region" + ] + } + }, "stackit:index/getSqlserverflexInstance:getSqlserverflexInstance": { "description": "SQLServer Flex instance data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { @@ -31694,7 +34152,8 @@ "items": { "type": "string" }, - "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n" + "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n", + "deprecationMessage": "acl is deprecated and will be removed after February 2027. Use instead `network.acl`." }, "backupSchedule": { "type": "string", @@ -31704,8 +34163,13 @@ "type": "string", "description": "Edition of the MSSQL server instance.\n" }, + "encryption": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceEncryption:getSqlserverflexInstanceEncryption", + "description": "Parameter to define which key to use for storage encryption.\n" + }, "flavor": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor" + "$ref": "#/types/stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor", + "deprecationMessage": "flavor is deprecated and will be removed after February 2027. Use instead \u003cspan 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`\"\u003e`flavorId`\u003c/span\u003e. You can list available flavors using the datasource \u003cspan pulumi-lang-nodejs=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-dotnet=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-go=\"`getSqlserverflexFlavors`\" pulumi-lang-python=\"`get_sqlserverflex_flavors`\" pulumi-lang-yaml=\"`stackit.getSqlserverflexFlavors`\" pulumi-lang-java=\"`stackit.getSqlserverflexFlavors`\"\u003e`stackit.getSqlserverflexFlavors`\u003c/span\u003e." }, "flavorId": { "type": "string", @@ -31729,7 +34193,8 @@ }, "options": { "$ref": "#/types/stackit:index/getSqlserverflexInstanceOptions:getSqlserverflexInstanceOptions", - "description": "Custom parameters for the SQLServer Flex instance.\n" + "description": "Custom parameters for the SQLServer Flex instance.\n", + "deprecationMessage": "option is deprecated and will be removed after February 2027." }, "projectId": { "type": "string", @@ -31758,6 +34223,7 @@ "acls", "backupSchedule", "edition", + "encryption", "flavor", "flavorId", "id", @@ -31912,7 +34378,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "telemetryRouterId": { "type": "string", @@ -32002,7 +34469,8 @@ }, "status": { "type": "string", - "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." } }, "type": "object", @@ -32093,7 +34561,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." } }, "type": "object", @@ -32173,7 +34642,8 @@ }, "status": { "type": "string", - "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n", + "deprecationMessage": "status is deprecated and will be removed after February 2027." }, "uri": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index c97e7d0d..6d496268 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -121,7 +121,7 @@ require ( github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 // indirect github.com/hashicorp/terraform-plugin-go v0.31.0 // indirect - github.com/hashicorp/terraform-plugin-log v0.10.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.11.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.8.0 // indirect github.com/hashicorp/terraform-plugin-sdk/v2 v2.40.0 // indirect github.com/hashicorp/terraform-registry-address v0.4.0 // indirect @@ -198,26 +198,28 @@ require ( github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect github.com/stackitcloud/stackit-sdk-go/core v0.26.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/alb v0.16.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 // indirect github.com/stackitcloud/stackit-sdk-go/services/cdn v1.19.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/certificates v1.9.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/dremio v0.6.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/kms v1.12.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/kms v1.13.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logme v1.1.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.1.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.11.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.12.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/redis v1.1.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 // indirect @@ -228,12 +230,12 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.19.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 // indirect - github.com/stackitcloud/terraform-provider-stackit v0.104.0 // indirect + github.com/stackitcloud/terraform-provider-stackit v0.112.0 // indirect github.com/teambition/rrule-go v1.8.2 // indirect github.com/teekennedy/goldmark-markdown v0.3.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect @@ -266,7 +268,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.53.0 // indirect golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect - golang.org/x/mod v0.37.0 // indirect + golang.org/x/mod v0.38.0 // indirect golang.org/x/net v0.56.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sync v0.21.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 3a1eedb2..dc07f719 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -390,8 +390,8 @@ github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 h1:Zz3iGgzxe/ github.com/hashicorp/terraform-plugin-framework-validators v0.19.0/go.mod h1:GBKTNGbGVJohU03dZ7U8wHqc2zYnMUawgCN+gC0itLc= github.com/hashicorp/terraform-plugin-go v0.31.0 h1:0Fz2r9DQ+kNNl6bx8HRxFd1TfMKUvnrOtvJPmp3Z0q8= github.com/hashicorp/terraform-plugin-go v0.31.0/go.mod h1:A88bDhd/cW7FnwqxQRz3slT+QY6yzbHKc6AOTtmdeS8= -github.com/hashicorp/terraform-plugin-log v0.10.0 h1:eu2kW6/QBVdN4P3Ju2WiB2W3ObjkAsyfBsL3Wh1fj3g= -github.com/hashicorp/terraform-plugin-log v0.10.0/go.mod h1:/9RR5Cv2aAbrqcTSdNmY1NRHP4E3ekrXRGjqORpXyB0= +github.com/hashicorp/terraform-plugin-log v0.11.0 h1:WjhcpZIVqP8YRe83+dIZXncwSgtu4vh27i23G33PUQY= +github.com/hashicorp/terraform-plugin-log v0.11.0/go.mod h1:XygBz8+m5kgwTb73MMyrnUjeNQeVWECEfg+h2opMsj0= github.com/hashicorp/terraform-plugin-sdk v1.8.0 h1:HE1p52nzcgz88hIJmapUnkmM9noEjV3QhTOLaua5XUA= github.com/hashicorp/terraform-plugin-sdk v1.8.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= @@ -648,6 +648,8 @@ github.com/stackitcloud/stackit-sdk-go/core v0.26.0 h1:jQEb9gkehfp6VCP6TcYk7BI10 github.com/stackitcloud/stackit-sdk-go/core v0.26.0/go.mod h1:WU1hhxnjXw2EV7CYa1nlEvNpMiRY6CvmIOaHuL3pOaA= github.com/stackitcloud/stackit-sdk-go/services/alb v0.16.0 h1:WoWlHdzISGXPEaJOYt6HP5F9M5nbyCJL6VqRJZIaOQs= github.com/stackitcloud/stackit-sdk-go/services/alb v0.16.0/go.mod h1:eK6oRB5Tmpt6KbXQ4UYBGg2LgW5bPtVoncL9E8JSRww= +github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.0 h1:uuQDV7Q3ndFJhlBbE2SX9ft+AtBJIck8rEcPr1lIqVE= +github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.0/go.mod h1:4M9G1I64kZwlXO32ZoIpt0GAN4SpZ1SYerwCVVIBGoE= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 h1:b7WJ/vwxlVmNNX91kI3obqGcuoPAyaCbDL5aCMQ/sNg= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2/go.mod h1:T/JF25XGJ3GqER/1L2N//DgY8x5tY7gA3N+/0nvmOWY= github.com/stackitcloud/stackit-sdk-go/services/cdn v1.19.0 h1:k+KJ4gp9awhJMY5y55vDqRSr6G/S9+8haTNILGbgH9s= @@ -656,8 +658,8 @@ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.9.0 h1:7qAgkYy5O github.com/stackitcloud/stackit-sdk-go/services/certificates v1.9.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 h1:ZVkptfVCAqpaPWkE+WIopM9XdzqgbVcwmX5L1jZqqx8= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 h1:kAWRUptc9g6lA9XCgB4Fw8oQYOhDuV0mp+eZhpiyJ+Y= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.6.0 h1:VYBKvdBCZg2vr0m1Q7mn+BM43L8wGk/dc4ilOxWbMLs= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.6.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.0 h1:MD475tdG7oSRquUr4SA4MIevVTb82sBPM2Fkf5J7aE0= github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg= github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 h1:VZBneGprCmHqckcSMPs3puBlK8rBpLMtYKmBktwdoVE= @@ -666,16 +668,18 @@ github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 h1:PQZ6n71CMadLU3Dj github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0/go.mod h1:AbPN9BGkdjc+tVsXEX9Vr8BPDjdlDmG26K1FwCKZQVU= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 h1:zuZIWgm8ak6aOyvgHouIBSoAnUkNBy4HMSba5AHYI7U= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.12.0 h1:rydjdSL+j6Yd+3T7ks+JFkjKMh3a1RfBzTFZBTcdgds= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.12.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 h1:1dvL7tX91ziklayQmOupniE3jM4D5Nbtc0auNcx2p18= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs= -github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1 h1:iteL61eMMPWT6872nF4Ko/tBU1IXemvS++XR09pj6NA= -github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.13.0 h1:4S9gcTlijtvlF8wYZR5anbQ98oIP2+fIaEsvBXluux4= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.13.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.0 h1:YWpy3VDKrTKVgvnHgbLFYRZ4qUKiNxzCejUNdWIYZ6Q= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs= +github.com/stackitcloud/stackit-sdk-go/services/logme v1.1.0 h1:r+MzTC/qI8t4zTB029bp75iLzsx1/F4LzTiZeIwM5Vg= +github.com/stackitcloud/stackit-sdk-go/services/logme v1.1.0/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY= github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrMK9rPaZY6dLMAuMJf5g6+r7VRTXc= github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.1 h1:Ll1erKKms7OnFva3bRXOs9PEYLoWJp5prSg985K0glk= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.1/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0 h1:3IZ3baztlqmkkDxwBfRymYTFeZa3AARVXYlt3hohfPs= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY= +github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0 h1:4cM9P38lQkJRtz0ZdDRhMam/J2rlL0m3sa1JBcIPcdc= +github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0/go.mod h1:TW2PYG0kSrfAos3yY8wUxDem0J9ZYSXulnbzBZ4BTaE= github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 h1:LfcQ++Z8a13jrJ5NOaCY/hwToh/e+QJj0eS6rd6s6k8= github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg= github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0 h1:SVd3WMmLAE0Jxk2SaRuM85DTOOXHycyMpZGx9vzqNkI= @@ -686,8 +690,8 @@ github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 h1:KhuWPXr github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k= github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.1.0 h1:hooc/E9Qabn8xno1NUd3uJQfUbW5KoY6mgURlnd776c= github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.1.0/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.11.0 h1:cuI4NhuFhaZ3tTkBpUM7nt2odKFJkyCcphT/3gGb9CE= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.11.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.12.0 h1:elIyrDVSYlEtigFO82SWnpfuJZdpv0b2SwvL3M+z9dA= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.12.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8= github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1 h1:Vly7OKWAwfrbE31N/tUMmLkl7pKybSnek0IPh8offRk= github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg= github.com/stackitcloud/stackit-sdk-go/services/redis v1.1.1 h1:PkA2mBtQBsCxToMY2g6O4zwMPH4ah3OUt0vkJMje2qo= @@ -708,21 +712,20 @@ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 h1:TNZH github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ= github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 h1:YhQ2GF+AyHVUps1iEjLj7z6OlzBzMGyD5nwHaZ0pXus= github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.19.0 h1:/SNc1zedje1HNhMCWf+IRx2eKpFXeGdmCRCIZ4PCrhs= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.19.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.0 h1:A6zN5JUz5DOTigTxAyAC+4p5VpJzaYDftx2yIH0mgn8= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0 h1:eu9PhRdL2GkXpHtf4NN9YBCUYcARdvAwq+g/FW4hmi4= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0 h1:skiTu1l1H0gumo9kosp5fSzrjWDZWcUM5pBH6aqUaG8= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0 h1:RG+cZzvIb+NoVNYemvwG5UHR9qEqea6IuHVYtojeBbQ= github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0/go.mod h1:hgw8janWmDfP2bnuZensxqcAePr49BX5ug8Rq85o+h8= github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0 h1:tEKBl3g7SIjZ8aa43nNjS1Rqr/IwxQ3Pr1MArYF0fno= github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0/go.mod h1:WUmgKtwpe90Yq3YbgNxc2clTTULVxCu0ha6lMTjUnII= github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 h1:LMgbzhPunuelsIsfyEj/5O/aYfNcg/eGHsnZ7AZOhYg= github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0/go.mod h1:toIjQk1dhxdUFVyCWJJja0w/0nFpDid8MWX0ukQfvfo= -github.com/stackitcloud/terraform-provider-stackit v0.104.0 h1:1HJKGNh1dRZJs/yNzYTSGSIHqCphwaehZ4Ww5B+FFGQ= -github.com/stackitcloud/terraform-provider-stackit v0.104.0/go.mod h1:PlfOhI6puQ7Etgu56Emx2mChiSKAMiIMF0K30tRsSek= +github.com/stackitcloud/terraform-provider-stackit v0.112.0 h1:4Icefpw9qBUqFUNwwfweWvuhYOGFJC+udSzMGL84K5s= +github.com/stackitcloud/terraform-provider-stackit v0.112.0/go.mod h1:VpxfFiWAD/80xPz2cLkgQZA8epJO4m99KUkUatf1wJQ= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -825,6 +828,8 @@ go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= @@ -861,8 +866,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= +golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= +golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1041,8 +1046,8 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= lukechampine.com/frand v1.5.1 h1:fg0eRtdmGFIxhP5zQJzM1lFDbD6CUfu/f+7WgAZd5/w= lukechampine.com/frand v1.5.1/go.mod h1:4VstaWc2plN4Mjr10chUD46RAVGWhpkZ5Nja8+Azp0Q= -mvdan.cc/gofumpt v0.9.2 h1:zsEMWL8SVKGHNztrx6uZrXdp7AX8r421Vvp23sz7ik4= -mvdan.cc/gofumpt v0.9.2/go.mod h1:iB7Hn+ai8lPvofHd9ZFGVg2GOr8sBUw1QUWjNbmIL/s= +mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E= +mvdan.cc/gofumpt v0.5.0/go.mod h1:HBeVDtMKRZpXyxFciAirzdKklDlGu8aAy1wEbH5Y9js= pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= diff --git a/provider/shim/go.mod b/provider/shim/go.mod index c46f16a9..db7ffb36 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -4,25 +4,27 @@ go 1.26.0 require ( github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.6 - github.com/stackitcloud/terraform-provider-stackit v0.104.0 + github.com/stackitcloud/terraform-provider-stackit v0.112.0 ) require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/alb v0.16.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/certificates v1.9.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/dremio v0.6.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/kms v1.12.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/kms v1.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/scf v0.10.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 // indirect - google.golang.org/grpc v1.82.1 // indirect + golang.org/x/text v0.39.0 // indirect ) require ( @@ -34,7 +36,7 @@ require ( github.com/hashicorp/terraform-plugin-framework v1.19.0 github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 // indirect github.com/hashicorp/terraform-plugin-go v0.31.0 // indirect - github.com/hashicorp/terraform-plugin-log v0.10.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.11.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect @@ -44,15 +46,15 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logme v1.1.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.1.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.11.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.12.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/redis v1.1.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 // indirect @@ -61,11 +63,11 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 // indirect github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.19.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0 // indirect github.com/teambition/rrule-go v1.8.2 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/mod v0.37.0 // indirect - golang.org/x/sys v0.45.0 // indirect + golang.org/x/mod v0.38.0 // indirect + golang.org/x/sys v0.46.0 // indirect ) diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 2543d262..39aaa339 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -45,7 +45,6 @@ github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaX github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/hc-install v0.9.4 h1:KKWOpUG0EqIV63Qk2GGFrZ0s275NVs5lKf9N5vjBNoc= github.com/hashicorp/hc-install v0.9.4/go.mod h1:4LRYeEN2bMIFfIv57ldMWt9awfuZhvpbRt0vWmv51WU= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQxvE= github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -62,8 +61,8 @@ github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 h1:Zz3iGgzxe/ github.com/hashicorp/terraform-plugin-framework-validators v0.19.0/go.mod h1:GBKTNGbGVJohU03dZ7U8wHqc2zYnMUawgCN+gC0itLc= github.com/hashicorp/terraform-plugin-go v0.31.0 h1:0Fz2r9DQ+kNNl6bx8HRxFd1TfMKUvnrOtvJPmp3Z0q8= github.com/hashicorp/terraform-plugin-go v0.31.0/go.mod h1:A88bDhd/cW7FnwqxQRz3slT+QY6yzbHKc6AOTtmdeS8= -github.com/hashicorp/terraform-plugin-log v0.10.0 h1:eu2kW6/QBVdN4P3Ju2WiB2W3ObjkAsyfBsL3Wh1fj3g= -github.com/hashicorp/terraform-plugin-log v0.10.0/go.mod h1:/9RR5Cv2aAbrqcTSdNmY1NRHP4E3ekrXRGjqORpXyB0= +github.com/hashicorp/terraform-plugin-log v0.11.0 h1:WjhcpZIVqP8YRe83+dIZXncwSgtu4vh27i23G33PUQY= +github.com/hashicorp/terraform-plugin-log v0.11.0/go.mod h1:XygBz8+m5kgwTb73MMyrnUjeNQeVWECEfg+h2opMsj0= github.com/hashicorp/terraform-plugin-sdk/v2 v2.40.0 h1:MKS/2URqeJRwJdbOfcbdsZCq/IRrNkqJNN0GtVIsuGs= github.com/hashicorp/terraform-plugin-sdk/v2 v2.40.0/go.mod h1:PuG4P97Ju3QXW6c6vRkRadWJbvnEu2Xh+oOuqcYOqX4= github.com/hashicorp/terraform-plugin-testing v1.16.0 h1:GB97nGnJ1hESpDrCjqZig38RodSF0gdRzxlDupLXP38= @@ -103,6 +102,8 @@ github.com/stackitcloud/stackit-sdk-go/core v0.26.0 h1:jQEb9gkehfp6VCP6TcYk7BI10 github.com/stackitcloud/stackit-sdk-go/core v0.26.0/go.mod h1:WU1hhxnjXw2EV7CYa1nlEvNpMiRY6CvmIOaHuL3pOaA= github.com/stackitcloud/stackit-sdk-go/services/alb v0.16.0 h1:WoWlHdzISGXPEaJOYt6HP5F9M5nbyCJL6VqRJZIaOQs= github.com/stackitcloud/stackit-sdk-go/services/alb v0.16.0/go.mod h1:eK6oRB5Tmpt6KbXQ4UYBGg2LgW5bPtVoncL9E8JSRww= +github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.0 h1:uuQDV7Q3ndFJhlBbE2SX9ft+AtBJIck8rEcPr1lIqVE= +github.com/stackitcloud/stackit-sdk-go/services/albwaf v0.13.0/go.mod h1:4M9G1I64kZwlXO32ZoIpt0GAN4SpZ1SYerwCVVIBGoE= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 h1:b7WJ/vwxlVmNNX91kI3obqGcuoPAyaCbDL5aCMQ/sNg= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2/go.mod h1:T/JF25XGJ3GqER/1L2N//DgY8x5tY7gA3N+/0nvmOWY= github.com/stackitcloud/stackit-sdk-go/services/cdn v1.19.0 h1:k+KJ4gp9awhJMY5y55vDqRSr6G/S9+8haTNILGbgH9s= @@ -111,8 +112,8 @@ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.9.0 h1:7qAgkYy5O github.com/stackitcloud/stackit-sdk-go/services/certificates v1.9.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 h1:ZVkptfVCAqpaPWkE+WIopM9XdzqgbVcwmX5L1jZqqx8= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 h1:kAWRUptc9g6lA9XCgB4Fw8oQYOhDuV0mp+eZhpiyJ+Y= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.6.0 h1:VYBKvdBCZg2vr0m1Q7mn+BM43L8wGk/dc4ilOxWbMLs= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.6.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.0 h1:MD475tdG7oSRquUr4SA4MIevVTb82sBPM2Fkf5J7aE0= github.com/stackitcloud/stackit-sdk-go/services/edge v0.13.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg= github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 h1:VZBneGprCmHqckcSMPs3puBlK8rBpLMtYKmBktwdoVE= @@ -121,16 +122,18 @@ github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 h1:PQZ6n71CMadLU3Dj github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0/go.mod h1:AbPN9BGkdjc+tVsXEX9Vr8BPDjdlDmG26K1FwCKZQVU= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 h1:zuZIWgm8ak6aOyvgHouIBSoAnUkNBy4HMSba5AHYI7U= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.12.0 h1:rydjdSL+j6Yd+3T7ks+JFkjKMh3a1RfBzTFZBTcdgds= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.12.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 h1:1dvL7tX91ziklayQmOupniE3jM4D5Nbtc0auNcx2p18= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs= -github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1 h1:iteL61eMMPWT6872nF4Ko/tBU1IXemvS++XR09pj6NA= -github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.13.0 h1:4S9gcTlijtvlF8wYZR5anbQ98oIP2+fIaEsvBXluux4= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.13.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.0 h1:YWpy3VDKrTKVgvnHgbLFYRZ4qUKiNxzCejUNdWIYZ6Q= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.15.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs= +github.com/stackitcloud/stackit-sdk-go/services/logme v1.1.0 h1:r+MzTC/qI8t4zTB029bp75iLzsx1/F4LzTiZeIwM5Vg= +github.com/stackitcloud/stackit-sdk-go/services/logme v1.1.0/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY= github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrMK9rPaZY6dLMAuMJf5g6+r7VRTXc= github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.1 h1:Ll1erKKms7OnFva3bRXOs9PEYLoWJp5prSg985K0glk= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.1/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0 h1:3IZ3baztlqmkkDxwBfRymYTFeZa3AARVXYlt3hohfPs= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY= +github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0 h1:4cM9P38lQkJRtz0ZdDRhMam/J2rlL0m3sa1JBcIPcdc= +github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0/go.mod h1:TW2PYG0kSrfAos3yY8wUxDem0J9ZYSXulnbzBZ4BTaE= github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 h1:LfcQ++Z8a13jrJ5NOaCY/hwToh/e+QJj0eS6rd6s6k8= github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg= github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0 h1:SVd3WMmLAE0Jxk2SaRuM85DTOOXHycyMpZGx9vzqNkI= @@ -141,8 +144,8 @@ github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 h1:KhuWPXr github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k= github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.1.0 h1:hooc/E9Qabn8xno1NUd3uJQfUbW5KoY6mgURlnd776c= github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.1.0/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.11.0 h1:cuI4NhuFhaZ3tTkBpUM7nt2odKFJkyCcphT/3gGb9CE= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.11.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.12.0 h1:elIyrDVSYlEtigFO82SWnpfuJZdpv0b2SwvL3M+z9dA= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.12.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8= github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1 h1:Vly7OKWAwfrbE31N/tUMmLkl7pKybSnek0IPh8offRk= github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg= github.com/stackitcloud/stackit-sdk-go/services/redis v1.1.1 h1:PkA2mBtQBsCxToMY2g6O4zwMPH4ah3OUt0vkJMje2qo= @@ -163,18 +166,18 @@ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 h1:TNZH github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ= github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 h1:YhQ2GF+AyHVUps1iEjLj7z6OlzBzMGyD5nwHaZ0pXus= github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.19.0 h1:/SNc1zedje1HNhMCWf+IRx2eKpFXeGdmCRCIZ4PCrhs= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.19.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.0 h1:A6zN5JUz5DOTigTxAyAC+4p5VpJzaYDftx2yIH0mgn8= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0 h1:eu9PhRdL2GkXpHtf4NN9YBCUYcARdvAwq+g/FW4hmi4= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0 h1:skiTu1l1H0gumo9kosp5fSzrjWDZWcUM5pBH6aqUaG8= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0 h1:RG+cZzvIb+NoVNYemvwG5UHR9qEqea6IuHVYtojeBbQ= github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0/go.mod h1:hgw8janWmDfP2bnuZensxqcAePr49BX5ug8Rq85o+h8= github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0 h1:tEKBl3g7SIjZ8aa43nNjS1Rqr/IwxQ3Pr1MArYF0fno= github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0/go.mod h1:WUmgKtwpe90Yq3YbgNxc2clTTULVxCu0ha6lMTjUnII= github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 h1:LMgbzhPunuelsIsfyEj/5O/aYfNcg/eGHsnZ7AZOhYg= github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0/go.mod h1:toIjQk1dhxdUFVyCWJJja0w/0nFpDid8MWX0ukQfvfo= -github.com/stackitcloud/terraform-provider-stackit v0.104.0 h1:1HJKGNh1dRZJs/yNzYTSGSIHqCphwaehZ4Ww5B+FFGQ= -github.com/stackitcloud/terraform-provider-stackit v0.104.0/go.mod h1:PlfOhI6puQ7Etgu56Emx2mChiSKAMiIMF0K30tRsSek= +github.com/stackitcloud/terraform-provider-stackit v0.112.0 h1:4Icefpw9qBUqFUNwwfweWvuhYOGFJC+udSzMGL84K5s= +github.com/stackitcloud/terraform-provider-stackit v0.112.0/go.mod h1:VpxfFiWAD/80xPz2cLkgQZA8epJO4m99KUkUatf1wJQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= @@ -189,26 +192,23 @@ github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAh github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/zclconf/go-cty v1.18.1 h1:yEGE8M4iIZlyKQURZNb2SnEyZlZHUcBCnx6KF81KuwM= github.com/zclconf/go-cty v1.18.1/go.mod h1:qpnV6EDNgC1sns/AleL1fvatHw72j+S+nS+MJ+T2CSg= -golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= -golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= -golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ= -golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0= -golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= -golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= -golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= -golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= +golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= +golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= +golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= +golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= -golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= -golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= -golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8= -golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0= +golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= +golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= +golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= diff --git a/sdk/dotnet/AlbWafConfiguration.cs b/sdk/dotnet/AlbWafConfiguration.cs new file mode 100644 index 00000000..074c746b --- /dev/null +++ b/sdk/dotnet/AlbWafConfiguration.cs @@ -0,0 +1,202 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/albWafConfiguration:AlbWafConfiguration")] + public partial class AlbWafConfiguration : global::Pulumi.CustomResource + { + /// + /// Name of the custom rule group for this WAF Configuration. + /// + [Output("customRuleGroupName")] + public Output CustomRuleGroupName { get; private set; } = null!; + + /// + /// User-defined metadata as key-value pairs. Should not exceed 64 entries. + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// Name of the managed rule set configuration for this WAF Configuration. + /// + [Output("managedRuleSetName")] + public Output ManagedRuleSetName { get; private set; } = null!; + + /// + /// The name of the WAF Configuration. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT project ID to which the WAF Configuration is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region (e.g. eu01). If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + + /// + /// Create a AlbWafConfiguration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AlbWafConfiguration(string name, AlbWafConfigurationArgs args, CustomResourceOptions? options = null) + : base("stackit:index/albWafConfiguration:AlbWafConfiguration", name, args ?? new AlbWafConfigurationArgs(), MakeResourceOptions(options, "")) + { + } + + private AlbWafConfiguration(string name, Input id, AlbWafConfigurationState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/albWafConfiguration:AlbWafConfiguration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AlbWafConfiguration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static AlbWafConfiguration Get(string name, Input id, AlbWafConfigurationState? state = null, CustomResourceOptions? options = null) + { + return new AlbWafConfiguration(name, id, state, options); + } + } + + public sealed class AlbWafConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the custom rule group for this WAF Configuration. + /// + [Input("customRuleGroupName")] + public Input? CustomRuleGroupName { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// User-defined metadata as key-value pairs. Should not exceed 64 entries. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// Name of the managed rule set configuration for this WAF Configuration. + /// + [Input("managedRuleSetName")] + public Input? ManagedRuleSetName { get; set; } + + /// + /// The name of the WAF Configuration. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the WAF Configuration is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region (e.g. eu01). If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public AlbWafConfigurationArgs() + { + } + public static new AlbWafConfigurationArgs Empty => new AlbWafConfigurationArgs(); + } + + public sealed class AlbWafConfigurationState : global::Pulumi.ResourceArgs + { + /// + /// Name of the custom rule group for this WAF Configuration. + /// + [Input("customRuleGroupName")] + public Input? CustomRuleGroupName { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// User-defined metadata as key-value pairs. Should not exceed 64 entries. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// Name of the managed rule set configuration for this WAF Configuration. + /// + [Input("managedRuleSetName")] + public Input? ManagedRuleSetName { get; set; } + + /// + /// The name of the WAF Configuration. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the WAF Configuration is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region (e.g. eu01). If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public AlbWafConfigurationState() + { + } + public static new AlbWafConfigurationState Empty => new AlbWafConfigurationState(); + } +} diff --git a/sdk/dotnet/AlbWafCustomRuleGroup.cs b/sdk/dotnet/AlbWafCustomRuleGroup.cs new file mode 100644 index 00000000..6ccc07c0 --- /dev/null +++ b/sdk/dotnet/AlbWafCustomRuleGroup.cs @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup")] + public partial class AlbWafCustomRuleGroup : global::Pulumi.CustomResource + { + /// + /// Custom rule group configuration name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the ALB WAF Custom Rule Group. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// Enriched rules containing auto-generated IDs and computed severity values. + /// + [Output("rules")] + public Output> Rules { get; private set; } = null!; + + + /// + /// Create a AlbWafCustomRuleGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AlbWafCustomRuleGroup(string name, AlbWafCustomRuleGroupArgs args, CustomResourceOptions? options = null) + : base("stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup", name, args ?? new AlbWafCustomRuleGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private AlbWafCustomRuleGroup(string name, Input id, AlbWafCustomRuleGroupState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AlbWafCustomRuleGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static AlbWafCustomRuleGroup Get(string name, Input id, AlbWafCustomRuleGroupState? state = null, CustomResourceOptions? options = null) + { + return new AlbWafCustomRuleGroup(name, id, state, options); + } + } + + public sealed class AlbWafCustomRuleGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Custom rule group configuration name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID associated with the ALB WAF Custom Rule Group. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("rules", required: true)] + private InputList? _rules; + + /// + /// Enriched rules containing auto-generated IDs and computed severity values. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public AlbWafCustomRuleGroupArgs() + { + } + public static new AlbWafCustomRuleGroupArgs Empty => new AlbWafCustomRuleGroupArgs(); + } + + public sealed class AlbWafCustomRuleGroupState : global::Pulumi.ResourceArgs + { + /// + /// Custom rule group configuration name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID associated with the ALB WAF Custom Rule Group. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("rules")] + private InputList? _rules; + + /// + /// Enriched rules containing auto-generated IDs and computed severity values. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public AlbWafCustomRuleGroupState() + { + } + public static new AlbWafCustomRuleGroupState Empty => new AlbWafCustomRuleGroupState(); + } +} diff --git a/sdk/dotnet/AlbWafManagedRuleSet.cs b/sdk/dotnet/AlbWafManagedRuleSet.cs new file mode 100644 index 00000000..461dc835 --- /dev/null +++ b/sdk/dotnet/AlbWafManagedRuleSet.cs @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// ALB WAF Managed Rule Set resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet")] + public partial class AlbWafManagedRuleSet : global::Pulumi.CustomResource + { + /// + /// Inventory of all available Managed Rule Set groups and their current configuration. + /// + [Output("groups")] + public Output> Groups { get; private set; } = null!; + + /// + /// Managed Rule Set configuration name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the ALB WAF Managed Rule Set. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// Type of the Managed Rule Set. + /// + [Output("type")] + public Output Type { get; private set; } = null!; + + /// + /// Managed Rule Set version. + /// + [Output("version")] + public Output Version { get; private set; } = null!; + + + /// + /// Create a AlbWafManagedRuleSet resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AlbWafManagedRuleSet(string name, AlbWafManagedRuleSetArgs args, CustomResourceOptions? options = null) + : base("stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet", name, args ?? new AlbWafManagedRuleSetArgs(), MakeResourceOptions(options, "")) + { + } + + private AlbWafManagedRuleSet(string name, Input id, AlbWafManagedRuleSetState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AlbWafManagedRuleSet resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static AlbWafManagedRuleSet Get(string name, Input id, AlbWafManagedRuleSetState? state = null, CustomResourceOptions? options = null) + { + return new AlbWafManagedRuleSet(name, id, state, options); + } + } + + public sealed class AlbWafManagedRuleSetArgs : global::Pulumi.ResourceArgs + { + /// + /// Managed Rule Set configuration name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID associated with the ALB WAF Managed Rule Set. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Type of the Managed Rule Set. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public AlbWafManagedRuleSetArgs() + { + } + public static new AlbWafManagedRuleSetArgs Empty => new AlbWafManagedRuleSetArgs(); + } + + public sealed class AlbWafManagedRuleSetState : global::Pulumi.ResourceArgs + { + [Input("groups")] + private InputMap? _groups; + + /// + /// Inventory of all available Managed Rule Set groups and their current configuration. + /// + public InputMap Groups + { + get => _groups ?? (_groups = new InputMap()); + set => _groups = value; + } + + /// + /// Managed Rule Set configuration name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID associated with the ALB WAF Managed Rule Set. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Type of the Managed Rule Set. + /// + [Input("type")] + public Input? Type { get; set; } + + /// + /// Managed Rule Set version. + /// + [Input("version")] + public Input? Version { get; set; } + + public AlbWafManagedRuleSetState() + { + } + public static new AlbWafManagedRuleSetState Empty => new AlbWafManagedRuleSetState(); + } +} diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 1a5bd96b..e1219e1a 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -52,6 +52,16 @@ public static string? AlbCustomEndpoint set => _albCustomEndpoint.Set(value); } + private static readonly __Value _albWafCustomEndpoint = new __Value(() => __config.Get("albWafCustomEndpoint")); + /// + /// Custom endpoint for the Application Load Balancer Web Application Firewall service + /// + public static string? AlbWafCustomEndpoint + { + get => _albWafCustomEndpoint.Get(); + set => _albWafCustomEndpoint.Set(value); + } + private static readonly __Value _authorizationCustomEndpoint = new __Value(() => __config.Get("authorizationCustomEndpoint")); /// /// Custom endpoint for the Membership service @@ -222,6 +232,16 @@ public static string? MariadbCustomEndpoint set => _mariadbCustomEndpoint.Set(value); } + private static readonly __Value _modelexperimentsCustomEndpoint = new __Value(() => __config.Get("modelexperimentsCustomEndpoint")); + /// + /// Custom endpoint for the AI Model Experiments service + /// + public static string? ModelexperimentsCustomEndpoint + { + get => _modelexperimentsCustomEndpoint.Get(); + set => _modelexperimentsCustomEndpoint.Set(value); + } + private static readonly __Value _modelservingCustomEndpoint = new __Value(() => __config.Get("modelservingCustomEndpoint")); /// /// Custom endpoint for the AI Model Serving service @@ -342,16 +362,6 @@ public static string? RedisCustomEndpoint set => _redisCustomEndpoint.Set(value); } - private static readonly __Value _region = new __Value(() => __config.Get("region")); - /// - /// Region will be used as the default location for regional services. Not all services require a region, some are global - /// - public static string? Region - { - get => _region.Get(); - set => _region.Set(value); - } - private static readonly __Value _resourcemanagerCustomEndpoint = new __Value(() => __config.Get("resourcemanagerCustomEndpoint")); /// /// Custom endpoint for the Resource Manager service diff --git a/sdk/dotnet/DnsZone.cs b/sdk/dotnet/DnsZone.cs index 79ff73ac..2fd7970b 100644 --- a/sdk/dotnet/DnsZone.cs +++ b/sdk/dotnet/DnsZone.cs @@ -22,7 +22,7 @@ namespace Pulumi.Stackit public partial class DnsZone : global::Pulumi.CustomResource { /// - /// The access control list. E.g. `0.0.0.0/0,::/0` + /// The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. /// [Output("acl")] public Output Acl { get; private set; } = null!; @@ -195,7 +195,7 @@ public static DnsZone Get(string name, Input id, DnsZoneState? state = n public sealed class DnsZoneArgs : global::Pulumi.ResourceArgs { /// - /// The access control list. E.g. `0.0.0.0/0,::/0` + /// The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. /// [Input("acl")] public Input? Acl { get; set; } @@ -299,7 +299,7 @@ public DnsZoneArgs() public sealed class DnsZoneState : global::Pulumi.ResourceArgs { /// - /// The access control list. E.g. `0.0.0.0/0,::/0` + /// The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. /// [Input("acl")] public Input? Acl { get; set; } diff --git a/sdk/dotnet/GetAlbWafConfiguration.cs b/sdk/dotnet/GetAlbWafConfiguration.cs new file mode 100644 index 00000000..68727968 --- /dev/null +++ b/sdk/dotnet/GetAlbWafConfiguration.cs @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetAlbWafConfiguration + { + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_configuration" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-waf-configuration" + /// } + /// ``` + /// + public static Task InvokeAsync(GetAlbWafConfigurationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", args ?? new GetAlbWafConfigurationArgs(), options.WithDefaults()); + + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_configuration" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-waf-configuration" + /// } + /// ``` + /// + public static Output Invoke(GetAlbWafConfigurationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", args ?? new GetAlbWafConfigurationInvokeArgs(), options.WithDefaults()); + + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_configuration" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-waf-configuration" + /// } + /// ``` + /// + public static Output Invoke(GetAlbWafConfigurationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", args ?? new GetAlbWafConfigurationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAlbWafConfigurationArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the WAF Configuration. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// STACKIT project ID to which the WAF Configuration is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region (e.g. eu01). If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetAlbWafConfigurationArgs() + { + } + public static new GetAlbWafConfigurationArgs Empty => new GetAlbWafConfigurationArgs(); + } + + public sealed class GetAlbWafConfigurationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the WAF Configuration. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// STACKIT project ID to which the WAF Configuration is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region (e.g. eu01). If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetAlbWafConfigurationInvokeArgs() + { + } + public static new GetAlbWafConfigurationInvokeArgs Empty => new GetAlbWafConfigurationInvokeArgs(); + } + + + [OutputType] + public sealed class GetAlbWafConfigurationResult + { + /// + /// Name of the custom rule group for this WAF Configuration. + /// + public readonly string CustomRuleGroupName; + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`,`Region`,`Name`". + /// + public readonly string Id; + /// + /// User-defined metadata as key-value pairs. Should not exceed 64 entries. + /// + public readonly ImmutableDictionary Labels; + /// + /// Name of the managed rule set configuration for this WAF Configuration. + /// + public readonly string ManagedRuleSetName; + /// + /// The name of the WAF Configuration. + /// + public readonly string Name; + /// + /// STACKIT project ID to which the WAF Configuration is associated. + /// + public readonly string ProjectId; + /// + /// The resource region (e.g. eu01). If not defined, the provider region is used. + /// + public readonly string Region; + + [OutputConstructor] + private GetAlbWafConfigurationResult( + string customRuleGroupName, + + string id, + + ImmutableDictionary labels, + + string managedRuleSetName, + + string name, + + string projectId, + + string region) + { + CustomRuleGroupName = customRuleGroupName; + Id = id; + Labels = labels; + ManagedRuleSetName = managedRuleSetName; + Name = name; + ProjectId = projectId; + Region = region; + } + } +} diff --git a/sdk/dotnet/GetAlbWafCustomRuleGroup.cs b/sdk/dotnet/GetAlbWafCustomRuleGroup.cs new file mode 100644 index 00000000..56cb0d30 --- /dev/null +++ b/sdk/dotnet/GetAlbWafCustomRuleGroup.cs @@ -0,0 +1,163 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetAlbWafCustomRuleGroup + { + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_custom_rule_group" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-custom-rule-group" + /// } + /// ``` + /// + public static Task InvokeAsync(GetAlbWafCustomRuleGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", args ?? new GetAlbWafCustomRuleGroupArgs(), options.WithDefaults()); + + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_custom_rule_group" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-custom-rule-group" + /// } + /// ``` + /// + public static Output Invoke(GetAlbWafCustomRuleGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", args ?? new GetAlbWafCustomRuleGroupInvokeArgs(), options.WithDefaults()); + + /// + /// ALB WAF Custom Rule Group resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level. + /// + /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_custom_rule_group" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-custom-rule-group" + /// } + /// ``` + /// + public static Output Invoke(GetAlbWafCustomRuleGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", args ?? new GetAlbWafCustomRuleGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAlbWafCustomRuleGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// Custom rule group configuration name. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// STACKIT project ID associated with the ALB WAF Custom Rule Group. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetAlbWafCustomRuleGroupArgs() + { + } + public static new GetAlbWafCustomRuleGroupArgs Empty => new GetAlbWafCustomRuleGroupArgs(); + } + + public sealed class GetAlbWafCustomRuleGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Custom rule group configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// STACKIT project ID associated with the ALB WAF Custom Rule Group. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetAlbWafCustomRuleGroupInvokeArgs() + { + } + public static new GetAlbWafCustomRuleGroupInvokeArgs Empty => new GetAlbWafCustomRuleGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetAlbWafCustomRuleGroupResult + { + /// + /// Terraform's internal resource identifier. Structured as "`ProjectId`,`Region`,`Name`". + /// + public readonly string Id; + /// + /// Custom rule group configuration name. + /// + public readonly string Name; + /// + /// STACKIT project ID associated with the ALB WAF Custom Rule Group. + /// + public readonly string ProjectId; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string Region; + /// + /// Enriched rules containing auto-generated IDs and computed severity values. + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private GetAlbWafCustomRuleGroupResult( + string id, + + string name, + + string projectId, + + string region, + + ImmutableArray rules) + { + Id = id; + Name = name; + ProjectId = projectId; + Region = region; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/GetAlbWafManagedRuleSet.cs b/sdk/dotnet/GetAlbWafManagedRuleSet.cs new file mode 100644 index 00000000..bb9ae6ab --- /dev/null +++ b/sdk/dotnet/GetAlbWafManagedRuleSet.cs @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetAlbWafManagedRuleSet + { + /// + /// ALB WAF Managed Rule Set DataSource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level. + /// + /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_managed_rule_set" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-managed-rule-set" + /// } + /// ``` + /// + public static Task InvokeAsync(GetAlbWafManagedRuleSetArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", args ?? new GetAlbWafManagedRuleSetArgs(), options.WithDefaults()); + + /// + /// ALB WAF Managed Rule Set DataSource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level. + /// + /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_managed_rule_set" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-managed-rule-set" + /// } + /// ``` + /// + public static Output Invoke(GetAlbWafManagedRuleSetInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", args ?? new GetAlbWafManagedRuleSetInvokeArgs(), options.WithDefaults()); + + /// + /// ALB WAF Managed Rule Set DataSource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level. + /// + /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_alb_waf_managed_rule_set" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-managed-rule-set" + /// } + /// ``` + /// + public static Output Invoke(GetAlbWafManagedRuleSetInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", args ?? new GetAlbWafManagedRuleSetInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAlbWafManagedRuleSetArgs : global::Pulumi.InvokeArgs + { + /// + /// Managed Rule Set configuration name. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// STACKIT project ID associated with the ALB WAF Managed Rule Set. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetAlbWafManagedRuleSetArgs() + { + } + public static new GetAlbWafManagedRuleSetArgs Empty => new GetAlbWafManagedRuleSetArgs(); + } + + public sealed class GetAlbWafManagedRuleSetInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Managed Rule Set configuration name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// STACKIT project ID associated with the ALB WAF Managed Rule Set. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetAlbWafManagedRuleSetInvokeArgs() + { + } + public static new GetAlbWafManagedRuleSetInvokeArgs Empty => new GetAlbWafManagedRuleSetInvokeArgs(); + } + + + [OutputType] + public sealed class GetAlbWafManagedRuleSetResult + { + /// + /// Inventory of all available Managed Rule Set groups and their current configuration. + /// + public readonly ImmutableDictionary Groups; + /// + /// Terraform's internal resource identifier. Structured as "`ProjectId`,`Region`,`Name`". + /// + public readonly string Id; + /// + /// Managed Rule Set configuration name. + /// + public readonly string Name; + /// + /// STACKIT project ID associated with the ALB WAF Managed Rule Set. + /// + public readonly string ProjectId; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string Region; + /// + /// Type of the Managed Rule Set. + /// + public readonly string Type; + /// + /// Managed Rule Set version. + /// + public readonly string Version; + + [OutputConstructor] + private GetAlbWafManagedRuleSetResult( + ImmutableDictionary groups, + + string id, + + string name, + + string projectId, + + string region, + + string type, + + string version) + { + Groups = groups; + Id = id; + Name = name; + ProjectId = projectId; + Region = region; + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/GetKmsKey.cs b/sdk/dotnet/GetKmsKey.cs index bc79fa31..efec3443 100644 --- a/sdk/dotnet/GetKmsKey.cs +++ b/sdk/dotnet/GetKmsKey.cs @@ -166,7 +166,7 @@ public sealed class GetKmsKeyResult /// public readonly string ProjectId; /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// public readonly string Protection; /// diff --git a/sdk/dotnet/GetKmsWrappingKey.cs b/sdk/dotnet/GetKmsWrappingKey.cs index 0b50f442..9a492a2f 100644 --- a/sdk/dotnet/GetKmsWrappingKey.cs +++ b/sdk/dotnet/GetKmsWrappingKey.cs @@ -166,7 +166,7 @@ public sealed class GetKmsWrappingKeyResult /// public readonly string ProjectId; /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// public readonly string Protection; /// diff --git a/sdk/dotnet/GetLogmeCredential.cs b/sdk/dotnet/GetLogmeCredential.cs index 7ac49366..3a3aa24f 100644 --- a/sdk/dotnet/GetLogmeCredential.cs +++ b/sdk/dotnet/GetLogmeCredential.cs @@ -81,6 +81,12 @@ public sealed class GetLogmeCredentialArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetLogmeCredentialArgs() { } @@ -107,6 +113,12 @@ public sealed class GetLogmeCredentialInvokeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetLogmeCredentialInvokeArgs() { } @@ -123,7 +135,7 @@ public sealed class GetLogmeCredentialResult public readonly string CredentialId; public readonly string Host; /// - /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`InstanceId`,`CredentialId`". + /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`,`CredentialId`". /// public readonly string Id; /// @@ -136,6 +148,10 @@ public sealed class GetLogmeCredentialResult /// STACKIT project ID to which the instance is associated. /// public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; public readonly string Uri; public readonly string Username; @@ -155,6 +171,8 @@ private GetLogmeCredentialResult( string projectId, + string region, + string uri, string username) @@ -166,6 +184,7 @@ private GetLogmeCredentialResult( Password = password; Port = port; ProjectId = projectId; + Region = region; Uri = uri; Username = username; } diff --git a/sdk/dotnet/GetLogmeInstance.cs b/sdk/dotnet/GetLogmeInstance.cs index d5bd3f1f..a0b1ad85 100644 --- a/sdk/dotnet/GetLogmeInstance.cs +++ b/sdk/dotnet/GetLogmeInstance.cs @@ -72,6 +72,12 @@ public sealed class GetLogmeInstanceArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetLogmeInstanceArgs() { } @@ -92,6 +98,12 @@ public sealed class GetLogmeInstanceInvokeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetLogmeInstanceInvokeArgs() { } @@ -107,7 +119,7 @@ public sealed class GetLogmeInstanceResult public readonly string CfSpaceGuid; public readonly string DashboardUrl; /// - /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`InstanceId`". + /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`". /// public readonly string Id; public readonly string ImageUrl; @@ -133,6 +145,10 @@ public sealed class GetLogmeInstanceResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + /// /// The service version. /// public readonly string Version; @@ -163,6 +179,8 @@ private GetLogmeInstanceResult( string projectId, + string region, + string version) { CfGuid = cfGuid; @@ -177,6 +195,7 @@ private GetLogmeInstanceResult( PlanId = planId; PlanName = planName; ProjectId = projectId; + Region = region; Version = version; } } diff --git a/sdk/dotnet/GetMariadbCredential.cs b/sdk/dotnet/GetMariadbCredential.cs index 2a276803..46bc8755 100644 --- a/sdk/dotnet/GetMariadbCredential.cs +++ b/sdk/dotnet/GetMariadbCredential.cs @@ -81,6 +81,12 @@ public sealed class GetMariadbCredentialArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetMariadbCredentialArgs() { } @@ -107,6 +113,12 @@ public sealed class GetMariadbCredentialInvokeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetMariadbCredentialInvokeArgs() { } @@ -124,7 +136,7 @@ public sealed class GetMariadbCredentialResult public readonly string Host; public readonly ImmutableArray Hosts; /// - /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`InstanceId`,`CredentialId`". + /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`,`CredentialId`". /// public readonly string Id; /// @@ -138,6 +150,10 @@ public sealed class GetMariadbCredentialResult /// STACKIT project ID to which the instance is associated. /// public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; public readonly string Uri; public readonly string Username; @@ -161,6 +177,8 @@ private GetMariadbCredentialResult( string projectId, + string region, + string uri, string username) @@ -174,6 +192,7 @@ private GetMariadbCredentialResult( Password = password; Port = port; ProjectId = projectId; + Region = region; Uri = uri; Username = username; } diff --git a/sdk/dotnet/GetMariadbInstance.cs b/sdk/dotnet/GetMariadbInstance.cs index af1417f7..4649b3bf 100644 --- a/sdk/dotnet/GetMariadbInstance.cs +++ b/sdk/dotnet/GetMariadbInstance.cs @@ -72,6 +72,12 @@ public sealed class GetMariadbInstanceArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetMariadbInstanceArgs() { } @@ -92,6 +98,12 @@ public sealed class GetMariadbInstanceInvokeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetMariadbInstanceInvokeArgs() { } @@ -107,7 +119,7 @@ public sealed class GetMariadbInstanceResult public readonly string CfSpaceGuid; public readonly string DashboardUrl; /// - /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`InstanceId`". + /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`". /// public readonly string Id; public readonly string ImageUrl; @@ -133,6 +145,10 @@ public sealed class GetMariadbInstanceResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + /// /// The service version. /// public readonly string Version; @@ -163,6 +179,8 @@ private GetMariadbInstanceResult( string projectId, + string region, + string version) { CfGuid = cfGuid; @@ -177,6 +195,7 @@ private GetMariadbInstanceResult( PlanId = planId; PlanName = planName; ProjectId = projectId; + Region = region; Version = version; } } diff --git a/sdk/dotnet/GetModelexperimentsInstance.cs b/sdk/dotnet/GetModelexperimentsInstance.cs new file mode 100644 index 00000000..8535aa7f --- /dev/null +++ b/sdk/dotnet/GetModelexperimentsInstance.cs @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetModelexperimentsInstance + { + /// + /// Datasource scheme for a STACKIT AI Model Experiments instance. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_modelexperiments_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// } + /// ``` + /// + public static Task InvokeAsync(GetModelexperimentsInstanceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", args ?? new GetModelexperimentsInstanceArgs(), options.WithDefaults()); + + /// + /// Datasource scheme for a STACKIT AI Model Experiments instance. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_modelexperiments_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// } + /// ``` + /// + public static Output Invoke(GetModelexperimentsInstanceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", args ?? new GetModelexperimentsInstanceInvokeArgs(), options.WithDefaults()); + + /// + /// Datasource scheme for a STACKIT AI Model Experiments instance. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_modelexperiments_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// } + /// ``` + /// + public static Output Invoke(GetModelexperimentsInstanceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", args ?? new GetModelexperimentsInstanceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetModelexperimentsInstanceArgs : global::Pulumi.InvokeArgs + { + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetModelexperimentsInstanceArgs() + { + } + public static new GetModelexperimentsInstanceArgs Empty => new GetModelexperimentsInstanceArgs(); + } + + public sealed class GetModelexperimentsInstanceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetModelexperimentsInstanceInvokeArgs() + { + } + public static new GetModelexperimentsInstanceInvokeArgs Empty => new GetModelexperimentsInstanceInvokeArgs(); + } + + + [OutputType] + public sealed class GetModelexperimentsInstanceResult + { + /// + /// The object storage bucket name of the AI Model Experiments instance. + /// + public readonly string BucketName; + /// + /// The deleted experiment retention time of the AI Model Experiments instance. + /// + public readonly string DeletedExperimentRetention; + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + public readonly string Description; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`". + /// + public readonly string Id; + /// + /// The AI Model Experiments instance ID. + /// + public readonly string InstanceId; + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + public readonly ImmutableDictionary Labels; + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + public readonly string Name; + /// + /// STACKIT Project ID to which the resource is associated. + /// + public readonly string ProjectId; + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string Region; + /// + /// The Dashboard URL of the AI Model Experiments instance. + /// + public readonly string Url; + + [OutputConstructor] + private GetModelexperimentsInstanceResult( + string bucketName, + + string deletedExperimentRetention, + + string description, + + string id, + + string instanceId, + + ImmutableDictionary labels, + + string name, + + string projectId, + + string region, + + string url) + { + BucketName = bucketName; + DeletedExperimentRetention = deletedExperimentRetention; + Description = description; + Id = id; + InstanceId = instanceId; + Labels = labels; + Name = name; + ProjectId = projectId; + Region = region; + Url = url; + } + } +} diff --git a/sdk/dotnet/GetModelexperimentsToken.cs b/sdk/dotnet/GetModelexperimentsToken.cs new file mode 100644 index 00000000..e3781ae5 --- /dev/null +++ b/sdk/dotnet/GetModelexperimentsToken.cs @@ -0,0 +1,203 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetModelexperimentsToken + { + /// + /// Datasource scheme for a STACKIT AI Model Experiments instance tokens. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_modelexperiments_token" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// token_id = "example-token-id" + /// } + /// ``` + /// + public static Task InvokeAsync(GetModelexperimentsTokenArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getModelexperimentsToken:getModelexperimentsToken", args ?? new GetModelexperimentsTokenArgs(), options.WithDefaults()); + + /// + /// Datasource scheme for a STACKIT AI Model Experiments instance tokens. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_modelexperiments_token" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// token_id = "example-token-id" + /// } + /// ``` + /// + public static Output Invoke(GetModelexperimentsTokenInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getModelexperimentsToken:getModelexperimentsToken", args ?? new GetModelexperimentsTokenInvokeArgs(), options.WithDefaults()); + + /// + /// Datasource scheme for a STACKIT AI Model Experiments instance tokens. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_modelexperiments_token" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// token_id = "example-token-id" + /// } + /// ``` + /// + public static Output Invoke(GetModelexperimentsTokenInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getModelexperimentsToken:getModelexperimentsToken", args ?? new GetModelexperimentsTokenInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetModelexperimentsTokenArgs : global::Pulumi.InvokeArgs + { + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// The AI Model Experiments instance token ID. + /// + [Input("tokenId", required: true)] + public string TokenId { get; set; } = null!; + + public GetModelexperimentsTokenArgs() + { + } + public static new GetModelexperimentsTokenArgs Empty => new GetModelexperimentsTokenArgs(); + } + + public sealed class GetModelexperimentsTokenInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The AI Model Experiments instance token ID. + /// + [Input("tokenId", required: true)] + public Input TokenId { get; set; } = null!; + + public GetModelexperimentsTokenInvokeArgs() + { + } + public static new GetModelexperimentsTokenInvokeArgs Empty => new GetModelexperimentsTokenInvokeArgs(); + } + + + [OutputType] + public sealed class GetModelexperimentsTokenResult + { + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + public readonly string Description; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`TokenId`". + /// + public readonly string Id; + /// + /// The AI Model Experiments instance ID. + /// + public readonly string InstanceId; + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + public readonly ImmutableDictionary Labels; + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + public readonly string Name; + /// + /// STACKIT Project ID to which the resource is associated. + /// + public readonly string ProjectId; + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string Region; + /// + /// The AI Model Experiments instance token ID. + /// + public readonly string TokenId; + /// + /// The time until the AI Model Experiments instance token is valid. + /// + public readonly string ValidUntil; + + [OutputConstructor] + private GetModelexperimentsTokenResult( + string description, + + string id, + + string instanceId, + + ImmutableDictionary labels, + + string name, + + string projectId, + + string region, + + string tokenId, + + string validUntil) + { + Description = description; + Id = id; + InstanceId = instanceId; + Labels = labels; + Name = name; + ProjectId = projectId; + Region = region; + TokenId = tokenId; + ValidUntil = validUntil; + } + } +} diff --git a/sdk/dotnet/GetNetwork.cs b/sdk/dotnet/GetNetwork.cs index 1ff98da9..eede28bc 100644 --- a/sdk/dotnet/GetNetwork.cs +++ b/sdk/dotnet/GetNetwork.cs @@ -60,6 +60,18 @@ public static Output Invoke(GetNetworkInvokeArgs args, InvokeO public sealed class GetNetworkArgs : global::Pulumi.InvokeArgs { + /// + /// The IPv4 VPC network range ID. + /// + [Input("ipv4VpcNetworkRangeId")] + public string? Ipv4VpcNetworkRangeId { get; set; } + + /// + /// The IPv6 VPC network range ID. + /// + [Input("ipv6VpcNetworkRangeId")] + public string? Ipv6VpcNetworkRangeId { get; set; } + /// /// The network ID. /// @@ -78,6 +90,12 @@ public sealed class GetNetworkArgs : global::Pulumi.InvokeArgs [Input("region")] public string? Region { get; set; } + /// + /// The ID of the VPC the network is associated with. + /// + [Input("vpcId")] + public string? VpcId { get; set; } + public GetNetworkArgs() { } @@ -86,6 +104,18 @@ public GetNetworkArgs() public sealed class GetNetworkInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The IPv4 VPC network range ID. + /// + [Input("ipv4VpcNetworkRangeId")] + public Input? Ipv4VpcNetworkRangeId { get; set; } + + /// + /// The IPv6 VPC network range ID. + /// + [Input("ipv6VpcNetworkRangeId")] + public Input? Ipv6VpcNetworkRangeId { get; set; } + /// /// The network ID. /// @@ -104,6 +134,12 @@ public sealed class GetNetworkInvokeArgs : global::Pulumi.InvokeArgs [Input("region")] public Input? Region { get; set; } + /// + /// The ID of the VPC the network is associated with. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + public GetNetworkInvokeArgs() { } @@ -143,6 +179,10 @@ public sealed class GetNetworkResult /// public readonly ImmutableArray Ipv4Prefixes; /// + /// The IPv4 VPC network range ID. + /// + public readonly string? Ipv4VpcNetworkRangeId; + /// /// The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. /// public readonly string Ipv6Gateway; @@ -163,6 +203,10 @@ public sealed class GetNetworkResult /// public readonly ImmutableArray Ipv6Prefixes; /// + /// The IPv6 VPC network range ID. + /// + public readonly string? Ipv6VpcNetworkRangeId; + /// /// Labels are key-value string pairs which can be attached to a resource container /// public readonly ImmutableDictionary Labels; @@ -194,6 +238,10 @@ public sealed class GetNetworkResult /// The ID of the routing table associated with the network. /// public readonly string RoutingTableId; + /// + /// The ID of the VPC the network is associated with. + /// + public readonly string? VpcId; [OutputConstructor] private GetNetworkResult( @@ -211,6 +259,8 @@ private GetNetworkResult( ImmutableArray ipv4Prefixes, + string? ipv4VpcNetworkRangeId, + string ipv6Gateway, ImmutableArray ipv6Nameservers, @@ -221,6 +271,8 @@ private GetNetworkResult( ImmutableArray ipv6Prefixes, + string? ipv6VpcNetworkRangeId, + ImmutableDictionary labels, string name, @@ -235,7 +287,9 @@ private GetNetworkResult( bool routed, - string routingTableId) + string routingTableId, + + string? vpcId) { Dhcp = dhcp; Id = id; @@ -244,11 +298,13 @@ private GetNetworkResult( Ipv4Prefix = ipv4Prefix; Ipv4PrefixLength = ipv4PrefixLength; Ipv4Prefixes = ipv4Prefixes; + Ipv4VpcNetworkRangeId = ipv4VpcNetworkRangeId; Ipv6Gateway = ipv6Gateway; Ipv6Nameservers = ipv6Nameservers; Ipv6Prefix = ipv6Prefix; Ipv6PrefixLength = ipv6PrefixLength; Ipv6Prefixes = ipv6Prefixes; + Ipv6VpcNetworkRangeId = ipv6VpcNetworkRangeId; Labels = labels; Name = name; NetworkId = networkId; @@ -257,6 +313,7 @@ private GetNetworkResult( Region = region; Routed = routed; RoutingTableId = routingTableId; + VpcId = vpcId; } } } diff --git a/sdk/dotnet/GetNetworkArea.cs b/sdk/dotnet/GetNetworkArea.cs index 63880279..7be0a947 100644 --- a/sdk/dotnet/GetNetworkArea.cs +++ b/sdk/dotnet/GetNetworkArea.cs @@ -108,14 +108,6 @@ public GetNetworkAreaInvokeArgs() [OutputType] public sealed class GetNetworkAreaResult { - /// - /// List of DNS Servers/Nameservers. - /// - public readonly ImmutableArray DefaultNameservers; - /// - /// The default prefix length for networks in the network area. - /// - public readonly int DefaultPrefixLength; /// /// Terraform's internal resource ID. It is structured as "`OrganizationId`,`NetworkAreaId`". /// @@ -125,14 +117,6 @@ public sealed class GetNetworkAreaResult /// public readonly ImmutableDictionary Labels; /// - /// The maximal prefix length for networks in the network area. - /// - public readonly int MaxPrefixLength; - /// - /// The minimal prefix length for networks in the network area. - /// - public readonly int MinPrefixLength; - /// /// The name of the network area. /// public readonly string Name; @@ -141,10 +125,6 @@ public sealed class GetNetworkAreaResult /// public readonly string NetworkAreaId; /// - /// List of Network ranges. - /// - public readonly ImmutableArray NetworkRanges; - /// /// STACKIT organization ID to which the network area is associated. /// public readonly string OrganizationId; @@ -152,49 +132,27 @@ public sealed class GetNetworkAreaResult /// The amount of projects currently referencing this area. /// public readonly int ProjectCount; - /// - /// Classless Inter-Domain Routing (CIDR). - /// - public readonly string TransferNetwork; [OutputConstructor] private GetNetworkAreaResult( - ImmutableArray defaultNameservers, - - int defaultPrefixLength, - string id, ImmutableDictionary labels, - int maxPrefixLength, - - int minPrefixLength, - string name, string networkAreaId, - ImmutableArray networkRanges, - string organizationId, - int projectCount, - - string transferNetwork) + int projectCount) { - DefaultNameservers = defaultNameservers; - DefaultPrefixLength = defaultPrefixLength; Id = id; Labels = labels; - MaxPrefixLength = maxPrefixLength; - MinPrefixLength = minPrefixLength; Name = name; NetworkAreaId = networkAreaId; - NetworkRanges = networkRanges; OrganizationId = organizationId; ProjectCount = projectCount; - TransferNetwork = transferNetwork; } } } diff --git a/sdk/dotnet/GetOpensearchCredential.cs b/sdk/dotnet/GetOpensearchCredential.cs index 2f6da478..160433d0 100644 --- a/sdk/dotnet/GetOpensearchCredential.cs +++ b/sdk/dotnet/GetOpensearchCredential.cs @@ -81,6 +81,12 @@ public sealed class GetOpensearchCredentialArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetOpensearchCredentialArgs() { } @@ -107,6 +113,12 @@ public sealed class GetOpensearchCredentialInvokeArgs : global::Pulumi.InvokeArg [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetOpensearchCredentialInvokeArgs() { } @@ -124,7 +136,7 @@ public sealed class GetOpensearchCredentialResult public readonly string Host; public readonly ImmutableArray Hosts; /// - /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`InstanceId`,`CredentialId`". + /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`,`CredentialId`". /// public readonly string Id; /// @@ -137,6 +149,10 @@ public sealed class GetOpensearchCredentialResult /// STACKIT project ID to which the instance is associated. /// public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; public readonly string Scheme; public readonly string Uri; public readonly string Username; @@ -159,6 +175,8 @@ private GetOpensearchCredentialResult( string projectId, + string region, + string scheme, string uri, @@ -173,6 +191,7 @@ private GetOpensearchCredentialResult( Password = password; Port = port; ProjectId = projectId; + Region = region; Scheme = scheme; Uri = uri; Username = username; diff --git a/sdk/dotnet/GetOpensearchInstance.cs b/sdk/dotnet/GetOpensearchInstance.cs index 15b6fef5..bc17f63f 100644 --- a/sdk/dotnet/GetOpensearchInstance.cs +++ b/sdk/dotnet/GetOpensearchInstance.cs @@ -72,6 +72,12 @@ public sealed class GetOpensearchInstanceArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetOpensearchInstanceArgs() { } @@ -92,6 +98,12 @@ public sealed class GetOpensearchInstanceInvokeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetOpensearchInstanceInvokeArgs() { } @@ -107,7 +119,7 @@ public sealed class GetOpensearchInstanceResult public readonly string CfSpaceGuid; public readonly string DashboardUrl; /// - /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`InstanceId`". + /// Terraform's internal data source. identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`". /// public readonly string Id; public readonly string ImageUrl; @@ -133,6 +145,10 @@ public sealed class GetOpensearchInstanceResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + /// /// The service version. /// public readonly string Version; @@ -163,6 +179,8 @@ private GetOpensearchInstanceResult( string projectId, + string region, + string version) { CfGuid = cfGuid; @@ -177,6 +195,7 @@ private GetOpensearchInstanceResult( PlanId = planId; PlanName = planName; ProjectId = projectId; + Region = region; Version = version; } } diff --git a/sdk/dotnet/GetPostgresflexFlavors.cs b/sdk/dotnet/GetPostgresflexFlavors.cs new file mode 100644 index 00000000..e6e55161 --- /dev/null +++ b/sdk/dotnet/GetPostgresflexFlavors.cs @@ -0,0 +1,196 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetPostgresflexFlavors + { + /// + /// Postgres Flex flavors data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_postgresflex_flavors" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// # region is taken from the provider configuration + /// } + /// + /// # Example usage with an instance + /// resource "stackit_postgresflex_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// flavor_id = one([for flavor in data.stackit_postgresflex_flavors.example.flavors : flavor.id if flavor.cpu == 2 && flavor.memory == 4 && flavor.node_type == "Single"]) + /// backup_schedule = "0 16 * * *" + /// storage = { + /// class = "premium-perf2-stackit" + /// size = 5 + /// } + /// version = "17" + /// network = { + /// acl = ["192.168.0.0/24"] + /// } + /// } + /// ``` + /// + public static Task InvokeAsync(GetPostgresflexFlavorsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", args ?? new GetPostgresflexFlavorsArgs(), options.WithDefaults()); + + /// + /// Postgres Flex flavors data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_postgresflex_flavors" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// # region is taken from the provider configuration + /// } + /// + /// # Example usage with an instance + /// resource "stackit_postgresflex_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// flavor_id = one([for flavor in data.stackit_postgresflex_flavors.example.flavors : flavor.id if flavor.cpu == 2 && flavor.memory == 4 && flavor.node_type == "Single"]) + /// backup_schedule = "0 16 * * *" + /// storage = { + /// class = "premium-perf2-stackit" + /// size = 5 + /// } + /// version = "17" + /// network = { + /// acl = ["192.168.0.0/24"] + /// } + /// } + /// ``` + /// + public static Output Invoke(GetPostgresflexFlavorsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", args ?? new GetPostgresflexFlavorsInvokeArgs(), options.WithDefaults()); + + /// + /// Postgres Flex flavors data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_postgresflex_flavors" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// # region is taken from the provider configuration + /// } + /// + /// # Example usage with an instance + /// resource "stackit_postgresflex_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// flavor_id = one([for flavor in data.stackit_postgresflex_flavors.example.flavors : flavor.id if flavor.cpu == 2 && flavor.memory == 4 && flavor.node_type == "Single"]) + /// backup_schedule = "0 16 * * *" + /// storage = { + /// class = "premium-perf2-stackit" + /// size = 5 + /// } + /// version = "17" + /// network = { + /// acl = ["192.168.0.0/24"] + /// } + /// } + /// ``` + /// + public static Output Invoke(GetPostgresflexFlavorsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", args ?? new GetPostgresflexFlavorsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetPostgresflexFlavorsArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// Postgres Flex flavors data source region. If undefined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + [Input("timeouts")] + public Inputs.GetPostgresflexFlavorsTimeoutsArgs? Timeouts { get; set; } + + public GetPostgresflexFlavorsArgs() + { + } + public static new GetPostgresflexFlavorsArgs Empty => new GetPostgresflexFlavorsArgs(); + } + + public sealed class GetPostgresflexFlavorsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// Postgres Flex flavors data source region. If undefined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public GetPostgresflexFlavorsInvokeArgs() + { + } + public static new GetPostgresflexFlavorsInvokeArgs Empty => new GetPostgresflexFlavorsInvokeArgs(); + } + + + [OutputType] + public sealed class GetPostgresflexFlavorsResult + { + /// + /// List of flavors available for the project. + /// + public readonly ImmutableArray Flavors; + /// + /// Terraform's internal data source ID, structured as "`ProjectId`,`Region`". + /// + public readonly string Id; + /// + /// STACKIT project ID. + /// + public readonly string ProjectId; + /// + /// Postgres Flex flavors data source region. If undefined, the provider region is used. + /// + public readonly string Region; + public readonly Outputs.GetPostgresflexFlavorsTimeoutsResult? Timeouts; + + [OutputConstructor] + private GetPostgresflexFlavorsResult( + ImmutableArray flavors, + + string id, + + string projectId, + + string region, + + Outputs.GetPostgresflexFlavorsTimeoutsResult? timeouts) + { + Flavors = flavors; + Id = id; + ProjectId = projectId; + Region = region; + Timeouts = timeouts; + } + } +} diff --git a/sdk/dotnet/GetPostgresflexInstance.cs b/sdk/dotnet/GetPostgresflexInstance.cs index 20250972..24ae3858 100644 --- a/sdk/dotnet/GetPostgresflexInstance.cs +++ b/sdk/dotnet/GetPostgresflexInstance.cs @@ -118,8 +118,17 @@ public sealed class GetPostgresflexInstanceResult /// The Access Control List (ACL) for the PostgresFlex instance. /// public readonly ImmutableArray Acls; + /// + /// The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + /// public readonly string BackupSchedule; + /// + /// The connection info for the PostgresFlex instance. + /// + public readonly Outputs.GetPostgresflexInstanceConnectionInfoResult ConnectionInfo; + public readonly Outputs.GetPostgresflexInstanceEncryptionResult Encryption; public readonly Outputs.GetPostgresflexInstanceFlavorResult Flavor; + public readonly string FlavorId; /// /// Terraform's internal data source. ID. It is structured as "`ProjectId`,`Region`,`InstanceId`". /// @@ -132,6 +141,7 @@ public sealed class GetPostgresflexInstanceResult /// Instance name. /// public readonly string Name; + public readonly Outputs.GetPostgresflexInstanceNetworkResult Network; /// /// STACKIT project ID to which the instance is associated. /// @@ -141,6 +151,7 @@ public sealed class GetPostgresflexInstanceResult /// public readonly string? Region; public readonly int Replicas; + public readonly int RetentionDays; public readonly Outputs.GetPostgresflexInstanceStorageResult Storage; public readonly string Version; @@ -150,33 +161,48 @@ private GetPostgresflexInstanceResult( string backupSchedule, + Outputs.GetPostgresflexInstanceConnectionInfoResult connectionInfo, + + Outputs.GetPostgresflexInstanceEncryptionResult encryption, + Outputs.GetPostgresflexInstanceFlavorResult flavor, + string flavorId, + string id, string instanceId, string name, + Outputs.GetPostgresflexInstanceNetworkResult network, + string projectId, string? region, int replicas, + int retentionDays, + Outputs.GetPostgresflexInstanceStorageResult storage, string version) { Acls = acls; BackupSchedule = backupSchedule; + ConnectionInfo = connectionInfo; + Encryption = encryption; Flavor = flavor; + FlavorId = flavorId; Id = id; InstanceId = instanceId; Name = name; + Network = network; ProjectId = projectId; Region = region; Replicas = replicas; + RetentionDays = retentionDays; Storage = storage; Version = version; } diff --git a/sdk/dotnet/GetSkeCluster.cs b/sdk/dotnet/GetSkeCluster.cs index 3d99419d..0684c1e5 100644 --- a/sdk/dotnet/GetSkeCluster.cs +++ b/sdk/dotnet/GetSkeCluster.cs @@ -119,6 +119,10 @@ public sealed class GetSkeClusterResult /// public readonly Outputs.GetSkeClusterAccessResult Access; /// + /// Cluster audit log forwarding configuration. + /// + public readonly Outputs.GetSkeClusterAuditResult Audit; + /// /// The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. /// public readonly ImmutableArray EgressAddressRanges; @@ -179,6 +183,8 @@ public sealed class GetSkeClusterResult private GetSkeClusterResult( Outputs.GetSkeClusterAccessResult access, + Outputs.GetSkeClusterAuditResult audit, + ImmutableArray egressAddressRanges, Outputs.GetSkeClusterExtensionsResult extensions, @@ -208,6 +214,7 @@ private GetSkeClusterResult( string serviceAccountIssuer) { Access = access; + Audit = audit; EgressAddressRanges = egressAddressRanges; Extensions = extensions; Hibernations = hibernations; diff --git a/sdk/dotnet/GetSqlserverflexDatabase.cs b/sdk/dotnet/GetSqlserverflexDatabase.cs new file mode 100644 index 00000000..f543de5e --- /dev/null +++ b/sdk/dotnet/GetSqlserverflexDatabase.cs @@ -0,0 +1,210 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetSqlserverflexDatabase + { + /// + /// SQLServer Flex database data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_sqlserverflex_database" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-database" + /// } + /// ``` + /// + public static Task InvokeAsync(GetSqlserverflexDatabaseArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", args ?? new GetSqlserverflexDatabaseArgs(), options.WithDefaults()); + + /// + /// SQLServer Flex database data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_sqlserverflex_database" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-database" + /// } + /// ``` + /// + public static Output Invoke(GetSqlserverflexDatabaseInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", args ?? new GetSqlserverflexDatabaseInvokeArgs(), options.WithDefaults()); + + /// + /// SQLServer Flex database data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_sqlserverflex_database" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example-database" + /// } + /// ``` + /// + public static Output Invoke(GetSqlserverflexDatabaseInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", args ?? new GetSqlserverflexDatabaseInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSqlserverflexDatabaseArgs : global::Pulumi.InvokeArgs + { + /// + /// ID of the SQLServer Flex instance. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// Name of the database. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + /// + /// STACKIT project ID. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + [Input("timeouts")] + public Inputs.GetSqlserverflexDatabaseTimeoutsArgs? Timeouts { get; set; } + + public GetSqlserverflexDatabaseArgs() + { + } + public static new GetSqlserverflexDatabaseArgs Empty => new GetSqlserverflexDatabaseArgs(); + } + + public sealed class GetSqlserverflexDatabaseInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// ID of the SQLServer Flex instance. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Name of the database. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// STACKIT project ID. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public GetSqlserverflexDatabaseInvokeArgs() + { + } + public static new GetSqlserverflexDatabaseInvokeArgs Empty => new GetSqlserverflexDatabaseInvokeArgs(); + } + + + [OutputType] + public sealed class GetSqlserverflexDatabaseResult + { + /// + /// The collation of the database. + /// + public readonly string Collation; + /// + /// Compatibility level of the database. + /// + public readonly int Compatibility; + /// + /// The id of the database. + /// + public readonly int DatabaseId; + /// + /// Terraform internal ID, structured as "`ProjectId`,`Region`,`InstanceId`,`Name`" + /// + public readonly string Id; + /// + /// ID of the SQLServer Flex instance. + /// + public readonly string InstanceId; + /// + /// Name of the database. + /// + public readonly string Name; + /// + /// The owner of the database. + /// + public readonly string Owner; + /// + /// STACKIT project ID. + /// + public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + public readonly Outputs.GetSqlserverflexDatabaseTimeoutsResult? Timeouts; + + [OutputConstructor] + private GetSqlserverflexDatabaseResult( + string collation, + + int compatibility, + + int databaseId, + + string id, + + string instanceId, + + string name, + + string owner, + + string projectId, + + string region, + + Outputs.GetSqlserverflexDatabaseTimeoutsResult? timeouts) + { + Collation = collation; + Compatibility = compatibility; + DatabaseId = databaseId; + Id = id; + InstanceId = instanceId; + Name = name; + Owner = owner; + ProjectId = projectId; + Region = region; + Timeouts = timeouts; + } + } +} diff --git a/sdk/dotnet/GetSqlserverflexFlavors.cs b/sdk/dotnet/GetSqlserverflexFlavors.cs new file mode 100644 index 00000000..7cd65185 --- /dev/null +++ b/sdk/dotnet/GetSqlserverflexFlavors.cs @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + public static class GetSqlserverflexFlavors + { + /// + /// SqlserverFlex flavors data source schema + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_sqlserverflex_flavors" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// // region taken from provider + /// } + /// + /// // example usage with instance + /// resource "stackit_sqlserverflex_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// flavor_id = one([for f in data.stackit_sqlserverflex_flavors.example.flavors : f.id if f.cpu == 4 && f.memory == 16]) + /// } + /// ``` + /// + public static Task InvokeAsync(GetSqlserverflexFlavorsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", args ?? new GetSqlserverflexFlavorsArgs(), options.WithDefaults()); + + /// + /// SqlserverFlex flavors data source schema + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_sqlserverflex_flavors" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// // region taken from provider + /// } + /// + /// // example usage with instance + /// resource "stackit_sqlserverflex_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// flavor_id = one([for f in data.stackit_sqlserverflex_flavors.example.flavors : f.id if f.cpu == 4 && f.memory == 16]) + /// } + /// ``` + /// + public static Output Invoke(GetSqlserverflexFlavorsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", args ?? new GetSqlserverflexFlavorsInvokeArgs(), options.WithDefaults()); + + /// + /// SqlserverFlex flavors data source schema + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_sqlserverflex_flavors" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// // region taken from provider + /// } + /// + /// // example usage with instance + /// resource "stackit_sqlserverflex_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// flavor_id = one([for f in data.stackit_sqlserverflex_flavors.example.flavors : f.id if f.cpu == 4 && f.memory == 16]) + /// } + /// ``` + /// + public static Output Invoke(GetSqlserverflexFlavorsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", args ?? new GetSqlserverflexFlavorsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSqlserverflexFlavorsArgs : global::Pulumi.InvokeArgs + { + /// + /// The project ID. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// SqlserverFlex flavors data source region. If undefined the providers region is used. + /// + [Input("region")] + public string? Region { get; set; } + + [Input("timeouts")] + public Inputs.GetSqlserverflexFlavorsTimeoutsArgs? Timeouts { get; set; } + + public GetSqlserverflexFlavorsArgs() + { + } + public static new GetSqlserverflexFlavorsArgs Empty => new GetSqlserverflexFlavorsArgs(); + } + + public sealed class GetSqlserverflexFlavorsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The project ID. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// SqlserverFlex flavors data source region. If undefined the providers region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public GetSqlserverflexFlavorsInvokeArgs() + { + } + public static new GetSqlserverflexFlavorsInvokeArgs Empty => new GetSqlserverflexFlavorsInvokeArgs(); + } + + + [OutputType] + public sealed class GetSqlserverflexFlavorsResult + { + /// + /// A list of available flavors. + /// + public readonly ImmutableArray Flavors; + /// + /// Terraform's internal data source ID, structured as "`ProjectId`,`Region`" + /// + public readonly string Id; + /// + /// The project ID. + /// + public readonly string ProjectId; + /// + /// SqlserverFlex flavors data source region. If undefined the providers region is used. + /// + public readonly string Region; + public readonly Outputs.GetSqlserverflexFlavorsTimeoutsResult? Timeouts; + + [OutputConstructor] + private GetSqlserverflexFlavorsResult( + ImmutableArray flavors, + + string id, + + string projectId, + + string region, + + Outputs.GetSqlserverflexFlavorsTimeoutsResult? timeouts) + { + Flavors = flavors; + Id = id; + ProjectId = projectId; + Region = region; + Timeouts = timeouts; + } + } +} diff --git a/sdk/dotnet/GetSqlserverflexInstance.cs b/sdk/dotnet/GetSqlserverflexInstance.cs index 11699f99..3c31f037 100644 --- a/sdk/dotnet/GetSqlserverflexInstance.cs +++ b/sdk/dotnet/GetSqlserverflexInstance.cs @@ -138,6 +138,10 @@ public sealed class GetSqlserverflexInstanceResult /// Edition of the MSSQL server instance. /// public readonly string Edition; + /// + /// Parameter to define which key to use for storage encryption. + /// + public readonly Outputs.GetSqlserverflexInstanceEncryptionResult Encryption; public readonly Outputs.GetSqlserverflexInstanceFlavorResult Flavor; /// /// The flavor ID of the SQLServer Flex instance. @@ -187,6 +191,8 @@ private GetSqlserverflexInstanceResult( string edition, + Outputs.GetSqlserverflexInstanceEncryptionResult encryption, + Outputs.GetSqlserverflexInstanceFlavorResult flavor, string flavorId, @@ -216,6 +222,7 @@ private GetSqlserverflexInstanceResult( Acls = acls; BackupSchedule = backupSchedule; Edition = edition; + Encryption = encryption; Flavor = flavor; FlavorId = flavorId; Id = id; diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleArgs.cs new file mode 100644 index 00000000..369689db --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleArgs : global::Pulumi.ResourceArgs + { + [Input("behavior", required: true)] + public Input Behavior { get; set; } = null!; + + [Input("conditions", required: true)] + private InputList? _conditions; + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + /// + /// A clear description explaining the threat vector or criteria addressed by this rule. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + /// + [Input("id")] + public Input? Id { get; set; } + + public AlbWafCustomRuleGroupRuleArgs() + { + } + public static new AlbWafCustomRuleGroupRuleArgs Empty => new AlbWafCustomRuleGroupRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleBehaviorArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleBehaviorArgs.cs new file mode 100644 index 00000000..fd77ee7c --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleBehaviorArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleBehaviorArgs : global::Pulumi.ResourceArgs + { + /// + /// The protective stance action. ACTION_DENY forces a 403 status response code. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Determines whether an entry should be generated in the security ledger upon a rule hit. + /// + [Input("log")] + public Input? Log { get; set; } + + /// + /// Custom notification message string mapped to underlying logdata contexts. Required if log is true. + /// + [Input("logMsg")] + public Input? LogMsg { get; set; } + + /// + /// Severity classification metric used by internal analytics graphs. + /// + [Input("severity")] + public Input? Severity { get; set; } + + public AlbWafCustomRuleGroupRuleBehaviorArgs() + { + } + public static new AlbWafCustomRuleGroupRuleBehaviorArgs Empty => new AlbWafCustomRuleGroupRuleBehaviorArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleBehaviorGetArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleBehaviorGetArgs.cs new file mode 100644 index 00000000..8da391f6 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleBehaviorGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleBehaviorGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The protective stance action. ACTION_DENY forces a 403 status response code. + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + /// + /// Determines whether an entry should be generated in the security ledger upon a rule hit. + /// + [Input("log")] + public Input? Log { get; set; } + + /// + /// Custom notification message string mapped to underlying logdata contexts. Required if log is true. + /// + [Input("logMsg")] + public Input? LogMsg { get; set; } + + /// + /// Severity classification metric used by internal analytics graphs. + /// + [Input("severity")] + public Input? Severity { get; set; } + + public AlbWafCustomRuleGroupRuleBehaviorGetArgs() + { + } + public static new AlbWafCustomRuleGroupRuleBehaviorGetArgs Empty => new AlbWafCustomRuleGroupRuleBehaviorGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionArgs.cs new file mode 100644 index 00000000..cee9d640 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// The comparison logic executed against the transformed variable. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + [Input("transformations")] + private InputList? _transformations; + + /// + /// Ordered normalization steps applied before the operator runs. + /// + public InputList Transformations + { + get => _transformations ?? (_transformations = new InputList()); + set => _transformations = value; + } + + /// + /// The part of the HTTP transaction to inspect. + /// + [Input("variable", required: true)] + public Input Variable { get; set; } = null!; + + public AlbWafCustomRuleGroupRuleConditionArgs() + { + } + public static new AlbWafCustomRuleGroupRuleConditionArgs Empty => new AlbWafCustomRuleGroupRuleConditionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionGetArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionGetArgs.cs new file mode 100644 index 00000000..bd3fd274 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleConditionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The comparison logic executed against the transformed variable. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + [Input("transformations")] + private InputList? _transformations; + + /// + /// Ordered normalization steps applied before the operator runs. + /// + public InputList Transformations + { + get => _transformations ?? (_transformations = new InputList()); + set => _transformations = value; + } + + /// + /// The part of the HTTP transaction to inspect. + /// + [Input("variable", required: true)] + public Input Variable { get; set; } = null!; + + public AlbWafCustomRuleGroupRuleConditionGetArgs() + { + } + public static new AlbWafCustomRuleGroupRuleConditionGetArgs Empty => new AlbWafCustomRuleGroupRuleConditionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionOperatorArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionOperatorArgs.cs new file mode 100644 index 00000000..19d194bf --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionOperatorArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleConditionOperatorArgs : global::Pulumi.ResourceArgs + { + /// + /// The operational evaluation type definition macro. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The text or rule regex pattern arguments applied inside the operator execution loop. + /// + [Input("value")] + public Input? Value { get; set; } + + public AlbWafCustomRuleGroupRuleConditionOperatorArgs() + { + } + public static new AlbWafCustomRuleGroupRuleConditionOperatorArgs Empty => new AlbWafCustomRuleGroupRuleConditionOperatorArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionOperatorGetArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionOperatorGetArgs.cs new file mode 100644 index 00000000..13e69717 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionOperatorGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleConditionOperatorGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The operational evaluation type definition macro. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The text or rule regex pattern arguments applied inside the operator execution loop. + /// + [Input("value")] + public Input? Value { get; set; } + + public AlbWafCustomRuleGroupRuleConditionOperatorGetArgs() + { + } + public static new AlbWafCustomRuleGroupRuleConditionOperatorGetArgs Empty => new AlbWafCustomRuleGroupRuleConditionOperatorGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionVariableArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionVariableArgs.cs new file mode 100644 index 00000000..3d2f0144 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionVariableArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleConditionVariableArgs : global::Pulumi.ResourceArgs + { + /// + /// The targeted validation engine variable macro. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Optional key element context for map variables (e.g., matching a 'Host' header key). + /// + [Input("value")] + public Input? Value { get; set; } + + public AlbWafCustomRuleGroupRuleConditionVariableArgs() + { + } + public static new AlbWafCustomRuleGroupRuleConditionVariableArgs Empty => new AlbWafCustomRuleGroupRuleConditionVariableArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionVariableGetArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionVariableGetArgs.cs new file mode 100644 index 00000000..b59ccb6b --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleConditionVariableGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleConditionVariableGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The targeted validation engine variable macro. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Optional key element context for map variables (e.g., matching a 'Host' header key). + /// + [Input("value")] + public Input? Value { get; set; } + + public AlbWafCustomRuleGroupRuleConditionVariableGetArgs() + { + } + public static new AlbWafCustomRuleGroupRuleConditionVariableGetArgs Empty => new AlbWafCustomRuleGroupRuleConditionVariableGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleGetArgs.cs b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleGetArgs.cs new file mode 100644 index 00000000..82f8dc29 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafCustomRuleGroupRuleGetArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafCustomRuleGroupRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("behavior", required: true)] + public Input Behavior { get; set; } = null!; + + [Input("conditions", required: true)] + private InputList? _conditions; + public InputList Conditions + { + get => _conditions ?? (_conditions = new InputList()); + set => _conditions = value; + } + + /// + /// A clear description explaining the threat vector or criteria addressed by this rule. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + /// + [Input("id")] + public Input? Id { get; set; } + + public AlbWafCustomRuleGroupRuleGetArgs() + { + } + public static new AlbWafCustomRuleGroupRuleGetArgs Empty => new AlbWafCustomRuleGroupRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsArgs.cs b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsArgs.cs new file mode 100644 index 00000000..b0ce56be --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafManagedRuleSetGroupsArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of what this group covers. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The name for the rule group. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + [Input("rules")] + private InputMap? _rules; + + /// + /// Rules of the rule group. + /// + public InputMap Rules + { + get => _rules ?? (_rules = new InputMap()); + set => _rules = value; + } + + public AlbWafManagedRuleSetGroupsArgs() + { + } + public static new AlbWafManagedRuleSetGroupsArgs Empty => new AlbWafManagedRuleSetGroupsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsGetArgs.cs b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsGetArgs.cs new file mode 100644 index 00000000..ed89ff38 --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafManagedRuleSetGroupsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of what this group covers. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The name for the rule group. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + [Input("rules")] + private InputMap? _rules; + + /// + /// Rules of the rule group. + /// + public InputMap Rules + { + get => _rules ?? (_rules = new InputMap()); + set => _rules = value; + } + + public AlbWafManagedRuleSetGroupsGetArgs() + { + } + public static new AlbWafManagedRuleSetGroupsGetArgs Empty => new AlbWafManagedRuleSetGroupsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsRulesArgs.cs b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsRulesArgs.cs new file mode 100644 index 00000000..a0fc9d6a --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsRulesArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafManagedRuleSetGroupsRulesArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of what this rule does. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The current mode of the rule. + /// + [Input("mode")] + public Input? Mode { get; set; } + + /// + /// Impact level. + /// + [Input("severity")] + public Input? Severity { get; set; } + + public AlbWafManagedRuleSetGroupsRulesArgs() + { + } + public static new AlbWafManagedRuleSetGroupsRulesArgs Empty => new AlbWafManagedRuleSetGroupsRulesArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsRulesGetArgs.cs b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsRulesGetArgs.cs new file mode 100644 index 00000000..5af2a87d --- /dev/null +++ b/sdk/dotnet/Inputs/AlbWafManagedRuleSetGroupsRulesGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class AlbWafManagedRuleSetGroupsRulesGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of what this rule does. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The current mode of the rule. + /// + [Input("mode")] + public Input? Mode { get; set; } + + /// + /// Impact level. + /// + [Input("severity")] + public Input? Severity { get; set; } + + public AlbWafManagedRuleSetGroupsRulesGetArgs() + { + } + public static new AlbWafManagedRuleSetGroupsRulesGetArgs Empty => new AlbWafManagedRuleSetGroupsRulesGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs index 9b35140a..2681a94d 100644 --- a/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs +++ b/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs @@ -30,12 +30,36 @@ public InputList BlockedCountries set => _blockedCountries = value; } + [Input("blockedIps")] + private InputList? _blockedIps; + + /// + /// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + /// + public InputList BlockedIps + { + get => _blockedIps ?? (_blockedIps = new InputList()); + set => _blockedIps = value; + } + + /// + /// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + [Input("defaultCacheDuration")] + public Input? DefaultCacheDuration { get; set; } + /// /// Enable this allows the 'Host' header to be passed through to the origin. /// [Input("forwardHostHeader")] public Input? ForwardHostHeader { get; set; } + /// + /// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + [Input("monthlyLimitBytes")] + public Input? MonthlyLimitBytes { get; set; } + /// /// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. /// diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs index c5c88cb4..ffbccbd2 100644 --- a/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs +++ b/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs @@ -30,12 +30,36 @@ public InputList BlockedCountries set => _blockedCountries = value; } + [Input("blockedIps")] + private InputList? _blockedIps; + + /// + /// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + /// + public InputList BlockedIps + { + get => _blockedIps ?? (_blockedIps = new InputList()); + set => _blockedIps = value; + } + + /// + /// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + [Input("defaultCacheDuration")] + public Input? DefaultCacheDuration { get; set; } + /// /// Enable this allows the 'Host' header to be passed through to the origin. /// [Input("forwardHostHeader")] public Input? ForwardHostHeader { get; set; } + /// + /// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + [Input("monthlyLimitBytes")] + public Input? MonthlyLimitBytes { get; set; } + /// /// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. /// diff --git a/sdk/dotnet/Inputs/GetPostgresflexFlavorsTimeouts.cs b/sdk/dotnet/Inputs/GetPostgresflexFlavorsTimeouts.cs new file mode 100644 index 00000000..e81f79a5 --- /dev/null +++ b/sdk/dotnet/Inputs/GetPostgresflexFlavorsTimeouts.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class GetPostgresflexFlavorsTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("read")] + public string? Read { get; set; } + + public GetPostgresflexFlavorsTimeoutsArgs() + { + } + public static new GetPostgresflexFlavorsTimeoutsArgs Empty => new GetPostgresflexFlavorsTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetPostgresflexFlavorsTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetPostgresflexFlavorsTimeoutsArgs.cs new file mode 100644 index 00000000..f0ebfd74 --- /dev/null +++ b/sdk/dotnet/Inputs/GetPostgresflexFlavorsTimeoutsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class GetPostgresflexFlavorsTimeoutsInputArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("read")] + public Input? Read { get; set; } + + public GetPostgresflexFlavorsTimeoutsInputArgs() + { + } + public static new GetPostgresflexFlavorsTimeoutsInputArgs Empty => new GetPostgresflexFlavorsTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetSqlserverflexDatabaseTimeouts.cs b/sdk/dotnet/Inputs/GetSqlserverflexDatabaseTimeouts.cs new file mode 100644 index 00000000..d7a75062 --- /dev/null +++ b/sdk/dotnet/Inputs/GetSqlserverflexDatabaseTimeouts.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class GetSqlserverflexDatabaseTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("read")] + public string? Read { get; set; } + + public GetSqlserverflexDatabaseTimeoutsArgs() + { + } + public static new GetSqlserverflexDatabaseTimeoutsArgs Empty => new GetSqlserverflexDatabaseTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetSqlserverflexDatabaseTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetSqlserverflexDatabaseTimeoutsArgs.cs new file mode 100644 index 00000000..c50e9630 --- /dev/null +++ b/sdk/dotnet/Inputs/GetSqlserverflexDatabaseTimeoutsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class GetSqlserverflexDatabaseTimeoutsInputArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("read")] + public Input? Read { get; set; } + + public GetSqlserverflexDatabaseTimeoutsInputArgs() + { + } + public static new GetSqlserverflexDatabaseTimeoutsInputArgs Empty => new GetSqlserverflexDatabaseTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetSqlserverflexFlavorsTimeouts.cs b/sdk/dotnet/Inputs/GetSqlserverflexFlavorsTimeouts.cs new file mode 100644 index 00000000..7a5f3264 --- /dev/null +++ b/sdk/dotnet/Inputs/GetSqlserverflexFlavorsTimeouts.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class GetSqlserverflexFlavorsTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("read")] + public string? Read { get; set; } + + public GetSqlserverflexFlavorsTimeoutsArgs() + { + } + public static new GetSqlserverflexFlavorsTimeoutsArgs Empty => new GetSqlserverflexFlavorsTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetSqlserverflexFlavorsTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetSqlserverflexFlavorsTimeoutsArgs.cs new file mode 100644 index 00000000..9c8e1a6d --- /dev/null +++ b/sdk/dotnet/Inputs/GetSqlserverflexFlavorsTimeoutsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class GetSqlserverflexFlavorsTimeoutsInputArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("read")] + public Input? Read { get; set; } + + public GetSqlserverflexFlavorsTimeoutsInputArgs() + { + } + public static new GetSqlserverflexFlavorsTimeoutsInputArgs Empty => new GetSqlserverflexFlavorsTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetwork.cs b/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetwork.cs index 16eb1d09..8a98ae70 100644 --- a/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetwork.cs +++ b/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetwork.cs @@ -30,6 +30,18 @@ public List Acls set => _acls = value; } + /// + /// Address of this instance. + /// + [Input("instanceAddress", required: true)] + public string InstanceAddress { get; set; } = null!; + + /// + /// Address of the router. + /// + [Input("routerAddress", required: true)] + public string RouterAddress { get; set; } = null!; + public GetSqlserverflexInstanceNetworkArgs() { } diff --git a/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetworkArgs.cs b/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetworkArgs.cs index c240f205..e51c811a 100644 --- a/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetworkArgs.cs +++ b/sdk/dotnet/Inputs/GetSqlserverflexInstanceNetworkArgs.cs @@ -30,6 +30,18 @@ public InputList Acls set => _acls = value; } + /// + /// Address of this instance. + /// + [Input("instanceAddress", required: true)] + public Input InstanceAddress { get; set; } = null!; + + /// + /// Address of the router. + /// + [Input("routerAddress", required: true)] + public Input RouterAddress { get; set; } = null!; + public GetSqlserverflexInstanceNetworkInputArgs() { } diff --git a/sdk/dotnet/Inputs/NetworkAreaNetworkRangeArgs.cs b/sdk/dotnet/Inputs/NetworkAreaNetworkRangeArgs.cs deleted file mode 100644 index 2ae2b77e..00000000 --- a/sdk/dotnet/Inputs/NetworkAreaNetworkRangeArgs.cs +++ /dev/null @@ -1,29 +0,0 @@ -// *** WARNING: this file was generated by pulumi-language-dotnet. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Stackit.Inputs -{ - - public sealed class NetworkAreaNetworkRangeArgs : global::Pulumi.ResourceArgs - { - [Input("networkRangeId")] - public Input? NetworkRangeId { get; set; } - - /// - /// Classless Inter-Domain Routing (CIDR). - /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; - - public NetworkAreaNetworkRangeArgs() - { - } - public static new NetworkAreaNetworkRangeArgs Empty => new NetworkAreaNetworkRangeArgs(); - } -} diff --git a/sdk/dotnet/Inputs/NetworkAreaNetworkRangeGetArgs.cs b/sdk/dotnet/Inputs/NetworkAreaNetworkRangeGetArgs.cs deleted file mode 100644 index 40ca215c..00000000 --- a/sdk/dotnet/Inputs/NetworkAreaNetworkRangeGetArgs.cs +++ /dev/null @@ -1,29 +0,0 @@ -// *** WARNING: this file was generated by pulumi-language-dotnet. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.Stackit.Inputs -{ - - public sealed class NetworkAreaNetworkRangeGetArgs : global::Pulumi.ResourceArgs - { - [Input("networkRangeId")] - public Input? NetworkRangeId { get; set; } - - /// - /// Classless Inter-Domain Routing (CIDR). - /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; - - public NetworkAreaNetworkRangeGetArgs() - { - } - public static new NetworkAreaNetworkRangeGetArgs Empty => new NetworkAreaNetworkRangeGetArgs(); - } -} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoArgs.cs new file mode 100644 index 00000000..85508c02 --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceConnectionInfoArgs : global::Pulumi.ResourceArgs + { + /// + /// The DNS name and port in the instance overview. + /// + [Input("write")] + public Input? Write { get; set; } + + public PostgresflexInstanceConnectionInfoArgs() + { + } + public static new PostgresflexInstanceConnectionInfoArgs Empty => new PostgresflexInstanceConnectionInfoArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoGetArgs.cs new file mode 100644 index 00000000..2b8b8a1e --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceConnectionInfoGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The DNS name and port in the instance overview. + /// + [Input("write")] + public Input? Write { get; set; } + + public PostgresflexInstanceConnectionInfoGetArgs() + { + } + public static new PostgresflexInstanceConnectionInfoGetArgs Empty => new PostgresflexInstanceConnectionInfoGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoWriteArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoWriteArgs.cs new file mode 100644 index 00000000..05988077 --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoWriteArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceConnectionInfoWriteArgs : global::Pulumi.ResourceArgs + { + /// + /// The host of the instance. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// The port of the instance. + /// + [Input("port")] + public Input? Port { get; set; } + + public PostgresflexInstanceConnectionInfoWriteArgs() + { + } + public static new PostgresflexInstanceConnectionInfoWriteArgs Empty => new PostgresflexInstanceConnectionInfoWriteArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoWriteGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoWriteGetArgs.cs new file mode 100644 index 00000000..29a6b077 --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceConnectionInfoWriteGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceConnectionInfoWriteGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The host of the instance. + /// + [Input("host")] + public Input? Host { get; set; } + + /// + /// The port of the instance. + /// + [Input("port")] + public Input? Port { get; set; } + + public PostgresflexInstanceConnectionInfoWriteGetArgs() + { + } + public static new PostgresflexInstanceConnectionInfoWriteGetArgs Empty => new PostgresflexInstanceConnectionInfoWriteGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceEncryptionArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceEncryptionArgs.cs new file mode 100644 index 00000000..a93a2be0 --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceEncryptionArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceEncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyId", required: true)] + public Input KekKeyId { get; set; } = null!; + + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyVersion", required: true)] + public Input KekKeyVersion { get; set; } = null!; + + /// + /// The ID of the keyring where the key is located within the STACKTI-KMS. + /// + [Input("kekKeyringId", required: true)] + public Input KekKeyringId { get; set; } = null!; + + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + [Input("serviceAccount", required: true)] + public Input ServiceAccount { get; set; } = null!; + + public PostgresflexInstanceEncryptionArgs() + { + } + public static new PostgresflexInstanceEncryptionArgs Empty => new PostgresflexInstanceEncryptionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceEncryptionGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceEncryptionGetArgs.cs new file mode 100644 index 00000000..a40472e6 --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceEncryptionGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceEncryptionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyId", required: true)] + public Input KekKeyId { get; set; } = null!; + + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyVersion", required: true)] + public Input KekKeyVersion { get; set; } = null!; + + /// + /// The ID of the keyring where the key is located within the STACKTI-KMS. + /// + [Input("kekKeyringId", required: true)] + public Input KekKeyringId { get; set; } = null!; + + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + [Input("serviceAccount", required: true)] + public Input ServiceAccount { get; set; } = null!; + + public PostgresflexInstanceEncryptionGetArgs() + { + } + public static new PostgresflexInstanceEncryptionGetArgs Empty => new PostgresflexInstanceEncryptionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceFlavorArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceFlavorArgs.cs index d7663602..45bb7ab2 100644 --- a/sdk/dotnet/Inputs/PostgresflexInstanceFlavorArgs.cs +++ b/sdk/dotnet/Inputs/PostgresflexInstanceFlavorArgs.cs @@ -18,9 +18,15 @@ public sealed class PostgresflexInstanceFlavorArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`,`Region`,`InstanceId`". + /// [Input("id")] public Input? Id { get; set; } + [Input("nodeType")] + public Input? NodeType { get; set; } + [Input("ram", required: true)] public Input Ram { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceFlavorGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceFlavorGetArgs.cs index fbf65ec1..01217af2 100644 --- a/sdk/dotnet/Inputs/PostgresflexInstanceFlavorGetArgs.cs +++ b/sdk/dotnet/Inputs/PostgresflexInstanceFlavorGetArgs.cs @@ -18,9 +18,15 @@ public sealed class PostgresflexInstanceFlavorGetArgs : global::Pulumi.ResourceA [Input("description")] public Input? Description { get; set; } + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`,`Region`,`InstanceId`". + /// [Input("id")] public Input? Id { get; set; } + [Input("nodeType")] + public Input? NodeType { get; set; } + [Input("ram", required: true)] public Input Ram { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceNetworkArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceNetworkArgs.cs new file mode 100644 index 00000000..0f00d15a --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceNetworkArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceNetworkArgs : global::Pulumi.ResourceArgs + { + /// + /// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// + [Input("accessScope")] + public Input? AccessScope { get; set; } + + [Input("acls")] + private InputList? _acls; + + /// + /// The Access Control List (ACL) for the PostgresFlex instance. + /// + public InputList Acls + { + get => _acls ?? (_acls = new InputList()); + set => _acls = value; + } + + [Input("instanceAddress")] + public Input? InstanceAddress { get; set; } + + [Input("routerAddress")] + public Input? RouterAddress { get; set; } + + public PostgresflexInstanceNetworkArgs() + { + } + public static new PostgresflexInstanceNetworkArgs Empty => new PostgresflexInstanceNetworkArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceNetworkGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceNetworkGetArgs.cs new file mode 100644 index 00000000..7d4f0890 --- /dev/null +++ b/sdk/dotnet/Inputs/PostgresflexInstanceNetworkGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class PostgresflexInstanceNetworkGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// + [Input("accessScope")] + public Input? AccessScope { get; set; } + + [Input("acls")] + private InputList? _acls; + + /// + /// The Access Control List (ACL) for the PostgresFlex instance. + /// + public InputList Acls + { + get => _acls ?? (_acls = new InputList()); + set => _acls = value; + } + + [Input("instanceAddress")] + public Input? InstanceAddress { get; set; } + + [Input("routerAddress")] + public Input? RouterAddress { get; set; } + + public PostgresflexInstanceNetworkGetArgs() + { + } + public static new PostgresflexInstanceNetworkGetArgs Empty => new PostgresflexInstanceNetworkGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs index 104d68b7..c0868037 100644 --- a/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs +++ b/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs @@ -15,9 +15,42 @@ public sealed class PostgresflexInstanceStorageArgs : global::Pulumi.ResourceArg /// /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): /// `bash - /// stackit postgresflex options --storages --flavor-id FLAVOR_ID + /// stackit postgresflex flavor describe FLAVOR_ID /// ` /// - `Size` (Number) + /// \n\n\n\n + /// ### Nested Schema for `Encryption` + /// Required: + /// - `KekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + /// - `KekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + /// - `KekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + /// - `ServiceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + /// \n\n\n\n + /// ### Nested Schema for `Flavor` + /// Required: + /// - `Cpu` (Number) + /// - `Ram` (Number) + /// Read-Only: + /// - `Description` (String) + /// - `Id` (String) + /// - `NodeType` (String) + /// \n\n\n\n + /// ### Nested Schema for `Network` + /// Optional: + /// - `AccessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// - `Acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + /// Read-Only: + /// - `InstanceAddress` (String) + /// - `RouterAddress` (String) + /// \n\n\n\n + /// ### Nested Schema for `ConnectionInfo` + /// Read-Only: + /// - `Write` (Attributes) The DNS name and port in the instance overview. + /// \n\n\n\n + /// ### Nested Schema for `connection_info.write` + /// Read-Only: + /// - `Host` (String) The host of the instance. + /// - `Port` (Number) The port of the instance. /// [Input("class", required: true)] public Input Class { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs index bc7f00c8..a04d95bb 100644 --- a/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs +++ b/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs @@ -15,9 +15,42 @@ public sealed class PostgresflexInstanceStorageGetArgs : global::Pulumi.Resource /// /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): /// `bash - /// stackit postgresflex options --storages --flavor-id FLAVOR_ID + /// stackit postgresflex flavor describe FLAVOR_ID /// ` /// - `Size` (Number) + /// \n\n\n\n + /// ### Nested Schema for `Encryption` + /// Required: + /// - `KekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + /// - `KekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + /// - `KekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + /// - `ServiceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + /// \n\n\n\n + /// ### Nested Schema for `Flavor` + /// Required: + /// - `Cpu` (Number) + /// - `Ram` (Number) + /// Read-Only: + /// - `Description` (String) + /// - `Id` (String) + /// - `NodeType` (String) + /// \n\n\n\n + /// ### Nested Schema for `Network` + /// Optional: + /// - `AccessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// - `Acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + /// Read-Only: + /// - `InstanceAddress` (String) + /// - `RouterAddress` (String) + /// \n\n\n\n + /// ### Nested Schema for `ConnectionInfo` + /// Read-Only: + /// - `Write` (Attributes) The DNS name and port in the instance overview. + /// \n\n\n\n + /// ### Nested Schema for `connection_info.write` + /// Read-Only: + /// - `Host` (String) The host of the instance. + /// - `Port` (Number) The port of the instance. /// [Input("class", required: true)] public Input Class { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/SkeClusterAuditArgs.cs b/sdk/dotnet/Inputs/SkeClusterAuditArgs.cs new file mode 100644 index 00000000..97681bc6 --- /dev/null +++ b/sdk/dotnet/Inputs/SkeClusterAuditArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SkeClusterAuditArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable cluster audit log forwarding to a Telemetry Router. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public SkeClusterAuditArgs() + { + } + public static new SkeClusterAuditArgs Empty => new SkeClusterAuditArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterAuditGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterAuditGetArgs.cs new file mode 100644 index 00000000..bedc5114 --- /dev/null +++ b/sdk/dotnet/Inputs/SkeClusterAuditGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SkeClusterAuditGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable cluster audit log forwarding to a Telemetry Router. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public SkeClusterAuditGetArgs() + { + } + public static new SkeClusterAuditGetArgs Empty => new SkeClusterAuditGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterExtensionsApplicationLoadBalancerArgs.cs b/sdk/dotnet/Inputs/SkeClusterExtensionsApplicationLoadBalancerArgs.cs new file mode 100644 index 00000000..96525e11 --- /dev/null +++ b/sdk/dotnet/Inputs/SkeClusterExtensionsApplicationLoadBalancerArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SkeClusterExtensionsApplicationLoadBalancerArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public SkeClusterExtensionsApplicationLoadBalancerArgs() + { + } + public static new SkeClusterExtensionsApplicationLoadBalancerArgs Empty => new SkeClusterExtensionsApplicationLoadBalancerArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterExtensionsApplicationLoadBalancerGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterExtensionsApplicationLoadBalancerGetArgs.cs new file mode 100644 index 00000000..3ec5e8a6 --- /dev/null +++ b/sdk/dotnet/Inputs/SkeClusterExtensionsApplicationLoadBalancerGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SkeClusterExtensionsApplicationLoadBalancerGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public SkeClusterExtensionsApplicationLoadBalancerGetArgs() + { + } + public static new SkeClusterExtensionsApplicationLoadBalancerGetArgs Empty => new SkeClusterExtensionsApplicationLoadBalancerGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterExtensionsArgs.cs b/sdk/dotnet/Inputs/SkeClusterExtensionsArgs.cs index 70dc409b..16cc4536 100644 --- a/sdk/dotnet/Inputs/SkeClusterExtensionsArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterExtensionsArgs.cs @@ -18,6 +18,12 @@ public sealed class SkeClusterExtensionsArgs : global::Pulumi.ResourceArgs [Input("acl")] public Input? Acl { get; set; } + /// + /// Application Load Balancer extension. + /// + [Input("applicationLoadBalancer")] + public Input? ApplicationLoadBalancer { get; set; } + /// /// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. /// diff --git a/sdk/dotnet/Inputs/SkeClusterExtensionsDnsArgs.cs b/sdk/dotnet/Inputs/SkeClusterExtensionsDnsArgs.cs index 037ecac8..78f914bf 100644 --- a/sdk/dotnet/Inputs/SkeClusterExtensionsDnsArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterExtensionsDnsArgs.cs @@ -18,6 +18,12 @@ public sealed class SkeClusterExtensionsDnsArgs : global::Pulumi.ResourceArgs [Input("enabled", required: true)] public Input Enabled { get; set; } = null!; + /// + /// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + /// + [Input("gatewayApi")] + public Input? GatewayApi { get; set; } + [Input("zones")] private InputList? _zones; diff --git a/sdk/dotnet/Inputs/SkeClusterExtensionsDnsGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterExtensionsDnsGetArgs.cs index a117719b..31422f11 100644 --- a/sdk/dotnet/Inputs/SkeClusterExtensionsDnsGetArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterExtensionsDnsGetArgs.cs @@ -18,6 +18,12 @@ public sealed class SkeClusterExtensionsDnsGetArgs : global::Pulumi.ResourceArgs [Input("enabled", required: true)] public Input Enabled { get; set; } = null!; + /// + /// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + /// + [Input("gatewayApi")] + public Input? GatewayApi { get; set; } + [Input("zones")] private InputList? _zones; diff --git a/sdk/dotnet/Inputs/SkeClusterExtensionsGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterExtensionsGetArgs.cs index 4cc87125..a9c101f2 100644 --- a/sdk/dotnet/Inputs/SkeClusterExtensionsGetArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterExtensionsGetArgs.cs @@ -18,6 +18,12 @@ public sealed class SkeClusterExtensionsGetArgs : global::Pulumi.ResourceArgs [Input("acl")] public Input? Acl { get; set; } + /// + /// Application Load Balancer extension. + /// + [Input("applicationLoadBalancer")] + public Input? ApplicationLoadBalancer { get; set; } + /// /// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. /// diff --git a/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs index ff553b21..f26c8192 100644 --- a/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Stackit.Inputs public sealed class SkeClusterNetworkControlPlaneArgs : global::Pulumi.ResourceArgs { /// - /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! /// [Input("accessScope")] public Input? AccessScope { get; set; } diff --git a/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs index 17bdc58f..bbff5d6f 100644 --- a/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Stackit.Inputs public sealed class SkeClusterNetworkControlPlaneGetArgs : global::Pulumi.ResourceArgs { /// - /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! /// [Input("accessScope")] public Input? AccessScope { get; set; } diff --git a/sdk/dotnet/Inputs/SqlserverflexDatabaseTimeoutsArgs.cs b/sdk/dotnet/Inputs/SqlserverflexDatabaseTimeoutsArgs.cs new file mode 100644 index 00000000..a23f55c4 --- /dev/null +++ b/sdk/dotnet/Inputs/SqlserverflexDatabaseTimeoutsArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SqlserverflexDatabaseTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + /// + [Input("read")] + public Input? Read { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public SqlserverflexDatabaseTimeoutsArgs() + { + } + public static new SqlserverflexDatabaseTimeoutsArgs Empty => new SqlserverflexDatabaseTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SqlserverflexDatabaseTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/SqlserverflexDatabaseTimeoutsGetArgs.cs new file mode 100644 index 00000000..1c1281c6 --- /dev/null +++ b/sdk/dotnet/Inputs/SqlserverflexDatabaseTimeoutsGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SqlserverflexDatabaseTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + /// + [Input("read")] + public Input? Read { get; set; } + + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + [Input("update")] + public Input? Update { get; set; } + + public SqlserverflexDatabaseTimeoutsGetArgs() + { + } + public static new SqlserverflexDatabaseTimeoutsGetArgs Empty => new SqlserverflexDatabaseTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceEncryptionArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceEncryptionArgs.cs new file mode 100644 index 00000000..ab96d746 --- /dev/null +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceEncryptionArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SqlserverflexInstanceEncryptionArgs : global::Pulumi.ResourceArgs + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyId", required: true)] + public Input KekKeyId { get; set; } = null!; + + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyVersion", required: true)] + public Input KekKeyVersion { get; set; } = null!; + + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + [Input("kekKeyringId", required: true)] + public Input KekKeyringId { get; set; } = null!; + + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + [Input("serviceAccount", required: true)] + public Input ServiceAccount { get; set; } = null!; + + public SqlserverflexInstanceEncryptionArgs() + { + } + public static new SqlserverflexInstanceEncryptionArgs Empty => new SqlserverflexInstanceEncryptionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceEncryptionGetArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceEncryptionGetArgs.cs new file mode 100644 index 00000000..315c4c86 --- /dev/null +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceEncryptionGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SqlserverflexInstanceEncryptionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyId", required: true)] + public Input KekKeyId { get; set; } = null!; + + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyVersion", required: true)] + public Input KekKeyVersion { get; set; } = null!; + + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + [Input("kekKeyringId", required: true)] + public Input KekKeyringId { get; set; } = null!; + + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + [Input("serviceAccount", required: true)] + public Input ServiceAccount { get; set; } = null!; + + public SqlserverflexInstanceEncryptionGetArgs() + { + } + public static new SqlserverflexInstanceEncryptionGetArgs Empty => new SqlserverflexInstanceEncryptionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkArgs.cs index ad0feb1d..dc9032e0 100644 --- a/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkArgs.cs +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkArgs.cs @@ -30,6 +30,18 @@ public InputList Acls set => _acls = value; } + /// + /// Address of this instance. + /// + [Input("instanceAddress")] + public Input? InstanceAddress { get; set; } + + /// + /// Address of the router. + /// + [Input("routerAddress")] + public Input? RouterAddress { get; set; } + public SqlserverflexInstanceNetworkArgs() { } diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkGetArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkGetArgs.cs index 4863e102..14db015b 100644 --- a/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkGetArgs.cs +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceNetworkGetArgs.cs @@ -30,6 +30,18 @@ public InputList Acls set => _acls = value; } + /// + /// Address of this instance. + /// + [Input("instanceAddress")] + public Input? InstanceAddress { get; set; } + + /// + /// Address of the router. + /// + [Input("routerAddress")] + public Input? RouterAddress { get; set; } + public SqlserverflexInstanceNetworkGetArgs() { } diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs index a54b5df9..7574a569 100644 --- a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs @@ -13,10 +13,7 @@ namespace Pulumi.Stackit.Inputs public sealed class SqlserverflexInstanceStorageArgs : global::Pulumi.ResourceArgs { /// - /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - /// `bash - /// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - /// ` Will be required in the future. Set a value to prevent breaking changes. + /// The storage class. You can list available storage classes for a the according flavors using the datasource `stackit.getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. /// [Input("class")] public Input? Class { get; set; } diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs index a10b19bc..d6376514 100644 --- a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs @@ -13,10 +13,7 @@ namespace Pulumi.Stackit.Inputs public sealed class SqlserverflexInstanceStorageGetArgs : global::Pulumi.ResourceArgs { /// - /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - /// `bash - /// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - /// ` Will be required in the future. Set a value to prevent breaking changes. + /// The storage class. You can list available storage classes for a the according flavors using the datasource `stackit.getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. /// [Input("class")] public Input? Class { get; set; } diff --git a/sdk/dotnet/KmsKey.cs b/sdk/dotnet/KmsKey.cs index e39bad22..3d519d3f 100644 --- a/sdk/dotnet/KmsKey.cs +++ b/sdk/dotnet/KmsKey.cs @@ -68,7 +68,7 @@ public partial class KmsKey : global::Pulumi.CustomResource public Output ProjectId { get; private set; } = null!; /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// [Output("protection")] public Output Protection { get; private set; } = null!; @@ -175,7 +175,7 @@ public sealed class KmsKeyArgs : global::Pulumi.ResourceArgs public Input ProjectId { get; set; } = null!; /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// [Input("protection", required: true)] public Input Protection { get; set; } = null!; @@ -249,7 +249,7 @@ public sealed class KmsKeyState : global::Pulumi.ResourceArgs public Input? ProjectId { get; set; } /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// [Input("protection")] public Input? Protection { get; set; } diff --git a/sdk/dotnet/KmsWrappingKey.cs b/sdk/dotnet/KmsWrappingKey.cs index 5445d68c..20a6739a 100644 --- a/sdk/dotnet/KmsWrappingKey.cs +++ b/sdk/dotnet/KmsWrappingKey.cs @@ -66,7 +66,7 @@ public partial class KmsWrappingKey : global::Pulumi.CustomResource public Output ProjectId { get; private set; } = null!; /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// [Output("protection")] public Output Protection { get; private set; } = null!; @@ -179,7 +179,7 @@ public sealed class KmsWrappingKeyArgs : global::Pulumi.ResourceArgs public Input ProjectId { get; set; } = null!; /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// [Input("protection", required: true)] public Input Protection { get; set; } = null!; @@ -253,7 +253,7 @@ public sealed class KmsWrappingKeyState : global::Pulumi.ResourceArgs public Input? ProjectId { get; set; } /// - /// The underlying system that is responsible for protecting the key material. Possible values are: `Software`, `Hsm`. + /// The underlying system that is responsible for protecting the key material. /// [Input("protection")] public Input? Protection { get; set; } diff --git a/sdk/dotnet/LogmeCredential.cs b/sdk/dotnet/LogmeCredential.cs index fa226696..81e11d21 100644 --- a/sdk/dotnet/LogmeCredential.cs +++ b/sdk/dotnet/LogmeCredential.cs @@ -48,6 +48,12 @@ public partial class LogmeCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + [Output("uri")] public Output Uri { get; private set; } = null!; @@ -118,6 +124,12 @@ public sealed class LogmeCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public LogmeCredentialArgs() { } @@ -162,6 +174,12 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + [Input("uri")] private Input? _uri; public Input? Uri diff --git a/sdk/dotnet/LogmeInstance.cs b/sdk/dotnet/LogmeInstance.cs index 20f19c4b..26d73444 100644 --- a/sdk/dotnet/LogmeInstance.cs +++ b/sdk/dotnet/LogmeInstance.cs @@ -72,6 +72,12 @@ public partial class LogmeInstance : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The service version. /// @@ -149,6 +155,12 @@ public sealed class LogmeInstanceArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The service version. /// @@ -214,6 +226,12 @@ public sealed class LogmeInstanceState : global::Pulumi.ResourceArgs [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The service version. /// diff --git a/sdk/dotnet/MariadbCredential.cs b/sdk/dotnet/MariadbCredential.cs index a058cefb..7f5aadd7 100644 --- a/sdk/dotnet/MariadbCredential.cs +++ b/sdk/dotnet/MariadbCredential.cs @@ -54,6 +54,12 @@ public partial class MariadbCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. /// @@ -130,6 +136,12 @@ public sealed class MariadbCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + [Input("rotateWhenChanged")] private InputMap? _rotateWhenChanged; @@ -197,6 +209,12 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + [Input("rotateWhenChanged")] private InputMap? _rotateWhenChanged; diff --git a/sdk/dotnet/MariadbInstance.cs b/sdk/dotnet/MariadbInstance.cs index 2926dd5f..6602dc73 100644 --- a/sdk/dotnet/MariadbInstance.cs +++ b/sdk/dotnet/MariadbInstance.cs @@ -72,6 +72,12 @@ public partial class MariadbInstance : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The service version. /// @@ -149,6 +155,12 @@ public sealed class MariadbInstanceArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The service version. /// @@ -214,6 +226,12 @@ public sealed class MariadbInstanceState : global::Pulumi.ResourceArgs [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The service version. /// diff --git a/sdk/dotnet/ModelexperimentsInstance.cs b/sdk/dotnet/ModelexperimentsInstance.cs new file mode 100644 index 00000000..ea6f33b4 --- /dev/null +++ b/sdk/dotnet/ModelexperimentsInstance.cs @@ -0,0 +1,240 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// Manages a STACKIT AI Model Experiments instance. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/modelexperimentsInstance:ModelexperimentsInstance")] + public partial class ModelexperimentsInstance : global::Pulumi.CustomResource + { + /// + /// The object storage bucket name of the AI Model Experiments instance. + /// + [Output("bucketName")] + public Output BucketName { get; private set; } = null!; + + /// + /// The deleted experiment retention time of the AI Model Experiments instance. + /// + [Output("deletedExperimentRetention")] + public Output DeletedExperimentRetention { get; private set; } = null!; + + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The AI Model Experiments instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The Dashboard URL of the AI Model Experiments instance. + /// + [Output("url")] + public Output Url { get; private set; } = null!; + + + /// + /// Create a ModelexperimentsInstance resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ModelexperimentsInstance(string name, ModelexperimentsInstanceArgs args, CustomResourceOptions? options = null) + : base("stackit:index/modelexperimentsInstance:ModelexperimentsInstance", name, args ?? new ModelexperimentsInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private ModelexperimentsInstance(string name, Input id, ModelexperimentsInstanceState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/modelexperimentsInstance:ModelexperimentsInstance", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ModelexperimentsInstance resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ModelexperimentsInstance Get(string name, Input id, ModelexperimentsInstanceState? state = null, CustomResourceOptions? options = null) + { + return new ModelexperimentsInstance(name, id, state, options); + } + } + + public sealed class ModelexperimentsInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// The deleted experiment retention time of the AI Model Experiments instance. + /// + [Input("deletedExperimentRetention")] + public Input? DeletedExperimentRetention { get; set; } + + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public ModelexperimentsInstanceArgs() + { + } + public static new ModelexperimentsInstanceArgs Empty => new ModelexperimentsInstanceArgs(); + } + + public sealed class ModelexperimentsInstanceState : global::Pulumi.ResourceArgs + { + /// + /// The object storage bucket name of the AI Model Experiments instance. + /// + [Input("bucketName")] + public Input? BucketName { get; set; } + + /// + /// The deleted experiment retention time of the AI Model Experiments instance. + /// + [Input("deletedExperimentRetention")] + public Input? DeletedExperimentRetention { get; set; } + + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The Dashboard URL of the AI Model Experiments instance. + /// + [Input("url")] + public Input? Url { get; set; } + + public ModelexperimentsInstanceState() + { + } + public static new ModelexperimentsInstanceState Empty => new ModelexperimentsInstanceState(); + } +} diff --git a/sdk/dotnet/ModelexperimentsToken.cs b/sdk/dotnet/ModelexperimentsToken.cs new file mode 100644 index 00000000..13dae0eb --- /dev/null +++ b/sdk/dotnet/ModelexperimentsToken.cs @@ -0,0 +1,302 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// Manages a STACKIT AI Model Experiments instance tokens. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/modelexperimentsToken:ModelexperimentsToken")] + public partial class ModelexperimentsToken : global::Pulumi.CustomResource + { + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The AI Model Experiments instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + + /// + /// The content of the AI Model Experiments instance token. + /// + [Output("token")] + public Output Token { get; private set; } = null!; + + /// + /// The AI Model Experiments instance token ID. + /// + [Output("tokenId")] + public Output TokenId { get; private set; } = null!; + + /// + /// The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + /// + [Output("ttlDuration")] + public Output TtlDuration { get; private set; } = null!; + + /// + /// The time until the AI Model Experiments instance token is valid. + /// + [Output("validUntil")] + public Output ValidUntil { get; private set; } = null!; + + + /// + /// Create a ModelexperimentsToken resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ModelexperimentsToken(string name, ModelexperimentsTokenArgs args, CustomResourceOptions? options = null) + : base("stackit:index/modelexperimentsToken:ModelexperimentsToken", name, args ?? new ModelexperimentsTokenArgs(), MakeResourceOptions(options, "")) + { + } + + private ModelexperimentsToken(string name, Input id, ModelexperimentsTokenState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/modelexperimentsToken:ModelexperimentsToken", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + AdditionalSecretOutputs = + { + "token", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ModelexperimentsToken resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ModelexperimentsToken Get(string name, Input id, ModelexperimentsTokenState? state = null, CustomResourceOptions? options = null) + { + return new ModelexperimentsToken(name, id, state, options); + } + } + + public sealed class ModelexperimentsTokenArgs : global::Pulumi.ResourceArgs + { + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + [Input("labels")] + private InputMap? _labels; + + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + + /// + /// The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + /// + [Input("ttlDuration")] + public Input? TtlDuration { get; set; } + + public ModelexperimentsTokenArgs() + { + } + public static new ModelexperimentsTokenArgs Empty => new ModelexperimentsTokenArgs(); + } + + public sealed class ModelexperimentsTokenState : global::Pulumi.ResourceArgs + { + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The AI Model Experiments instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// A map of arbitrary key/value pairs that can be attached to the resource + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + + [Input("token")] + private Input? _token; + + /// + /// The content of the AI Model Experiments instance token. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The AI Model Experiments instance token ID. + /// + [Input("tokenId")] + public Input? TokenId { get; set; } + + /// + /// The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + /// + [Input("ttlDuration")] + public Input? TtlDuration { get; set; } + + /// + /// The time until the AI Model Experiments instance token is valid. + /// + [Input("validUntil")] + public Input? ValidUntil { get; set; } + + public ModelexperimentsTokenState() + { + } + public static new ModelexperimentsTokenState Empty => new ModelexperimentsTokenState(); + } +} diff --git a/sdk/dotnet/Network.cs b/sdk/dotnet/Network.cs index db4faabb..68783eeb 100644 --- a/sdk/dotnet/Network.cs +++ b/sdk/dotnet/Network.cs @@ -60,6 +60,12 @@ public partial class Network : global::Pulumi.CustomResource [Output("ipv4Prefixes")] public Output> Ipv4Prefixes { get; private set; } = null!; + /// + /// The IPv4 VPC network range ID. + /// + [Output("ipv4VpcNetworkRangeId")] + public Output Ipv4VpcNetworkRangeId { get; private set; } = null!; + /// /// The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. /// @@ -90,6 +96,12 @@ public partial class Network : global::Pulumi.CustomResource [Output("ipv6Prefixes")] public Output> Ipv6Prefixes { get; private set; } = null!; + /// + /// The IPv6 VPC network range ID. + /// + [Output("ipv6VpcNetworkRangeId")] + public Output Ipv6VpcNetworkRangeId { get; private set; } = null!; + /// /// Labels are key-value string pairs which can be attached to a resource container /// @@ -150,6 +162,12 @@ public partial class Network : global::Pulumi.CustomResource [Output("routingTableId")] public Output RoutingTableId { get; private set; } = null!; + /// + /// The ID of the VPC the network is associated with. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + /// /// Create a Network resource with the given unique name, arguments, and options. @@ -233,6 +251,12 @@ public InputList Ipv4Nameservers [Input("ipv4PrefixLength")] public Input? Ipv4PrefixLength { get; set; } + /// + /// The IPv4 VPC network range ID. + /// + [Input("ipv4VpcNetworkRangeId")] + public Input? Ipv4VpcNetworkRangeId { get; set; } + /// /// The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. /// @@ -263,6 +287,12 @@ public InputList Ipv6Nameservers [Input("ipv6PrefixLength")] public Input? Ipv6PrefixLength { get; set; } + /// + /// The IPv6 VPC network range ID. + /// + [Input("ipv6VpcNetworkRangeId")] + public Input? Ipv6VpcNetworkRangeId { get; set; } + [Input("labels")] private InputMap? _labels; @@ -317,6 +347,12 @@ public InputMap Labels [Input("routingTableId")] public Input? RoutingTableId { get; set; } + /// + /// The ID of the VPC the network is associated with. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + public NetworkArgs() { } @@ -373,6 +409,12 @@ public InputList Ipv4Prefixes set => _ipv4Prefixes = value; } + /// + /// The IPv4 VPC network range ID. + /// + [Input("ipv4VpcNetworkRangeId")] + public Input? Ipv4VpcNetworkRangeId { get; set; } + /// /// The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. /// @@ -415,6 +457,12 @@ public InputList Ipv6Prefixes set => _ipv6Prefixes = value; } + /// + /// The IPv6 VPC network range ID. + /// + [Input("ipv6VpcNetworkRangeId")] + public Input? Ipv6VpcNetworkRangeId { get; set; } + [Input("labels")] private InputMap? _labels; @@ -481,6 +529,12 @@ public InputMap Labels [Input("routingTableId")] public Input? RoutingTableId { get; set; } + /// + /// The ID of the VPC the network is associated with. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + public NetworkState() { } diff --git a/sdk/dotnet/NetworkArea.cs b/sdk/dotnet/NetworkArea.cs index c622cdb3..9069bbc8 100644 --- a/sdk/dotnet/NetworkArea.cs +++ b/sdk/dotnet/NetworkArea.cs @@ -42,36 +42,12 @@ namespace Pulumi.Stackit [StackitResourceType("stackit:index/networkArea:NetworkArea")] public partial class NetworkArea : global::Pulumi.CustomResource { - /// - /// List of DNS Servers/Nameservers for configuration of network area for region `Eu01`. - /// - [Output("defaultNameservers")] - public Output> DefaultNameservers { get; private set; } = null!; - - /// - /// The default prefix length for networks in the network area for region `Eu01`. - /// - [Output("defaultPrefixLength")] - public Output DefaultPrefixLength { get; private set; } = null!; - /// /// Labels are key-value string pairs which can be attached to a resource container /// [Output("labels")] public Output?> Labels { get; private set; } = null!; - /// - /// The maximal prefix length for networks in the network area for region `Eu01`. - /// - [Output("maxPrefixLength")] - public Output MaxPrefixLength { get; private set; } = null!; - - /// - /// The minimal prefix length for networks in the network area for region `Eu01`. - /// - [Output("minPrefixLength")] - public Output MinPrefixLength { get; private set; } = null!; - /// /// The name of the network area. /// @@ -84,12 +60,6 @@ public partial class NetworkArea : global::Pulumi.CustomResource [Output("networkAreaId")] public Output NetworkAreaId { get; private set; } = null!; - /// - /// List of Network ranges for configuration of network area for region `Eu01`. - /// - [Output("networkRanges")] - public Output> NetworkRanges { get; private set; } = null!; - /// /// STACKIT organization ID to which the network area is associated. /// @@ -102,12 +72,6 @@ public partial class NetworkArea : global::Pulumi.CustomResource [Output("projectCount")] public Output ProjectCount { get; private set; } = null!; - /// - /// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `Eu01`. - /// - [Output("transferNetwork")] - public Output TransferNetwork { get; private set; } = null!; - /// /// Create a NetworkArea resource with the given unique name, arguments, and options. @@ -155,25 +119,6 @@ public static NetworkArea Get(string name, Input id, NetworkAreaState? s public sealed class NetworkAreaArgs : global::Pulumi.ResourceArgs { - [Input("defaultNameservers")] - private InputList? _defaultNameservers; - - /// - /// List of DNS Servers/Nameservers for configuration of network area for region `Eu01`. - /// - [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] - public InputList DefaultNameservers - { - get => _defaultNameservers ?? (_defaultNameservers = new InputList()); - set => _defaultNameservers = value; - } - - /// - /// The default prefix length for networks in the network area for region `Eu01`. - /// - [Input("defaultPrefixLength")] - public Input? DefaultPrefixLength { get; set; } - [Input("labels")] private InputMap? _labels; @@ -186,49 +131,18 @@ public InputMap Labels set => _labels = value; } - /// - /// The maximal prefix length for networks in the network area for region `Eu01`. - /// - [Input("maxPrefixLength")] - public Input? MaxPrefixLength { get; set; } - - /// - /// The minimal prefix length for networks in the network area for region `Eu01`. - /// - [Input("minPrefixLength")] - public Input? MinPrefixLength { get; set; } - /// /// The name of the network area. /// [Input("name")] public Input? Name { get; set; } - [Input("networkRanges")] - private InputList? _networkRanges; - - /// - /// List of Network ranges for configuration of network area for region `Eu01`. - /// - [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] - public InputList NetworkRanges - { - get => _networkRanges ?? (_networkRanges = new InputList()); - set => _networkRanges = value; - } - /// /// STACKIT organization ID to which the network area is associated. /// [Input("organizationId", required: true)] public Input OrganizationId { get; set; } = null!; - /// - /// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `Eu01`. - /// - [Input("transferNetwork")] - public Input? TransferNetwork { get; set; } - public NetworkAreaArgs() { } @@ -237,25 +151,6 @@ public NetworkAreaArgs() public sealed class NetworkAreaState : global::Pulumi.ResourceArgs { - [Input("defaultNameservers")] - private InputList? _defaultNameservers; - - /// - /// List of DNS Servers/Nameservers for configuration of network area for region `Eu01`. - /// - [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] - public InputList DefaultNameservers - { - get => _defaultNameservers ?? (_defaultNameservers = new InputList()); - set => _defaultNameservers = value; - } - - /// - /// The default prefix length for networks in the network area for region `Eu01`. - /// - [Input("defaultPrefixLength")] - public Input? DefaultPrefixLength { get; set; } - [Input("labels")] private InputMap? _labels; @@ -268,18 +163,6 @@ public InputMap Labels set => _labels = value; } - /// - /// The maximal prefix length for networks in the network area for region `Eu01`. - /// - [Input("maxPrefixLength")] - public Input? MaxPrefixLength { get; set; } - - /// - /// The minimal prefix length for networks in the network area for region `Eu01`. - /// - [Input("minPrefixLength")] - public Input? MinPrefixLength { get; set; } - /// /// The name of the network area. /// @@ -292,19 +175,6 @@ public InputMap Labels [Input("networkAreaId")] public Input? NetworkAreaId { get; set; } - [Input("networkRanges")] - private InputList? _networkRanges; - - /// - /// List of Network ranges for configuration of network area for region `Eu01`. - /// - [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] - public InputList NetworkRanges - { - get => _networkRanges ?? (_networkRanges = new InputList()); - set => _networkRanges = value; - } - /// /// STACKIT organization ID to which the network area is associated. /// @@ -317,12 +187,6 @@ public InputList NetworkRanges [Input("projectCount")] public Input? ProjectCount { get; set; } - /// - /// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `Eu01`. - /// - [Input("transferNetwork")] - public Input? TransferNetwork { get; set; } - public NetworkAreaState() { } diff --git a/sdk/dotnet/OpensearchCredential.cs b/sdk/dotnet/OpensearchCredential.cs index d66f2ef9..0a091c09 100644 --- a/sdk/dotnet/OpensearchCredential.cs +++ b/sdk/dotnet/OpensearchCredential.cs @@ -51,6 +51,12 @@ public partial class OpensearchCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. /// @@ -130,6 +136,12 @@ public sealed class OpensearchCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + [Input("rotateWhenChanged")] private InputMap? _rotateWhenChanged; @@ -194,6 +206,12 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + [Input("rotateWhenChanged")] private InputMap? _rotateWhenChanged; diff --git a/sdk/dotnet/OpensearchInstance.cs b/sdk/dotnet/OpensearchInstance.cs index e4e6968e..cdac6a88 100644 --- a/sdk/dotnet/OpensearchInstance.cs +++ b/sdk/dotnet/OpensearchInstance.cs @@ -72,6 +72,12 @@ public partial class OpensearchInstance : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The service version. /// @@ -149,6 +155,12 @@ public sealed class OpensearchInstanceArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The service version. /// @@ -214,6 +226,12 @@ public sealed class OpensearchInstanceState : global::Pulumi.ResourceArgs [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The service version. /// diff --git a/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRule.cs b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRule.cs new file mode 100644 index 00000000..aafa57b9 --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRule.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafCustomRuleGroupRule + { + public readonly Outputs.AlbWafCustomRuleGroupRuleBehavior Behavior; + public readonly ImmutableArray Conditions; + /// + /// A clear description explaining the threat vector or criteria addressed by this rule. + /// + public readonly string? Description; + /// + /// Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + /// + public readonly int? Id; + + [OutputConstructor] + private AlbWafCustomRuleGroupRule( + Outputs.AlbWafCustomRuleGroupRuleBehavior behavior, + + ImmutableArray conditions, + + string? description, + + int? id) + { + Behavior = behavior; + Conditions = conditions; + Description = description; + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleBehavior.cs b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleBehavior.cs new file mode 100644 index 00000000..dc784afc --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleBehavior.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafCustomRuleGroupRuleBehavior + { + /// + /// The protective stance action. ACTION_DENY forces a 403 status response code. + /// + public readonly string Action; + /// + /// Determines whether an entry should be generated in the security ledger upon a rule hit. + /// + public readonly bool? Log; + /// + /// Custom notification message string mapped to underlying logdata contexts. Required if log is true. + /// + public readonly string? LogMsg; + /// + /// Severity classification metric used by internal analytics graphs. + /// + public readonly string? Severity; + + [OutputConstructor] + private AlbWafCustomRuleGroupRuleBehavior( + string action, + + bool? log, + + string? logMsg, + + string? severity) + { + Action = action; + Log = log; + LogMsg = logMsg; + Severity = severity; + } + } +} diff --git a/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleCondition.cs b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleCondition.cs new file mode 100644 index 00000000..a59bac90 --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleCondition.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafCustomRuleGroupRuleCondition + { + /// + /// The comparison logic executed against the transformed variable. + /// + public readonly Outputs.AlbWafCustomRuleGroupRuleConditionOperator Operator; + /// + /// Ordered normalization steps applied before the operator runs. + /// + public readonly ImmutableArray Transformations; + /// + /// The part of the HTTP transaction to inspect. + /// + public readonly Outputs.AlbWafCustomRuleGroupRuleConditionVariable Variable; + + [OutputConstructor] + private AlbWafCustomRuleGroupRuleCondition( + Outputs.AlbWafCustomRuleGroupRuleConditionOperator @operator, + + ImmutableArray transformations, + + Outputs.AlbWafCustomRuleGroupRuleConditionVariable variable) + { + Operator = @operator; + Transformations = transformations; + Variable = variable; + } + } +} diff --git a/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleConditionOperator.cs b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleConditionOperator.cs new file mode 100644 index 00000000..08a2f75a --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleConditionOperator.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafCustomRuleGroupRuleConditionOperator + { + /// + /// The operational evaluation type definition macro. + /// + public readonly string Type; + /// + /// The text or rule regex pattern arguments applied inside the operator execution loop. + /// + public readonly string? Value; + + [OutputConstructor] + private AlbWafCustomRuleGroupRuleConditionOperator( + string type, + + string? value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleConditionVariable.cs b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleConditionVariable.cs new file mode 100644 index 00000000..d101bf25 --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafCustomRuleGroupRuleConditionVariable.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafCustomRuleGroupRuleConditionVariable + { + /// + /// The targeted validation engine variable macro. + /// + public readonly string Type; + /// + /// Optional key element context for map variables (e.g., matching a 'Host' header key). + /// + public readonly string? Value; + + [OutputConstructor] + private AlbWafCustomRuleGroupRuleConditionVariable( + string type, + + string? value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/AlbWafManagedRuleSetGroups.cs b/sdk/dotnet/Outputs/AlbWafManagedRuleSetGroups.cs new file mode 100644 index 00000000..4bcd4207 --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafManagedRuleSetGroups.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafManagedRuleSetGroups + { + /// + /// A description of what this group covers. + /// + public readonly string? Description; + /// + /// The name for the rule group. + /// + public readonly string? GroupName; + /// + /// Rules of the rule group. + /// + public readonly ImmutableDictionary? Rules; + + [OutputConstructor] + private AlbWafManagedRuleSetGroups( + string? description, + + string? groupName, + + ImmutableDictionary? rules) + { + Description = description; + GroupName = groupName; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/Outputs/AlbWafManagedRuleSetGroupsRules.cs b/sdk/dotnet/Outputs/AlbWafManagedRuleSetGroupsRules.cs new file mode 100644 index 00000000..6bd54bcb --- /dev/null +++ b/sdk/dotnet/Outputs/AlbWafManagedRuleSetGroupsRules.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class AlbWafManagedRuleSetGroupsRules + { + /// + /// A description of what this rule does. + /// + public readonly string? Description; + /// + /// The current mode of the rule. + /// + public readonly string? Mode; + /// + /// Impact level. + /// + public readonly string? Severity; + + [OutputConstructor] + private AlbWafManagedRuleSetGroupsRules( + string? description, + + string? mode, + + string? severity) + { + Description = description; + Mode = mode; + Severity = severity; + } + } +} diff --git a/sdk/dotnet/Outputs/CdnDistributionConfig.cs b/sdk/dotnet/Outputs/CdnDistributionConfig.cs index 3ba0e5c7..481e981f 100644 --- a/sdk/dotnet/Outputs/CdnDistributionConfig.cs +++ b/sdk/dotnet/Outputs/CdnDistributionConfig.cs @@ -22,10 +22,22 @@ public sealed class CdnDistributionConfig /// public readonly ImmutableArray BlockedCountries; /// + /// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + /// + public readonly ImmutableArray BlockedIps; + /// + /// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + public readonly string? DefaultCacheDuration; + /// /// Enable this allows the 'Host' header to be passed through to the origin. /// public readonly bool? ForwardHostHeader; /// + /// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + public readonly int? MonthlyLimitBytes; + /// /// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. /// public readonly Outputs.CdnDistributionConfigOptimizer? Optimizer; @@ -56,8 +68,14 @@ private CdnDistributionConfig( ImmutableArray blockedCountries, + ImmutableArray blockedIps, + + string? defaultCacheDuration, + bool? forwardHostHeader, + int? monthlyLimitBytes, + Outputs.CdnDistributionConfigOptimizer? optimizer, Outputs.CdnDistributionConfigRedirects? redirects, @@ -72,7 +90,10 @@ private CdnDistributionConfig( { Backend = backend; BlockedCountries = blockedCountries; + BlockedIps = blockedIps; + DefaultCacheDuration = defaultCacheDuration; ForwardHostHeader = forwardHostHeader; + MonthlyLimitBytes = monthlyLimitBytes; Optimizer = optimizer; Redirects = redirects; Regions = regions; diff --git a/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleBehaviorResult.cs b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleBehaviorResult.cs new file mode 100644 index 00000000..4bcef2fa --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleBehaviorResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafCustomRuleGroupRuleBehaviorResult + { + /// + /// The protective stance action. ACTION_DENY forces a 403 status response code. + /// + public readonly string Action; + /// + /// Determines whether an entry should be generated in the security ledger upon a rule hit. + /// + public readonly bool Log; + /// + /// Custom notification message string mapped to underlying logdata contexts. Required if log is true. + /// + public readonly string LogMsg; + /// + /// Severity classification metric used by internal analytics graphs. + /// + public readonly string Severity; + + [OutputConstructor] + private GetAlbWafCustomRuleGroupRuleBehaviorResult( + string action, + + bool log, + + string logMsg, + + string severity) + { + Action = action; + Log = log; + LogMsg = logMsg; + Severity = severity; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionOperatorResult.cs b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionOperatorResult.cs new file mode 100644 index 00000000..a3673c5d --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionOperatorResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafCustomRuleGroupRuleConditionOperatorResult + { + /// + /// The operational evaluation type definition macro. + /// + public readonly string Type; + /// + /// The text or rule regex pattern arguments applied inside the operator execution loop. + /// + public readonly string Value; + + [OutputConstructor] + private GetAlbWafCustomRuleGroupRuleConditionOperatorResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionResult.cs b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionResult.cs new file mode 100644 index 00000000..a4606ef1 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafCustomRuleGroupRuleConditionResult + { + /// + /// The comparison logic executed against the transformed variable. + /// + public readonly Outputs.GetAlbWafCustomRuleGroupRuleConditionOperatorResult Operator; + /// + /// Ordered normalization steps applied before the operator runs. + /// + public readonly ImmutableArray Transformations; + /// + /// The part of the HTTP transaction to inspect. + /// + public readonly Outputs.GetAlbWafCustomRuleGroupRuleConditionVariableResult Variable; + + [OutputConstructor] + private GetAlbWafCustomRuleGroupRuleConditionResult( + Outputs.GetAlbWafCustomRuleGroupRuleConditionOperatorResult @operator, + + ImmutableArray transformations, + + Outputs.GetAlbWafCustomRuleGroupRuleConditionVariableResult variable) + { + Operator = @operator; + Transformations = transformations; + Variable = variable; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionVariableResult.cs b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionVariableResult.cs new file mode 100644 index 00000000..09304002 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleConditionVariableResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafCustomRuleGroupRuleConditionVariableResult + { + /// + /// The targeted validation engine variable macro. + /// + public readonly string Type; + /// + /// Optional key element context for map variables (e.g., matching a 'Host' header key). + /// + public readonly string Value; + + [OutputConstructor] + private GetAlbWafCustomRuleGroupRuleConditionVariableResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleResult.cs b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleResult.cs new file mode 100644 index 00000000..c88686f0 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafCustomRuleGroupRuleResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafCustomRuleGroupRuleResult + { + public readonly Outputs.GetAlbWafCustomRuleGroupRuleBehaviorResult Behavior; + public readonly ImmutableArray Conditions; + /// + /// A clear description explaining the threat vector or criteria addressed by this rule. + /// + public readonly string Description; + /// + /// Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + /// + public readonly int Id; + + [OutputConstructor] + private GetAlbWafCustomRuleGroupRuleResult( + Outputs.GetAlbWafCustomRuleGroupRuleBehaviorResult behavior, + + ImmutableArray conditions, + + string description, + + int id) + { + Behavior = behavior; + Conditions = conditions; + Description = description; + Id = id; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAlbWafManagedRuleSetGroupsResult.cs b/sdk/dotnet/Outputs/GetAlbWafManagedRuleSetGroupsResult.cs new file mode 100644 index 00000000..61f81baa --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafManagedRuleSetGroupsResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafManagedRuleSetGroupsResult + { + /// + /// A description of what this group covers. + /// + public readonly string Description; + /// + /// The name for the rule group. + /// + public readonly string GroupName; + /// + /// Rules of the rule group. + /// + public readonly ImmutableDictionary Rules; + + [OutputConstructor] + private GetAlbWafManagedRuleSetGroupsResult( + string description, + + string groupName, + + ImmutableDictionary rules) + { + Description = description; + GroupName = groupName; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAlbWafManagedRuleSetGroupsRulesResult.cs b/sdk/dotnet/Outputs/GetAlbWafManagedRuleSetGroupsRulesResult.cs new file mode 100644 index 00000000..c50022a7 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAlbWafManagedRuleSetGroupsRulesResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetAlbWafManagedRuleSetGroupsRulesResult + { + /// + /// A description of what this rule does. + /// + public readonly string Description; + /// + /// The current mode of the rule. + /// + public readonly string Mode; + /// + /// Impact level. + /// + public readonly string Severity; + + [OutputConstructor] + private GetAlbWafManagedRuleSetGroupsRulesResult( + string description, + + string mode, + + string severity) + { + Description = description; + Mode = mode; + Severity = severity; + } + } +} diff --git a/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs b/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs index 09a03df3..71185989 100644 --- a/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs +++ b/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs @@ -22,10 +22,22 @@ public sealed class GetCdnDistributionConfigResult /// public readonly ImmutableArray BlockedCountries; /// + /// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + /// + public readonly ImmutableArray BlockedIps; + /// + /// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + public readonly string DefaultCacheDuration; + /// /// Enable this allows the 'Host' header to be passed through to the origin. /// public readonly bool ForwardHostHeader; /// + /// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + /// + public readonly int MonthlyLimitBytes; + /// /// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. /// public readonly Outputs.GetCdnDistributionConfigOptimizerResult Optimizer; @@ -56,8 +68,14 @@ private GetCdnDistributionConfigResult( ImmutableArray blockedCountries, + ImmutableArray blockedIps, + + string defaultCacheDuration, + bool forwardHostHeader, + int monthlyLimitBytes, + Outputs.GetCdnDistributionConfigOptimizerResult optimizer, Outputs.GetCdnDistributionConfigRedirectsResult redirects, @@ -72,7 +90,10 @@ private GetCdnDistributionConfigResult( { Backend = backend; BlockedCountries = blockedCountries; + BlockedIps = blockedIps; + DefaultCacheDuration = defaultCacheDuration; ForwardHostHeader = forwardHostHeader; + MonthlyLimitBytes = monthlyLimitBytes; Optimizer = optimizer; Redirects = redirects; Regions = regions; diff --git a/sdk/dotnet/Outputs/GetPostgresflexFlavorsFlavorResult.cs b/sdk/dotnet/Outputs/GetPostgresflexFlavorsFlavorResult.cs new file mode 100644 index 00000000..e4e80e23 --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexFlavorsFlavorResult.cs @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexFlavorsFlavorResult + { + /// + /// CPU count of the instance. + /// + public readonly int Cpu; + /// + /// Flavor description. + /// + public readonly string Description; + /// + /// Flavor ID. + /// + public readonly string Id; + /// + /// Maximum storage capacity available for the flavor in GB. + /// + public readonly int MaxGb; + /// + /// Memory of the instance in GiB. + /// + public readonly int Memory; + /// + /// Minimum storage capacity available for the flavor in GB. + /// + public readonly int MinGb; + /// + /// Node type of the flavor, either single or replica. + /// + public readonly string NodeType; + /// + /// Storage classes available for the flavor. + /// + public readonly ImmutableArray StorageClasses; + + [OutputConstructor] + private GetPostgresflexFlavorsFlavorResult( + int cpu, + + string description, + + string id, + + int maxGb, + + int memory, + + int minGb, + + string nodeType, + + ImmutableArray storageClasses) + { + Cpu = cpu; + Description = description; + Id = id; + MaxGb = maxGb; + Memory = memory; + MinGb = minGb; + NodeType = nodeType; + StorageClasses = storageClasses; + } + } +} diff --git a/sdk/dotnet/Outputs/GetPostgresflexFlavorsFlavorStorageClassResult.cs b/sdk/dotnet/Outputs/GetPostgresflexFlavorsFlavorStorageClassResult.cs new file mode 100644 index 00000000..b2a07bf8 --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexFlavorsFlavorStorageClassResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexFlavorsFlavorStorageClassResult + { + /// + /// Storage class. + /// + public readonly string Class; + /// + /// Maximum I/O operations per second. + /// + public readonly int MaxIoPerSec; + /// + /// Maximum throughput in MB per second. + /// + public readonly int MaxThroughInMb; + + [OutputConstructor] + private GetPostgresflexFlavorsFlavorStorageClassResult( + string @class, + + int maxIoPerSec, + + int maxThroughInMb) + { + Class = @class; + MaxIoPerSec = maxIoPerSec; + MaxThroughInMb = maxThroughInMb; + } + } +} diff --git a/sdk/dotnet/Outputs/GetPostgresflexFlavorsTimeoutsResult.cs b/sdk/dotnet/Outputs/GetPostgresflexFlavorsTimeoutsResult.cs new file mode 100644 index 00000000..6c4dfaba --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexFlavorsTimeoutsResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexFlavorsTimeoutsResult + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Read; + + [OutputConstructor] + private GetPostgresflexFlavorsTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/GetPostgresflexInstanceConnectionInfoResult.cs b/sdk/dotnet/Outputs/GetPostgresflexInstanceConnectionInfoResult.cs new file mode 100644 index 00000000..8f380f8f --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexInstanceConnectionInfoResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexInstanceConnectionInfoResult + { + /// + /// The DNS name and port in the instance overview. + /// + public readonly Outputs.GetPostgresflexInstanceConnectionInfoWriteResult Write; + + [OutputConstructor] + private GetPostgresflexInstanceConnectionInfoResult(Outputs.GetPostgresflexInstanceConnectionInfoWriteResult write) + { + Write = write; + } + } +} diff --git a/sdk/dotnet/Outputs/GetPostgresflexInstanceConnectionInfoWriteResult.cs b/sdk/dotnet/Outputs/GetPostgresflexInstanceConnectionInfoWriteResult.cs new file mode 100644 index 00000000..24f38482 --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexInstanceConnectionInfoWriteResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexInstanceConnectionInfoWriteResult + { + /// + /// The host of the instance. + /// + public readonly string Host; + /// + /// The port of the instance. + /// + public readonly int Port; + + [OutputConstructor] + private GetPostgresflexInstanceConnectionInfoWriteResult( + string host, + + int port) + { + Host = host; + Port = port; + } + } +} diff --git a/sdk/dotnet/Outputs/GetPostgresflexInstanceEncryptionResult.cs b/sdk/dotnet/Outputs/GetPostgresflexInstanceEncryptionResult.cs new file mode 100644 index 00000000..f900f54c --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexInstanceEncryptionResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexInstanceEncryptionResult + { + public readonly string KekKeyId; + public readonly string KekKeyVersion; + public readonly string KekKeyringId; + public readonly string ServiceAccount; + + [OutputConstructor] + private GetPostgresflexInstanceEncryptionResult( + string kekKeyId, + + string kekKeyVersion, + + string kekKeyringId, + + string serviceAccount) + { + KekKeyId = kekKeyId; + KekKeyVersion = kekKeyVersion; + KekKeyringId = kekKeyringId; + ServiceAccount = serviceAccount; + } + } +} diff --git a/sdk/dotnet/Outputs/GetPostgresflexInstanceFlavorResult.cs b/sdk/dotnet/Outputs/GetPostgresflexInstanceFlavorResult.cs index 0adedb73..8576b86e 100644 --- a/sdk/dotnet/Outputs/GetPostgresflexInstanceFlavorResult.cs +++ b/sdk/dotnet/Outputs/GetPostgresflexInstanceFlavorResult.cs @@ -16,6 +16,7 @@ public sealed class GetPostgresflexInstanceFlavorResult public readonly int Cpu; public readonly string Description; public readonly string Id; + public readonly string NodeType; public readonly int Ram; [OutputConstructor] @@ -26,11 +27,14 @@ private GetPostgresflexInstanceFlavorResult( string id, + string nodeType, + int ram) { Cpu = cpu; Description = description; Id = id; + NodeType = nodeType; Ram = ram; } } diff --git a/sdk/dotnet/Outputs/GetPostgresflexInstanceNetworkResult.cs b/sdk/dotnet/Outputs/GetPostgresflexInstanceNetworkResult.cs new file mode 100644 index 00000000..f1e47118 --- /dev/null +++ b/sdk/dotnet/Outputs/GetPostgresflexInstanceNetworkResult.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetPostgresflexInstanceNetworkResult + { + /// + /// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// + public readonly string AccessScope; + /// + /// List of IPV4 cidr. + /// + public readonly ImmutableArray Acls; + public readonly string InstanceAddress; + public readonly string RouterAddress; + + [OutputConstructor] + private GetPostgresflexInstanceNetworkResult( + string accessScope, + + ImmutableArray acls, + + string instanceAddress, + + string routerAddress) + { + AccessScope = accessScope; + Acls = acls; + InstanceAddress = instanceAddress; + RouterAddress = routerAddress; + } + } +} diff --git a/sdk/dotnet/Outputs/NetworkAreaNetworkRange.cs b/sdk/dotnet/Outputs/GetSkeClusterAuditResult.cs similarity index 55% rename from sdk/dotnet/Outputs/NetworkAreaNetworkRange.cs rename to sdk/dotnet/Outputs/GetSkeClusterAuditResult.cs index ffff57a4..a23f32c9 100644 --- a/sdk/dotnet/Outputs/NetworkAreaNetworkRange.cs +++ b/sdk/dotnet/Outputs/GetSkeClusterAuditResult.cs @@ -11,22 +11,17 @@ namespace Pulumi.Stackit.Outputs { [OutputType] - public sealed class NetworkAreaNetworkRange + public sealed class GetSkeClusterAuditResult { - public readonly string? NetworkRangeId; /// - /// Classless Inter-Domain Routing (CIDR). + /// Enable cluster audit log forwarding to a Telemetry Router. /// - public readonly string Prefix; + public readonly bool Enabled; [OutputConstructor] - private NetworkAreaNetworkRange( - string? networkRangeId, - - string prefix) + private GetSkeClusterAuditResult(bool enabled) { - NetworkRangeId = networkRangeId; - Prefix = prefix; + Enabled = enabled; } } } diff --git a/sdk/dotnet/Outputs/GetSkeClusterExtensionsApplicationLoadBalancerResult.cs b/sdk/dotnet/Outputs/GetSkeClusterExtensionsApplicationLoadBalancerResult.cs new file mode 100644 index 00000000..540e1517 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSkeClusterExtensionsApplicationLoadBalancerResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSkeClusterExtensionsApplicationLoadBalancerResult + { + /// + /// Enables the application load balancer extension. + /// + public readonly bool Enabled; + + [OutputConstructor] + private GetSkeClusterExtensionsApplicationLoadBalancerResult(bool enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSkeClusterExtensionsDnsResult.cs b/sdk/dotnet/Outputs/GetSkeClusterExtensionsDnsResult.cs index 7aa766a1..52f3d12e 100644 --- a/sdk/dotnet/Outputs/GetSkeClusterExtensionsDnsResult.cs +++ b/sdk/dotnet/Outputs/GetSkeClusterExtensionsDnsResult.cs @@ -18,6 +18,10 @@ public sealed class GetSkeClusterExtensionsDnsResult /// public readonly bool Enabled; /// + /// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + /// + public readonly bool GatewayApi; + /// /// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) /// public readonly ImmutableArray Zones; @@ -26,9 +30,12 @@ public sealed class GetSkeClusterExtensionsDnsResult private GetSkeClusterExtensionsDnsResult( bool enabled, + bool gatewayApi, + ImmutableArray zones) { Enabled = enabled; + GatewayApi = gatewayApi; Zones = zones; } } diff --git a/sdk/dotnet/Outputs/GetSkeClusterExtensionsResult.cs b/sdk/dotnet/Outputs/GetSkeClusterExtensionsResult.cs index 47c68547..9969730e 100644 --- a/sdk/dotnet/Outputs/GetSkeClusterExtensionsResult.cs +++ b/sdk/dotnet/Outputs/GetSkeClusterExtensionsResult.cs @@ -18,6 +18,10 @@ public sealed class GetSkeClusterExtensionsResult /// public readonly Outputs.GetSkeClusterExtensionsAclResult Acl; /// + /// Application Load Balancer extension. + /// + public readonly Outputs.GetSkeClusterExtensionsApplicationLoadBalancerResult ApplicationLoadBalancer; + /// /// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. /// public readonly Outputs.GetSkeClusterExtensionsArgusResult Argus; @@ -34,6 +38,8 @@ public sealed class GetSkeClusterExtensionsResult private GetSkeClusterExtensionsResult( Outputs.GetSkeClusterExtensionsAclResult acl, + Outputs.GetSkeClusterExtensionsApplicationLoadBalancerResult applicationLoadBalancer, + Outputs.GetSkeClusterExtensionsArgusResult argus, Outputs.GetSkeClusterExtensionsDnsResult dns, @@ -41,6 +47,7 @@ private GetSkeClusterExtensionsResult( Outputs.GetSkeClusterExtensionsObservabilityResult observability) { Acl = acl; + ApplicationLoadBalancer = applicationLoadBalancer; Argus = argus; Dns = dns; Observability = observability; diff --git a/sdk/dotnet/Outputs/GetSqlserverflexDatabaseTimeoutsResult.cs b/sdk/dotnet/Outputs/GetSqlserverflexDatabaseTimeoutsResult.cs new file mode 100644 index 00000000..3f4722ce --- /dev/null +++ b/sdk/dotnet/Outputs/GetSqlserverflexDatabaseTimeoutsResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSqlserverflexDatabaseTimeoutsResult + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Read; + + [OutputConstructor] + private GetSqlserverflexDatabaseTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSqlserverflexFlavorsFlavorResult.cs b/sdk/dotnet/Outputs/GetSqlserverflexFlavorsFlavorResult.cs new file mode 100644 index 00000000..da947bb8 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSqlserverflexFlavorsFlavorResult.cs @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSqlserverflexFlavorsFlavorResult + { + /// + /// The CPU count of the instance. + /// + public readonly int Cpu; + /// + /// Description of the flavor. + /// + public readonly string Description; + /// + /// ID of the flavor. + /// + public readonly string Id; + /// + /// Maximum storage, which can be ordered for the flavor in Gigabyte. + /// + public readonly int MaxGb; + /// + /// The memory (Gibibyte) of the instance. + /// + public readonly int Memory; + /// + /// Minimum storage, which is required to order in Gigabyte. + /// + public readonly int MinGb; + /// + /// Defines the node type (either single or HA). + /// + public readonly string NodeType; + /// + /// Storage classes available for the flavor. + /// + public readonly ImmutableArray StorageClasses; + + [OutputConstructor] + private GetSqlserverflexFlavorsFlavorResult( + int cpu, + + string description, + + string id, + + int maxGb, + + int memory, + + int minGb, + + string nodeType, + + ImmutableArray storageClasses) + { + Cpu = cpu; + Description = description; + Id = id; + MaxGb = maxGb; + Memory = memory; + MinGb = minGb; + NodeType = nodeType; + StorageClasses = storageClasses; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSqlserverflexFlavorsFlavorStorageClassResult.cs b/sdk/dotnet/Outputs/GetSqlserverflexFlavorsFlavorStorageClassResult.cs new file mode 100644 index 00000000..f9b19903 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSqlserverflexFlavorsFlavorStorageClassResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSqlserverflexFlavorsFlavorStorageClassResult + { + /// + /// Class of the instance. + /// + public readonly string Class; + /// + /// Maximum I/O per second. + /// + public readonly int MaxIoPerSec; + /// + /// Maximum throughput in Megabyte. + /// + public readonly int MaxThroughInMb; + + [OutputConstructor] + private GetSqlserverflexFlavorsFlavorStorageClassResult( + string @class, + + int maxIoPerSec, + + int maxThroughInMb) + { + Class = @class; + MaxIoPerSec = maxIoPerSec; + MaxThroughInMb = maxThroughInMb; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSqlserverflexFlavorsTimeoutsResult.cs b/sdk/dotnet/Outputs/GetSqlserverflexFlavorsTimeoutsResult.cs new file mode 100644 index 00000000..f4b5b488 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSqlserverflexFlavorsTimeoutsResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSqlserverflexFlavorsTimeoutsResult + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Read; + + [OutputConstructor] + private GetSqlserverflexFlavorsTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSqlserverflexInstanceEncryptionResult.cs b/sdk/dotnet/Outputs/GetSqlserverflexInstanceEncryptionResult.cs new file mode 100644 index 00000000..ef856a23 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSqlserverflexInstanceEncryptionResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSqlserverflexInstanceEncryptionResult + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyId; + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyVersion; + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + public readonly string KekKeyringId; + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + public readonly string ServiceAccount; + + [OutputConstructor] + private GetSqlserverflexInstanceEncryptionResult( + string kekKeyId, + + string kekKeyVersion, + + string kekKeyringId, + + string serviceAccount) + { + KekKeyId = kekKeyId; + KekKeyVersion = kekKeyVersion; + KekKeyringId = kekKeyringId; + ServiceAccount = serviceAccount; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSqlserverflexInstanceNetworkResult.cs b/sdk/dotnet/Outputs/GetSqlserverflexInstanceNetworkResult.cs index 1e7cf444..e392faad 100644 --- a/sdk/dotnet/Outputs/GetSqlserverflexInstanceNetworkResult.cs +++ b/sdk/dotnet/Outputs/GetSqlserverflexInstanceNetworkResult.cs @@ -21,15 +21,29 @@ public sealed class GetSqlserverflexInstanceNetworkResult /// List of IPV4 cidr. /// public readonly ImmutableArray Acls; + /// + /// Address of this instance. + /// + public readonly string InstanceAddress; + /// + /// Address of the router. + /// + public readonly string RouterAddress; [OutputConstructor] private GetSqlserverflexInstanceNetworkResult( string? accessScope, - ImmutableArray acls) + ImmutableArray acls, + + string instanceAddress, + + string routerAddress) { AccessScope = accessScope; Acls = acls; + InstanceAddress = instanceAddress; + RouterAddress = routerAddress; } } } diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceConnectionInfo.cs b/sdk/dotnet/Outputs/PostgresflexInstanceConnectionInfo.cs new file mode 100644 index 00000000..f81d68d9 --- /dev/null +++ b/sdk/dotnet/Outputs/PostgresflexInstanceConnectionInfo.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class PostgresflexInstanceConnectionInfo + { + /// + /// The DNS name and port in the instance overview. + /// + public readonly Outputs.PostgresflexInstanceConnectionInfoWrite? Write; + + [OutputConstructor] + private PostgresflexInstanceConnectionInfo(Outputs.PostgresflexInstanceConnectionInfoWrite? write) + { + Write = write; + } + } +} diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceConnectionInfoWrite.cs b/sdk/dotnet/Outputs/PostgresflexInstanceConnectionInfoWrite.cs new file mode 100644 index 00000000..c5944b00 --- /dev/null +++ b/sdk/dotnet/Outputs/PostgresflexInstanceConnectionInfoWrite.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class PostgresflexInstanceConnectionInfoWrite + { + /// + /// The host of the instance. + /// + public readonly string? Host; + /// + /// The port of the instance. + /// + public readonly int? Port; + + [OutputConstructor] + private PostgresflexInstanceConnectionInfoWrite( + string? host, + + int? port) + { + Host = host; + Port = port; + } + } +} diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceEncryption.cs b/sdk/dotnet/Outputs/PostgresflexInstanceEncryption.cs new file mode 100644 index 00000000..66371337 --- /dev/null +++ b/sdk/dotnet/Outputs/PostgresflexInstanceEncryption.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class PostgresflexInstanceEncryption + { + /// + /// The ID of the Key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyId; + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyVersion; + /// + /// The ID of the keyring where the key is located within the STACKTI-KMS. + /// + public readonly string KekKeyringId; + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + public readonly string ServiceAccount; + + [OutputConstructor] + private PostgresflexInstanceEncryption( + string kekKeyId, + + string kekKeyVersion, + + string kekKeyringId, + + string serviceAccount) + { + KekKeyId = kekKeyId; + KekKeyVersion = kekKeyVersion; + KekKeyringId = kekKeyringId; + ServiceAccount = serviceAccount; + } + } +} diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceFlavor.cs b/sdk/dotnet/Outputs/PostgresflexInstanceFlavor.cs index c2ca82ae..211dc466 100644 --- a/sdk/dotnet/Outputs/PostgresflexInstanceFlavor.cs +++ b/sdk/dotnet/Outputs/PostgresflexInstanceFlavor.cs @@ -15,7 +15,11 @@ public sealed class PostgresflexInstanceFlavor { public readonly int Cpu; public readonly string? Description; + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`,`Region`,`InstanceId`". + /// public readonly string? Id; + public readonly string? NodeType; public readonly int Ram; [OutputConstructor] @@ -26,11 +30,14 @@ private PostgresflexInstanceFlavor( string? id, + string? nodeType, + int ram) { Cpu = cpu; Description = description; Id = id; + NodeType = nodeType; Ram = ram; } } diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceNetwork.cs b/sdk/dotnet/Outputs/PostgresflexInstanceNetwork.cs new file mode 100644 index 00000000..095afa9f --- /dev/null +++ b/sdk/dotnet/Outputs/PostgresflexInstanceNetwork.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class PostgresflexInstanceNetwork + { + /// + /// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// + public readonly string? AccessScope; + /// + /// The Access Control List (ACL) for the PostgresFlex instance. + /// + public readonly ImmutableArray Acls; + public readonly string? InstanceAddress; + public readonly string? RouterAddress; + + [OutputConstructor] + private PostgresflexInstanceNetwork( + string? accessScope, + + ImmutableArray acls, + + string? instanceAddress, + + string? routerAddress) + { + AccessScope = accessScope; + Acls = acls; + InstanceAddress = instanceAddress; + RouterAddress = routerAddress; + } + } +} diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs b/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs index a4a164bf..958ea590 100644 --- a/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs +++ b/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs @@ -16,9 +16,42 @@ public sealed class PostgresflexInstanceStorage /// /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): /// `bash - /// stackit postgresflex options --storages --flavor-id FLAVOR_ID + /// stackit postgresflex flavor describe FLAVOR_ID /// ` /// - `Size` (Number) + /// \n\n\n\n + /// ### Nested Schema for `Encryption` + /// Required: + /// - `KekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + /// - `KekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + /// - `KekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + /// - `ServiceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + /// \n\n\n\n + /// ### Nested Schema for `Flavor` + /// Required: + /// - `Cpu` (Number) + /// - `Ram` (Number) + /// Read-Only: + /// - `Description` (String) + /// - `Id` (String) + /// - `NodeType` (String) + /// \n\n\n\n + /// ### Nested Schema for `Network` + /// Optional: + /// - `AccessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + /// - `Acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + /// Read-Only: + /// - `InstanceAddress` (String) + /// - `RouterAddress` (String) + /// \n\n\n\n + /// ### Nested Schema for `ConnectionInfo` + /// Read-Only: + /// - `Write` (Attributes) The DNS name and port in the instance overview. + /// \n\n\n\n + /// ### Nested Schema for `connection_info.write` + /// Read-Only: + /// - `Host` (String) The host of the instance. + /// - `Port` (Number) The port of the instance. /// public readonly string Class; public readonly int Size; diff --git a/sdk/dotnet/Outputs/GetNetworkAreaNetworkRangeResult.cs b/sdk/dotnet/Outputs/SkeClusterAudit.cs similarity index 55% rename from sdk/dotnet/Outputs/GetNetworkAreaNetworkRangeResult.cs rename to sdk/dotnet/Outputs/SkeClusterAudit.cs index eeabf351..68fbf14d 100644 --- a/sdk/dotnet/Outputs/GetNetworkAreaNetworkRangeResult.cs +++ b/sdk/dotnet/Outputs/SkeClusterAudit.cs @@ -11,19 +11,17 @@ namespace Pulumi.Stackit.Outputs { [OutputType] - public sealed class GetNetworkAreaNetworkRangeResult + public sealed class SkeClusterAudit { - public readonly string NetworkRangeId; - public readonly string Prefix; + /// + /// Enable cluster audit log forwarding to a Telemetry Router. + /// + public readonly bool? Enabled; [OutputConstructor] - private GetNetworkAreaNetworkRangeResult( - string networkRangeId, - - string prefix) + private SkeClusterAudit(bool? enabled) { - NetworkRangeId = networkRangeId; - Prefix = prefix; + Enabled = enabled; } } } diff --git a/sdk/dotnet/Outputs/SkeClusterExtensions.cs b/sdk/dotnet/Outputs/SkeClusterExtensions.cs index 0446df0d..b6391ec9 100644 --- a/sdk/dotnet/Outputs/SkeClusterExtensions.cs +++ b/sdk/dotnet/Outputs/SkeClusterExtensions.cs @@ -18,6 +18,10 @@ public sealed class SkeClusterExtensions /// public readonly Outputs.SkeClusterExtensionsAcl? Acl; /// + /// Application Load Balancer extension. + /// + public readonly Outputs.SkeClusterExtensionsApplicationLoadBalancer? ApplicationLoadBalancer; + /// /// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. /// public readonly Outputs.SkeClusterExtensionsArgus? Argus; @@ -34,6 +38,8 @@ public sealed class SkeClusterExtensions private SkeClusterExtensions( Outputs.SkeClusterExtensionsAcl? acl, + Outputs.SkeClusterExtensionsApplicationLoadBalancer? applicationLoadBalancer, + Outputs.SkeClusterExtensionsArgus? argus, Outputs.SkeClusterExtensionsDns? dns, @@ -41,6 +47,7 @@ private SkeClusterExtensions( Outputs.SkeClusterExtensionsObservability? observability) { Acl = acl; + ApplicationLoadBalancer = applicationLoadBalancer; Argus = argus; Dns = dns; Observability = observability; diff --git a/sdk/dotnet/Outputs/SkeClusterExtensionsApplicationLoadBalancer.cs b/sdk/dotnet/Outputs/SkeClusterExtensionsApplicationLoadBalancer.cs new file mode 100644 index 00000000..bb99be8d --- /dev/null +++ b/sdk/dotnet/Outputs/SkeClusterExtensionsApplicationLoadBalancer.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class SkeClusterExtensionsApplicationLoadBalancer + { + /// + /// Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private SkeClusterExtensionsApplicationLoadBalancer(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Outputs/SkeClusterExtensionsDns.cs b/sdk/dotnet/Outputs/SkeClusterExtensionsDns.cs index bf515ce8..14022580 100644 --- a/sdk/dotnet/Outputs/SkeClusterExtensionsDns.cs +++ b/sdk/dotnet/Outputs/SkeClusterExtensionsDns.cs @@ -18,6 +18,10 @@ public sealed class SkeClusterExtensionsDns /// public readonly bool Enabled; /// + /// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + /// + public readonly bool? GatewayApi; + /// /// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) /// public readonly ImmutableArray Zones; @@ -26,9 +30,12 @@ public sealed class SkeClusterExtensionsDns private SkeClusterExtensionsDns( bool enabled, + bool? gatewayApi, + ImmutableArray zones) { Enabled = enabled; + GatewayApi = gatewayApi; Zones = zones; } } diff --git a/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs b/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs index 4c8a3f9f..9a89c3db 100644 --- a/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs +++ b/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs @@ -14,7 +14,7 @@ namespace Pulumi.Stackit.Outputs public sealed class SkeClusterNetworkControlPlane { /// - /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! /// public readonly string? AccessScope; diff --git a/sdk/dotnet/Outputs/SqlserverflexDatabaseTimeouts.cs b/sdk/dotnet/Outputs/SqlserverflexDatabaseTimeouts.cs new file mode 100644 index 00000000..f04f90e7 --- /dev/null +++ b/sdk/dotnet/Outputs/SqlserverflexDatabaseTimeouts.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class SqlserverflexDatabaseTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Create; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + public readonly string? Delete; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + /// + public readonly string? Read; + /// + /// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + /// + public readonly string? Update; + + [OutputConstructor] + private SqlserverflexDatabaseTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Outputs/SqlserverflexInstanceEncryption.cs b/sdk/dotnet/Outputs/SqlserverflexInstanceEncryption.cs new file mode 100644 index 00000000..de2ef7d1 --- /dev/null +++ b/sdk/dotnet/Outputs/SqlserverflexInstanceEncryption.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class SqlserverflexInstanceEncryption + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyId; + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyVersion; + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + public readonly string KekKeyringId; + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + public readonly string ServiceAccount; + + [OutputConstructor] + private SqlserverflexInstanceEncryption( + string kekKeyId, + + string kekKeyVersion, + + string kekKeyringId, + + string serviceAccount) + { + KekKeyId = kekKeyId; + KekKeyVersion = kekKeyVersion; + KekKeyringId = kekKeyringId; + ServiceAccount = serviceAccount; + } + } +} diff --git a/sdk/dotnet/Outputs/SqlserverflexInstanceNetwork.cs b/sdk/dotnet/Outputs/SqlserverflexInstanceNetwork.cs index 841538d6..d4b09b99 100644 --- a/sdk/dotnet/Outputs/SqlserverflexInstanceNetwork.cs +++ b/sdk/dotnet/Outputs/SqlserverflexInstanceNetwork.cs @@ -21,15 +21,29 @@ public sealed class SqlserverflexInstanceNetwork /// List of IPV4 cidr. /// public readonly ImmutableArray Acls; + /// + /// Address of this instance. + /// + public readonly string? InstanceAddress; + /// + /// Address of the router. + /// + public readonly string? RouterAddress; [OutputConstructor] private SqlserverflexInstanceNetwork( string? accessScope, - ImmutableArray acls) + ImmutableArray acls, + + string? instanceAddress, + + string? routerAddress) { AccessScope = accessScope; Acls = acls; + InstanceAddress = instanceAddress; + RouterAddress = routerAddress; } } } diff --git a/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs b/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs index 617707b5..14fe34a3 100644 --- a/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs +++ b/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs @@ -14,10 +14,7 @@ namespace Pulumi.Stackit.Outputs public sealed class SqlserverflexInstanceStorage { /// - /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - /// `bash - /// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - /// ` Will be required in the future. Set a value to prevent breaking changes. + /// The storage class. You can list available storage classes for a the according flavors using the datasource `stackit.getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. /// public readonly string? Class; /// diff --git a/sdk/dotnet/PostgresflexInstance.cs b/sdk/dotnet/PostgresflexInstance.cs index a6428533..6e79dacf 100644 --- a/sdk/dotnet/PostgresflexInstance.cs +++ b/sdk/dotnet/PostgresflexInstance.cs @@ -33,9 +33,24 @@ public partial class PostgresflexInstance : global::Pulumi.CustomResource [Output("backupSchedule")] public Output BackupSchedule { get; private set; } = null!; + /// + /// The connection info for the PostgresFlex instance. + /// + [Output("connectionInfo")] + public Output ConnectionInfo { get; private set; } = null!; + + [Output("encryption")] + public Output Encryption { get; private set; } = null!; + [Output("flavor")] public Output Flavor { get; private set; } = null!; + /// + /// The flavor ID of the PostgreSQL Flex instance. Can only be set when `Flavor` and `Replicas` are not set. You can list available flavors using the datasource `stackit.getPostgresflexFlavors` + /// + [Output("flavorId")] + public Output FlavorId { get; private set; } = null!; + /// /// ID of the PostgresFlex instance. /// @@ -48,6 +63,12 @@ public partial class PostgresflexInstance : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + /// + [Output("network")] + public Output Network { get; private set; } = null!; + /// /// STACKIT project ID to which the instance is associated. /// @@ -61,11 +82,17 @@ public partial class PostgresflexInstance : global::Pulumi.CustomResource public Output Region { get; private set; } = null!; /// - /// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + /// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `Flavor` /// [Output("replicas")] public Output Replicas { get; private set; } = null!; + /// + /// How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + /// + [Output("retentionDays")] + public Output RetentionDays { get; private set; } = null!; + [Output("storage")] public Output Storage { get; private set; } = null!; @@ -119,12 +146,13 @@ public static PostgresflexInstance Get(string name, Input id, Postgresfl public sealed class PostgresflexInstanceArgs : global::Pulumi.ResourceArgs { - [Input("acls", required: true)] + [Input("acls")] private InputList? _acls; /// /// The Access Control List (ACL) for the PostgresFlex instance. /// + [Obsolete(@"acl is deprecated and will be removed after February 2027. Use instead `network.acl`.")] public InputList Acls { get => _acls ?? (_acls = new InputList()); @@ -137,8 +165,17 @@ public InputList Acls [Input("backupSchedule", required: true)] public Input BackupSchedule { get; set; } = null!; - [Input("flavor", required: true)] - public Input Flavor { get; set; } = null!; + [Input("encryption")] + public Input? Encryption { get; set; } + + [Input("flavor")] + public Input? Flavor { get; set; } + + /// + /// The flavor ID of the PostgreSQL Flex instance. Can only be set when `Flavor` and `Replicas` are not set. You can list available flavors using the datasource `stackit.getPostgresflexFlavors` + /// + [Input("flavorId")] + public Input? FlavorId { get; set; } /// /// Instance name. @@ -146,6 +183,12 @@ public InputList Acls [Input("name")] public Input? Name { get; set; } + /// + /// The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + /// + [Input("network")] + public Input? Network { get; set; } + /// /// STACKIT project ID to which the instance is associated. /// @@ -159,10 +202,16 @@ public InputList Acls public Input? Region { get; set; } /// - /// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + /// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `Flavor` + /// + [Input("replicas")] + public Input? Replicas { get; set; } + + /// + /// How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. /// - [Input("replicas", required: true)] - public Input Replicas { get; set; } = null!; + [Input("retentionDays")] + public Input? RetentionDays { get; set; } [Input("storage", required: true)] public Input Storage { get; set; } = null!; @@ -184,6 +233,7 @@ public sealed class PostgresflexInstanceState : global::Pulumi.ResourceArgs /// /// The Access Control List (ACL) for the PostgresFlex instance. /// + [Obsolete(@"acl is deprecated and will be removed after February 2027. Use instead `network.acl`.")] public InputList Acls { get => _acls ?? (_acls = new InputList()); @@ -196,9 +246,24 @@ public InputList Acls [Input("backupSchedule")] public Input? BackupSchedule { get; set; } + /// + /// The connection info for the PostgresFlex instance. + /// + [Input("connectionInfo")] + public Input? ConnectionInfo { get; set; } + + [Input("encryption")] + public Input? Encryption { get; set; } + [Input("flavor")] public Input? Flavor { get; set; } + /// + /// The flavor ID of the PostgreSQL Flex instance. Can only be set when `Flavor` and `Replicas` are not set. You can list available flavors using the datasource `stackit.getPostgresflexFlavors` + /// + [Input("flavorId")] + public Input? FlavorId { get; set; } + /// /// ID of the PostgresFlex instance. /// @@ -211,6 +276,12 @@ public InputList Acls [Input("name")] public Input? Name { get; set; } + /// + /// The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + /// + [Input("network")] + public Input? Network { get; set; } + /// /// STACKIT project ID to which the instance is associated. /// @@ -224,11 +295,17 @@ public InputList Acls public Input? Region { get; set; } /// - /// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + /// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `Flavor` /// [Input("replicas")] public Input? Replicas { get; set; } + /// + /// How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + /// + [Input("retentionDays")] + public Input? RetentionDays { get; set; } + [Input("storage")] public Input? Storage { get; set; } diff --git a/sdk/dotnet/PostgresflexUser.cs b/sdk/dotnet/PostgresflexUser.cs index ea84309a..e14dc325 100644 --- a/sdk/dotnet/PostgresflexUser.cs +++ b/sdk/dotnet/PostgresflexUser.cs @@ -239,6 +239,7 @@ public InputMap RotateWhenChanged [Input("uri")] private Input? _uri; + [Obsolete(@"uri is deprecated and will be removed after February 2027.")] public Input? Uri { get => _uri; diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index b7100b33..a4c2b034 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -30,6 +30,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("albCustomEndpoint")] public Output AlbCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the Application Load Balancer Web Application Firewall service + /// + [Output("albWafCustomEndpoint")] + public Output AlbWafCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the Membership service /// @@ -120,6 +126,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("mariadbCustomEndpoint")] public Output MariadbCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the AI Model Experiments service + /// + [Output("modelexperimentsCustomEndpoint")] + public Output ModelexperimentsCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the AI Model Serving service /// @@ -192,12 +204,6 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("redisCustomEndpoint")] public Output RedisCustomEndpoint { get; private set; } = null!; - /// - /// Region will be used as the default location for regional services. Not all services require a region, some are global - /// - [Output("region")] - public Output Region { get; private set; } = null!; - /// /// Custom endpoint for the Resource Manager service /// @@ -365,6 +371,12 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("albCustomEndpoint")] public Input? AlbCustomEndpoint { get; set; } + /// + /// Custom endpoint for the Application Load Balancer Web Application Firewall service + /// + [Input("albWafCustomEndpoint")] + public Input? AlbWafCustomEndpoint { get; set; } + /// /// Custom endpoint for the Membership service /// @@ -473,6 +485,12 @@ public InputList Experiments [Input("mariadbCustomEndpoint")] public Input? MariadbCustomEndpoint { get; set; } + /// + /// Custom endpoint for the AI Model Experiments service + /// + [Input("modelexperimentsCustomEndpoint")] + public Input? ModelexperimentsCustomEndpoint { get; set; } + /// /// Custom endpoint for the AI Model Serving service /// @@ -545,12 +563,6 @@ public InputList Experiments [Input("redisCustomEndpoint")] public Input? RedisCustomEndpoint { get; set; } - /// - /// Region will be used as the default location for regional services. Not all services require a region, some are global - /// - [Input("region")] - public Input? Region { get; set; } - /// /// Custom endpoint for the Resource Manager service /// diff --git a/sdk/dotnet/SkeCluster.cs b/sdk/dotnet/SkeCluster.cs index 6b025f7a..5a80a38c 100644 --- a/sdk/dotnet/SkeCluster.cs +++ b/sdk/dotnet/SkeCluster.cs @@ -29,6 +29,12 @@ public partial class SkeCluster : global::Pulumi.CustomResource [Output("access")] public Output Access { get; private set; } = null!; + /// + /// Cluster audit log forwarding configuration. + /// + [Output("audit")] + public Output Audit { get; private set; } = null!; + /// /// The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. /// @@ -39,7 +45,7 @@ public partial class SkeCluster : global::Pulumi.CustomResource /// A single extensions block as defined below. /// [Output("extensions")] - public Output Extensions { get; private set; } = null!; + public Output Extensions { get; private set; } = null!; /// /// One or more hibernation block as defined below. @@ -161,6 +167,12 @@ public sealed class SkeClusterArgs : global::Pulumi.ResourceArgs [Input("access")] public Input? Access { get; set; } + /// + /// Cluster audit log forwarding configuration. + /// + [Input("audit")] + public Input? Audit { get; set; } + /// /// A single extensions block as defined below. /// @@ -242,6 +254,12 @@ public sealed class SkeClusterState : global::Pulumi.ResourceArgs [Input("access")] public Input? Access { get; set; } + /// + /// Cluster audit log forwarding configuration. + /// + [Input("audit")] + public Input? Audit { get; set; } + [Input("egressAddressRanges")] private InputList? _egressAddressRanges; diff --git a/sdk/dotnet/SqlserverflexDatabase.cs b/sdk/dotnet/SqlserverflexDatabase.cs new file mode 100644 index 00000000..d1a8590c --- /dev/null +++ b/sdk/dotnet/SqlserverflexDatabase.cs @@ -0,0 +1,231 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// SQLServer Flex database resource schema. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/sqlserverflexDatabase:SqlserverflexDatabase")] + public partial class SqlserverflexDatabase : global::Pulumi.CustomResource + { + /// + /// The collation of the database. + /// + [Output("collation")] + public Output Collation { get; private set; } = null!; + + /// + /// Compatibility level of the database. + /// + [Output("compatibility")] + public Output Compatibility { get; private set; } = null!; + + /// + /// The id of the database. + /// + [Output("databaseId")] + public Output DatabaseId { get; private set; } = null!; + + /// + /// ID of the SQLServer Flex instance. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Name of the database. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The owner of the database. + /// + [Output("owner")] + public Output Owner { get; private set; } = null!; + + /// + /// STACKIT project ID. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a SqlserverflexDatabase resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public SqlserverflexDatabase(string name, SqlserverflexDatabaseArgs args, CustomResourceOptions? options = null) + : base("stackit:index/sqlserverflexDatabase:SqlserverflexDatabase", name, args ?? new SqlserverflexDatabaseArgs(), MakeResourceOptions(options, "")) + { + } + + private SqlserverflexDatabase(string name, Input id, SqlserverflexDatabaseState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/sqlserverflexDatabase:SqlserverflexDatabase", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing SqlserverflexDatabase resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static SqlserverflexDatabase Get(string name, Input id, SqlserverflexDatabaseState? state = null, CustomResourceOptions? options = null) + { + return new SqlserverflexDatabase(name, id, state, options); + } + } + + public sealed class SqlserverflexDatabaseArgs : global::Pulumi.ResourceArgs + { + /// + /// The collation of the database. + /// + [Input("collation")] + public Input? Collation { get; set; } + + /// + /// Compatibility level of the database. + /// + [Input("compatibility")] + public Input? Compatibility { get; set; } + + /// + /// ID of the SQLServer Flex instance. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// Name of the database. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The owner of the database. + /// + [Input("owner", required: true)] + public Input Owner { get; set; } = null!; + + /// + /// STACKIT project ID. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public SqlserverflexDatabaseArgs() + { + } + public static new SqlserverflexDatabaseArgs Empty => new SqlserverflexDatabaseArgs(); + } + + public sealed class SqlserverflexDatabaseState : global::Pulumi.ResourceArgs + { + /// + /// The collation of the database. + /// + [Input("collation")] + public Input? Collation { get; set; } + + /// + /// Compatibility level of the database. + /// + [Input("compatibility")] + public Input? Compatibility { get; set; } + + /// + /// The id of the database. + /// + [Input("databaseId")] + public Input? DatabaseId { get; set; } + + /// + /// ID of the SQLServer Flex instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Name of the database. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The owner of the database. + /// + [Input("owner")] + public Input? Owner { get; set; } + + /// + /// STACKIT project ID. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public SqlserverflexDatabaseState() + { + } + public static new SqlserverflexDatabaseState Empty => new SqlserverflexDatabaseState(); + } +} diff --git a/sdk/dotnet/SqlserverflexInstance.cs b/sdk/dotnet/SqlserverflexInstance.cs index 7d75c1db..c5788441 100644 --- a/sdk/dotnet/SqlserverflexInstance.cs +++ b/sdk/dotnet/SqlserverflexInstance.cs @@ -13,6 +13,10 @@ namespace Pulumi.Stackit /// SQLServer Flex instance resource schema. Must have a `Region` specified in the provider configuration. /// /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: /// [StackitResourceType("stackit:index/sqlserverflexInstance:SqlserverflexInstance")] public partial class SqlserverflexInstance : global::Pulumi.CustomResource @@ -35,11 +39,17 @@ public partial class SqlserverflexInstance : global::Pulumi.CustomResource [Output("edition")] public Output Edition { get; private set; } = null!; + /// + /// Parameter to define which key to use for storage encryption. + /// + [Output("encryption")] + public Output Encryption { get; private set; } = null!; + [Output("flavor")] public Output Flavor { get; private set; } = null!; /// - /// The flavor ID of the SQLServer Flex instance. + /// The flavor ID of the SQLServer Flex instance. Can only be set when `Flavor` and `Replicas` are not set. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. /// [Output("flavorId")] public Output FlavorId { get; private set; } = null!; @@ -151,7 +161,7 @@ public sealed class SqlserverflexInstanceArgs : global::Pulumi.ResourceArgs /// /// The Access Control List (ACL) for the SQLServer Flex instance. /// - [Obsolete(@"acl is deprecated and will be removed after January 2027. Use instead `network.acl`.")] + [Obsolete(@"acl is deprecated and will be removed after February 2027. Use instead `network.acl`.")] public InputList Acls { get => _acls ?? (_acls = new InputList()); @@ -164,11 +174,17 @@ public InputList Acls [Input("backupSchedule")] public Input? BackupSchedule { get; set; } + /// + /// Parameter to define which key to use for storage encryption. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + [Input("flavor")] public Input? Flavor { get; set; } /// - /// The flavor ID of the SQLServer Flex instance. + /// The flavor ID of the SQLServer Flex instance. Can only be set when `Flavor` and `Replicas` are not set. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. /// [Input("flavorId")] public Input? FlavorId { get; set; } @@ -232,7 +248,7 @@ public sealed class SqlserverflexInstanceState : global::Pulumi.ResourceArgs /// /// The Access Control List (ACL) for the SQLServer Flex instance. /// - [Obsolete(@"acl is deprecated and will be removed after January 2027. Use instead `network.acl`.")] + [Obsolete(@"acl is deprecated and will be removed after February 2027. Use instead `network.acl`.")] public InputList Acls { get => _acls ?? (_acls = new InputList()); @@ -251,11 +267,17 @@ public InputList Acls [Input("edition")] public Input? Edition { get; set; } + /// + /// Parameter to define which key to use for storage encryption. + /// + [Input("encryption")] + public Input? Encryption { get; set; } + [Input("flavor")] public Input? Flavor { get; set; } /// - /// The flavor ID of the SQLServer Flex instance. + /// The flavor ID of the SQLServer Flex instance. Can only be set when `Flavor` and `Replicas` are not set. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. /// [Input("flavorId")] public Input? FlavorId { get; set; } diff --git a/sdk/dotnet/Telemetrylink.cs b/sdk/dotnet/Telemetrylink.cs index f11541f0..a34c882f 100644 --- a/sdk/dotnet/Telemetrylink.cs +++ b/sdk/dotnet/Telemetrylink.cs @@ -22,11 +22,24 @@ namespace Pulumi.Stackit public partial class Telemetrylink : global::Pulumi.CustomResource { /// - /// The access token of the Telemetry Router instance. + /// The access token of the Telemetry Router instance. Write-only argument `AccessTokenWo` should be preferred. /// [Output("accessToken")] public Output AccessToken { get; private set; } = null!; + /// + /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + /// The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `AccessTokenWoVersion`. Changing this field alone will NOT trigger an update. + /// + [Output("accessTokenWo")] + public Output AccessTokenWo { get; private set; } = null!; + + /// + /// User-managed rotation counter for `AccessTokenWo`. Must be incremented every time `AccessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `AccessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + /// + [Output("accessTokenWoVersion")] + public Output AccessTokenWoVersion { get; private set; } = null!; + /// /// The time the Telemetry Link was created. /// @@ -102,6 +115,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? AdditionalSecretOutputs = { "accessToken", + "accessTokenWo", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -130,7 +144,7 @@ public sealed class TelemetrylinkArgs : global::Pulumi.ResourceArgs private Input? _accessToken; /// - /// The access token of the Telemetry Router instance. + /// The access token of the Telemetry Router instance. Write-only argument `AccessTokenWo` should be preferred. /// public Input? AccessToken { @@ -142,6 +156,29 @@ public Input? AccessToken } } + [Input("accessTokenWo")] + private Input? _accessTokenWo; + + /// + /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + /// The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `AccessTokenWoVersion`. Changing this field alone will NOT trigger an update. + /// + public Input? AccessTokenWo + { + get => _accessTokenWo; + set + { + var emptySecret = Output.CreateSecret(0); + _accessTokenWo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// User-managed rotation counter for `AccessTokenWo`. Must be incremented every time `AccessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `AccessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + /// + [Input("accessTokenWoVersion")] + public Input? AccessTokenWoVersion { get; set; } + /// /// The description of the Telemetry Link resource. /// @@ -190,7 +227,7 @@ public sealed class TelemetrylinkState : global::Pulumi.ResourceArgs private Input? _accessToken; /// - /// The access token of the Telemetry Router instance. + /// The access token of the Telemetry Router instance. Write-only argument `AccessTokenWo` should be preferred. /// public Input? AccessToken { @@ -202,6 +239,29 @@ public Input? AccessToken } } + [Input("accessTokenWo")] + private Input? _accessTokenWo; + + /// + /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + /// The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `AccessTokenWoVersion`. Changing this field alone will NOT trigger an update. + /// + public Input? AccessTokenWo + { + get => _accessTokenWo; + set + { + var emptySecret = Output.CreateSecret(0); + _accessTokenWo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// User-managed rotation counter for `AccessTokenWo`. Must be incremented every time `AccessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `AccessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + /// + [Input("accessTokenWoVersion")] + public Input? AccessTokenWoVersion { get; set; } + /// /// The time the Telemetry Link was created. /// diff --git a/sdk/go.mod b/sdk/go.mod index c2c7151c..be1509c3 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -15,7 +15,6 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect - github.com/atotto/clipboard v0.1.4 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -100,7 +99,6 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.54.0 // indirect - golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect golang.org/x/mod v0.37.0 // indirect golang.org/x/net v0.57.0 // indirect golang.org/x/sync v0.22.0 // indirect diff --git a/sdk/go.sum b/sdk/go.sum index 0048806f..c643f6aa 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -18,8 +18,6 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= -github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= diff --git a/sdk/go/stackit/albWafConfiguration.go b/sdk/go/stackit/albWafConfiguration.go new file mode 100644 index 00000000..40fb3c4c --- /dev/null +++ b/sdk/go/stackit/albWafConfiguration.go @@ -0,0 +1,298 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. +// +// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. +// +// ## Example Usage +type AlbWafConfiguration struct { + pulumi.CustomResourceState + + // Name of the custom rule group for this WAF Configuration. + CustomRuleGroupName pulumi.StringPtrOutput `pulumi:"customRuleGroupName"` + // User-defined metadata as key-value pairs. Should not exceed 64 entries. + Labels pulumi.StringMapOutput `pulumi:"labels"` + // Name of the managed rule set configuration for this WAF Configuration. + ManagedRuleSetName pulumi.StringPtrOutput `pulumi:"managedRuleSetName"` + // The name of the WAF Configuration. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` +} + +// NewAlbWafConfiguration registers a new resource with the given unique name, arguments, and options. +func NewAlbWafConfiguration(ctx *pulumi.Context, + name string, args *AlbWafConfigurationArgs, opts ...pulumi.ResourceOption) (*AlbWafConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AlbWafConfiguration + err := ctx.RegisterResource("stackit:index/albWafConfiguration:AlbWafConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlbWafConfiguration gets an existing AlbWafConfiguration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAlbWafConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlbWafConfigurationState, opts ...pulumi.ResourceOption) (*AlbWafConfiguration, error) { + var resource AlbWafConfiguration + err := ctx.ReadResource("stackit:index/albWafConfiguration:AlbWafConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlbWafConfiguration resources. +type albWafConfigurationState struct { + // Name of the custom rule group for this WAF Configuration. + CustomRuleGroupName *string `pulumi:"customRuleGroupName"` + // User-defined metadata as key-value pairs. Should not exceed 64 entries. + Labels map[string]string `pulumi:"labels"` + // Name of the managed rule set configuration for this WAF Configuration. + ManagedRuleSetName *string `pulumi:"managedRuleSetName"` + // The name of the WAF Configuration. + Name *string `pulumi:"name"` + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +type AlbWafConfigurationState struct { + // Name of the custom rule group for this WAF Configuration. + CustomRuleGroupName pulumi.StringPtrInput + // User-defined metadata as key-value pairs. Should not exceed 64 entries. + Labels pulumi.StringMapInput + // Name of the managed rule set configuration for this WAF Configuration. + ManagedRuleSetName pulumi.StringPtrInput + // The name of the WAF Configuration. + Name pulumi.StringPtrInput + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId pulumi.StringPtrInput + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (AlbWafConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*albWafConfigurationState)(nil)).Elem() +} + +type albWafConfigurationArgs struct { + // Name of the custom rule group for this WAF Configuration. + CustomRuleGroupName *string `pulumi:"customRuleGroupName"` + // User-defined metadata as key-value pairs. Should not exceed 64 entries. + Labels map[string]string `pulumi:"labels"` + // Name of the managed rule set configuration for this WAF Configuration. + ManagedRuleSetName *string `pulumi:"managedRuleSetName"` + // The name of the WAF Configuration. + Name *string `pulumi:"name"` + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId string `pulumi:"projectId"` + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a AlbWafConfiguration resource. +type AlbWafConfigurationArgs struct { + // Name of the custom rule group for this WAF Configuration. + CustomRuleGroupName pulumi.StringPtrInput + // User-defined metadata as key-value pairs. Should not exceed 64 entries. + Labels pulumi.StringMapInput + // Name of the managed rule set configuration for this WAF Configuration. + ManagedRuleSetName pulumi.StringPtrInput + // The name of the WAF Configuration. + Name pulumi.StringPtrInput + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId pulumi.StringInput + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (AlbWafConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*albWafConfigurationArgs)(nil)).Elem() +} + +type AlbWafConfigurationInput interface { + pulumi.Input + + ToAlbWafConfigurationOutput() AlbWafConfigurationOutput + ToAlbWafConfigurationOutputWithContext(ctx context.Context) AlbWafConfigurationOutput +} + +func (*AlbWafConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**AlbWafConfiguration)(nil)).Elem() +} + +func (i *AlbWafConfiguration) ToAlbWafConfigurationOutput() AlbWafConfigurationOutput { + return i.ToAlbWafConfigurationOutputWithContext(context.Background()) +} + +func (i *AlbWafConfiguration) ToAlbWafConfigurationOutputWithContext(ctx context.Context) AlbWafConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafConfigurationOutput) +} + +// AlbWafConfigurationArrayInput is an input type that accepts AlbWafConfigurationArray and AlbWafConfigurationArrayOutput values. +// You can construct a concrete instance of `AlbWafConfigurationArrayInput` via: +// +// AlbWafConfigurationArray{ AlbWafConfigurationArgs{...} } +type AlbWafConfigurationArrayInput interface { + pulumi.Input + + ToAlbWafConfigurationArrayOutput() AlbWafConfigurationArrayOutput + ToAlbWafConfigurationArrayOutputWithContext(context.Context) AlbWafConfigurationArrayOutput +} + +type AlbWafConfigurationArray []AlbWafConfigurationInput + +func (AlbWafConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlbWafConfiguration)(nil)).Elem() +} + +func (i AlbWafConfigurationArray) ToAlbWafConfigurationArrayOutput() AlbWafConfigurationArrayOutput { + return i.ToAlbWafConfigurationArrayOutputWithContext(context.Background()) +} + +func (i AlbWafConfigurationArray) ToAlbWafConfigurationArrayOutputWithContext(ctx context.Context) AlbWafConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafConfigurationArrayOutput) +} + +// AlbWafConfigurationMapInput is an input type that accepts AlbWafConfigurationMap and AlbWafConfigurationMapOutput values. +// You can construct a concrete instance of `AlbWafConfigurationMapInput` via: +// +// AlbWafConfigurationMap{ "key": AlbWafConfigurationArgs{...} } +type AlbWafConfigurationMapInput interface { + pulumi.Input + + ToAlbWafConfigurationMapOutput() AlbWafConfigurationMapOutput + ToAlbWafConfigurationMapOutputWithContext(context.Context) AlbWafConfigurationMapOutput +} + +type AlbWafConfigurationMap map[string]AlbWafConfigurationInput + +func (AlbWafConfigurationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlbWafConfiguration)(nil)).Elem() +} + +func (i AlbWafConfigurationMap) ToAlbWafConfigurationMapOutput() AlbWafConfigurationMapOutput { + return i.ToAlbWafConfigurationMapOutputWithContext(context.Background()) +} + +func (i AlbWafConfigurationMap) ToAlbWafConfigurationMapOutputWithContext(ctx context.Context) AlbWafConfigurationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafConfigurationMapOutput) +} + +type AlbWafConfigurationOutput struct{ *pulumi.OutputState } + +func (AlbWafConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlbWafConfiguration)(nil)).Elem() +} + +func (o AlbWafConfigurationOutput) ToAlbWafConfigurationOutput() AlbWafConfigurationOutput { + return o +} + +func (o AlbWafConfigurationOutput) ToAlbWafConfigurationOutputWithContext(ctx context.Context) AlbWafConfigurationOutput { + return o +} + +// Name of the custom rule group for this WAF Configuration. +func (o AlbWafConfigurationOutput) CustomRuleGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlbWafConfiguration) pulumi.StringPtrOutput { return v.CustomRuleGroupName }).(pulumi.StringPtrOutput) +} + +// User-defined metadata as key-value pairs. Should not exceed 64 entries. +func (o AlbWafConfigurationOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *AlbWafConfiguration) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// Name of the managed rule set configuration for this WAF Configuration. +func (o AlbWafConfigurationOutput) ManagedRuleSetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AlbWafConfiguration) pulumi.StringPtrOutput { return v.ManagedRuleSetName }).(pulumi.StringPtrOutput) +} + +// The name of the WAF Configuration. +func (o AlbWafConfigurationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the WAF Configuration is associated. +func (o AlbWafConfigurationOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafConfiguration) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region (e.g. eu01). If not defined, the provider region is used. +func (o AlbWafConfigurationOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafConfiguration) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +type AlbWafConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (AlbWafConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlbWafConfiguration)(nil)).Elem() +} + +func (o AlbWafConfigurationArrayOutput) ToAlbWafConfigurationArrayOutput() AlbWafConfigurationArrayOutput { + return o +} + +func (o AlbWafConfigurationArrayOutput) ToAlbWafConfigurationArrayOutputWithContext(ctx context.Context) AlbWafConfigurationArrayOutput { + return o +} + +func (o AlbWafConfigurationArrayOutput) Index(i pulumi.IntInput) AlbWafConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlbWafConfiguration { + return vs[0].([]*AlbWafConfiguration)[vs[1].(int)] + }).(AlbWafConfigurationOutput) +} + +type AlbWafConfigurationMapOutput struct{ *pulumi.OutputState } + +func (AlbWafConfigurationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlbWafConfiguration)(nil)).Elem() +} + +func (o AlbWafConfigurationMapOutput) ToAlbWafConfigurationMapOutput() AlbWafConfigurationMapOutput { + return o +} + +func (o AlbWafConfigurationMapOutput) ToAlbWafConfigurationMapOutputWithContext(ctx context.Context) AlbWafConfigurationMapOutput { + return o +} + +func (o AlbWafConfigurationMapOutput) MapIndex(k pulumi.StringInput) AlbWafConfigurationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlbWafConfiguration { + return vs[0].(map[string]*AlbWafConfiguration)[vs[1].(string)] + }).(AlbWafConfigurationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafConfigurationInput)(nil)).Elem(), &AlbWafConfiguration{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafConfigurationArrayInput)(nil)).Elem(), AlbWafConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafConfigurationMapInput)(nil)).Elem(), AlbWafConfigurationMap{}) + pulumi.RegisterOutputType(AlbWafConfigurationOutput{}) + pulumi.RegisterOutputType(AlbWafConfigurationArrayOutput{}) + pulumi.RegisterOutputType(AlbWafConfigurationMapOutput{}) +} diff --git a/sdk/go/stackit/albWafCustomRuleGroup.go b/sdk/go/stackit/albWafCustomRuleGroup.go new file mode 100644 index 00000000..2e6c5cc7 --- /dev/null +++ b/sdk/go/stackit/albWafCustomRuleGroup.go @@ -0,0 +1,271 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. +// +// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. +// +// ## Example Usage +type AlbWafCustomRuleGroup struct { + pulumi.CustomResourceState + + // Custom rule group configuration name. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // Enriched rules containing auto-generated IDs and computed severity values. + Rules AlbWafCustomRuleGroupRuleArrayOutput `pulumi:"rules"` +} + +// NewAlbWafCustomRuleGroup registers a new resource with the given unique name, arguments, and options. +func NewAlbWafCustomRuleGroup(ctx *pulumi.Context, + name string, args *AlbWafCustomRuleGroupArgs, opts ...pulumi.ResourceOption) (*AlbWafCustomRuleGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.Rules == nil { + return nil, errors.New("invalid value for required argument 'Rules'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AlbWafCustomRuleGroup + err := ctx.RegisterResource("stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlbWafCustomRuleGroup gets an existing AlbWafCustomRuleGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAlbWafCustomRuleGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlbWafCustomRuleGroupState, opts ...pulumi.ResourceOption) (*AlbWafCustomRuleGroup, error) { + var resource AlbWafCustomRuleGroup + err := ctx.ReadResource("stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlbWafCustomRuleGroup resources. +type albWafCustomRuleGroupState struct { + // Custom rule group configuration name. + Name *string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId *string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Enriched rules containing auto-generated IDs and computed severity values. + Rules []AlbWafCustomRuleGroupRule `pulumi:"rules"` +} + +type AlbWafCustomRuleGroupState struct { + // Custom rule group configuration name. + Name pulumi.StringPtrInput + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Enriched rules containing auto-generated IDs and computed severity values. + Rules AlbWafCustomRuleGroupRuleArrayInput +} + +func (AlbWafCustomRuleGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*albWafCustomRuleGroupState)(nil)).Elem() +} + +type albWafCustomRuleGroupArgs struct { + // Custom rule group configuration name. + Name *string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Enriched rules containing auto-generated IDs and computed severity values. + Rules []AlbWafCustomRuleGroupRule `pulumi:"rules"` +} + +// The set of arguments for constructing a AlbWafCustomRuleGroup resource. +type AlbWafCustomRuleGroupArgs struct { + // Custom rule group configuration name. + Name pulumi.StringPtrInput + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Enriched rules containing auto-generated IDs and computed severity values. + Rules AlbWafCustomRuleGroupRuleArrayInput +} + +func (AlbWafCustomRuleGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*albWafCustomRuleGroupArgs)(nil)).Elem() +} + +type AlbWafCustomRuleGroupInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupOutput() AlbWafCustomRuleGroupOutput + ToAlbWafCustomRuleGroupOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupOutput +} + +func (*AlbWafCustomRuleGroup) ElementType() reflect.Type { + return reflect.TypeOf((**AlbWafCustomRuleGroup)(nil)).Elem() +} + +func (i *AlbWafCustomRuleGroup) ToAlbWafCustomRuleGroupOutput() AlbWafCustomRuleGroupOutput { + return i.ToAlbWafCustomRuleGroupOutputWithContext(context.Background()) +} + +func (i *AlbWafCustomRuleGroup) ToAlbWafCustomRuleGroupOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupOutput) +} + +// AlbWafCustomRuleGroupArrayInput is an input type that accepts AlbWafCustomRuleGroupArray and AlbWafCustomRuleGroupArrayOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupArrayInput` via: +// +// AlbWafCustomRuleGroupArray{ AlbWafCustomRuleGroupArgs{...} } +type AlbWafCustomRuleGroupArrayInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupArrayOutput() AlbWafCustomRuleGroupArrayOutput + ToAlbWafCustomRuleGroupArrayOutputWithContext(context.Context) AlbWafCustomRuleGroupArrayOutput +} + +type AlbWafCustomRuleGroupArray []AlbWafCustomRuleGroupInput + +func (AlbWafCustomRuleGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlbWafCustomRuleGroup)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupArray) ToAlbWafCustomRuleGroupArrayOutput() AlbWafCustomRuleGroupArrayOutput { + return i.ToAlbWafCustomRuleGroupArrayOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupArray) ToAlbWafCustomRuleGroupArrayOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupArrayOutput) +} + +// AlbWafCustomRuleGroupMapInput is an input type that accepts AlbWafCustomRuleGroupMap and AlbWafCustomRuleGroupMapOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupMapInput` via: +// +// AlbWafCustomRuleGroupMap{ "key": AlbWafCustomRuleGroupArgs{...} } +type AlbWafCustomRuleGroupMapInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupMapOutput() AlbWafCustomRuleGroupMapOutput + ToAlbWafCustomRuleGroupMapOutputWithContext(context.Context) AlbWafCustomRuleGroupMapOutput +} + +type AlbWafCustomRuleGroupMap map[string]AlbWafCustomRuleGroupInput + +func (AlbWafCustomRuleGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlbWafCustomRuleGroup)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupMap) ToAlbWafCustomRuleGroupMapOutput() AlbWafCustomRuleGroupMapOutput { + return i.ToAlbWafCustomRuleGroupMapOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupMap) ToAlbWafCustomRuleGroupMapOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupMapOutput) +} + +type AlbWafCustomRuleGroupOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlbWafCustomRuleGroup)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupOutput) ToAlbWafCustomRuleGroupOutput() AlbWafCustomRuleGroupOutput { + return o +} + +func (o AlbWafCustomRuleGroupOutput) ToAlbWafCustomRuleGroupOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupOutput { + return o +} + +// Custom rule group configuration name. +func (o AlbWafCustomRuleGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafCustomRuleGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the ALB WAF Custom Rule Group. +func (o AlbWafCustomRuleGroupOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafCustomRuleGroup) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o AlbWafCustomRuleGroupOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafCustomRuleGroup) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Enriched rules containing auto-generated IDs and computed severity values. +func (o AlbWafCustomRuleGroupOutput) Rules() AlbWafCustomRuleGroupRuleArrayOutput { + return o.ApplyT(func(v *AlbWafCustomRuleGroup) AlbWafCustomRuleGroupRuleArrayOutput { return v.Rules }).(AlbWafCustomRuleGroupRuleArrayOutput) +} + +type AlbWafCustomRuleGroupArrayOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlbWafCustomRuleGroup)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupArrayOutput) ToAlbWafCustomRuleGroupArrayOutput() AlbWafCustomRuleGroupArrayOutput { + return o +} + +func (o AlbWafCustomRuleGroupArrayOutput) ToAlbWafCustomRuleGroupArrayOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupArrayOutput { + return o +} + +func (o AlbWafCustomRuleGroupArrayOutput) Index(i pulumi.IntInput) AlbWafCustomRuleGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlbWafCustomRuleGroup { + return vs[0].([]*AlbWafCustomRuleGroup)[vs[1].(int)] + }).(AlbWafCustomRuleGroupOutput) +} + +type AlbWafCustomRuleGroupMapOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlbWafCustomRuleGroup)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupMapOutput) ToAlbWafCustomRuleGroupMapOutput() AlbWafCustomRuleGroupMapOutput { + return o +} + +func (o AlbWafCustomRuleGroupMapOutput) ToAlbWafCustomRuleGroupMapOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupMapOutput { + return o +} + +func (o AlbWafCustomRuleGroupMapOutput) MapIndex(k pulumi.StringInput) AlbWafCustomRuleGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlbWafCustomRuleGroup { + return vs[0].(map[string]*AlbWafCustomRuleGroup)[vs[1].(string)] + }).(AlbWafCustomRuleGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupInput)(nil)).Elem(), &AlbWafCustomRuleGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupArrayInput)(nil)).Elem(), AlbWafCustomRuleGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupMapInput)(nil)).Elem(), AlbWafCustomRuleGroupMap{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupArrayOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupMapOutput{}) +} diff --git a/sdk/go/stackit/albWafManagedRuleSet.go b/sdk/go/stackit/albWafManagedRuleSet.go new file mode 100644 index 00000000..c5bc6e3b --- /dev/null +++ b/sdk/go/stackit/albWafManagedRuleSet.go @@ -0,0 +1,293 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// ALB WAF Managed Rule Set resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. +// +// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. +// +// ## Example Usage +type AlbWafManagedRuleSet struct { + pulumi.CustomResourceState + + // Inventory of all available Managed Rule Set groups and their current configuration. + Groups AlbWafManagedRuleSetGroupsMapOutput `pulumi:"groups"` + // Managed Rule Set configuration name. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // Type of the Managed Rule Set. + Type pulumi.StringOutput `pulumi:"type"` + // Managed Rule Set version. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewAlbWafManagedRuleSet registers a new resource with the given unique name, arguments, and options. +func NewAlbWafManagedRuleSet(ctx *pulumi.Context, + name string, args *AlbWafManagedRuleSetArgs, opts ...pulumi.ResourceOption) (*AlbWafManagedRuleSet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AlbWafManagedRuleSet + err := ctx.RegisterResource("stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAlbWafManagedRuleSet gets an existing AlbWafManagedRuleSet resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAlbWafManagedRuleSet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AlbWafManagedRuleSetState, opts ...pulumi.ResourceOption) (*AlbWafManagedRuleSet, error) { + var resource AlbWafManagedRuleSet + err := ctx.ReadResource("stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AlbWafManagedRuleSet resources. +type albWafManagedRuleSetState struct { + // Inventory of all available Managed Rule Set groups and their current configuration. + Groups map[string]AlbWafManagedRuleSetGroups `pulumi:"groups"` + // Managed Rule Set configuration name. + Name *string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId *string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Type of the Managed Rule Set. + Type *string `pulumi:"type"` + // Managed Rule Set version. + Version *string `pulumi:"version"` +} + +type AlbWafManagedRuleSetState struct { + // Inventory of all available Managed Rule Set groups and their current configuration. + Groups AlbWafManagedRuleSetGroupsMapInput + // Managed Rule Set configuration name. + Name pulumi.StringPtrInput + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Type of the Managed Rule Set. + Type pulumi.StringPtrInput + // Managed Rule Set version. + Version pulumi.StringPtrInput +} + +func (AlbWafManagedRuleSetState) ElementType() reflect.Type { + return reflect.TypeOf((*albWafManagedRuleSetState)(nil)).Elem() +} + +type albWafManagedRuleSetArgs struct { + // Managed Rule Set configuration name. + Name *string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Type of the Managed Rule Set. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a AlbWafManagedRuleSet resource. +type AlbWafManagedRuleSetArgs struct { + // Managed Rule Set configuration name. + Name pulumi.StringPtrInput + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Type of the Managed Rule Set. + Type pulumi.StringInput +} + +func (AlbWafManagedRuleSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*albWafManagedRuleSetArgs)(nil)).Elem() +} + +type AlbWafManagedRuleSetInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetOutput() AlbWafManagedRuleSetOutput + ToAlbWafManagedRuleSetOutputWithContext(ctx context.Context) AlbWafManagedRuleSetOutput +} + +func (*AlbWafManagedRuleSet) ElementType() reflect.Type { + return reflect.TypeOf((**AlbWafManagedRuleSet)(nil)).Elem() +} + +func (i *AlbWafManagedRuleSet) ToAlbWafManagedRuleSetOutput() AlbWafManagedRuleSetOutput { + return i.ToAlbWafManagedRuleSetOutputWithContext(context.Background()) +} + +func (i *AlbWafManagedRuleSet) ToAlbWafManagedRuleSetOutputWithContext(ctx context.Context) AlbWafManagedRuleSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetOutput) +} + +// AlbWafManagedRuleSetArrayInput is an input type that accepts AlbWafManagedRuleSetArray and AlbWafManagedRuleSetArrayOutput values. +// You can construct a concrete instance of `AlbWafManagedRuleSetArrayInput` via: +// +// AlbWafManagedRuleSetArray{ AlbWafManagedRuleSetArgs{...} } +type AlbWafManagedRuleSetArrayInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetArrayOutput() AlbWafManagedRuleSetArrayOutput + ToAlbWafManagedRuleSetArrayOutputWithContext(context.Context) AlbWafManagedRuleSetArrayOutput +} + +type AlbWafManagedRuleSetArray []AlbWafManagedRuleSetInput + +func (AlbWafManagedRuleSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlbWafManagedRuleSet)(nil)).Elem() +} + +func (i AlbWafManagedRuleSetArray) ToAlbWafManagedRuleSetArrayOutput() AlbWafManagedRuleSetArrayOutput { + return i.ToAlbWafManagedRuleSetArrayOutputWithContext(context.Background()) +} + +func (i AlbWafManagedRuleSetArray) ToAlbWafManagedRuleSetArrayOutputWithContext(ctx context.Context) AlbWafManagedRuleSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetArrayOutput) +} + +// AlbWafManagedRuleSetMapInput is an input type that accepts AlbWafManagedRuleSetMap and AlbWafManagedRuleSetMapOutput values. +// You can construct a concrete instance of `AlbWafManagedRuleSetMapInput` via: +// +// AlbWafManagedRuleSetMap{ "key": AlbWafManagedRuleSetArgs{...} } +type AlbWafManagedRuleSetMapInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetMapOutput() AlbWafManagedRuleSetMapOutput + ToAlbWafManagedRuleSetMapOutputWithContext(context.Context) AlbWafManagedRuleSetMapOutput +} + +type AlbWafManagedRuleSetMap map[string]AlbWafManagedRuleSetInput + +func (AlbWafManagedRuleSetMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlbWafManagedRuleSet)(nil)).Elem() +} + +func (i AlbWafManagedRuleSetMap) ToAlbWafManagedRuleSetMapOutput() AlbWafManagedRuleSetMapOutput { + return i.ToAlbWafManagedRuleSetMapOutputWithContext(context.Background()) +} + +func (i AlbWafManagedRuleSetMap) ToAlbWafManagedRuleSetMapOutputWithContext(ctx context.Context) AlbWafManagedRuleSetMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetMapOutput) +} + +type AlbWafManagedRuleSetOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AlbWafManagedRuleSet)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetOutput) ToAlbWafManagedRuleSetOutput() AlbWafManagedRuleSetOutput { + return o +} + +func (o AlbWafManagedRuleSetOutput) ToAlbWafManagedRuleSetOutputWithContext(ctx context.Context) AlbWafManagedRuleSetOutput { + return o +} + +// Inventory of all available Managed Rule Set groups and their current configuration. +func (o AlbWafManagedRuleSetOutput) Groups() AlbWafManagedRuleSetGroupsMapOutput { + return o.ApplyT(func(v *AlbWafManagedRuleSet) AlbWafManagedRuleSetGroupsMapOutput { return v.Groups }).(AlbWafManagedRuleSetGroupsMapOutput) +} + +// Managed Rule Set configuration name. +func (o AlbWafManagedRuleSetOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafManagedRuleSet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the ALB WAF Managed Rule Set. +func (o AlbWafManagedRuleSetOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafManagedRuleSet) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o AlbWafManagedRuleSetOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafManagedRuleSet) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Type of the Managed Rule Set. +func (o AlbWafManagedRuleSetOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafManagedRuleSet) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Managed Rule Set version. +func (o AlbWafManagedRuleSetOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *AlbWafManagedRuleSet) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +type AlbWafManagedRuleSetArrayOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AlbWafManagedRuleSet)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetArrayOutput) ToAlbWafManagedRuleSetArrayOutput() AlbWafManagedRuleSetArrayOutput { + return o +} + +func (o AlbWafManagedRuleSetArrayOutput) ToAlbWafManagedRuleSetArrayOutputWithContext(ctx context.Context) AlbWafManagedRuleSetArrayOutput { + return o +} + +func (o AlbWafManagedRuleSetArrayOutput) Index(i pulumi.IntInput) AlbWafManagedRuleSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AlbWafManagedRuleSet { + return vs[0].([]*AlbWafManagedRuleSet)[vs[1].(int)] + }).(AlbWafManagedRuleSetOutput) +} + +type AlbWafManagedRuleSetMapOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AlbWafManagedRuleSet)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetMapOutput) ToAlbWafManagedRuleSetMapOutput() AlbWafManagedRuleSetMapOutput { + return o +} + +func (o AlbWafManagedRuleSetMapOutput) ToAlbWafManagedRuleSetMapOutputWithContext(ctx context.Context) AlbWafManagedRuleSetMapOutput { + return o +} + +func (o AlbWafManagedRuleSetMapOutput) MapIndex(k pulumi.StringInput) AlbWafManagedRuleSetOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AlbWafManagedRuleSet { + return vs[0].(map[string]*AlbWafManagedRuleSet)[vs[1].(string)] + }).(AlbWafManagedRuleSetOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetInput)(nil)).Elem(), &AlbWafManagedRuleSet{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetArrayInput)(nil)).Elem(), AlbWafManagedRuleSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetMapInput)(nil)).Elem(), AlbWafManagedRuleSetMap{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetOutput{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetArrayOutput{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetMapOutput{}) +} diff --git a/sdk/go/stackit/config/config.go b/sdk/go/stackit/config/config.go index b1147242..bbbd5204 100644 --- a/sdk/go/stackit/config/config.go +++ b/sdk/go/stackit/config/config.go @@ -21,6 +21,11 @@ func GetAlbCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:albCustomEndpoint") } +// Custom endpoint for the Application Load Balancer Web Application Firewall service +func GetAlbWafCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:albWafCustomEndpoint") +} + // Custom endpoint for the Membership service func GetAuthorizationCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:authorizationCustomEndpoint") @@ -106,6 +111,11 @@ func GetMariadbCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:mariadbCustomEndpoint") } +// Custom endpoint for the AI Model Experiments service +func GetModelexperimentsCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:modelexperimentsCustomEndpoint") +} + // Custom endpoint for the AI Model Serving service func GetModelservingCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:modelservingCustomEndpoint") @@ -166,13 +176,6 @@ func GetRedisCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:redisCustomEndpoint") } -// Region will be used as the default location for regional services. Not all services require a region, some are global -// -// Deprecated: This attribute is deprecated. Use 'default_region' instead -func GetRegion(ctx *pulumi.Context) string { - return config.Get(ctx, "stackit:region") -} - // Custom endpoint for the Resource Manager service func GetResourcemanagerCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:resourcemanagerCustomEndpoint") diff --git a/sdk/go/stackit/dnsZone.go b/sdk/go/stackit/dnsZone.go index 4420d1f6..7336b25e 100644 --- a/sdk/go/stackit/dnsZone.go +++ b/sdk/go/stackit/dnsZone.go @@ -22,7 +22,7 @@ import ( type DnsZone struct { pulumi.CustomResourceState - // The access control list. E.g. `0.0.0.0/0,::/0` + // The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. Acl pulumi.StringOutput `pulumi:"acl"` Active pulumi.BoolOutput `pulumi:"active"` // A contact e-mail for the zone. @@ -102,7 +102,7 @@ func GetDnsZone(ctx *pulumi.Context, // Input properties used for looking up and filtering DnsZone resources. type dnsZoneState struct { - // The access control list. E.g. `0.0.0.0/0,::/0` + // The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. Acl *string `pulumi:"acl"` Active *bool `pulumi:"active"` // A contact e-mail for the zone. @@ -147,7 +147,7 @@ type dnsZoneState struct { } type DnsZoneState struct { - // The access control list. E.g. `0.0.0.0/0,::/0` + // The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. Acl pulumi.StringPtrInput Active pulumi.BoolPtrInput // A contact e-mail for the zone. @@ -196,7 +196,7 @@ func (DnsZoneState) ElementType() reflect.Type { } type dnsZoneArgs struct { - // The access control list. E.g. `0.0.0.0/0,::/0` + // The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. Acl *string `pulumi:"acl"` Active *bool `pulumi:"active"` // A contact e-mail for the zone. @@ -230,7 +230,7 @@ type dnsZoneArgs struct { // The set of arguments for constructing a DnsZone resource. type DnsZoneArgs struct { - // The access control list. E.g. `0.0.0.0/0,::/0` + // The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. Acl pulumi.StringPtrInput Active pulumi.BoolPtrInput // A contact e-mail for the zone. @@ -349,7 +349,7 @@ func (o DnsZoneOutput) ToDnsZoneOutputWithContext(ctx context.Context) DnsZoneOu return o } -// The access control list. E.g. `0.0.0.0/0,::/0` +// The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. func (o DnsZoneOutput) Acl() pulumi.StringOutput { return o.ApplyT(func(v *DnsZone) pulumi.StringOutput { return v.Acl }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getAlbWafConfiguration.go b/sdk/go/stackit/getAlbWafConfiguration.go new file mode 100644 index 00000000..840c0e70 --- /dev/null +++ b/sdk/go/stackit/getAlbWafConfiguration.go @@ -0,0 +1,132 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. +// +// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. +// +// ## Example Usage +func LookupAlbWafConfiguration(ctx *pulumi.Context, args *LookupAlbWafConfigurationArgs, opts ...pulumi.InvokeOption) (*LookupAlbWafConfigurationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAlbWafConfigurationResult + err := ctx.Invoke("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAlbWafConfiguration. +type LookupAlbWafConfigurationArgs struct { + // The name of the WAF Configuration. + Name string `pulumi:"name"` + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId string `pulumi:"projectId"` + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getAlbWafConfiguration. +type LookupAlbWafConfigurationResult struct { + // Name of the custom rule group for this WAF Configuration. + CustomRuleGroupName string `pulumi:"customRuleGroupName"` + // Terraform's internal resource ID. It is structured as "`projectId`,`region`,`name`". + Id string `pulumi:"id"` + // User-defined metadata as key-value pairs. Should not exceed 64 entries. + Labels map[string]string `pulumi:"labels"` + // Name of the managed rule set configuration for this WAF Configuration. + ManagedRuleSetName string `pulumi:"managedRuleSetName"` + // The name of the WAF Configuration. + Name string `pulumi:"name"` + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId string `pulumi:"projectId"` + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region string `pulumi:"region"` +} + +func LookupAlbWafConfigurationOutput(ctx *pulumi.Context, args LookupAlbWafConfigurationOutputArgs, opts ...pulumi.InvokeOption) LookupAlbWafConfigurationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupAlbWafConfigurationResultOutput, error) { + args := v.(LookupAlbWafConfigurationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", args, LookupAlbWafConfigurationResultOutput{}, options).(LookupAlbWafConfigurationResultOutput), nil + }).(LookupAlbWafConfigurationResultOutput) +} + +// A collection of arguments for invoking getAlbWafConfiguration. +type LookupAlbWafConfigurationOutputArgs struct { + // The name of the WAF Configuration. + Name pulumi.StringInput `pulumi:"name"` + // STACKIT project ID to which the WAF Configuration is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region (e.g. eu01). If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupAlbWafConfigurationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAlbWafConfigurationArgs)(nil)).Elem() +} + +// A collection of values returned by getAlbWafConfiguration. +type LookupAlbWafConfigurationResultOutput struct{ *pulumi.OutputState } + +func (LookupAlbWafConfigurationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAlbWafConfigurationResult)(nil)).Elem() +} + +func (o LookupAlbWafConfigurationResultOutput) ToLookupAlbWafConfigurationResultOutput() LookupAlbWafConfigurationResultOutput { + return o +} + +func (o LookupAlbWafConfigurationResultOutput) ToLookupAlbWafConfigurationResultOutputWithContext(ctx context.Context) LookupAlbWafConfigurationResultOutput { + return o +} + +// Name of the custom rule group for this WAF Configuration. +func (o LookupAlbWafConfigurationResultOutput) CustomRuleGroupName() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) string { return v.CustomRuleGroupName }).(pulumi.StringOutput) +} + +// Terraform's internal resource ID. It is structured as "`projectId`,`region`,`name`". +func (o LookupAlbWafConfigurationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) string { return v.Id }).(pulumi.StringOutput) +} + +// User-defined metadata as key-value pairs. Should not exceed 64 entries. +func (o LookupAlbWafConfigurationResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Name of the managed rule set configuration for this WAF Configuration. +func (o LookupAlbWafConfigurationResultOutput) ManagedRuleSetName() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) string { return v.ManagedRuleSetName }).(pulumi.StringOutput) +} + +// The name of the WAF Configuration. +func (o LookupAlbWafConfigurationResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the WAF Configuration is associated. +func (o LookupAlbWafConfigurationResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region (e.g. eu01). If not defined, the provider region is used. +func (o LookupAlbWafConfigurationResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafConfigurationResult) string { return v.Region }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAlbWafConfigurationResultOutput{}) +} diff --git a/sdk/go/stackit/getAlbWafCustomRuleGroup.go b/sdk/go/stackit/getAlbWafCustomRuleGroup.go new file mode 100644 index 00000000..9e8ad68a --- /dev/null +++ b/sdk/go/stackit/getAlbWafCustomRuleGroup.go @@ -0,0 +1,118 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. +// +// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. +// +// ## Example Usage +func LookupAlbWafCustomRuleGroup(ctx *pulumi.Context, args *LookupAlbWafCustomRuleGroupArgs, opts ...pulumi.InvokeOption) (*LookupAlbWafCustomRuleGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAlbWafCustomRuleGroupResult + err := ctx.Invoke("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAlbWafCustomRuleGroup. +type LookupAlbWafCustomRuleGroupArgs struct { + // Custom rule group configuration name. + Name string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getAlbWafCustomRuleGroup. +type LookupAlbWafCustomRuleGroupResult struct { + // Terraform's internal resource identifier. Structured as "`projectId`,`region`,`name`". + Id string `pulumi:"id"` + // Custom rule group configuration name. + Name string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region string `pulumi:"region"` + // Enriched rules containing auto-generated IDs and computed severity values. + Rules []GetAlbWafCustomRuleGroupRule `pulumi:"rules"` +} + +func LookupAlbWafCustomRuleGroupOutput(ctx *pulumi.Context, args LookupAlbWafCustomRuleGroupOutputArgs, opts ...pulumi.InvokeOption) LookupAlbWafCustomRuleGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupAlbWafCustomRuleGroupResultOutput, error) { + args := v.(LookupAlbWafCustomRuleGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", args, LookupAlbWafCustomRuleGroupResultOutput{}, options).(LookupAlbWafCustomRuleGroupResultOutput), nil + }).(LookupAlbWafCustomRuleGroupResultOutput) +} + +// A collection of arguments for invoking getAlbWafCustomRuleGroup. +type LookupAlbWafCustomRuleGroupOutputArgs struct { + // Custom rule group configuration name. + Name pulumi.StringInput `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Custom Rule Group. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupAlbWafCustomRuleGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAlbWafCustomRuleGroupArgs)(nil)).Elem() +} + +// A collection of values returned by getAlbWafCustomRuleGroup. +type LookupAlbWafCustomRuleGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupAlbWafCustomRuleGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAlbWafCustomRuleGroupResult)(nil)).Elem() +} + +func (o LookupAlbWafCustomRuleGroupResultOutput) ToLookupAlbWafCustomRuleGroupResultOutput() LookupAlbWafCustomRuleGroupResultOutput { + return o +} + +func (o LookupAlbWafCustomRuleGroupResultOutput) ToLookupAlbWafCustomRuleGroupResultOutputWithContext(ctx context.Context) LookupAlbWafCustomRuleGroupResultOutput { + return o +} + +// Terraform's internal resource identifier. Structured as "`projectId`,`region`,`name`". +func (o LookupAlbWafCustomRuleGroupResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafCustomRuleGroupResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Custom rule group configuration name. +func (o LookupAlbWafCustomRuleGroupResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafCustomRuleGroupResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the ALB WAF Custom Rule Group. +func (o LookupAlbWafCustomRuleGroupResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafCustomRuleGroupResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupAlbWafCustomRuleGroupResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafCustomRuleGroupResult) string { return v.Region }).(pulumi.StringOutput) +} + +// Enriched rules containing auto-generated IDs and computed severity values. +func (o LookupAlbWafCustomRuleGroupResultOutput) Rules() GetAlbWafCustomRuleGroupRuleArrayOutput { + return o.ApplyT(func(v LookupAlbWafCustomRuleGroupResult) []GetAlbWafCustomRuleGroupRule { return v.Rules }).(GetAlbWafCustomRuleGroupRuleArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAlbWafCustomRuleGroupResultOutput{}) +} diff --git a/sdk/go/stackit/getAlbWafManagedRuleSet.go b/sdk/go/stackit/getAlbWafManagedRuleSet.go new file mode 100644 index 00000000..d242fb8b --- /dev/null +++ b/sdk/go/stackit/getAlbWafManagedRuleSet.go @@ -0,0 +1,132 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// ALB WAF Managed Rule Set DataSource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. +// +// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. +// +// ## Example Usage +func LookupAlbWafManagedRuleSet(ctx *pulumi.Context, args *LookupAlbWafManagedRuleSetArgs, opts ...pulumi.InvokeOption) (*LookupAlbWafManagedRuleSetResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAlbWafManagedRuleSetResult + err := ctx.Invoke("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAlbWafManagedRuleSet. +type LookupAlbWafManagedRuleSetArgs struct { + // Managed Rule Set configuration name. + Name string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getAlbWafManagedRuleSet. +type LookupAlbWafManagedRuleSetResult struct { + // Inventory of all available Managed Rule Set groups and their current configuration. + Groups map[string]GetAlbWafManagedRuleSetGroups `pulumi:"groups"` + // Terraform's internal resource identifier. Structured as "`projectId`,`region`,`name`". + Id string `pulumi:"id"` + // Managed Rule Set configuration name. + Name string `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region string `pulumi:"region"` + // Type of the Managed Rule Set. + Type string `pulumi:"type"` + // Managed Rule Set version. + Version string `pulumi:"version"` +} + +func LookupAlbWafManagedRuleSetOutput(ctx *pulumi.Context, args LookupAlbWafManagedRuleSetOutputArgs, opts ...pulumi.InvokeOption) LookupAlbWafManagedRuleSetResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupAlbWafManagedRuleSetResultOutput, error) { + args := v.(LookupAlbWafManagedRuleSetArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", args, LookupAlbWafManagedRuleSetResultOutput{}, options).(LookupAlbWafManagedRuleSetResultOutput), nil + }).(LookupAlbWafManagedRuleSetResultOutput) +} + +// A collection of arguments for invoking getAlbWafManagedRuleSet. +type LookupAlbWafManagedRuleSetOutputArgs struct { + // Managed Rule Set configuration name. + Name pulumi.StringInput `pulumi:"name"` + // STACKIT project ID associated with the ALB WAF Managed Rule Set. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupAlbWafManagedRuleSetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAlbWafManagedRuleSetArgs)(nil)).Elem() +} + +// A collection of values returned by getAlbWafManagedRuleSet. +type LookupAlbWafManagedRuleSetResultOutput struct{ *pulumi.OutputState } + +func (LookupAlbWafManagedRuleSetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAlbWafManagedRuleSetResult)(nil)).Elem() +} + +func (o LookupAlbWafManagedRuleSetResultOutput) ToLookupAlbWafManagedRuleSetResultOutput() LookupAlbWafManagedRuleSetResultOutput { + return o +} + +func (o LookupAlbWafManagedRuleSetResultOutput) ToLookupAlbWafManagedRuleSetResultOutputWithContext(ctx context.Context) LookupAlbWafManagedRuleSetResultOutput { + return o +} + +// Inventory of all available Managed Rule Set groups and their current configuration. +func (o LookupAlbWafManagedRuleSetResultOutput) Groups() GetAlbWafManagedRuleSetGroupsMapOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) map[string]GetAlbWafManagedRuleSetGroups { return v.Groups }).(GetAlbWafManagedRuleSetGroupsMapOutput) +} + +// Terraform's internal resource identifier. Structured as "`projectId`,`region`,`name`". +func (o LookupAlbWafManagedRuleSetResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Managed Rule Set configuration name. +func (o LookupAlbWafManagedRuleSetResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the ALB WAF Managed Rule Set. +func (o LookupAlbWafManagedRuleSetResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupAlbWafManagedRuleSetResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) string { return v.Region }).(pulumi.StringOutput) +} + +// Type of the Managed Rule Set. +func (o LookupAlbWafManagedRuleSetResultOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) string { return v.Type }).(pulumi.StringOutput) +} + +// Managed Rule Set version. +func (o LookupAlbWafManagedRuleSetResultOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v LookupAlbWafManagedRuleSetResult) string { return v.Version }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAlbWafManagedRuleSetResultOutput{}) +} diff --git a/sdk/go/stackit/getKmsKey.go b/sdk/go/stackit/getKmsKey.go index 7ac38afb..47260aeb 100644 --- a/sdk/go/stackit/getKmsKey.go +++ b/sdk/go/stackit/getKmsKey.go @@ -56,7 +56,7 @@ type LookupKmsKeyResult struct { KeyringId string `pulumi:"keyringId"` // STACKIT project ID to which the key is associated. ProjectId string `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection string `pulumi:"protection"` // The purpose for which the key will be used. Possible values are: `symmetricEncryptDecrypt`, `asymmetricEncryptDecrypt`, `messageAuthenticationCode`, `asymmetricSignVerify`. Purpose string `pulumi:"purpose"` @@ -149,7 +149,7 @@ func (o LookupKmsKeyResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupKmsKeyResult) string { return v.ProjectId }).(pulumi.StringOutput) } -// The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. +// The underlying system that is responsible for protecting the key material. func (o LookupKmsKeyResultOutput) Protection() pulumi.StringOutput { return o.ApplyT(func(v LookupKmsKeyResult) string { return v.Protection }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getKmsWrappingKey.go b/sdk/go/stackit/getKmsWrappingKey.go index fcec5f54..774c16b9 100644 --- a/sdk/go/stackit/getKmsWrappingKey.go +++ b/sdk/go/stackit/getKmsWrappingKey.go @@ -56,7 +56,7 @@ type LookupKmsWrappingKeyResult struct { KeyringId string `pulumi:"keyringId"` // STACKIT project ID to which the keyring is associated. ProjectId string `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection string `pulumi:"protection"` // The public key of the wrapping key. PublicKey string `pulumi:"publicKey"` @@ -153,7 +153,7 @@ func (o LookupKmsWrappingKeyResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupKmsWrappingKeyResult) string { return v.ProjectId }).(pulumi.StringOutput) } -// The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. +// The underlying system that is responsible for protecting the key material. func (o LookupKmsWrappingKeyResultOutput) Protection() pulumi.StringOutput { return o.ApplyT(func(v LookupKmsWrappingKeyResult) string { return v.Protection }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getLogmeCredential.go b/sdk/go/stackit/getLogmeCredential.go index 47affb34..5812888b 100644 --- a/sdk/go/stackit/getLogmeCredential.go +++ b/sdk/go/stackit/getLogmeCredential.go @@ -32,6 +32,8 @@ type LookupLogmeCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getLogmeCredential. @@ -39,7 +41,7 @@ type LookupLogmeCredentialResult struct { // The credential's ID. CredentialId string `pulumi:"credentialId"` Host string `pulumi:"host"` - // Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". + // Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". Id string `pulumi:"id"` // ID of the LogMe instance. InstanceId string `pulumi:"instanceId"` @@ -47,8 +49,10 @@ type LookupLogmeCredentialResult struct { Port int `pulumi:"port"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` - Uri string `pulumi:"uri"` - Username string `pulumi:"username"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + Uri string `pulumi:"uri"` + Username string `pulumi:"username"` } func LookupLogmeCredentialOutput(ctx *pulumi.Context, args LookupLogmeCredentialOutputArgs, opts ...pulumi.InvokeOption) LookupLogmeCredentialResultOutput { @@ -68,6 +72,8 @@ type LookupLogmeCredentialOutputArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupLogmeCredentialOutputArgs) ElementType() reflect.Type { @@ -98,7 +104,7 @@ func (o LookupLogmeCredentialResultOutput) Host() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeCredentialResult) string { return v.Host }).(pulumi.StringOutput) } -// Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". +// Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". func (o LookupLogmeCredentialResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeCredentialResult) string { return v.Id }).(pulumi.StringOutput) } @@ -121,6 +127,11 @@ func (o LookupLogmeCredentialResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeCredentialResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupLogmeCredentialResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogmeCredentialResult) string { return v.Region }).(pulumi.StringOutput) +} + func (o LookupLogmeCredentialResultOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeCredentialResult) string { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getLogmeInstance.go b/sdk/go/stackit/getLogmeInstance.go index f47c241b..ba5073bc 100644 --- a/sdk/go/stackit/getLogmeInstance.go +++ b/sdk/go/stackit/getLogmeInstance.go @@ -30,6 +30,8 @@ type LookupLogmeInstanceArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getLogmeInstance. @@ -38,7 +40,7 @@ type LookupLogmeInstanceResult struct { CfOrganizationGuid string `pulumi:"cfOrganizationGuid"` CfSpaceGuid string `pulumi:"cfSpaceGuid"` DashboardUrl string `pulumi:"dashboardUrl"` - // Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". + // Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". Id string `pulumi:"id"` ImageUrl string `pulumi:"imageUrl"` // ID of the LogMe instance. @@ -52,6 +54,8 @@ type LookupLogmeInstanceResult struct { PlanName string `pulumi:"planName"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` // The service version. Version string `pulumi:"version"` } @@ -71,6 +75,8 @@ type LookupLogmeInstanceOutputArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupLogmeInstanceOutputArgs) ElementType() reflect.Type { @@ -108,7 +114,7 @@ func (o LookupLogmeInstanceResultOutput) DashboardUrl() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeInstanceResult) string { return v.DashboardUrl }).(pulumi.StringOutput) } -// Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". +// Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". func (o LookupLogmeInstanceResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeInstanceResult) string { return v.Id }).(pulumi.StringOutput) } @@ -146,6 +152,11 @@ func (o LookupLogmeInstanceResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupLogmeInstanceResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogmeInstanceResult) string { return v.Region }).(pulumi.StringOutput) +} + // The service version. func (o LookupLogmeInstanceResultOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v LookupLogmeInstanceResult) string { return v.Version }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getMariadbCredential.go b/sdk/go/stackit/getMariadbCredential.go index 15174820..b3e1db6e 100644 --- a/sdk/go/stackit/getMariadbCredential.go +++ b/sdk/go/stackit/getMariadbCredential.go @@ -32,6 +32,8 @@ type LookupMariadbCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getMariadbCredential. @@ -40,7 +42,7 @@ type LookupMariadbCredentialResult struct { CredentialId string `pulumi:"credentialId"` Host string `pulumi:"host"` Hosts []string `pulumi:"hosts"` - // Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". + // Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". Id string `pulumi:"id"` // ID of the MariaDB instance. InstanceId string `pulumi:"instanceId"` @@ -49,8 +51,10 @@ type LookupMariadbCredentialResult struct { Port int `pulumi:"port"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` - Uri string `pulumi:"uri"` - Username string `pulumi:"username"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + Uri string `pulumi:"uri"` + Username string `pulumi:"username"` } func LookupMariadbCredentialOutput(ctx *pulumi.Context, args LookupMariadbCredentialOutputArgs, opts ...pulumi.InvokeOption) LookupMariadbCredentialResultOutput { @@ -70,6 +74,8 @@ type LookupMariadbCredentialOutputArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupMariadbCredentialOutputArgs) ElementType() reflect.Type { @@ -104,7 +110,7 @@ func (o LookupMariadbCredentialResultOutput) Hosts() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupMariadbCredentialResult) []string { return v.Hosts }).(pulumi.StringArrayOutput) } -// Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". +// Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". func (o LookupMariadbCredentialResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbCredentialResult) string { return v.Id }).(pulumi.StringOutput) } @@ -131,6 +137,11 @@ func (o LookupMariadbCredentialResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbCredentialResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupMariadbCredentialResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupMariadbCredentialResult) string { return v.Region }).(pulumi.StringOutput) +} + func (o LookupMariadbCredentialResultOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbCredentialResult) string { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getMariadbInstance.go b/sdk/go/stackit/getMariadbInstance.go index bfd1e55a..20c66b0d 100644 --- a/sdk/go/stackit/getMariadbInstance.go +++ b/sdk/go/stackit/getMariadbInstance.go @@ -30,6 +30,8 @@ type LookupMariadbInstanceArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getMariadbInstance. @@ -38,7 +40,7 @@ type LookupMariadbInstanceResult struct { CfOrganizationGuid string `pulumi:"cfOrganizationGuid"` CfSpaceGuid string `pulumi:"cfSpaceGuid"` DashboardUrl string `pulumi:"dashboardUrl"` - // Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". + // Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". Id string `pulumi:"id"` ImageUrl string `pulumi:"imageUrl"` // ID of the MariaDB instance. @@ -52,6 +54,8 @@ type LookupMariadbInstanceResult struct { PlanName string `pulumi:"planName"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` // The service version. Version string `pulumi:"version"` } @@ -71,6 +75,8 @@ type LookupMariadbInstanceOutputArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupMariadbInstanceOutputArgs) ElementType() reflect.Type { @@ -108,7 +114,7 @@ func (o LookupMariadbInstanceResultOutput) DashboardUrl() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbInstanceResult) string { return v.DashboardUrl }).(pulumi.StringOutput) } -// Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". +// Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". func (o LookupMariadbInstanceResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbInstanceResult) string { return v.Id }).(pulumi.StringOutput) } @@ -146,6 +152,11 @@ func (o LookupMariadbInstanceResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupMariadbInstanceResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupMariadbInstanceResult) string { return v.Region }).(pulumi.StringOutput) +} + // The service version. func (o LookupMariadbInstanceResultOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v LookupMariadbInstanceResult) string { return v.Version }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getModelexperimentsInstance.go b/sdk/go/stackit/getModelexperimentsInstance.go new file mode 100644 index 00000000..73031381 --- /dev/null +++ b/sdk/go/stackit/getModelexperimentsInstance.go @@ -0,0 +1,151 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Datasource scheme for a STACKIT AI Model Experiments instance. +// +// ## Example Usage +func LookupModelexperimentsInstance(ctx *pulumi.Context, args *LookupModelexperimentsInstanceArgs, opts ...pulumi.InvokeOption) (*LookupModelexperimentsInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupModelexperimentsInstanceResult + err := ctx.Invoke("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getModelexperimentsInstance. +type LookupModelexperimentsInstanceArgs struct { + // The AI Model Experiments instance ID. + InstanceId string `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getModelexperimentsInstance. +type LookupModelexperimentsInstanceResult struct { + // The object storage bucket name of the AI Model Experiments instance. + BucketName string `pulumi:"bucketName"` + // The deleted experiment retention time of the AI Model Experiments instance. + DeletedExperimentRetention string `pulumi:"deletedExperimentRetention"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description string `pulumi:"description"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". + Id string `pulumi:"id"` + // The AI Model Experiments instance ID. + InstanceId string `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels map[string]string `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region string `pulumi:"region"` + // The Dashboard URL of the AI Model Experiments instance. + Url string `pulumi:"url"` +} + +func LookupModelexperimentsInstanceOutput(ctx *pulumi.Context, args LookupModelexperimentsInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupModelexperimentsInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupModelexperimentsInstanceResultOutput, error) { + args := v.(LookupModelexperimentsInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", args, LookupModelexperimentsInstanceResultOutput{}, options).(LookupModelexperimentsInstanceResultOutput), nil + }).(LookupModelexperimentsInstanceResultOutput) +} + +// A collection of arguments for invoking getModelexperimentsInstance. +type LookupModelexperimentsInstanceOutputArgs struct { + // The AI Model Experiments instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupModelexperimentsInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupModelexperimentsInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getModelexperimentsInstance. +type LookupModelexperimentsInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupModelexperimentsInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupModelexperimentsInstanceResult)(nil)).Elem() +} + +func (o LookupModelexperimentsInstanceResultOutput) ToLookupModelexperimentsInstanceResultOutput() LookupModelexperimentsInstanceResultOutput { + return o +} + +func (o LookupModelexperimentsInstanceResultOutput) ToLookupModelexperimentsInstanceResultOutputWithContext(ctx context.Context) LookupModelexperimentsInstanceResultOutput { + return o +} + +// The object storage bucket name of the AI Model Experiments instance. +func (o LookupModelexperimentsInstanceResultOutput) BucketName() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.BucketName }).(pulumi.StringOutput) +} + +// The deleted experiment retention time of the AI Model Experiments instance. +func (o LookupModelexperimentsInstanceResultOutput) DeletedExperimentRetention() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.DeletedExperimentRetention }).(pulumi.StringOutput) +} + +// The description is a longer text chosen by the user to provide more context for the resource. +func (o LookupModelexperimentsInstanceResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.Description }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". +func (o LookupModelexperimentsInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The AI Model Experiments instance ID. +func (o LookupModelexperimentsInstanceResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that can be attached to the resource +func (o LookupModelexperimentsInstanceResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The display name is a short name chosen by the user to identify the resource. +func (o LookupModelexperimentsInstanceResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o LookupModelexperimentsInstanceResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupModelexperimentsInstanceResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The Dashboard URL of the AI Model Experiments instance. +func (o LookupModelexperimentsInstanceResultOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsInstanceResult) string { return v.Url }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupModelexperimentsInstanceResultOutput{}) +} diff --git a/sdk/go/stackit/getModelexperimentsToken.go b/sdk/go/stackit/getModelexperimentsToken.go new file mode 100644 index 00000000..0ea33af1 --- /dev/null +++ b/sdk/go/stackit/getModelexperimentsToken.go @@ -0,0 +1,148 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Datasource scheme for a STACKIT AI Model Experiments instance tokens. +// +// ## Example Usage +func LookupModelexperimentsToken(ctx *pulumi.Context, args *LookupModelexperimentsTokenArgs, opts ...pulumi.InvokeOption) (*LookupModelexperimentsTokenResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupModelexperimentsTokenResult + err := ctx.Invoke("stackit:index/getModelexperimentsToken:getModelexperimentsToken", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getModelexperimentsToken. +type LookupModelexperimentsTokenArgs struct { + // The AI Model Experiments instance ID. + InstanceId string `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The AI Model Experiments instance token ID. + TokenId string `pulumi:"tokenId"` +} + +// A collection of values returned by getModelexperimentsToken. +type LookupModelexperimentsTokenResult struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description string `pulumi:"description"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`tokenId`". + Id string `pulumi:"id"` + // The AI Model Experiments instance ID. + InstanceId string `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels map[string]string `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region string `pulumi:"region"` + // The AI Model Experiments instance token ID. + TokenId string `pulumi:"tokenId"` + // The time until the AI Model Experiments instance token is valid. + ValidUntil string `pulumi:"validUntil"` +} + +func LookupModelexperimentsTokenOutput(ctx *pulumi.Context, args LookupModelexperimentsTokenOutputArgs, opts ...pulumi.InvokeOption) LookupModelexperimentsTokenResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupModelexperimentsTokenResultOutput, error) { + args := v.(LookupModelexperimentsTokenArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getModelexperimentsToken:getModelexperimentsToken", args, LookupModelexperimentsTokenResultOutput{}, options).(LookupModelexperimentsTokenResultOutput), nil + }).(LookupModelexperimentsTokenResultOutput) +} + +// A collection of arguments for invoking getModelexperimentsToken. +type LookupModelexperimentsTokenOutputArgs struct { + // The AI Model Experiments instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + // The AI Model Experiments instance token ID. + TokenId pulumi.StringInput `pulumi:"tokenId"` +} + +func (LookupModelexperimentsTokenOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupModelexperimentsTokenArgs)(nil)).Elem() +} + +// A collection of values returned by getModelexperimentsToken. +type LookupModelexperimentsTokenResultOutput struct{ *pulumi.OutputState } + +func (LookupModelexperimentsTokenResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupModelexperimentsTokenResult)(nil)).Elem() +} + +func (o LookupModelexperimentsTokenResultOutput) ToLookupModelexperimentsTokenResultOutput() LookupModelexperimentsTokenResultOutput { + return o +} + +func (o LookupModelexperimentsTokenResultOutput) ToLookupModelexperimentsTokenResultOutputWithContext(ctx context.Context) LookupModelexperimentsTokenResultOutput { + return o +} + +// The description is a longer text chosen by the user to provide more context for the resource. +func (o LookupModelexperimentsTokenResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.Description }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`tokenId`". +func (o LookupModelexperimentsTokenResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The AI Model Experiments instance ID. +func (o LookupModelexperimentsTokenResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that can be attached to the resource +func (o LookupModelexperimentsTokenResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The display name is a short name chosen by the user to identify the resource. +func (o LookupModelexperimentsTokenResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o LookupModelexperimentsTokenResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupModelexperimentsTokenResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The AI Model Experiments instance token ID. +func (o LookupModelexperimentsTokenResultOutput) TokenId() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.TokenId }).(pulumi.StringOutput) +} + +// The time until the AI Model Experiments instance token is valid. +func (o LookupModelexperimentsTokenResultOutput) ValidUntil() pulumi.StringOutput { + return o.ApplyT(func(v LookupModelexperimentsTokenResult) string { return v.ValidUntil }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupModelexperimentsTokenResultOutput{}) +} diff --git a/sdk/go/stackit/getNetwork.go b/sdk/go/stackit/getNetwork.go index 571bf772..19a6ceb3 100644 --- a/sdk/go/stackit/getNetwork.go +++ b/sdk/go/stackit/getNetwork.go @@ -26,12 +26,18 @@ func LookupNetwork(ctx *pulumi.Context, args *LookupNetworkArgs, opts ...pulumi. // A collection of arguments for invoking getNetwork. type LookupNetworkArgs struct { + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId *string `pulumi:"ipv4VpcNetworkRangeId"` + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId *string `pulumi:"ipv6VpcNetworkRangeId"` // The network ID. NetworkId string `pulumi:"networkId"` // STACKIT project ID to which the network is associated. ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` + // The ID of the VPC the network is associated with. + VpcId *string `pulumi:"vpcId"` } // A collection of values returned by getNetwork. @@ -52,6 +58,8 @@ type LookupNetworkResult struct { Ipv4PrefixLength int `pulumi:"ipv4PrefixLength"` // The IPv4 prefixes of the network. Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId *string `pulumi:"ipv4VpcNetworkRangeId"` // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. Ipv6Gateway string `pulumi:"ipv6Gateway"` // The IPv6 nameservers of the network. @@ -64,6 +72,8 @@ type LookupNetworkResult struct { Ipv6PrefixLength int `pulumi:"ipv6PrefixLength"` // The IPv6 prefixes of the network. Ipv6Prefixes []string `pulumi:"ipv6Prefixes"` + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId *string `pulumi:"ipv6VpcNetworkRangeId"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the network. @@ -80,6 +90,8 @@ type LookupNetworkResult struct { Routed bool `pulumi:"routed"` // The ID of the routing table associated with the network. RoutingTableId string `pulumi:"routingTableId"` + // The ID of the VPC the network is associated with. + VpcId *string `pulumi:"vpcId"` } func LookupNetworkOutput(ctx *pulumi.Context, args LookupNetworkOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkResultOutput { @@ -93,12 +105,18 @@ func LookupNetworkOutput(ctx *pulumi.Context, args LookupNetworkOutputArgs, opts // A collection of arguments for invoking getNetwork. type LookupNetworkOutputArgs struct { + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId pulumi.StringPtrInput `pulumi:"ipv4VpcNetworkRangeId"` + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId pulumi.StringPtrInput `pulumi:"ipv6VpcNetworkRangeId"` // The network ID. NetworkId pulumi.StringInput `pulumi:"networkId"` // STACKIT project ID to which the network is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput `pulumi:"region"` + // The ID of the VPC the network is associated with. + VpcId pulumi.StringPtrInput `pulumi:"vpcId"` } func (LookupNetworkOutputArgs) ElementType() reflect.Type { @@ -157,6 +175,11 @@ func (o LookupNetworkResultOutput) Ipv4Prefixes() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupNetworkResult) []string { return v.Ipv4Prefixes }).(pulumi.StringArrayOutput) } +// The IPv4 VPC network range ID. +func (o LookupNetworkResultOutput) Ipv4VpcNetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *string { return v.Ipv4VpcNetworkRangeId }).(pulumi.StringPtrOutput) +} + // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. func (o LookupNetworkResultOutput) Ipv6Gateway() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkResult) string { return v.Ipv6Gateway }).(pulumi.StringOutput) @@ -184,6 +207,11 @@ func (o LookupNetworkResultOutput) Ipv6Prefixes() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupNetworkResult) []string { return v.Ipv6Prefixes }).(pulumi.StringArrayOutput) } +// The IPv6 VPC network range ID. +func (o LookupNetworkResultOutput) Ipv6VpcNetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *string { return v.Ipv6VpcNetworkRangeId }).(pulumi.StringPtrOutput) +} + // Labels are key-value string pairs which can be attached to a resource container func (o LookupNetworkResultOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v LookupNetworkResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) @@ -224,6 +252,11 @@ func (o LookupNetworkResultOutput) RoutingTableId() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkResult) string { return v.RoutingTableId }).(pulumi.StringOutput) } +// The ID of the VPC the network is associated with. +func (o LookupNetworkResultOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *string { return v.VpcId }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterOutputType(LookupNetworkResultOutput{}) } diff --git a/sdk/go/stackit/getNetworkArea.go b/sdk/go/stackit/getNetworkArea.go index b42b7c71..1d613136 100644 --- a/sdk/go/stackit/getNetworkArea.go +++ b/sdk/go/stackit/getNetworkArea.go @@ -36,42 +36,18 @@ type LookupNetworkAreaArgs struct { // A collection of values returned by getNetworkArea. type LookupNetworkAreaResult struct { - // List of DNS Servers/Nameservers. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - DefaultPrefixLength int `pulumi:"defaultPrefixLength"` // Terraform's internal resource ID. It is structured as "`organizationId`,`networkAreaId`". Id string `pulumi:"id"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` - // The maximal prefix length for networks in the network area. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - MaxPrefixLength int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - MinPrefixLength int `pulumi:"minPrefixLength"` // The name of the network area. Name string `pulumi:"name"` // The network area ID. NetworkAreaId string `pulumi:"networkAreaId"` - // List of Network ranges. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - NetworkRanges []GetNetworkAreaNetworkRange `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` // The amount of projects currently referencing this area. ProjectCount int `pulumi:"projectCount"` - // Classless Inter-Domain Routing (CIDR). - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - TransferNetwork string `pulumi:"transferNetwork"` } func LookupNetworkAreaOutput(ctx *pulumi.Context, args LookupNetworkAreaOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkAreaResultOutput { @@ -110,20 +86,6 @@ func (o LookupNetworkAreaResultOutput) ToLookupNetworkAreaResultOutputWithContex return o } -// List of DNS Servers/Nameservers. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. -func (o LookupNetworkAreaResultOutput) DefaultNameservers() pulumi.StringArrayOutput { - return o.ApplyT(func(v LookupNetworkAreaResult) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) -} - -// The default prefix length for networks in the network area. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. -func (o LookupNetworkAreaResultOutput) DefaultPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) -} - // Terraform's internal resource ID. It is structured as "`organizationId`,`networkAreaId`". func (o LookupNetworkAreaResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkAreaResult) string { return v.Id }).(pulumi.StringOutput) @@ -134,20 +96,6 @@ func (o LookupNetworkAreaResultOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v LookupNetworkAreaResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -// The maximal prefix length for networks in the network area. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. -func (o LookupNetworkAreaResultOutput) MaxPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.MaxPrefixLength }).(pulumi.IntOutput) -} - -// The minimal prefix length for networks in the network area. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. -func (o LookupNetworkAreaResultOutput) MinPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.MinPrefixLength }).(pulumi.IntOutput) -} - // The name of the network area. func (o LookupNetworkAreaResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkAreaResult) string { return v.Name }).(pulumi.StringOutput) @@ -158,13 +106,6 @@ func (o LookupNetworkAreaResultOutput) NetworkAreaId() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkAreaResult) string { return v.NetworkAreaId }).(pulumi.StringOutput) } -// List of Network ranges. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. -func (o LookupNetworkAreaResultOutput) NetworkRanges() GetNetworkAreaNetworkRangeArrayOutput { - return o.ApplyT(func(v LookupNetworkAreaResult) []GetNetworkAreaNetworkRange { return v.NetworkRanges }).(GetNetworkAreaNetworkRangeArrayOutput) -} - // STACKIT organization ID to which the network area is associated. func (o LookupNetworkAreaResultOutput) OrganizationId() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkAreaResult) string { return v.OrganizationId }).(pulumi.StringOutput) @@ -175,13 +116,6 @@ func (o LookupNetworkAreaResultOutput) ProjectCount() pulumi.IntOutput { return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.ProjectCount }).(pulumi.IntOutput) } -// Classless Inter-Domain Routing (CIDR). -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. -func (o LookupNetworkAreaResultOutput) TransferNetwork() pulumi.StringOutput { - return o.ApplyT(func(v LookupNetworkAreaResult) string { return v.TransferNetwork }).(pulumi.StringOutput) -} - func init() { pulumi.RegisterOutputType(LookupNetworkAreaResultOutput{}) } diff --git a/sdk/go/stackit/getOpensearchCredential.go b/sdk/go/stackit/getOpensearchCredential.go index 769651e4..d28d85a2 100644 --- a/sdk/go/stackit/getOpensearchCredential.go +++ b/sdk/go/stackit/getOpensearchCredential.go @@ -32,6 +32,8 @@ type LookupOpensearchCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getOpensearchCredential. @@ -40,7 +42,7 @@ type LookupOpensearchCredentialResult struct { CredentialId string `pulumi:"credentialId"` Host string `pulumi:"host"` Hosts []string `pulumi:"hosts"` - // Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". + // Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". Id string `pulumi:"id"` // ID of the OpenSearch instance. InstanceId string `pulumi:"instanceId"` @@ -48,9 +50,11 @@ type LookupOpensearchCredentialResult struct { Port int `pulumi:"port"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` - Scheme string `pulumi:"scheme"` - Uri string `pulumi:"uri"` - Username string `pulumi:"username"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + Scheme string `pulumi:"scheme"` + Uri string `pulumi:"uri"` + Username string `pulumi:"username"` } func LookupOpensearchCredentialOutput(ctx *pulumi.Context, args LookupOpensearchCredentialOutputArgs, opts ...pulumi.InvokeOption) LookupOpensearchCredentialResultOutput { @@ -70,6 +74,8 @@ type LookupOpensearchCredentialOutputArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupOpensearchCredentialOutputArgs) ElementType() reflect.Type { @@ -104,7 +110,7 @@ func (o LookupOpensearchCredentialResultOutput) Hosts() pulumi.StringArrayOutput return o.ApplyT(func(v LookupOpensearchCredentialResult) []string { return v.Hosts }).(pulumi.StringArrayOutput) } -// Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". +// Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". func (o LookupOpensearchCredentialResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupOpensearchCredentialResult) string { return v.Id }).(pulumi.StringOutput) } @@ -127,6 +133,11 @@ func (o LookupOpensearchCredentialResultOutput) ProjectId() pulumi.StringOutput return o.ApplyT(func(v LookupOpensearchCredentialResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupOpensearchCredentialResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupOpensearchCredentialResult) string { return v.Region }).(pulumi.StringOutput) +} + func (o LookupOpensearchCredentialResultOutput) Scheme() pulumi.StringOutput { return o.ApplyT(func(v LookupOpensearchCredentialResult) string { return v.Scheme }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getOpensearchInstance.go b/sdk/go/stackit/getOpensearchInstance.go index 5654b795..6b241c06 100644 --- a/sdk/go/stackit/getOpensearchInstance.go +++ b/sdk/go/stackit/getOpensearchInstance.go @@ -30,6 +30,8 @@ type LookupOpensearchInstanceArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getOpensearchInstance. @@ -38,7 +40,7 @@ type LookupOpensearchInstanceResult struct { CfOrganizationGuid string `pulumi:"cfOrganizationGuid"` CfSpaceGuid string `pulumi:"cfSpaceGuid"` DashboardUrl string `pulumi:"dashboardUrl"` - // Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". + // Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". Id string `pulumi:"id"` ImageUrl string `pulumi:"imageUrl"` // ID of the OpenSearch instance. @@ -52,6 +54,8 @@ type LookupOpensearchInstanceResult struct { PlanName string `pulumi:"planName"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` // The service version. Version string `pulumi:"version"` } @@ -71,6 +75,8 @@ type LookupOpensearchInstanceOutputArgs struct { InstanceId pulumi.StringInput `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupOpensearchInstanceOutputArgs) ElementType() reflect.Type { @@ -108,7 +114,7 @@ func (o LookupOpensearchInstanceResultOutput) DashboardUrl() pulumi.StringOutput return o.ApplyT(func(v LookupOpensearchInstanceResult) string { return v.DashboardUrl }).(pulumi.StringOutput) } -// Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". +// Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". func (o LookupOpensearchInstanceResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupOpensearchInstanceResult) string { return v.Id }).(pulumi.StringOutput) } @@ -146,6 +152,11 @@ func (o LookupOpensearchInstanceResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupOpensearchInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupOpensearchInstanceResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupOpensearchInstanceResult) string { return v.Region }).(pulumi.StringOutput) +} + // The service version. func (o LookupOpensearchInstanceResultOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v LookupOpensearchInstanceResult) string { return v.Version }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getPostgresflexFlavors.go b/sdk/go/stackit/getPostgresflexFlavors.go new file mode 100644 index 00000000..5d7a0b65 --- /dev/null +++ b/sdk/go/stackit/getPostgresflexFlavors.go @@ -0,0 +1,112 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Postgres Flex flavors data source schema. +// +// ## Example Usage +func GetPostgresflexFlavors(ctx *pulumi.Context, args *GetPostgresflexFlavorsArgs, opts ...pulumi.InvokeOption) (*GetPostgresflexFlavorsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetPostgresflexFlavorsResult + err := ctx.Invoke("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getPostgresflexFlavors. +type GetPostgresflexFlavorsArgs struct { + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // Postgres Flex flavors data source region. If undefined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *GetPostgresflexFlavorsTimeouts `pulumi:"timeouts"` +} + +// A collection of values returned by getPostgresflexFlavors. +type GetPostgresflexFlavorsResult struct { + // List of flavors available for the project. + Flavors []GetPostgresflexFlavorsFlavor `pulumi:"flavors"` + // Terraform's internal data source ID, structured as "`projectId`,`region`". + Id string `pulumi:"id"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // Postgres Flex flavors data source region. If undefined, the provider region is used. + Region string `pulumi:"region"` + Timeouts *GetPostgresflexFlavorsTimeouts `pulumi:"timeouts"` +} + +func GetPostgresflexFlavorsOutput(ctx *pulumi.Context, args GetPostgresflexFlavorsOutputArgs, opts ...pulumi.InvokeOption) GetPostgresflexFlavorsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetPostgresflexFlavorsResultOutput, error) { + args := v.(GetPostgresflexFlavorsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", args, GetPostgresflexFlavorsResultOutput{}, options).(GetPostgresflexFlavorsResultOutput), nil + }).(GetPostgresflexFlavorsResultOutput) +} + +// A collection of arguments for invoking getPostgresflexFlavors. +type GetPostgresflexFlavorsOutputArgs struct { + // STACKIT project ID. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // Postgres Flex flavors data source region. If undefined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + Timeouts GetPostgresflexFlavorsTimeoutsPtrInput `pulumi:"timeouts"` +} + +func (GetPostgresflexFlavorsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsArgs)(nil)).Elem() +} + +// A collection of values returned by getPostgresflexFlavors. +type GetPostgresflexFlavorsResultOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsResult)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsResultOutput) ToGetPostgresflexFlavorsResultOutput() GetPostgresflexFlavorsResultOutput { + return o +} + +func (o GetPostgresflexFlavorsResultOutput) ToGetPostgresflexFlavorsResultOutputWithContext(ctx context.Context) GetPostgresflexFlavorsResultOutput { + return o +} + +// List of flavors available for the project. +func (o GetPostgresflexFlavorsResultOutput) Flavors() GetPostgresflexFlavorsFlavorArrayOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsResult) []GetPostgresflexFlavorsFlavor { return v.Flavors }).(GetPostgresflexFlavorsFlavorArrayOutput) +} + +// Terraform's internal data source ID, structured as "`projectId`,`region`". +func (o GetPostgresflexFlavorsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// STACKIT project ID. +func (o GetPostgresflexFlavorsResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// Postgres Flex flavors data source region. If undefined, the provider region is used. +func (o GetPostgresflexFlavorsResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o GetPostgresflexFlavorsResultOutput) Timeouts() GetPostgresflexFlavorsTimeoutsPtrOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsResult) *GetPostgresflexFlavorsTimeouts { return v.Timeouts }).(GetPostgresflexFlavorsTimeoutsPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetPostgresflexFlavorsResultOutput{}) +} diff --git a/sdk/go/stackit/getPostgresflexInstance.go b/sdk/go/stackit/getPostgresflexInstance.go index 926cc9be..14353628 100644 --- a/sdk/go/stackit/getPostgresflexInstance.go +++ b/sdk/go/stackit/getPostgresflexInstance.go @@ -37,22 +37,33 @@ type LookupPostgresflexInstanceArgs struct { // A collection of values returned by getPostgresflexInstance. type LookupPostgresflexInstanceResult struct { // The Access Control List (ACL) for the PostgresFlex instance. - Acls []string `pulumi:"acls"` - BackupSchedule string `pulumi:"backupSchedule"` - Flavor GetPostgresflexInstanceFlavor `pulumi:"flavor"` + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. + Acls []string `pulumi:"acls"` + // The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + BackupSchedule string `pulumi:"backupSchedule"` + // The connection info for the PostgresFlex instance. + ConnectionInfo GetPostgresflexInstanceConnectionInfo `pulumi:"connectionInfo"` + Encryption GetPostgresflexInstanceEncryption `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`.. + Flavor GetPostgresflexInstanceFlavor `pulumi:"flavor"` + FlavorId string `pulumi:"flavorId"` // Terraform's internal data source. ID. It is structured as "`projectId`,`region`,`instanceId`". Id string `pulumi:"id"` // ID of the PostgresFlex instance. InstanceId string `pulumi:"instanceId"` // Instance name. - Name string `pulumi:"name"` + Name string `pulumi:"name"` + Network GetPostgresflexInstanceNetwork `pulumi:"network"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. - Region *string `pulumi:"region"` - Replicas int `pulumi:"replicas"` - Storage GetPostgresflexInstanceStorage `pulumi:"storage"` - Version string `pulumi:"version"` + Region *string `pulumi:"region"` + // Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. + Replicas int `pulumi:"replicas"` + RetentionDays int `pulumi:"retentionDays"` + Storage GetPostgresflexInstanceStorage `pulumi:"storage"` + Version string `pulumi:"version"` } func LookupPostgresflexInstanceOutput(ctx *pulumi.Context, args LookupPostgresflexInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupPostgresflexInstanceResultOutput { @@ -94,18 +105,37 @@ func (o LookupPostgresflexInstanceResultOutput) ToLookupPostgresflexInstanceResu } // The Access Control List (ACL) for the PostgresFlex instance. +// +// Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. func (o LookupPostgresflexInstanceResultOutput) Acls() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) []string { return v.Acls }).(pulumi.StringArrayOutput) } +// The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. func (o LookupPostgresflexInstanceResultOutput) BackupSchedule() pulumi.StringOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) string { return v.BackupSchedule }).(pulumi.StringOutput) } +// The connection info for the PostgresFlex instance. +func (o LookupPostgresflexInstanceResultOutput) ConnectionInfo() GetPostgresflexInstanceConnectionInfoOutput { + return o.ApplyT(func(v LookupPostgresflexInstanceResult) GetPostgresflexInstanceConnectionInfo { + return v.ConnectionInfo + }).(GetPostgresflexInstanceConnectionInfoOutput) +} + +func (o LookupPostgresflexInstanceResultOutput) Encryption() GetPostgresflexInstanceEncryptionOutput { + return o.ApplyT(func(v LookupPostgresflexInstanceResult) GetPostgresflexInstanceEncryption { return v.Encryption }).(GetPostgresflexInstanceEncryptionOutput) +} + +// Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`.. func (o LookupPostgresflexInstanceResultOutput) Flavor() GetPostgresflexInstanceFlavorOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) GetPostgresflexInstanceFlavor { return v.Flavor }).(GetPostgresflexInstanceFlavorOutput) } +func (o LookupPostgresflexInstanceResultOutput) FlavorId() pulumi.StringOutput { + return o.ApplyT(func(v LookupPostgresflexInstanceResult) string { return v.FlavorId }).(pulumi.StringOutput) +} + // Terraform's internal data source. ID. It is structured as "`projectId`,`region`,`instanceId`". func (o LookupPostgresflexInstanceResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) string { return v.Id }).(pulumi.StringOutput) @@ -121,6 +151,10 @@ func (o LookupPostgresflexInstanceResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) string { return v.Name }).(pulumi.StringOutput) } +func (o LookupPostgresflexInstanceResultOutput) Network() GetPostgresflexInstanceNetworkOutput { + return o.ApplyT(func(v LookupPostgresflexInstanceResult) GetPostgresflexInstanceNetwork { return v.Network }).(GetPostgresflexInstanceNetworkOutput) +} + // STACKIT project ID to which the instance is associated. func (o LookupPostgresflexInstanceResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) @@ -131,10 +165,15 @@ func (o LookupPostgresflexInstanceResultOutput) Region() pulumi.StringPtrOutput return o.ApplyT(func(v LookupPostgresflexInstanceResult) *string { return v.Region }).(pulumi.StringPtrOutput) } +// Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. func (o LookupPostgresflexInstanceResultOutput) Replicas() pulumi.IntOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) int { return v.Replicas }).(pulumi.IntOutput) } +func (o LookupPostgresflexInstanceResultOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v LookupPostgresflexInstanceResult) int { return v.RetentionDays }).(pulumi.IntOutput) +} + func (o LookupPostgresflexInstanceResultOutput) Storage() GetPostgresflexInstanceStorageOutput { return o.ApplyT(func(v LookupPostgresflexInstanceResult) GetPostgresflexInstanceStorage { return v.Storage }).(GetPostgresflexInstanceStorageOutput) } diff --git a/sdk/go/stackit/getPostgresflexUser.go b/sdk/go/stackit/getPostgresflexUser.go index d473b8e7..abaffaeb 100644 --- a/sdk/go/stackit/getPostgresflexUser.go +++ b/sdk/go/stackit/getPostgresflexUser.go @@ -38,12 +38,14 @@ type LookupPostgresflexUserArgs struct { // A collection of values returned by getPostgresflexUser. type LookupPostgresflexUserResult struct { + // Deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance `connection_info.write.host`. Host string `pulumi:"host"` // Terraform's internal data source. ID. It is structured as "`projectId`,`region`,`instanceId`,`userId`". Id string `pulumi:"id"` // ID of the PostgresFlex instance. InstanceId string `pulumi:"instanceId"` - Port int `pulumi:"port"` + // Deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance `connection_info.write.port`. + Port int `pulumi:"port"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. @@ -94,6 +96,7 @@ func (o LookupPostgresflexUserResultOutput) ToLookupPostgresflexUserResultOutput return o } +// Deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance `connection_info.write.host`. func (o LookupPostgresflexUserResultOutput) Host() pulumi.StringOutput { return o.ApplyT(func(v LookupPostgresflexUserResult) string { return v.Host }).(pulumi.StringOutput) } @@ -108,6 +111,7 @@ func (o LookupPostgresflexUserResultOutput) InstanceId() pulumi.StringOutput { return o.ApplyT(func(v LookupPostgresflexUserResult) string { return v.InstanceId }).(pulumi.StringOutput) } +// Deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance `connection_info.write.port`. func (o LookupPostgresflexUserResultOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v LookupPostgresflexUserResult) int { return v.Port }).(pulumi.IntOutput) } diff --git a/sdk/go/stackit/getSkeCluster.go b/sdk/go/stackit/getSkeCluster.go index f6dcad86..c5518ffb 100644 --- a/sdk/go/stackit/getSkeCluster.go +++ b/sdk/go/stackit/getSkeCluster.go @@ -38,6 +38,8 @@ type LookupSkeClusterArgs struct { type LookupSkeClusterResult struct { // Configure access to the cluster Access GetSkeClusterAccess `pulumi:"access"` + // Cluster audit log forwarding configuration. + Audit GetSkeClusterAudit `pulumi:"audit"` // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges []string `pulumi:"egressAddressRanges"` // A single extensions block as defined below @@ -111,6 +113,11 @@ func (o LookupSkeClusterResultOutput) Access() GetSkeClusterAccessOutput { return o.ApplyT(func(v LookupSkeClusterResult) GetSkeClusterAccess { return v.Access }).(GetSkeClusterAccessOutput) } +// Cluster audit log forwarding configuration. +func (o LookupSkeClusterResultOutput) Audit() GetSkeClusterAuditOutput { + return o.ApplyT(func(v LookupSkeClusterResult) GetSkeClusterAudit { return v.Audit }).(GetSkeClusterAuditOutput) +} + // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. func (o LookupSkeClusterResultOutput) EgressAddressRanges() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupSkeClusterResult) []string { return v.EgressAddressRanges }).(pulumi.StringArrayOutput) diff --git a/sdk/go/stackit/getSqlserverflexDatabase.go b/sdk/go/stackit/getSqlserverflexDatabase.go new file mode 100644 index 00000000..f1c646a8 --- /dev/null +++ b/sdk/go/stackit/getSqlserverflexDatabase.go @@ -0,0 +1,155 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// SQLServer Flex database data source schema. +// +// ## Example Usage +func LookupSqlserverflexDatabase(ctx *pulumi.Context, args *LookupSqlserverflexDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupSqlserverflexDatabaseResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSqlserverflexDatabaseResult + err := ctx.Invoke("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSqlserverflexDatabase. +type LookupSqlserverflexDatabaseArgs struct { + // ID of the SQLServer Flex instance. + InstanceId string `pulumi:"instanceId"` + // Name of the database. + Name string `pulumi:"name"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *GetSqlserverflexDatabaseTimeouts `pulumi:"timeouts"` +} + +// A collection of values returned by getSqlserverflexDatabase. +type LookupSqlserverflexDatabaseResult struct { + // The collation of the database. + Collation string `pulumi:"collation"` + // Compatibility level of the database. + Compatibility int `pulumi:"compatibility"` + // The id of the database. + DatabaseId int `pulumi:"databaseId"` + // Terraform internal ID, structured as "`projectId`,`region`,`instanceId`,`name`" + Id string `pulumi:"id"` + // ID of the SQLServer Flex instance. + InstanceId string `pulumi:"instanceId"` + // Name of the database. + Name string `pulumi:"name"` + // The owner of the database. + Owner string `pulumi:"owner"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + Timeouts *GetSqlserverflexDatabaseTimeouts `pulumi:"timeouts"` +} + +func LookupSqlserverflexDatabaseOutput(ctx *pulumi.Context, args LookupSqlserverflexDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupSqlserverflexDatabaseResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupSqlserverflexDatabaseResultOutput, error) { + args := v.(LookupSqlserverflexDatabaseArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", args, LookupSqlserverflexDatabaseResultOutput{}, options).(LookupSqlserverflexDatabaseResultOutput), nil + }).(LookupSqlserverflexDatabaseResultOutput) +} + +// A collection of arguments for invoking getSqlserverflexDatabase. +type LookupSqlserverflexDatabaseOutputArgs struct { + // ID of the SQLServer Flex instance. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // Name of the database. + Name pulumi.StringInput `pulumi:"name"` + // STACKIT project ID. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + Timeouts GetSqlserverflexDatabaseTimeoutsPtrInput `pulumi:"timeouts"` +} + +func (LookupSqlserverflexDatabaseOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSqlserverflexDatabaseArgs)(nil)).Elem() +} + +// A collection of values returned by getSqlserverflexDatabase. +type LookupSqlserverflexDatabaseResultOutput struct{ *pulumi.OutputState } + +func (LookupSqlserverflexDatabaseResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSqlserverflexDatabaseResult)(nil)).Elem() +} + +func (o LookupSqlserverflexDatabaseResultOutput) ToLookupSqlserverflexDatabaseResultOutput() LookupSqlserverflexDatabaseResultOutput { + return o +} + +func (o LookupSqlserverflexDatabaseResultOutput) ToLookupSqlserverflexDatabaseResultOutputWithContext(ctx context.Context) LookupSqlserverflexDatabaseResultOutput { + return o +} + +// The collation of the database. +func (o LookupSqlserverflexDatabaseResultOutput) Collation() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.Collation }).(pulumi.StringOutput) +} + +// Compatibility level of the database. +func (o LookupSqlserverflexDatabaseResultOutput) Compatibility() pulumi.IntOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) int { return v.Compatibility }).(pulumi.IntOutput) +} + +// The id of the database. +func (o LookupSqlserverflexDatabaseResultOutput) DatabaseId() pulumi.IntOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) int { return v.DatabaseId }).(pulumi.IntOutput) +} + +// Terraform internal ID, structured as "`projectId`,`region`,`instanceId`,`name`" +func (o LookupSqlserverflexDatabaseResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.Id }).(pulumi.StringOutput) +} + +// ID of the SQLServer Flex instance. +func (o LookupSqlserverflexDatabaseResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// Name of the database. +func (o LookupSqlserverflexDatabaseResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.Name }).(pulumi.StringOutput) +} + +// The owner of the database. +func (o LookupSqlserverflexDatabaseResultOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.Owner }).(pulumi.StringOutput) +} + +// STACKIT project ID. +func (o LookupSqlserverflexDatabaseResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o LookupSqlserverflexDatabaseResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o LookupSqlserverflexDatabaseResultOutput) Timeouts() GetSqlserverflexDatabaseTimeoutsPtrOutput { + return o.ApplyT(func(v LookupSqlserverflexDatabaseResult) *GetSqlserverflexDatabaseTimeouts { return v.Timeouts }).(GetSqlserverflexDatabaseTimeoutsPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSqlserverflexDatabaseResultOutput{}) +} diff --git a/sdk/go/stackit/getSqlserverflexFlavors.go b/sdk/go/stackit/getSqlserverflexFlavors.go new file mode 100644 index 00000000..08488176 --- /dev/null +++ b/sdk/go/stackit/getSqlserverflexFlavors.go @@ -0,0 +1,112 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// SqlserverFlex flavors data source schema +// +// ## Example Usage +func GetSqlserverflexFlavors(ctx *pulumi.Context, args *GetSqlserverflexFlavorsArgs, opts ...pulumi.InvokeOption) (*GetSqlserverflexFlavorsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetSqlserverflexFlavorsResult + err := ctx.Invoke("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSqlserverflexFlavors. +type GetSqlserverflexFlavorsArgs struct { + // The project ID. + ProjectId string `pulumi:"projectId"` + // SqlserverFlex flavors data source region. If undefined the providers region is used. + Region *string `pulumi:"region"` + Timeouts *GetSqlserverflexFlavorsTimeouts `pulumi:"timeouts"` +} + +// A collection of values returned by getSqlserverflexFlavors. +type GetSqlserverflexFlavorsResult struct { + // A list of available flavors. + Flavors []GetSqlserverflexFlavorsFlavor `pulumi:"flavors"` + // Terraform's internal data source ID, structured as "`projectId`,`region`" + Id string `pulumi:"id"` + // The project ID. + ProjectId string `pulumi:"projectId"` + // SqlserverFlex flavors data source region. If undefined the providers region is used. + Region string `pulumi:"region"` + Timeouts *GetSqlserverflexFlavorsTimeouts `pulumi:"timeouts"` +} + +func GetSqlserverflexFlavorsOutput(ctx *pulumi.Context, args GetSqlserverflexFlavorsOutputArgs, opts ...pulumi.InvokeOption) GetSqlserverflexFlavorsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetSqlserverflexFlavorsResultOutput, error) { + args := v.(GetSqlserverflexFlavorsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", args, GetSqlserverflexFlavorsResultOutput{}, options).(GetSqlserverflexFlavorsResultOutput), nil + }).(GetSqlserverflexFlavorsResultOutput) +} + +// A collection of arguments for invoking getSqlserverflexFlavors. +type GetSqlserverflexFlavorsOutputArgs struct { + // The project ID. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // SqlserverFlex flavors data source region. If undefined the providers region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + Timeouts GetSqlserverflexFlavorsTimeoutsPtrInput `pulumi:"timeouts"` +} + +func (GetSqlserverflexFlavorsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsArgs)(nil)).Elem() +} + +// A collection of values returned by getSqlserverflexFlavors. +type GetSqlserverflexFlavorsResultOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsResult)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsResultOutput) ToGetSqlserverflexFlavorsResultOutput() GetSqlserverflexFlavorsResultOutput { + return o +} + +func (o GetSqlserverflexFlavorsResultOutput) ToGetSqlserverflexFlavorsResultOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsResultOutput { + return o +} + +// A list of available flavors. +func (o GetSqlserverflexFlavorsResultOutput) Flavors() GetSqlserverflexFlavorsFlavorArrayOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsResult) []GetSqlserverflexFlavorsFlavor { return v.Flavors }).(GetSqlserverflexFlavorsFlavorArrayOutput) +} + +// Terraform's internal data source ID, structured as "`projectId`,`region`" +func (o GetSqlserverflexFlavorsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The project ID. +func (o GetSqlserverflexFlavorsResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// SqlserverFlex flavors data source region. If undefined the providers region is used. +func (o GetSqlserverflexFlavorsResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o GetSqlserverflexFlavorsResultOutput) Timeouts() GetSqlserverflexFlavorsTimeoutsPtrOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsResult) *GetSqlserverflexFlavorsTimeouts { return v.Timeouts }).(GetSqlserverflexFlavorsTimeoutsPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetSqlserverflexFlavorsResultOutput{}) +} diff --git a/sdk/go/stackit/getSqlserverflexInstance.go b/sdk/go/stackit/getSqlserverflexInstance.go index b4c37bf4..9813638b 100644 --- a/sdk/go/stackit/getSqlserverflexInstance.go +++ b/sdk/go/stackit/getSqlserverflexInstance.go @@ -39,12 +39,17 @@ type LookupSqlserverflexInstanceArgs struct { // A collection of values returned by getSqlserverflexInstance. type LookupSqlserverflexInstanceResult struct { // The Access Control List (ACL) for the SQLServer Flex instance. + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls []string `pulumi:"acls"` // The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *"). BackupSchedule string `pulumi:"backupSchedule"` // Edition of the MSSQL server instance. - Edition string `pulumi:"edition"` - Flavor GetSqlserverflexInstanceFlavor `pulumi:"flavor"` + Edition string `pulumi:"edition"` + // Parameter to define which key to use for storage encryption. + Encryption GetSqlserverflexInstanceEncryption `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. + Flavor GetSqlserverflexInstanceFlavor `pulumi:"flavor"` // The flavor ID of the SQLServer Flex instance. FlavorId string `pulumi:"flavorId"` // Terraform's internal data source. ID. It is structured as "`projectId`,`region`,`instanceId`". @@ -56,6 +61,8 @@ type LookupSqlserverflexInstanceResult struct { // The network configuration of the instance. Network *GetSqlserverflexInstanceNetwork `pulumi:"network"` // Custom parameters for the SQLServer Flex instance. + // + // Deprecated: option is deprecated and will be removed after February 2027. Options GetSqlserverflexInstanceOptions `pulumi:"options"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` @@ -109,6 +116,8 @@ func (o LookupSqlserverflexInstanceResultOutput) ToLookupSqlserverflexInstanceRe } // The Access Control List (ACL) for the SQLServer Flex instance. +// +// Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. func (o LookupSqlserverflexInstanceResultOutput) Acls() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupSqlserverflexInstanceResult) []string { return v.Acls }).(pulumi.StringArrayOutput) } @@ -123,6 +132,12 @@ func (o LookupSqlserverflexInstanceResultOutput) Edition() pulumi.StringOutput { return o.ApplyT(func(v LookupSqlserverflexInstanceResult) string { return v.Edition }).(pulumi.StringOutput) } +// Parameter to define which key to use for storage encryption. +func (o LookupSqlserverflexInstanceResultOutput) Encryption() GetSqlserverflexInstanceEncryptionOutput { + return o.ApplyT(func(v LookupSqlserverflexInstanceResult) GetSqlserverflexInstanceEncryption { return v.Encryption }).(GetSqlserverflexInstanceEncryptionOutput) +} + +// Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. func (o LookupSqlserverflexInstanceResultOutput) Flavor() GetSqlserverflexInstanceFlavorOutput { return o.ApplyT(func(v LookupSqlserverflexInstanceResult) GetSqlserverflexInstanceFlavor { return v.Flavor }).(GetSqlserverflexInstanceFlavorOutput) } @@ -153,6 +168,8 @@ func (o LookupSqlserverflexInstanceResultOutput) Network() GetSqlserverflexInsta } // Custom parameters for the SQLServer Flex instance. +// +// Deprecated: option is deprecated and will be removed after February 2027. func (o LookupSqlserverflexInstanceResultOutput) Options() GetSqlserverflexInstanceOptionsOutput { return o.ApplyT(func(v LookupSqlserverflexInstanceResult) GetSqlserverflexInstanceOptions { return v.Options }).(GetSqlserverflexInstanceOptionsOutput) } diff --git a/sdk/go/stackit/getTelemetrylink.go b/sdk/go/stackit/getTelemetrylink.go index 584f2f85..94b6b22c 100644 --- a/sdk/go/stackit/getTelemetrylink.go +++ b/sdk/go/stackit/getTelemetrylink.go @@ -51,6 +51,8 @@ type LookupTelemetrylinkResult struct { // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. ResourceType string `pulumi:"resourceType"` // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status string `pulumi:"status"` // The Telemetry Router ID. TelemetryRouterId string `pulumi:"telemetryRouterId"` @@ -130,6 +132,8 @@ func (o LookupTelemetrylinkResultOutput) ResourceType() pulumi.StringOutput { } // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o LookupTelemetrylinkResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getTelemetryrouterAccessToken.go b/sdk/go/stackit/getTelemetryrouterAccessToken.go index 8865f560..3bbc5574 100644 --- a/sdk/go/stackit/getTelemetryrouterAccessToken.go +++ b/sdk/go/stackit/getTelemetryrouterAccessToken.go @@ -57,6 +57,8 @@ type LookupTelemetryrouterAccessTokenResult struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status string `pulumi:"status"` } @@ -146,6 +148,8 @@ func (o LookupTelemetryrouterAccessTokenResultOutput) Region() pulumi.StringPtrO } // The status of the access token. Possible values are: `active`, `expired`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o LookupTelemetryrouterAccessTokenResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getTelemetryrouterDestination.go b/sdk/go/stackit/getTelemetryrouterDestination.go index c759b4b4..a1ed0588 100644 --- a/sdk/go/stackit/getTelemetryrouterDestination.go +++ b/sdk/go/stackit/getTelemetryrouterDestination.go @@ -59,6 +59,8 @@ type LookupTelemetryrouterDestinationResult struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region string `pulumi:"region"` // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status string `pulumi:"status"` } @@ -153,6 +155,8 @@ func (o LookupTelemetryrouterDestinationResultOutput) Region() pulumi.StringOutp } // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o LookupTelemetryrouterDestinationResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getTelemetryrouterInstance.go b/sdk/go/stackit/getTelemetryrouterInstance.go index 6dc96f6a..8a1a37ee 100644 --- a/sdk/go/stackit/getTelemetryrouterInstance.go +++ b/sdk/go/stackit/getTelemetryrouterInstance.go @@ -53,6 +53,8 @@ type LookupTelemetryrouterInstanceResult struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status string `pulumi:"status"` // The TelemetryRouter instance's URI Uri string `pulumi:"uri"` @@ -137,6 +139,8 @@ func (o LookupTelemetryrouterInstanceResultOutput) Region() pulumi.StringPtrOutp } // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o LookupTelemetryrouterInstanceResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index f44c691a..909eae72 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -25,6 +25,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AffinityGroup{} case "stackit:index/albCertificate:AlbCertificate": r = &AlbCertificate{} + case "stackit:index/albWafConfiguration:AlbWafConfiguration": + r = &AlbWafConfiguration{} + case "stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup": + r = &AlbWafCustomRuleGroup{} + case "stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet": + r = &AlbWafManagedRuleSet{} case "stackit:index/applicationLoadBalancer:ApplicationLoadBalancer": r = &ApplicationLoadBalancer{} case "stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole": @@ -89,6 +95,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &MariadbCredential{} case "stackit:index/mariadbInstance:MariadbInstance": r = &MariadbInstance{} + case "stackit:index/modelexperimentsInstance:ModelexperimentsInstance": + r = &ModelexperimentsInstance{} + case "stackit:index/modelexperimentsToken:ModelexperimentsToken": + r = &ModelexperimentsToken{} case "stackit:index/modelservingToken:ModelservingToken": r = &ModelservingToken{} case "stackit:index/mongodbflexInstance:MongodbflexInstance": @@ -205,6 +215,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &SkeCluster{} case "stackit:index/skeKubeconfig:SkeKubeconfig": r = &SkeKubeconfig{} + case "stackit:index/sqlserverflexDatabase:SqlserverflexDatabase": + r = &SqlserverflexDatabase{} case "stackit:index/sqlserverflexInstance:SqlserverflexInstance": r = &SqlserverflexInstance{} case "stackit:index/sqlserverflexUser:SqlserverflexUser": @@ -274,6 +286,21 @@ func init() { "index/albCertificate", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/albWafConfiguration", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/albWafCustomRuleGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/albWafManagedRuleSet", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/applicationLoadBalancer", @@ -434,6 +461,16 @@ func init() { "index/mariadbInstance", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/modelexperimentsInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/modelexperimentsToken", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/modelservingToken", @@ -724,6 +761,11 @@ func init() { "index/skeKubeconfig", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/sqlserverflexDatabase", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/sqlserverflexInstance", diff --git a/sdk/go/stackit/kmsKey.go b/sdk/go/stackit/kmsKey.go index 736cb714..826d9a7c 100644 --- a/sdk/go/stackit/kmsKey.go +++ b/sdk/go/stackit/kmsKey.go @@ -36,7 +36,7 @@ type KmsKey struct { KeyringId pulumi.StringOutput `pulumi:"keyringId"` // STACKIT project ID to which the key is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection pulumi.StringOutput `pulumi:"protection"` // The purpose for which the key will be used. Possible values are: `symmetricEncryptDecrypt`, `asymmetricEncryptDecrypt`, `messageAuthenticationCode`, `asymmetricSignVerify`. Purpose pulumi.StringOutput `pulumi:"purpose"` @@ -108,7 +108,7 @@ type kmsKeyState struct { KeyringId *string `pulumi:"keyringId"` // STACKIT project ID to which the key is associated. ProjectId *string `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection *string `pulumi:"protection"` // The purpose for which the key will be used. Possible values are: `symmetricEncryptDecrypt`, `asymmetricEncryptDecrypt`, `messageAuthenticationCode`, `asymmetricSignVerify`. Purpose *string `pulumi:"purpose"` @@ -133,7 +133,7 @@ type KmsKeyState struct { KeyringId pulumi.StringPtrInput // STACKIT project ID to which the key is associated. ProjectId pulumi.StringPtrInput - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection pulumi.StringPtrInput // The purpose for which the key will be used. Possible values are: `symmetricEncryptDecrypt`, `asymmetricEncryptDecrypt`, `messageAuthenticationCode`, `asymmetricSignVerify`. Purpose pulumi.StringPtrInput @@ -160,7 +160,7 @@ type kmsKeyArgs struct { KeyringId string `pulumi:"keyringId"` // STACKIT project ID to which the key is associated. ProjectId string `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection string `pulumi:"protection"` // The purpose for which the key will be used. Possible values are: `symmetricEncryptDecrypt`, `asymmetricEncryptDecrypt`, `messageAuthenticationCode`, `asymmetricSignVerify`. Purpose string `pulumi:"purpose"` @@ -184,7 +184,7 @@ type KmsKeyArgs struct { KeyringId pulumi.StringInput // STACKIT project ID to which the key is associated. ProjectId pulumi.StringInput - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection pulumi.StringInput // The purpose for which the key will be used. Possible values are: `symmetricEncryptDecrypt`, `asymmetricEncryptDecrypt`, `messageAuthenticationCode`, `asymmetricSignVerify`. Purpose pulumi.StringInput @@ -319,7 +319,7 @@ func (o KmsKeyOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *KmsKey) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. +// The underlying system that is responsible for protecting the key material. func (o KmsKeyOutput) Protection() pulumi.StringOutput { return o.ApplyT(func(v *KmsKey) pulumi.StringOutput { return v.Protection }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/kmsWrappingKey.go b/sdk/go/stackit/kmsWrappingKey.go index fbead71d..b19c1ef6 100644 --- a/sdk/go/stackit/kmsWrappingKey.go +++ b/sdk/go/stackit/kmsWrappingKey.go @@ -34,7 +34,7 @@ type KmsWrappingKey struct { KeyringId pulumi.StringOutput `pulumi:"keyringId"` // STACKIT project ID to which the keyring is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection pulumi.StringOutput `pulumi:"protection"` // The public key of the wrapping key. PublicKey pulumi.StringOutput `pulumi:"publicKey"` @@ -110,7 +110,7 @@ type kmsWrappingKeyState struct { KeyringId *string `pulumi:"keyringId"` // STACKIT project ID to which the keyring is associated. ProjectId *string `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection *string `pulumi:"protection"` // The public key of the wrapping key. PublicKey *string `pulumi:"publicKey"` @@ -139,7 +139,7 @@ type KmsWrappingKeyState struct { KeyringId pulumi.StringPtrInput // STACKIT project ID to which the keyring is associated. ProjectId pulumi.StringPtrInput - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection pulumi.StringPtrInput // The public key of the wrapping key. PublicKey pulumi.StringPtrInput @@ -168,7 +168,7 @@ type kmsWrappingKeyArgs struct { KeyringId string `pulumi:"keyringId"` // STACKIT project ID to which the keyring is associated. ProjectId string `pulumi:"projectId"` - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection string `pulumi:"protection"` // The purpose for which the key will be used. Possible values are: `wrapSymmetricKey`, `wrapAsymmetricKey`. Purpose string `pulumi:"purpose"` @@ -190,7 +190,7 @@ type KmsWrappingKeyArgs struct { KeyringId pulumi.StringInput // STACKIT project ID to which the keyring is associated. ProjectId pulumi.StringInput - // The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + // The underlying system that is responsible for protecting the key material. Protection pulumi.StringInput // The purpose for which the key will be used. Possible values are: `wrapSymmetricKey`, `wrapAsymmetricKey`. Purpose pulumi.StringInput @@ -325,7 +325,7 @@ func (o KmsWrappingKeyOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *KmsWrappingKey) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } -// The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. +// The underlying system that is responsible for protecting the key material. func (o KmsWrappingKeyOutput) Protection() pulumi.StringOutput { return o.ApplyT(func(v *KmsWrappingKey) pulumi.StringOutput { return v.Protection }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/logmeCredential.go b/sdk/go/stackit/logmeCredential.go index b11dd8bb..4db503ce 100644 --- a/sdk/go/stackit/logmeCredential.go +++ b/sdk/go/stackit/logmeCredential.go @@ -31,8 +31,10 @@ type LogmeCredential struct { Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` - Uri pulumi.StringOutput `pulumi:"uri"` - Username pulumi.StringOutput `pulumi:"username"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Uri pulumi.StringOutput `pulumi:"uri"` + Username pulumi.StringOutput `pulumi:"username"` } // NewLogmeCredential registers a new resource with the given unique name, arguments, and options. @@ -85,8 +87,10 @@ type logmeCredentialState struct { Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` - Uri *string `pulumi:"uri"` - Username *string `pulumi:"username"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Uri *string `pulumi:"uri"` + Username *string `pulumi:"username"` } type LogmeCredentialState struct { @@ -99,8 +103,10 @@ type LogmeCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput - Uri pulumi.StringPtrInput - Username pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Uri pulumi.StringPtrInput + Username pulumi.StringPtrInput } func (LogmeCredentialState) ElementType() reflect.Type { @@ -112,6 +118,8 @@ type logmeCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // The set of arguments for constructing a LogmeCredential resource. @@ -120,6 +128,8 @@ type LogmeCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (LogmeCredentialArgs) ElementType() reflect.Type { @@ -236,6 +246,11 @@ func (o LogmeCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *LogmeCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LogmeCredentialOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *LogmeCredential) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + func (o LogmeCredentialOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *LogmeCredential) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/logmeInstance.go b/sdk/go/stackit/logmeInstance.go index 6c6a56d4..a63535a6 100644 --- a/sdk/go/stackit/logmeInstance.go +++ b/sdk/go/stackit/logmeInstance.go @@ -39,6 +39,8 @@ type LogmeInstance struct { PlanName pulumi.StringOutput `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The service version. Version pulumi.StringOutput `pulumi:"version"` } @@ -99,6 +101,8 @@ type logmeInstanceState struct { PlanName *string `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The service version. Version *string `pulumi:"version"` } @@ -121,6 +125,8 @@ type LogmeInstanceState struct { PlanName pulumi.StringPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The service version. Version pulumi.StringPtrInput } @@ -138,6 +144,8 @@ type logmeInstanceArgs struct { PlanName string `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The service version. Version string `pulumi:"version"` } @@ -152,6 +160,8 @@ type LogmeInstanceArgs struct { PlanName pulumi.StringInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The service version. Version pulumi.StringInput } @@ -293,6 +303,11 @@ func (o LogmeInstanceOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *LogmeInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LogmeInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *LogmeInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The service version. func (o LogmeInstanceOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v *LogmeInstance) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/mariadbCredential.go b/sdk/go/stackit/mariadbCredential.go index b973e5d5..eb37a399 100644 --- a/sdk/go/stackit/mariadbCredential.go +++ b/sdk/go/stackit/mariadbCredential.go @@ -33,6 +33,8 @@ type MariadbCredential struct { Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` Uri pulumi.StringOutput `pulumi:"uri"` @@ -91,6 +93,8 @@ type mariadbCredentialState struct { Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` Uri *string `pulumi:"uri"` @@ -109,6 +113,8 @@ type MariadbCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapInput Uri pulumi.StringPtrInput @@ -124,6 +130,8 @@ type mariadbCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } @@ -134,6 +142,8 @@ type MariadbCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapInput } @@ -260,6 +270,11 @@ func (o MariadbCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *MariadbCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o MariadbCredentialOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *MariadbCredential) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. func (o MariadbCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { return o.ApplyT(func(v *MariadbCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) diff --git a/sdk/go/stackit/mariadbInstance.go b/sdk/go/stackit/mariadbInstance.go index 77301f26..cb580257 100644 --- a/sdk/go/stackit/mariadbInstance.go +++ b/sdk/go/stackit/mariadbInstance.go @@ -39,6 +39,8 @@ type MariadbInstance struct { PlanName pulumi.StringOutput `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The service version. Version pulumi.StringOutput `pulumi:"version"` } @@ -99,6 +101,8 @@ type mariadbInstanceState struct { PlanName *string `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The service version. Version *string `pulumi:"version"` } @@ -121,6 +125,8 @@ type MariadbInstanceState struct { PlanName pulumi.StringPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The service version. Version pulumi.StringPtrInput } @@ -138,6 +144,8 @@ type mariadbInstanceArgs struct { PlanName string `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The service version. Version string `pulumi:"version"` } @@ -152,6 +160,8 @@ type MariadbInstanceArgs struct { PlanName pulumi.StringInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The service version. Version pulumi.StringInput } @@ -293,6 +303,11 @@ func (o MariadbInstanceOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *MariadbInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o MariadbInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *MariadbInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The service version. func (o MariadbInstanceOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v *MariadbInstance) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/modelexperimentsInstance.go b/sdk/go/stackit/modelexperimentsInstance.go new file mode 100644 index 00000000..6410862d --- /dev/null +++ b/sdk/go/stackit/modelexperimentsInstance.go @@ -0,0 +1,333 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Manages a STACKIT AI Model Experiments instance. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type ModelexperimentsInstance struct { + pulumi.CustomResourceState + + // The object storage bucket name of the AI Model Experiments instance. + BucketName pulumi.StringOutput `pulumi:"bucketName"` + // The deleted experiment retention time of the AI Model Experiments instance. + DeletedExperimentRetention pulumi.StringOutput `pulumi:"deletedExperimentRetention"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The AI Model Experiments instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels pulumi.StringMapOutput `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The Dashboard URL of the AI Model Experiments instance. + Url pulumi.StringOutput `pulumi:"url"` +} + +// NewModelexperimentsInstance registers a new resource with the given unique name, arguments, and options. +func NewModelexperimentsInstance(ctx *pulumi.Context, + name string, args *ModelexperimentsInstanceArgs, opts ...pulumi.ResourceOption) (*ModelexperimentsInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ModelexperimentsInstance + err := ctx.RegisterResource("stackit:index/modelexperimentsInstance:ModelexperimentsInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetModelexperimentsInstance gets an existing ModelexperimentsInstance resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetModelexperimentsInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ModelexperimentsInstanceState, opts ...pulumi.ResourceOption) (*ModelexperimentsInstance, error) { + var resource ModelexperimentsInstance + err := ctx.ReadResource("stackit:index/modelexperimentsInstance:ModelexperimentsInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ModelexperimentsInstance resources. +type modelexperimentsInstanceState struct { + // The object storage bucket name of the AI Model Experiments instance. + BucketName *string `pulumi:"bucketName"` + // The deleted experiment retention time of the AI Model Experiments instance. + DeletedExperimentRetention *string `pulumi:"deletedExperimentRetention"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // The AI Model Experiments instance ID. + InstanceId *string `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels map[string]string `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name *string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId *string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The Dashboard URL of the AI Model Experiments instance. + Url *string `pulumi:"url"` +} + +type ModelexperimentsInstanceState struct { + // The object storage bucket name of the AI Model Experiments instance. + BucketName pulumi.StringPtrInput + // The deleted experiment retention time of the AI Model Experiments instance. + DeletedExperimentRetention pulumi.StringPtrInput + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput + // The AI Model Experiments instance ID. + InstanceId pulumi.StringPtrInput + // A map of arbitrary key/value pairs that can be attached to the resource + Labels pulumi.StringMapInput + // The display name is a short name chosen by the user to identify the resource. + Name pulumi.StringPtrInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringPtrInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The Dashboard URL of the AI Model Experiments instance. + Url pulumi.StringPtrInput +} + +func (ModelexperimentsInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*modelexperimentsInstanceState)(nil)).Elem() +} + +type modelexperimentsInstanceArgs struct { + // The deleted experiment retention time of the AI Model Experiments instance. + DeletedExperimentRetention *string `pulumi:"deletedExperimentRetention"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels map[string]string `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name *string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a ModelexperimentsInstance resource. +type ModelexperimentsInstanceArgs struct { + // The deleted experiment retention time of the AI Model Experiments instance. + DeletedExperimentRetention pulumi.StringPtrInput + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput + // A map of arbitrary key/value pairs that can be attached to the resource + Labels pulumi.StringMapInput + // The display name is a short name chosen by the user to identify the resource. + Name pulumi.StringPtrInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (ModelexperimentsInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*modelexperimentsInstanceArgs)(nil)).Elem() +} + +type ModelexperimentsInstanceInput interface { + pulumi.Input + + ToModelexperimentsInstanceOutput() ModelexperimentsInstanceOutput + ToModelexperimentsInstanceOutputWithContext(ctx context.Context) ModelexperimentsInstanceOutput +} + +func (*ModelexperimentsInstance) ElementType() reflect.Type { + return reflect.TypeOf((**ModelexperimentsInstance)(nil)).Elem() +} + +func (i *ModelexperimentsInstance) ToModelexperimentsInstanceOutput() ModelexperimentsInstanceOutput { + return i.ToModelexperimentsInstanceOutputWithContext(context.Background()) +} + +func (i *ModelexperimentsInstance) ToModelexperimentsInstanceOutputWithContext(ctx context.Context) ModelexperimentsInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ModelexperimentsInstanceOutput) +} + +// ModelexperimentsInstanceArrayInput is an input type that accepts ModelexperimentsInstanceArray and ModelexperimentsInstanceArrayOutput values. +// You can construct a concrete instance of `ModelexperimentsInstanceArrayInput` via: +// +// ModelexperimentsInstanceArray{ ModelexperimentsInstanceArgs{...} } +type ModelexperimentsInstanceArrayInput interface { + pulumi.Input + + ToModelexperimentsInstanceArrayOutput() ModelexperimentsInstanceArrayOutput + ToModelexperimentsInstanceArrayOutputWithContext(context.Context) ModelexperimentsInstanceArrayOutput +} + +type ModelexperimentsInstanceArray []ModelexperimentsInstanceInput + +func (ModelexperimentsInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ModelexperimentsInstance)(nil)).Elem() +} + +func (i ModelexperimentsInstanceArray) ToModelexperimentsInstanceArrayOutput() ModelexperimentsInstanceArrayOutput { + return i.ToModelexperimentsInstanceArrayOutputWithContext(context.Background()) +} + +func (i ModelexperimentsInstanceArray) ToModelexperimentsInstanceArrayOutputWithContext(ctx context.Context) ModelexperimentsInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ModelexperimentsInstanceArrayOutput) +} + +// ModelexperimentsInstanceMapInput is an input type that accepts ModelexperimentsInstanceMap and ModelexperimentsInstanceMapOutput values. +// You can construct a concrete instance of `ModelexperimentsInstanceMapInput` via: +// +// ModelexperimentsInstanceMap{ "key": ModelexperimentsInstanceArgs{...} } +type ModelexperimentsInstanceMapInput interface { + pulumi.Input + + ToModelexperimentsInstanceMapOutput() ModelexperimentsInstanceMapOutput + ToModelexperimentsInstanceMapOutputWithContext(context.Context) ModelexperimentsInstanceMapOutput +} + +type ModelexperimentsInstanceMap map[string]ModelexperimentsInstanceInput + +func (ModelexperimentsInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ModelexperimentsInstance)(nil)).Elem() +} + +func (i ModelexperimentsInstanceMap) ToModelexperimentsInstanceMapOutput() ModelexperimentsInstanceMapOutput { + return i.ToModelexperimentsInstanceMapOutputWithContext(context.Background()) +} + +func (i ModelexperimentsInstanceMap) ToModelexperimentsInstanceMapOutputWithContext(ctx context.Context) ModelexperimentsInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ModelexperimentsInstanceMapOutput) +} + +type ModelexperimentsInstanceOutput struct{ *pulumi.OutputState } + +func (ModelexperimentsInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ModelexperimentsInstance)(nil)).Elem() +} + +func (o ModelexperimentsInstanceOutput) ToModelexperimentsInstanceOutput() ModelexperimentsInstanceOutput { + return o +} + +func (o ModelexperimentsInstanceOutput) ToModelexperimentsInstanceOutputWithContext(ctx context.Context) ModelexperimentsInstanceOutput { + return o +} + +// The object storage bucket name of the AI Model Experiments instance. +func (o ModelexperimentsInstanceOutput) BucketName() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.BucketName }).(pulumi.StringOutput) +} + +// The deleted experiment retention time of the AI Model Experiments instance. +func (o ModelexperimentsInstanceOutput) DeletedExperimentRetention() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.DeletedExperimentRetention }).(pulumi.StringOutput) +} + +// The description is a longer text chosen by the user to provide more context for the resource. +func (o ModelexperimentsInstanceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The AI Model Experiments instance ID. +func (o ModelexperimentsInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that can be attached to the resource +func (o ModelexperimentsInstanceOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// The display name is a short name chosen by the user to identify the resource. +func (o ModelexperimentsInstanceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o ModelexperimentsInstanceOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o ModelexperimentsInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The Dashboard URL of the AI Model Experiments instance. +func (o ModelexperimentsInstanceOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsInstance) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) +} + +type ModelexperimentsInstanceArrayOutput struct{ *pulumi.OutputState } + +func (ModelexperimentsInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ModelexperimentsInstance)(nil)).Elem() +} + +func (o ModelexperimentsInstanceArrayOutput) ToModelexperimentsInstanceArrayOutput() ModelexperimentsInstanceArrayOutput { + return o +} + +func (o ModelexperimentsInstanceArrayOutput) ToModelexperimentsInstanceArrayOutputWithContext(ctx context.Context) ModelexperimentsInstanceArrayOutput { + return o +} + +func (o ModelexperimentsInstanceArrayOutput) Index(i pulumi.IntInput) ModelexperimentsInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ModelexperimentsInstance { + return vs[0].([]*ModelexperimentsInstance)[vs[1].(int)] + }).(ModelexperimentsInstanceOutput) +} + +type ModelexperimentsInstanceMapOutput struct{ *pulumi.OutputState } + +func (ModelexperimentsInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ModelexperimentsInstance)(nil)).Elem() +} + +func (o ModelexperimentsInstanceMapOutput) ToModelexperimentsInstanceMapOutput() ModelexperimentsInstanceMapOutput { + return o +} + +func (o ModelexperimentsInstanceMapOutput) ToModelexperimentsInstanceMapOutputWithContext(ctx context.Context) ModelexperimentsInstanceMapOutput { + return o +} + +func (o ModelexperimentsInstanceMapOutput) MapIndex(k pulumi.StringInput) ModelexperimentsInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ModelexperimentsInstance { + return vs[0].(map[string]*ModelexperimentsInstance)[vs[1].(string)] + }).(ModelexperimentsInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ModelexperimentsInstanceInput)(nil)).Elem(), &ModelexperimentsInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*ModelexperimentsInstanceArrayInput)(nil)).Elem(), ModelexperimentsInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ModelexperimentsInstanceMapInput)(nil)).Elem(), ModelexperimentsInstanceMap{}) + pulumi.RegisterOutputType(ModelexperimentsInstanceOutput{}) + pulumi.RegisterOutputType(ModelexperimentsInstanceArrayOutput{}) + pulumi.RegisterOutputType(ModelexperimentsInstanceMapOutput{}) +} diff --git a/sdk/go/stackit/modelexperimentsToken.go b/sdk/go/stackit/modelexperimentsToken.go new file mode 100644 index 00000000..a290c1a7 --- /dev/null +++ b/sdk/go/stackit/modelexperimentsToken.go @@ -0,0 +1,370 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Manages a STACKIT AI Model Experiments instance tokens. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type ModelexperimentsToken struct { + pulumi.CustomResourceState + + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The AI Model Experiments instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels pulumi.StringMapOutput `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + // The content of the AI Model Experiments instance token. + Token pulumi.StringOutput `pulumi:"token"` + // The AI Model Experiments instance token ID. + TokenId pulumi.StringOutput `pulumi:"tokenId"` + // The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + TtlDuration pulumi.StringPtrOutput `pulumi:"ttlDuration"` + // The time until the AI Model Experiments instance token is valid. + ValidUntil pulumi.StringOutput `pulumi:"validUntil"` +} + +// NewModelexperimentsToken registers a new resource with the given unique name, arguments, and options. +func NewModelexperimentsToken(ctx *pulumi.Context, + name string, args *ModelexperimentsTokenArgs, opts ...pulumi.ResourceOption) (*ModelexperimentsToken, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ModelexperimentsToken + err := ctx.RegisterResource("stackit:index/modelexperimentsToken:ModelexperimentsToken", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetModelexperimentsToken gets an existing ModelexperimentsToken resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetModelexperimentsToken(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ModelexperimentsTokenState, opts ...pulumi.ResourceOption) (*ModelexperimentsToken, error) { + var resource ModelexperimentsToken + err := ctx.ReadResource("stackit:index/modelexperimentsToken:ModelexperimentsToken", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ModelexperimentsToken resources. +type modelexperimentsTokenState struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // The AI Model Experiments instance ID. + InstanceId *string `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels map[string]string `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name *string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId *string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + // The content of the AI Model Experiments instance token. + Token *string `pulumi:"token"` + // The AI Model Experiments instance token ID. + TokenId *string `pulumi:"tokenId"` + // The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + TtlDuration *string `pulumi:"ttlDuration"` + // The time until the AI Model Experiments instance token is valid. + ValidUntil *string `pulumi:"validUntil"` +} + +type ModelexperimentsTokenState struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput + // The AI Model Experiments instance ID. + InstanceId pulumi.StringPtrInput + // A map of arbitrary key/value pairs that can be attached to the resource + Labels pulumi.StringMapInput + // The display name is a short name chosen by the user to identify the resource. + Name pulumi.StringPtrInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringPtrInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + // The content of the AI Model Experiments instance token. + Token pulumi.StringPtrInput + // The AI Model Experiments instance token ID. + TokenId pulumi.StringPtrInput + // The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + TtlDuration pulumi.StringPtrInput + // The time until the AI Model Experiments instance token is valid. + ValidUntil pulumi.StringPtrInput +} + +func (ModelexperimentsTokenState) ElementType() reflect.Type { + return reflect.TypeOf((*modelexperimentsTokenState)(nil)).Elem() +} + +type modelexperimentsTokenArgs struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // The AI Model Experiments instance ID. + InstanceId string `pulumi:"instanceId"` + // A map of arbitrary key/value pairs that can be attached to the resource + Labels map[string]string `pulumi:"labels"` + // The display name is a short name chosen by the user to identify the resource. + Name *string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + // The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + TtlDuration *string `pulumi:"ttlDuration"` +} + +// The set of arguments for constructing a ModelexperimentsToken resource. +type ModelexperimentsTokenArgs struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput + // The AI Model Experiments instance ID. + InstanceId pulumi.StringInput + // A map of arbitrary key/value pairs that can be attached to the resource + Labels pulumi.StringMapInput + // The display name is a short name chosen by the user to identify the resource. + Name pulumi.StringPtrInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + // The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + TtlDuration pulumi.StringPtrInput +} + +func (ModelexperimentsTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*modelexperimentsTokenArgs)(nil)).Elem() +} + +type ModelexperimentsTokenInput interface { + pulumi.Input + + ToModelexperimentsTokenOutput() ModelexperimentsTokenOutput + ToModelexperimentsTokenOutputWithContext(ctx context.Context) ModelexperimentsTokenOutput +} + +func (*ModelexperimentsToken) ElementType() reflect.Type { + return reflect.TypeOf((**ModelexperimentsToken)(nil)).Elem() +} + +func (i *ModelexperimentsToken) ToModelexperimentsTokenOutput() ModelexperimentsTokenOutput { + return i.ToModelexperimentsTokenOutputWithContext(context.Background()) +} + +func (i *ModelexperimentsToken) ToModelexperimentsTokenOutputWithContext(ctx context.Context) ModelexperimentsTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(ModelexperimentsTokenOutput) +} + +// ModelexperimentsTokenArrayInput is an input type that accepts ModelexperimentsTokenArray and ModelexperimentsTokenArrayOutput values. +// You can construct a concrete instance of `ModelexperimentsTokenArrayInput` via: +// +// ModelexperimentsTokenArray{ ModelexperimentsTokenArgs{...} } +type ModelexperimentsTokenArrayInput interface { + pulumi.Input + + ToModelexperimentsTokenArrayOutput() ModelexperimentsTokenArrayOutput + ToModelexperimentsTokenArrayOutputWithContext(context.Context) ModelexperimentsTokenArrayOutput +} + +type ModelexperimentsTokenArray []ModelexperimentsTokenInput + +func (ModelexperimentsTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ModelexperimentsToken)(nil)).Elem() +} + +func (i ModelexperimentsTokenArray) ToModelexperimentsTokenArrayOutput() ModelexperimentsTokenArrayOutput { + return i.ToModelexperimentsTokenArrayOutputWithContext(context.Background()) +} + +func (i ModelexperimentsTokenArray) ToModelexperimentsTokenArrayOutputWithContext(ctx context.Context) ModelexperimentsTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ModelexperimentsTokenArrayOutput) +} + +// ModelexperimentsTokenMapInput is an input type that accepts ModelexperimentsTokenMap and ModelexperimentsTokenMapOutput values. +// You can construct a concrete instance of `ModelexperimentsTokenMapInput` via: +// +// ModelexperimentsTokenMap{ "key": ModelexperimentsTokenArgs{...} } +type ModelexperimentsTokenMapInput interface { + pulumi.Input + + ToModelexperimentsTokenMapOutput() ModelexperimentsTokenMapOutput + ToModelexperimentsTokenMapOutputWithContext(context.Context) ModelexperimentsTokenMapOutput +} + +type ModelexperimentsTokenMap map[string]ModelexperimentsTokenInput + +func (ModelexperimentsTokenMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ModelexperimentsToken)(nil)).Elem() +} + +func (i ModelexperimentsTokenMap) ToModelexperimentsTokenMapOutput() ModelexperimentsTokenMapOutput { + return i.ToModelexperimentsTokenMapOutputWithContext(context.Background()) +} + +func (i ModelexperimentsTokenMap) ToModelexperimentsTokenMapOutputWithContext(ctx context.Context) ModelexperimentsTokenMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ModelexperimentsTokenMapOutput) +} + +type ModelexperimentsTokenOutput struct{ *pulumi.OutputState } + +func (ModelexperimentsTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ModelexperimentsToken)(nil)).Elem() +} + +func (o ModelexperimentsTokenOutput) ToModelexperimentsTokenOutput() ModelexperimentsTokenOutput { + return o +} + +func (o ModelexperimentsTokenOutput) ToModelexperimentsTokenOutputWithContext(ctx context.Context) ModelexperimentsTokenOutput { + return o +} + +// The description is a longer text chosen by the user to provide more context for the resource. +func (o ModelexperimentsTokenOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The AI Model Experiments instance ID. +func (o ModelexperimentsTokenOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that can be attached to the resource +func (o ModelexperimentsTokenOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// The display name is a short name chosen by the user to identify the resource. +func (o ModelexperimentsTokenOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o ModelexperimentsTokenOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o ModelexperimentsTokenOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o ModelexperimentsTokenOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + +// The content of the AI Model Experiments instance token. +func (o ModelexperimentsTokenOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +// The AI Model Experiments instance token ID. +func (o ModelexperimentsTokenOutput) TokenId() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.TokenId }).(pulumi.StringOutput) +} + +// The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s +func (o ModelexperimentsTokenOutput) TtlDuration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringPtrOutput { return v.TtlDuration }).(pulumi.StringPtrOutput) +} + +// The time until the AI Model Experiments instance token is valid. +func (o ModelexperimentsTokenOutput) ValidUntil() pulumi.StringOutput { + return o.ApplyT(func(v *ModelexperimentsToken) pulumi.StringOutput { return v.ValidUntil }).(pulumi.StringOutput) +} + +type ModelexperimentsTokenArrayOutput struct{ *pulumi.OutputState } + +func (ModelexperimentsTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ModelexperimentsToken)(nil)).Elem() +} + +func (o ModelexperimentsTokenArrayOutput) ToModelexperimentsTokenArrayOutput() ModelexperimentsTokenArrayOutput { + return o +} + +func (o ModelexperimentsTokenArrayOutput) ToModelexperimentsTokenArrayOutputWithContext(ctx context.Context) ModelexperimentsTokenArrayOutput { + return o +} + +func (o ModelexperimentsTokenArrayOutput) Index(i pulumi.IntInput) ModelexperimentsTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ModelexperimentsToken { + return vs[0].([]*ModelexperimentsToken)[vs[1].(int)] + }).(ModelexperimentsTokenOutput) +} + +type ModelexperimentsTokenMapOutput struct{ *pulumi.OutputState } + +func (ModelexperimentsTokenMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ModelexperimentsToken)(nil)).Elem() +} + +func (o ModelexperimentsTokenMapOutput) ToModelexperimentsTokenMapOutput() ModelexperimentsTokenMapOutput { + return o +} + +func (o ModelexperimentsTokenMapOutput) ToModelexperimentsTokenMapOutputWithContext(ctx context.Context) ModelexperimentsTokenMapOutput { + return o +} + +func (o ModelexperimentsTokenMapOutput) MapIndex(k pulumi.StringInput) ModelexperimentsTokenOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ModelexperimentsToken { + return vs[0].(map[string]*ModelexperimentsToken)[vs[1].(string)] + }).(ModelexperimentsTokenOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ModelexperimentsTokenInput)(nil)).Elem(), &ModelexperimentsToken{}) + pulumi.RegisterInputType(reflect.TypeOf((*ModelexperimentsTokenArrayInput)(nil)).Elem(), ModelexperimentsTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ModelexperimentsTokenMapInput)(nil)).Elem(), ModelexperimentsTokenMap{}) + pulumi.RegisterOutputType(ModelexperimentsTokenOutput{}) + pulumi.RegisterOutputType(ModelexperimentsTokenArrayOutput{}) + pulumi.RegisterOutputType(ModelexperimentsTokenMapOutput{}) +} diff --git a/sdk/go/stackit/network.go b/sdk/go/stackit/network.go index 3e33dd67..f0a8eb0d 100644 --- a/sdk/go/stackit/network.go +++ b/sdk/go/stackit/network.go @@ -37,6 +37,8 @@ type Network struct { Ipv4PrefixLength pulumi.IntOutput `pulumi:"ipv4PrefixLength"` // The IPv4 prefixes of the network. Ipv4Prefixes pulumi.StringArrayOutput `pulumi:"ipv4Prefixes"` + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId pulumi.StringPtrOutput `pulumi:"ipv4VpcNetworkRangeId"` // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. Ipv6Gateway pulumi.StringOutput `pulumi:"ipv6Gateway"` // The IPv6 nameservers of the network. @@ -47,6 +49,8 @@ type Network struct { Ipv6PrefixLength pulumi.IntOutput `pulumi:"ipv6PrefixLength"` // The IPv6 prefixes of the network. Ipv6Prefixes pulumi.StringArrayOutput `pulumi:"ipv6Prefixes"` + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId pulumi.StringPtrOutput `pulumi:"ipv6VpcNetworkRangeId"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapOutput `pulumi:"labels"` // The name of the network. @@ -67,6 +71,8 @@ type Network struct { Routed pulumi.BoolOutput `pulumi:"routed"` // The ID of the routing table associated with the network. RoutingTableId pulumi.StringOutput `pulumi:"routingTableId"` + // The ID of the VPC the network is associated with. + VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` } // NewNetwork registers a new resource with the given unique name, arguments, and options. @@ -114,6 +120,8 @@ type networkState struct { Ipv4PrefixLength *int `pulumi:"ipv4PrefixLength"` // The IPv4 prefixes of the network. Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId *string `pulumi:"ipv4VpcNetworkRangeId"` // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. Ipv6Gateway *string `pulumi:"ipv6Gateway"` // The IPv6 nameservers of the network. @@ -124,6 +132,8 @@ type networkState struct { Ipv6PrefixLength *int `pulumi:"ipv6PrefixLength"` // The IPv6 prefixes of the network. Ipv6Prefixes []string `pulumi:"ipv6Prefixes"` + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId *string `pulumi:"ipv6VpcNetworkRangeId"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the network. @@ -144,6 +154,8 @@ type networkState struct { Routed *bool `pulumi:"routed"` // The ID of the routing table associated with the network. RoutingTableId *string `pulumi:"routingTableId"` + // The ID of the VPC the network is associated with. + VpcId *string `pulumi:"vpcId"` } type NetworkState struct { @@ -159,6 +171,8 @@ type NetworkState struct { Ipv4PrefixLength pulumi.IntPtrInput // The IPv4 prefixes of the network. Ipv4Prefixes pulumi.StringArrayInput + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId pulumi.StringPtrInput // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. Ipv6Gateway pulumi.StringPtrInput // The IPv6 nameservers of the network. @@ -169,6 +183,8 @@ type NetworkState struct { Ipv6PrefixLength pulumi.IntPtrInput // The IPv6 prefixes of the network. Ipv6Prefixes pulumi.StringArrayInput + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId pulumi.StringPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The name of the network. @@ -189,6 +205,8 @@ type NetworkState struct { Routed pulumi.BoolPtrInput // The ID of the routing table associated with the network. RoutingTableId pulumi.StringPtrInput + // The ID of the VPC the network is associated with. + VpcId pulumi.StringPtrInput } func (NetworkState) ElementType() reflect.Type { @@ -206,6 +224,8 @@ type networkArgs struct { Ipv4Prefix *string `pulumi:"ipv4Prefix"` // The IPv4 prefix length of the network. Ipv4PrefixLength *int `pulumi:"ipv4PrefixLength"` + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId *string `pulumi:"ipv4VpcNetworkRangeId"` // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. Ipv6Gateway *string `pulumi:"ipv6Gateway"` // The IPv6 nameservers of the network. @@ -214,6 +234,8 @@ type networkArgs struct { Ipv6Prefix *string `pulumi:"ipv6Prefix"` // The IPv6 prefix length of the network. Ipv6PrefixLength *int `pulumi:"ipv6PrefixLength"` + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId *string `pulumi:"ipv6VpcNetworkRangeId"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the network. @@ -230,6 +252,8 @@ type networkArgs struct { Routed *bool `pulumi:"routed"` // The ID of the routing table associated with the network. RoutingTableId *string `pulumi:"routingTableId"` + // The ID of the VPC the network is associated with. + VpcId *string `pulumi:"vpcId"` } // The set of arguments for constructing a Network resource. @@ -244,6 +268,8 @@ type NetworkArgs struct { Ipv4Prefix pulumi.StringPtrInput // The IPv4 prefix length of the network. Ipv4PrefixLength pulumi.IntPtrInput + // The IPv4 VPC network range ID. + Ipv4VpcNetworkRangeId pulumi.StringPtrInput // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. Ipv6Gateway pulumi.StringPtrInput // The IPv6 nameservers of the network. @@ -252,6 +278,8 @@ type NetworkArgs struct { Ipv6Prefix pulumi.StringPtrInput // The IPv6 prefix length of the network. Ipv6PrefixLength pulumi.IntPtrInput + // The IPv6 VPC network range ID. + Ipv6VpcNetworkRangeId pulumi.StringPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The name of the network. @@ -268,6 +296,8 @@ type NetworkArgs struct { Routed pulumi.BoolPtrInput // The ID of the routing table associated with the network. RoutingTableId pulumi.StringPtrInput + // The ID of the VPC the network is associated with. + VpcId pulumi.StringPtrInput } func (NetworkArgs) ElementType() reflect.Type { @@ -387,6 +417,11 @@ func (o NetworkOutput) Ipv4Prefixes() pulumi.StringArrayOutput { return o.ApplyT(func(v *Network) pulumi.StringArrayOutput { return v.Ipv4Prefixes }).(pulumi.StringArrayOutput) } +// The IPv4 VPC network range ID. +func (o NetworkOutput) Ipv4VpcNetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Network) pulumi.StringPtrOutput { return v.Ipv4VpcNetworkRangeId }).(pulumi.StringPtrOutput) +} + // The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. func (o NetworkOutput) Ipv6Gateway() pulumi.StringOutput { return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.Ipv6Gateway }).(pulumi.StringOutput) @@ -412,6 +447,11 @@ func (o NetworkOutput) Ipv6Prefixes() pulumi.StringArrayOutput { return o.ApplyT(func(v *Network) pulumi.StringArrayOutput { return v.Ipv6Prefixes }).(pulumi.StringArrayOutput) } +// The IPv6 VPC network range ID. +func (o NetworkOutput) Ipv6VpcNetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Network) pulumi.StringPtrOutput { return v.Ipv6VpcNetworkRangeId }).(pulumi.StringPtrOutput) +} + // Labels are key-value string pairs which can be attached to a resource container func (o NetworkOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *Network) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) @@ -462,6 +502,11 @@ func (o NetworkOutput) RoutingTableId() pulumi.StringOutput { return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.RoutingTableId }).(pulumi.StringOutput) } +// The ID of the VPC the network is associated with. +func (o NetworkOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Network) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) +} + type NetworkArrayOutput struct{ *pulumi.OutputState } func (NetworkArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/stackit/networkArea.go b/sdk/go/stackit/networkArea.go index ccd7c63a..da8bb87e 100644 --- a/sdk/go/stackit/networkArea.go +++ b/sdk/go/stackit/networkArea.go @@ -43,40 +43,16 @@ import ( type NetworkArea struct { pulumi.CustomResourceState - // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultNameservers pulumi.StringArrayOutput `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultPrefixLength pulumi.IntOutput `pulumi:"defaultPrefixLength"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapOutput `pulumi:"labels"` - // The maximal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MaxPrefixLength pulumi.IntOutput `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MinPrefixLength pulumi.IntOutput `pulumi:"minPrefixLength"` // The name of the network area. Name pulumi.StringOutput `pulumi:"name"` // The network area ID. NetworkAreaId pulumi.StringOutput `pulumi:"networkAreaId"` - // List of Network ranges for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRanges NetworkAreaNetworkRangeArrayOutput `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringOutput `pulumi:"organizationId"` // The amount of projects currently referencing this area. ProjectCount pulumi.IntOutput `pulumi:"projectCount"` - // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - TransferNetwork pulumi.StringPtrOutput `pulumi:"transferNetwork"` } // NewNetworkArea registers a new resource with the given unique name, arguments, and options. @@ -112,77 +88,29 @@ func GetNetworkArea(ctx *pulumi.Context, // Input properties used for looking up and filtering NetworkArea resources. type networkAreaState struct { - // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` - // The maximal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MaxPrefixLength *int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MinPrefixLength *int `pulumi:"minPrefixLength"` // The name of the network area. Name *string `pulumi:"name"` // The network area ID. NetworkAreaId *string `pulumi:"networkAreaId"` - // List of Network ranges for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRanges []NetworkAreaNetworkRange `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId *string `pulumi:"organizationId"` // The amount of projects currently referencing this area. ProjectCount *int `pulumi:"projectCount"` - // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - TransferNetwork *string `pulumi:"transferNetwork"` } type NetworkAreaState struct { - // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultNameservers pulumi.StringArrayInput - // The default prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultPrefixLength pulumi.IntPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput - // The maximal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MaxPrefixLength pulumi.IntPtrInput - // The minimal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MinPrefixLength pulumi.IntPtrInput // The name of the network area. Name pulumi.StringPtrInput // The network area ID. NetworkAreaId pulumi.StringPtrInput - // List of Network ranges for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRanges NetworkAreaNetworkRangeArrayInput // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringPtrInput // The amount of projects currently referencing this area. ProjectCount pulumi.IntPtrInput - // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - TransferNetwork pulumi.StringPtrInput } func (NetworkAreaState) ElementType() reflect.Type { @@ -190,70 +118,22 @@ func (NetworkAreaState) ElementType() reflect.Type { } type networkAreaArgs struct { - // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` - // The maximal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MaxPrefixLength *int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MinPrefixLength *int `pulumi:"minPrefixLength"` // The name of the network area. Name *string `pulumi:"name"` - // List of Network ranges for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRanges []NetworkAreaNetworkRange `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` - // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - TransferNetwork *string `pulumi:"transferNetwork"` } // The set of arguments for constructing a NetworkArea resource. type NetworkAreaArgs struct { - // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultNameservers pulumi.StringArrayInput - // The default prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - DefaultPrefixLength pulumi.IntPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput - // The maximal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MaxPrefixLength pulumi.IntPtrInput - // The minimal prefix length for networks in the network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - MinPrefixLength pulumi.IntPtrInput // The name of the network area. Name pulumi.StringPtrInput - // List of Network ranges for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRanges NetworkAreaNetworkRangeArrayInput // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringInput - // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - TransferNetwork pulumi.StringPtrInput } func (NetworkAreaArgs) ElementType() reflect.Type { @@ -343,39 +223,11 @@ func (o NetworkAreaOutput) ToNetworkAreaOutputWithContext(ctx context.Context) N return o } -// List of DNS Servers/Nameservers for configuration of network area for region `eu01`. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaOutput) DefaultNameservers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkArea) pulumi.StringArrayOutput { return v.DefaultNameservers }).(pulumi.StringArrayOutput) -} - -// The default prefix length for networks in the network area for region `eu01`. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaOutput) DefaultPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.DefaultPrefixLength }).(pulumi.IntOutput) -} - // Labels are key-value string pairs which can be attached to a resource container func (o NetworkAreaOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) } -// The maximal prefix length for networks in the network area for region `eu01`. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaOutput) MaxPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.MaxPrefixLength }).(pulumi.IntOutput) -} - -// The minimal prefix length for networks in the network area for region `eu01`. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaOutput) MinPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.MinPrefixLength }).(pulumi.IntOutput) -} - // The name of the network area. func (o NetworkAreaOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -386,13 +238,6 @@ func (o NetworkAreaOutput) NetworkAreaId() pulumi.StringOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringOutput { return v.NetworkAreaId }).(pulumi.StringOutput) } -// List of Network ranges for configuration of network area for region `eu01`. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaOutput) NetworkRanges() NetworkAreaNetworkRangeArrayOutput { - return o.ApplyT(func(v *NetworkArea) NetworkAreaNetworkRangeArrayOutput { return v.NetworkRanges }).(NetworkAreaNetworkRangeArrayOutput) -} - // STACKIT organization ID to which the network area is associated. func (o NetworkAreaOutput) OrganizationId() pulumi.StringOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput) @@ -403,13 +248,6 @@ func (o NetworkAreaOutput) ProjectCount() pulumi.IntOutput { return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.ProjectCount }).(pulumi.IntOutput) } -// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaOutput) TransferNetwork() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkArea) pulumi.StringPtrOutput { return v.TransferNetwork }).(pulumi.StringPtrOutput) -} - type NetworkAreaArrayOutput struct{ *pulumi.OutputState } func (NetworkAreaArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/stackit/opensearchCredential.go b/sdk/go/stackit/opensearchCredential.go index 74792207..0a71135e 100644 --- a/sdk/go/stackit/opensearchCredential.go +++ b/sdk/go/stackit/opensearchCredential.go @@ -32,6 +32,8 @@ type OpensearchCredential struct { Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` Scheme pulumi.StringOutput `pulumi:"scheme"` @@ -90,6 +92,8 @@ type opensearchCredentialState struct { Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` Scheme *string `pulumi:"scheme"` @@ -108,6 +112,8 @@ type OpensearchCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapInput Scheme pulumi.StringPtrInput @@ -124,6 +130,8 @@ type opensearchCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } @@ -134,6 +142,8 @@ type OpensearchCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapInput } @@ -256,6 +266,11 @@ func (o OpensearchCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *OpensearchCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o OpensearchCredentialOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *OpensearchCredential) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. func (o OpensearchCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { return o.ApplyT(func(v *OpensearchCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) diff --git a/sdk/go/stackit/opensearchInstance.go b/sdk/go/stackit/opensearchInstance.go index b2992d17..520d14e0 100644 --- a/sdk/go/stackit/opensearchInstance.go +++ b/sdk/go/stackit/opensearchInstance.go @@ -39,6 +39,8 @@ type OpensearchInstance struct { PlanName pulumi.StringOutput `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The service version. Version pulumi.StringOutput `pulumi:"version"` } @@ -99,6 +101,8 @@ type opensearchInstanceState struct { PlanName *string `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The service version. Version *string `pulumi:"version"` } @@ -121,6 +125,8 @@ type OpensearchInstanceState struct { PlanName pulumi.StringPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The service version. Version pulumi.StringPtrInput } @@ -138,6 +144,8 @@ type opensearchInstanceArgs struct { PlanName string `pulumi:"planName"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The service version. Version string `pulumi:"version"` } @@ -152,6 +160,8 @@ type OpensearchInstanceArgs struct { PlanName pulumi.StringInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The service version. Version pulumi.StringInput } @@ -293,6 +303,11 @@ func (o OpensearchInstanceOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *OpensearchInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o OpensearchInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *OpensearchInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The service version. func (o OpensearchInstanceOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v *OpensearchInstance) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/postgresflexInstance.go b/sdk/go/stackit/postgresflexInstance.go index d0eb1705..0b1ab6d4 100644 --- a/sdk/go/stackit/postgresflexInstance.go +++ b/sdk/go/stackit/postgresflexInstance.go @@ -23,22 +23,36 @@ type PostgresflexInstance struct { pulumi.CustomResourceState // The Access Control List (ACL) for the PostgresFlex instance. + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls pulumi.StringArrayOutput `pulumi:"acls"` // The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. - BackupSchedule pulumi.StringOutput `pulumi:"backupSchedule"` - Flavor PostgresflexInstanceFlavorOutput `pulumi:"flavor"` + BackupSchedule pulumi.StringOutput `pulumi:"backupSchedule"` + // The connection info for the PostgresFlex instance. + ConnectionInfo PostgresflexInstanceConnectionInfoOutput `pulumi:"connectionInfo"` + Encryption PostgresflexInstanceEncryptionPtrOutput `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`. + Flavor PostgresflexInstanceFlavorOutput `pulumi:"flavor"` + // The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getPostgresflexFlavors` + FlavorId pulumi.StringOutput `pulumi:"flavorId"` // ID of the PostgresFlex instance. InstanceId pulumi.StringOutput `pulumi:"instanceId"` // Instance name. Name pulumi.StringOutput `pulumi:"name"` + // The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + Network PostgresflexInstanceNetworkOutput `pulumi:"network"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` - // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. - Replicas pulumi.IntOutput `pulumi:"replicas"` - Storage PostgresflexInstanceStorageOutput `pulumi:"storage"` - Version pulumi.StringOutput `pulumi:"version"` + // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + // + // Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. + Replicas pulumi.IntOutput `pulumi:"replicas"` + // How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + RetentionDays pulumi.IntOutput `pulumi:"retentionDays"` + Storage PostgresflexInstanceStorageOutput `pulumi:"storage"` + Version pulumi.StringOutput `pulumi:"version"` } // NewPostgresflexInstance registers a new resource with the given unique name, arguments, and options. @@ -48,21 +62,12 @@ func NewPostgresflexInstance(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } - if args.Acls == nil { - return nil, errors.New("invalid value for required argument 'Acls'") - } if args.BackupSchedule == nil { return nil, errors.New("invalid value for required argument 'BackupSchedule'") } - if args.Flavor == nil { - return nil, errors.New("invalid value for required argument 'Flavor'") - } if args.ProjectId == nil { return nil, errors.New("invalid value for required argument 'ProjectId'") } - if args.Replicas == nil { - return nil, errors.New("invalid value for required argument 'Replicas'") - } if args.Storage == nil { return nil, errors.New("invalid value for required argument 'Storage'") } @@ -93,42 +98,70 @@ func GetPostgresflexInstance(ctx *pulumi.Context, // Input properties used for looking up and filtering PostgresflexInstance resources. type postgresflexInstanceState struct { // The Access Control List (ACL) for the PostgresFlex instance. + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls []string `pulumi:"acls"` // The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. - BackupSchedule *string `pulumi:"backupSchedule"` - Flavor *PostgresflexInstanceFlavor `pulumi:"flavor"` + BackupSchedule *string `pulumi:"backupSchedule"` + // The connection info for the PostgresFlex instance. + ConnectionInfo *PostgresflexInstanceConnectionInfo `pulumi:"connectionInfo"` + Encryption *PostgresflexInstanceEncryption `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`. + Flavor *PostgresflexInstanceFlavor `pulumi:"flavor"` + // The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getPostgresflexFlavors` + FlavorId *string `pulumi:"flavorId"` // ID of the PostgresFlex instance. InstanceId *string `pulumi:"instanceId"` // Instance name. Name *string `pulumi:"name"` + // The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + Network *PostgresflexInstanceNetwork `pulumi:"network"` // STACKIT project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` - // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. - Replicas *int `pulumi:"replicas"` - Storage *PostgresflexInstanceStorage `pulumi:"storage"` - Version *string `pulumi:"version"` + // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + // + // Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. + Replicas *int `pulumi:"replicas"` + // How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + RetentionDays *int `pulumi:"retentionDays"` + Storage *PostgresflexInstanceStorage `pulumi:"storage"` + Version *string `pulumi:"version"` } type PostgresflexInstanceState struct { // The Access Control List (ACL) for the PostgresFlex instance. + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls pulumi.StringArrayInput // The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. BackupSchedule pulumi.StringPtrInput - Flavor PostgresflexInstanceFlavorPtrInput + // The connection info for the PostgresFlex instance. + ConnectionInfo PostgresflexInstanceConnectionInfoPtrInput + Encryption PostgresflexInstanceEncryptionPtrInput + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`. + Flavor PostgresflexInstanceFlavorPtrInput + // The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getPostgresflexFlavors` + FlavorId pulumi.StringPtrInput // ID of the PostgresFlex instance. InstanceId pulumi.StringPtrInput // Instance name. Name pulumi.StringPtrInput + // The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + Network PostgresflexInstanceNetworkPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringPtrInput // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput - // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + // + // Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. Replicas pulumi.IntPtrInput - Storage PostgresflexInstanceStoragePtrInput - Version pulumi.StringPtrInput + // How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + RetentionDays pulumi.IntPtrInput + Storage PostgresflexInstanceStoragePtrInput + Version pulumi.StringPtrInput } func (PostgresflexInstanceState) ElementType() reflect.Type { @@ -137,39 +170,63 @@ func (PostgresflexInstanceState) ElementType() reflect.Type { type postgresflexInstanceArgs struct { // The Access Control List (ACL) for the PostgresFlex instance. + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls []string `pulumi:"acls"` // The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. - BackupSchedule string `pulumi:"backupSchedule"` - Flavor PostgresflexInstanceFlavor `pulumi:"flavor"` + BackupSchedule string `pulumi:"backupSchedule"` + Encryption *PostgresflexInstanceEncryption `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`. + Flavor *PostgresflexInstanceFlavor `pulumi:"flavor"` + // The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getPostgresflexFlavors` + FlavorId *string `pulumi:"flavorId"` // Instance name. Name *string `pulumi:"name"` + // The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + Network *PostgresflexInstanceNetwork `pulumi:"network"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` - // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. - Replicas int `pulumi:"replicas"` - Storage PostgresflexInstanceStorage `pulumi:"storage"` - Version string `pulumi:"version"` + // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + // + // Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. + Replicas *int `pulumi:"replicas"` + // How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + RetentionDays *int `pulumi:"retentionDays"` + Storage PostgresflexInstanceStorage `pulumi:"storage"` + Version string `pulumi:"version"` } // The set of arguments for constructing a PostgresflexInstance resource. type PostgresflexInstanceArgs struct { // The Access Control List (ACL) for the PostgresFlex instance. + // + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls pulumi.StringArrayInput // The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. BackupSchedule pulumi.StringInput - Flavor PostgresflexInstanceFlavorInput + Encryption PostgresflexInstanceEncryptionPtrInput + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`. + Flavor PostgresflexInstanceFlavorPtrInput + // The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getPostgresflexFlavors` + FlavorId pulumi.StringPtrInput // Instance name. Name pulumi.StringPtrInput + // The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + Network PostgresflexInstanceNetworkPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput - // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. - Replicas pulumi.IntInput - Storage PostgresflexInstanceStorageInput - Version pulumi.StringInput + // How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + // + // Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. + Replicas pulumi.IntPtrInput + // How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + RetentionDays pulumi.IntPtrInput + Storage PostgresflexInstanceStorageInput + Version pulumi.StringInput } func (PostgresflexInstanceArgs) ElementType() reflect.Type { @@ -260,6 +317,8 @@ func (o PostgresflexInstanceOutput) ToPostgresflexInstanceOutputWithContext(ctx } // The Access Control List (ACL) for the PostgresFlex instance. +// +// Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. func (o PostgresflexInstanceOutput) Acls() pulumi.StringArrayOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringArrayOutput { return v.Acls }).(pulumi.StringArrayOutput) } @@ -269,10 +328,25 @@ func (o PostgresflexInstanceOutput) BackupSchedule() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringOutput { return v.BackupSchedule }).(pulumi.StringOutput) } +// The connection info for the PostgresFlex instance. +func (o PostgresflexInstanceOutput) ConnectionInfo() PostgresflexInstanceConnectionInfoOutput { + return o.ApplyT(func(v *PostgresflexInstance) PostgresflexInstanceConnectionInfoOutput { return v.ConnectionInfo }).(PostgresflexInstanceConnectionInfoOutput) +} + +func (o PostgresflexInstanceOutput) Encryption() PostgresflexInstanceEncryptionPtrOutput { + return o.ApplyT(func(v *PostgresflexInstance) PostgresflexInstanceEncryptionPtrOutput { return v.Encryption }).(PostgresflexInstanceEncryptionPtrOutput) +} + +// Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getPostgresflexFlavors`. func (o PostgresflexInstanceOutput) Flavor() PostgresflexInstanceFlavorOutput { return o.ApplyT(func(v *PostgresflexInstance) PostgresflexInstanceFlavorOutput { return v.Flavor }).(PostgresflexInstanceFlavorOutput) } +// The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getPostgresflexFlavors` +func (o PostgresflexInstanceOutput) FlavorId() pulumi.StringOutput { + return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringOutput { return v.FlavorId }).(pulumi.StringOutput) +} + // ID of the PostgresFlex instance. func (o PostgresflexInstanceOutput) InstanceId() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) @@ -283,6 +357,11 @@ func (o PostgresflexInstanceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. +func (o PostgresflexInstanceOutput) Network() PostgresflexInstanceNetworkOutput { + return o.ApplyT(func(v *PostgresflexInstance) PostgresflexInstanceNetworkOutput { return v.Network }).(PostgresflexInstanceNetworkOutput) +} + // STACKIT project ID to which the instance is associated. func (o PostgresflexInstanceOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) @@ -293,11 +372,18 @@ func (o PostgresflexInstanceOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } -// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. +// How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` +// +// Deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `getPostgresflexFlavors`. func (o PostgresflexInstanceOutput) Replicas() pulumi.IntOutput { return o.ApplyT(func(v *PostgresflexInstance) pulumi.IntOutput { return v.Replicas }).(pulumi.IntOutput) } +// How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. +func (o PostgresflexInstanceOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v *PostgresflexInstance) pulumi.IntOutput { return v.RetentionDays }).(pulumi.IntOutput) +} + func (o PostgresflexInstanceOutput) Storage() PostgresflexInstanceStorageOutput { return o.ApplyT(func(v *PostgresflexInstance) PostgresflexInstanceStorageOutput { return v.Storage }).(PostgresflexInstanceStorageOutput) } diff --git a/sdk/go/stackit/postgresflexUser.go b/sdk/go/stackit/postgresflexUser.go index 15824659..008f4ce2 100644 --- a/sdk/go/stackit/postgresflexUser.go +++ b/sdk/go/stackit/postgresflexUser.go @@ -22,11 +22,13 @@ import ( type PostgresflexUser struct { pulumi.CustomResourceState + // Deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`. Host pulumi.StringOutput `pulumi:"host"` // ID of the PostgresFlex instance. InstanceId pulumi.StringOutput `pulumi:"instanceId"` Password pulumi.StringOutput `pulumi:"password"` - Port pulumi.IntOutput `pulumi:"port"` + // Deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`. + Port pulumi.IntOutput `pulumi:"port"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. @@ -35,7 +37,8 @@ type PostgresflexUser struct { Roles pulumi.StringArrayOutput `pulumi:"roles"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` - Uri pulumi.StringOutput `pulumi:"uri"` + // Deprecated: uri is deprecated and will be removed after February 2027. + Uri pulumi.StringOutput `pulumi:"uri"` // User ID. UserId pulumi.StringOutput `pulumi:"userId"` Username pulumi.StringOutput `pulumi:"username"` @@ -88,11 +91,13 @@ func GetPostgresflexUser(ctx *pulumi.Context, // Input properties used for looking up and filtering PostgresflexUser resources. type postgresflexUserState struct { + // Deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`. Host *string `pulumi:"host"` // ID of the PostgresFlex instance. InstanceId *string `pulumi:"instanceId"` Password *string `pulumi:"password"` - Port *int `pulumi:"port"` + // Deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`. + Port *int `pulumi:"port"` // STACKIT project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. @@ -101,18 +106,21 @@ type postgresflexUserState struct { Roles []string `pulumi:"roles"` // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` - Uri *string `pulumi:"uri"` + // Deprecated: uri is deprecated and will be removed after February 2027. + Uri *string `pulumi:"uri"` // User ID. UserId *string `pulumi:"userId"` Username *string `pulumi:"username"` } type PostgresflexUserState struct { + // Deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`. Host pulumi.StringPtrInput // ID of the PostgresFlex instance. InstanceId pulumi.StringPtrInput Password pulumi.StringPtrInput - Port pulumi.IntPtrInput + // Deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`. + Port pulumi.IntPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringPtrInput // The resource region. If not defined, the provider region is used. @@ -121,7 +129,8 @@ type PostgresflexUserState struct { Roles pulumi.StringArrayInput // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. RotateWhenChanged pulumi.StringMapInput - Uri pulumi.StringPtrInput + // Deprecated: uri is deprecated and will be removed after February 2027. + Uri pulumi.StringPtrInput // User ID. UserId pulumi.StringPtrInput Username pulumi.StringPtrInput @@ -247,6 +256,7 @@ func (o PostgresflexUserOutput) ToPostgresflexUserOutputWithContext(ctx context. return o } +// Deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`. func (o PostgresflexUserOutput) Host() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringOutput { return v.Host }).(pulumi.StringOutput) } @@ -260,6 +270,7 @@ func (o PostgresflexUserOutput) Password() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) } +// Deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`. func (o PostgresflexUserOutput) Port() pulumi.IntOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.IntOutput { return v.Port }).(pulumi.IntOutput) } @@ -284,6 +295,7 @@ func (o PostgresflexUserOutput) RotateWhenChanged() pulumi.StringMapOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) } +// Deprecated: uri is deprecated and will be removed after February 2027. func (o PostgresflexUserOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/provider.go b/sdk/go/stackit/provider.go index 7b32055c..16bc6710 100644 --- a/sdk/go/stackit/provider.go +++ b/sdk/go/stackit/provider.go @@ -22,6 +22,8 @@ type Provider struct { AlbCertificatesCustomEndpoint pulumi.StringPtrOutput `pulumi:"albCertificatesCustomEndpoint"` // Custom endpoint for the Application Load Balancer service AlbCustomEndpoint pulumi.StringPtrOutput `pulumi:"albCustomEndpoint"` + // Custom endpoint for the Application Load Balancer Web Application Firewall service + AlbWafCustomEndpoint pulumi.StringPtrOutput `pulumi:"albWafCustomEndpoint"` // Custom endpoint for the Membership service AuthorizationCustomEndpoint pulumi.StringPtrOutput `pulumi:"authorizationCustomEndpoint"` // Custom endpoint for the CDN service @@ -52,6 +54,8 @@ type Provider struct { LogsCustomEndpoint pulumi.StringPtrOutput `pulumi:"logsCustomEndpoint"` // Custom endpoint for the MariaDB service MariadbCustomEndpoint pulumi.StringPtrOutput `pulumi:"mariadbCustomEndpoint"` + // Custom endpoint for the AI Model Experiments service + ModelexperimentsCustomEndpoint pulumi.StringPtrOutput `pulumi:"modelexperimentsCustomEndpoint"` // Custom endpoint for the AI Model Serving service ModelservingCustomEndpoint pulumi.StringPtrOutput `pulumi:"modelservingCustomEndpoint"` // Custom endpoint for the MongoDB Flex service @@ -76,10 +80,6 @@ type Provider struct { RabbitmqCustomEndpoint pulumi.StringPtrOutput `pulumi:"rabbitmqCustomEndpoint"` // Custom endpoint for the Redis service RedisCustomEndpoint pulumi.StringPtrOutput `pulumi:"redisCustomEndpoint"` - // Region will be used as the default location for regional services. Not all services require a region, some are global - // - // Deprecated: This attribute is deprecated. Use 'default_region' instead - Region pulumi.StringPtrOutput `pulumi:"region"` // Custom endpoint for the Resource Manager service ResourcemanagerCustomEndpoint pulumi.StringPtrOutput `pulumi:"resourcemanagerCustomEndpoint"` // Custom endpoint for the Cloud Foundry (SCF) service @@ -145,6 +145,8 @@ type providerArgs struct { AlbCertificatesCustomEndpoint *string `pulumi:"albCertificatesCustomEndpoint"` // Custom endpoint for the Application Load Balancer service AlbCustomEndpoint *string `pulumi:"albCustomEndpoint"` + // Custom endpoint for the Application Load Balancer Web Application Firewall service + AlbWafCustomEndpoint *string `pulumi:"albWafCustomEndpoint"` // Custom endpoint for the Membership service AuthorizationCustomEndpoint *string `pulumi:"authorizationCustomEndpoint"` // Custom endpoint for the CDN service @@ -179,6 +181,8 @@ type providerArgs struct { LogsCustomEndpoint *string `pulumi:"logsCustomEndpoint"` // Custom endpoint for the MariaDB service MariadbCustomEndpoint *string `pulumi:"mariadbCustomEndpoint"` + // Custom endpoint for the AI Model Experiments service + ModelexperimentsCustomEndpoint *string `pulumi:"modelexperimentsCustomEndpoint"` // Custom endpoint for the AI Model Serving service ModelservingCustomEndpoint *string `pulumi:"modelservingCustomEndpoint"` // Custom endpoint for the MongoDB Flex service @@ -203,10 +207,6 @@ type providerArgs struct { RabbitmqCustomEndpoint *string `pulumi:"rabbitmqCustomEndpoint"` // Custom endpoint for the Redis service RedisCustomEndpoint *string `pulumi:"redisCustomEndpoint"` - // Region will be used as the default location for regional services. Not all services require a region, some are global - // - // Deprecated: This attribute is deprecated. Use 'default_region' instead - Region *string `pulumi:"region"` // Custom endpoint for the Resource Manager service ResourcemanagerCustomEndpoint *string `pulumi:"resourcemanagerCustomEndpoint"` // Custom endpoint for the Cloud Foundry (SCF) service @@ -259,6 +259,8 @@ type ProviderArgs struct { AlbCertificatesCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the Application Load Balancer service AlbCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Application Load Balancer Web Application Firewall service + AlbWafCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the Membership service AuthorizationCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the CDN service @@ -293,6 +295,8 @@ type ProviderArgs struct { LogsCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the MariaDB service MariadbCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the AI Model Experiments service + ModelexperimentsCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the AI Model Serving service ModelservingCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the MongoDB Flex service @@ -317,10 +321,6 @@ type ProviderArgs struct { RabbitmqCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the Redis service RedisCustomEndpoint pulumi.StringPtrInput - // Region will be used as the default location for regional services. Not all services require a region, some are global - // - // Deprecated: This attribute is deprecated. Use 'default_region' instead - Region pulumi.StringPtrInput // Custom endpoint for the Resource Manager service ResourcemanagerCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the Cloud Foundry (SCF) service @@ -437,6 +437,11 @@ func (o ProviderOutput) AlbCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.AlbCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the Application Load Balancer Web Application Firewall service +func (o ProviderOutput) AlbWafCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.AlbWafCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the Membership service func (o ProviderOutput) AuthorizationCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.AuthorizationCustomEndpoint }).(pulumi.StringPtrOutput) @@ -512,6 +517,11 @@ func (o ProviderOutput) MariadbCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.MariadbCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the AI Model Experiments service +func (o ProviderOutput) ModelexperimentsCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ModelexperimentsCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the AI Model Serving service func (o ProviderOutput) ModelservingCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ModelservingCustomEndpoint }).(pulumi.StringPtrOutput) @@ -572,13 +582,6 @@ func (o ProviderOutput) RedisCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.RedisCustomEndpoint }).(pulumi.StringPtrOutput) } -// Region will be used as the default location for regional services. Not all services require a region, some are global -// -// Deprecated: This attribute is deprecated. Use 'default_region' instead -func (o ProviderOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Region }).(pulumi.StringPtrOutput) -} - // Custom endpoint for the Resource Manager service func (o ProviderOutput) ResourcemanagerCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ResourcemanagerCustomEndpoint }).(pulumi.StringPtrOutput) diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index 2cccacc3..f9546a53 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -13,6 +13,674 @@ import ( var _ = internal.GetEnvOrDefault +type AlbWafCustomRuleGroupRule struct { + Behavior AlbWafCustomRuleGroupRuleBehavior `pulumi:"behavior"` + Conditions []AlbWafCustomRuleGroupRuleCondition `pulumi:"conditions"` + // A clear description explaining the threat vector or criteria addressed by this rule. + Description *string `pulumi:"description"` + // Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + Id *int `pulumi:"id"` +} + +// AlbWafCustomRuleGroupRuleInput is an input type that accepts AlbWafCustomRuleGroupRuleArgs and AlbWafCustomRuleGroupRuleOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleInput` via: +// +// AlbWafCustomRuleGroupRuleArgs{...} +type AlbWafCustomRuleGroupRuleInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleOutput() AlbWafCustomRuleGroupRuleOutput + ToAlbWafCustomRuleGroupRuleOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleOutput +} + +type AlbWafCustomRuleGroupRuleArgs struct { + Behavior AlbWafCustomRuleGroupRuleBehaviorInput `pulumi:"behavior"` + Conditions AlbWafCustomRuleGroupRuleConditionArrayInput `pulumi:"conditions"` + // A clear description explaining the threat vector or criteria addressed by this rule. + Description pulumi.StringPtrInput `pulumi:"description"` + // Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + Id pulumi.IntPtrInput `pulumi:"id"` +} + +func (AlbWafCustomRuleGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleArgs) ToAlbWafCustomRuleGroupRuleOutput() AlbWafCustomRuleGroupRuleOutput { + return i.ToAlbWafCustomRuleGroupRuleOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleArgs) ToAlbWafCustomRuleGroupRuleOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleOutput) +} + +// AlbWafCustomRuleGroupRuleArrayInput is an input type that accepts AlbWafCustomRuleGroupRuleArray and AlbWafCustomRuleGroupRuleArrayOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleArrayInput` via: +// +// AlbWafCustomRuleGroupRuleArray{ AlbWafCustomRuleGroupRuleArgs{...} } +type AlbWafCustomRuleGroupRuleArrayInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleArrayOutput() AlbWafCustomRuleGroupRuleArrayOutput + ToAlbWafCustomRuleGroupRuleArrayOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleArrayOutput +} + +type AlbWafCustomRuleGroupRuleArray []AlbWafCustomRuleGroupRuleInput + +func (AlbWafCustomRuleGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleArray) ToAlbWafCustomRuleGroupRuleArrayOutput() AlbWafCustomRuleGroupRuleArrayOutput { + return i.ToAlbWafCustomRuleGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleArray) ToAlbWafCustomRuleGroupRuleArrayOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleArrayOutput) +} + +type AlbWafCustomRuleGroupRuleOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleOutput) ToAlbWafCustomRuleGroupRuleOutput() AlbWafCustomRuleGroupRuleOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleOutput) ToAlbWafCustomRuleGroupRuleOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleOutput) Behavior() AlbWafCustomRuleGroupRuleBehaviorOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRule) AlbWafCustomRuleGroupRuleBehavior { return v.Behavior }).(AlbWafCustomRuleGroupRuleBehaviorOutput) +} + +func (o AlbWafCustomRuleGroupRuleOutput) Conditions() AlbWafCustomRuleGroupRuleConditionArrayOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRule) []AlbWafCustomRuleGroupRuleCondition { return v.Conditions }).(AlbWafCustomRuleGroupRuleConditionArrayOutput) +} + +// A clear description explaining the threat vector or criteria addressed by this rule. +func (o AlbWafCustomRuleGroupRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Backend auto-allocated unique rule ID within the valid 1-99999 threshold. +func (o AlbWafCustomRuleGroupRuleOutput) Id() pulumi.IntPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRule) *int { return v.Id }).(pulumi.IntPtrOutput) +} + +type AlbWafCustomRuleGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleArrayOutput) ToAlbWafCustomRuleGroupRuleArrayOutput() AlbWafCustomRuleGroupRuleArrayOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleArrayOutput) ToAlbWafCustomRuleGroupRuleArrayOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleArrayOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleArrayOutput) Index(i pulumi.IntInput) AlbWafCustomRuleGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AlbWafCustomRuleGroupRule { + return vs[0].([]AlbWafCustomRuleGroupRule)[vs[1].(int)] + }).(AlbWafCustomRuleGroupRuleOutput) +} + +type AlbWafCustomRuleGroupRuleBehavior struct { + // The protective stance action. ACTION_DENY forces a 403 status response code. + Action string `pulumi:"action"` + // Determines whether an entry should be generated in the security ledger upon a rule hit. + Log *bool `pulumi:"log"` + // Custom notification message string mapped to underlying logdata contexts. Required if log is true. + LogMsg *string `pulumi:"logMsg"` + // Severity classification metric used by internal analytics graphs. + Severity *string `pulumi:"severity"` +} + +// AlbWafCustomRuleGroupRuleBehaviorInput is an input type that accepts AlbWafCustomRuleGroupRuleBehaviorArgs and AlbWafCustomRuleGroupRuleBehaviorOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleBehaviorInput` via: +// +// AlbWafCustomRuleGroupRuleBehaviorArgs{...} +type AlbWafCustomRuleGroupRuleBehaviorInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleBehaviorOutput() AlbWafCustomRuleGroupRuleBehaviorOutput + ToAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleBehaviorOutput +} + +type AlbWafCustomRuleGroupRuleBehaviorArgs struct { + // The protective stance action. ACTION_DENY forces a 403 status response code. + Action pulumi.StringInput `pulumi:"action"` + // Determines whether an entry should be generated in the security ledger upon a rule hit. + Log pulumi.BoolPtrInput `pulumi:"log"` + // Custom notification message string mapped to underlying logdata contexts. Required if log is true. + LogMsg pulumi.StringPtrInput `pulumi:"logMsg"` + // Severity classification metric used by internal analytics graphs. + Severity pulumi.StringPtrInput `pulumi:"severity"` +} + +func (AlbWafCustomRuleGroupRuleBehaviorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleBehavior)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleBehaviorArgs) ToAlbWafCustomRuleGroupRuleBehaviorOutput() AlbWafCustomRuleGroupRuleBehaviorOutput { + return i.ToAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleBehaviorArgs) ToAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleBehaviorOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleBehaviorOutput) +} + +type AlbWafCustomRuleGroupRuleBehaviorOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleBehaviorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleBehavior)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleBehaviorOutput) ToAlbWafCustomRuleGroupRuleBehaviorOutput() AlbWafCustomRuleGroupRuleBehaviorOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleBehaviorOutput) ToAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleBehaviorOutput { + return o +} + +// The protective stance action. ACTION_DENY forces a 403 status response code. +func (o AlbWafCustomRuleGroupRuleBehaviorOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleBehavior) string { return v.Action }).(pulumi.StringOutput) +} + +// Determines whether an entry should be generated in the security ledger upon a rule hit. +func (o AlbWafCustomRuleGroupRuleBehaviorOutput) Log() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleBehavior) *bool { return v.Log }).(pulumi.BoolPtrOutput) +} + +// Custom notification message string mapped to underlying logdata contexts. Required if log is true. +func (o AlbWafCustomRuleGroupRuleBehaviorOutput) LogMsg() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleBehavior) *string { return v.LogMsg }).(pulumi.StringPtrOutput) +} + +// Severity classification metric used by internal analytics graphs. +func (o AlbWafCustomRuleGroupRuleBehaviorOutput) Severity() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleBehavior) *string { return v.Severity }).(pulumi.StringPtrOutput) +} + +type AlbWafCustomRuleGroupRuleCondition struct { + // The comparison logic executed against the transformed variable. + Operator AlbWafCustomRuleGroupRuleConditionOperator `pulumi:"operator"` + // Ordered normalization steps applied before the operator runs. + Transformations []string `pulumi:"transformations"` + // The part of the HTTP transaction to inspect. + Variable AlbWafCustomRuleGroupRuleConditionVariable `pulumi:"variable"` +} + +// AlbWafCustomRuleGroupRuleConditionInput is an input type that accepts AlbWafCustomRuleGroupRuleConditionArgs and AlbWafCustomRuleGroupRuleConditionOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleConditionInput` via: +// +// AlbWafCustomRuleGroupRuleConditionArgs{...} +type AlbWafCustomRuleGroupRuleConditionInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleConditionOutput() AlbWafCustomRuleGroupRuleConditionOutput + ToAlbWafCustomRuleGroupRuleConditionOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleConditionOutput +} + +type AlbWafCustomRuleGroupRuleConditionArgs struct { + // The comparison logic executed against the transformed variable. + Operator AlbWafCustomRuleGroupRuleConditionOperatorInput `pulumi:"operator"` + // Ordered normalization steps applied before the operator runs. + Transformations pulumi.StringArrayInput `pulumi:"transformations"` + // The part of the HTTP transaction to inspect. + Variable AlbWafCustomRuleGroupRuleConditionVariableInput `pulumi:"variable"` +} + +func (AlbWafCustomRuleGroupRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleConditionArgs) ToAlbWafCustomRuleGroupRuleConditionOutput() AlbWafCustomRuleGroupRuleConditionOutput { + return i.ToAlbWafCustomRuleGroupRuleConditionOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleConditionArgs) ToAlbWafCustomRuleGroupRuleConditionOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleConditionOutput) +} + +// AlbWafCustomRuleGroupRuleConditionArrayInput is an input type that accepts AlbWafCustomRuleGroupRuleConditionArray and AlbWafCustomRuleGroupRuleConditionArrayOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleConditionArrayInput` via: +// +// AlbWafCustomRuleGroupRuleConditionArray{ AlbWafCustomRuleGroupRuleConditionArgs{...} } +type AlbWafCustomRuleGroupRuleConditionArrayInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleConditionArrayOutput() AlbWafCustomRuleGroupRuleConditionArrayOutput + ToAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleConditionArrayOutput +} + +type AlbWafCustomRuleGroupRuleConditionArray []AlbWafCustomRuleGroupRuleConditionInput + +func (AlbWafCustomRuleGroupRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleConditionArray) ToAlbWafCustomRuleGroupRuleConditionArrayOutput() AlbWafCustomRuleGroupRuleConditionArrayOutput { + return i.ToAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleConditionArray) ToAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleConditionArrayOutput) +} + +type AlbWafCustomRuleGroupRuleConditionOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleConditionOutput) ToAlbWafCustomRuleGroupRuleConditionOutput() AlbWafCustomRuleGroupRuleConditionOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleConditionOutput) ToAlbWafCustomRuleGroupRuleConditionOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionOutput { + return o +} + +// The comparison logic executed against the transformed variable. +func (o AlbWafCustomRuleGroupRuleConditionOutput) Operator() AlbWafCustomRuleGroupRuleConditionOperatorOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleCondition) AlbWafCustomRuleGroupRuleConditionOperator { + return v.Operator + }).(AlbWafCustomRuleGroupRuleConditionOperatorOutput) +} + +// Ordered normalization steps applied before the operator runs. +func (o AlbWafCustomRuleGroupRuleConditionOutput) Transformations() pulumi.StringArrayOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleCondition) []string { return v.Transformations }).(pulumi.StringArrayOutput) +} + +// The part of the HTTP transaction to inspect. +func (o AlbWafCustomRuleGroupRuleConditionOutput) Variable() AlbWafCustomRuleGroupRuleConditionVariableOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleCondition) AlbWafCustomRuleGroupRuleConditionVariable { + return v.Variable + }).(AlbWafCustomRuleGroupRuleConditionVariableOutput) +} + +type AlbWafCustomRuleGroupRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleConditionArrayOutput) ToAlbWafCustomRuleGroupRuleConditionArrayOutput() AlbWafCustomRuleGroupRuleConditionArrayOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleConditionArrayOutput) ToAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionArrayOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleConditionArrayOutput) Index(i pulumi.IntInput) AlbWafCustomRuleGroupRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AlbWafCustomRuleGroupRuleCondition { + return vs[0].([]AlbWafCustomRuleGroupRuleCondition)[vs[1].(int)] + }).(AlbWafCustomRuleGroupRuleConditionOutput) +} + +type AlbWafCustomRuleGroupRuleConditionOperator struct { + // The operational evaluation type definition macro. + Type string `pulumi:"type"` + // The text or rule regex pattern arguments applied inside the operator execution loop. + Value *string `pulumi:"value"` +} + +// AlbWafCustomRuleGroupRuleConditionOperatorInput is an input type that accepts AlbWafCustomRuleGroupRuleConditionOperatorArgs and AlbWafCustomRuleGroupRuleConditionOperatorOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleConditionOperatorInput` via: +// +// AlbWafCustomRuleGroupRuleConditionOperatorArgs{...} +type AlbWafCustomRuleGroupRuleConditionOperatorInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleConditionOperatorOutput() AlbWafCustomRuleGroupRuleConditionOperatorOutput + ToAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleConditionOperatorOutput +} + +type AlbWafCustomRuleGroupRuleConditionOperatorArgs struct { + // The operational evaluation type definition macro. + Type pulumi.StringInput `pulumi:"type"` + // The text or rule regex pattern arguments applied inside the operator execution loop. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (AlbWafCustomRuleGroupRuleConditionOperatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionOperator)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleConditionOperatorArgs) ToAlbWafCustomRuleGroupRuleConditionOperatorOutput() AlbWafCustomRuleGroupRuleConditionOperatorOutput { + return i.ToAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleConditionOperatorArgs) ToAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionOperatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleConditionOperatorOutput) +} + +type AlbWafCustomRuleGroupRuleConditionOperatorOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleConditionOperatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionOperator)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleConditionOperatorOutput) ToAlbWafCustomRuleGroupRuleConditionOperatorOutput() AlbWafCustomRuleGroupRuleConditionOperatorOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleConditionOperatorOutput) ToAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionOperatorOutput { + return o +} + +// The operational evaluation type definition macro. +func (o AlbWafCustomRuleGroupRuleConditionOperatorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleConditionOperator) string { return v.Type }).(pulumi.StringOutput) +} + +// The text or rule regex pattern arguments applied inside the operator execution loop. +func (o AlbWafCustomRuleGroupRuleConditionOperatorOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleConditionOperator) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type AlbWafCustomRuleGroupRuleConditionVariable struct { + // The targeted validation engine variable macro. + Type string `pulumi:"type"` + // Optional key element context for map variables (e.g., matching a 'Host' header key). + Value *string `pulumi:"value"` +} + +// AlbWafCustomRuleGroupRuleConditionVariableInput is an input type that accepts AlbWafCustomRuleGroupRuleConditionVariableArgs and AlbWafCustomRuleGroupRuleConditionVariableOutput values. +// You can construct a concrete instance of `AlbWafCustomRuleGroupRuleConditionVariableInput` via: +// +// AlbWafCustomRuleGroupRuleConditionVariableArgs{...} +type AlbWafCustomRuleGroupRuleConditionVariableInput interface { + pulumi.Input + + ToAlbWafCustomRuleGroupRuleConditionVariableOutput() AlbWafCustomRuleGroupRuleConditionVariableOutput + ToAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(context.Context) AlbWafCustomRuleGroupRuleConditionVariableOutput +} + +type AlbWafCustomRuleGroupRuleConditionVariableArgs struct { + // The targeted validation engine variable macro. + Type pulumi.StringInput `pulumi:"type"` + // Optional key element context for map variables (e.g., matching a 'Host' header key). + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (AlbWafCustomRuleGroupRuleConditionVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionVariable)(nil)).Elem() +} + +func (i AlbWafCustomRuleGroupRuleConditionVariableArgs) ToAlbWafCustomRuleGroupRuleConditionVariableOutput() AlbWafCustomRuleGroupRuleConditionVariableOutput { + return i.ToAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(context.Background()) +} + +func (i AlbWafCustomRuleGroupRuleConditionVariableArgs) ToAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafCustomRuleGroupRuleConditionVariableOutput) +} + +type AlbWafCustomRuleGroupRuleConditionVariableOutput struct{ *pulumi.OutputState } + +func (AlbWafCustomRuleGroupRuleConditionVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionVariable)(nil)).Elem() +} + +func (o AlbWafCustomRuleGroupRuleConditionVariableOutput) ToAlbWafCustomRuleGroupRuleConditionVariableOutput() AlbWafCustomRuleGroupRuleConditionVariableOutput { + return o +} + +func (o AlbWafCustomRuleGroupRuleConditionVariableOutput) ToAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(ctx context.Context) AlbWafCustomRuleGroupRuleConditionVariableOutput { + return o +} + +// The targeted validation engine variable macro. +func (o AlbWafCustomRuleGroupRuleConditionVariableOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleConditionVariable) string { return v.Type }).(pulumi.StringOutput) +} + +// Optional key element context for map variables (e.g., matching a 'Host' header key). +func (o AlbWafCustomRuleGroupRuleConditionVariableOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafCustomRuleGroupRuleConditionVariable) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type AlbWafManagedRuleSetGroups struct { + // A description of what this group covers. + Description *string `pulumi:"description"` + // The name for the rule group. + GroupName *string `pulumi:"groupName"` + // Rules of the rule group. + Rules map[string]AlbWafManagedRuleSetGroupsRules `pulumi:"rules"` +} + +// AlbWafManagedRuleSetGroupsInput is an input type that accepts AlbWafManagedRuleSetGroupsArgs and AlbWafManagedRuleSetGroupsOutput values. +// You can construct a concrete instance of `AlbWafManagedRuleSetGroupsInput` via: +// +// AlbWafManagedRuleSetGroupsArgs{...} +type AlbWafManagedRuleSetGroupsInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetGroupsOutput() AlbWafManagedRuleSetGroupsOutput + ToAlbWafManagedRuleSetGroupsOutputWithContext(context.Context) AlbWafManagedRuleSetGroupsOutput +} + +type AlbWafManagedRuleSetGroupsArgs struct { + // A description of what this group covers. + Description pulumi.StringPtrInput `pulumi:"description"` + // The name for the rule group. + GroupName pulumi.StringPtrInput `pulumi:"groupName"` + // Rules of the rule group. + Rules AlbWafManagedRuleSetGroupsRulesMapInput `pulumi:"rules"` +} + +func (AlbWafManagedRuleSetGroupsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (i AlbWafManagedRuleSetGroupsArgs) ToAlbWafManagedRuleSetGroupsOutput() AlbWafManagedRuleSetGroupsOutput { + return i.ToAlbWafManagedRuleSetGroupsOutputWithContext(context.Background()) +} + +func (i AlbWafManagedRuleSetGroupsArgs) ToAlbWafManagedRuleSetGroupsOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetGroupsOutput) +} + +// AlbWafManagedRuleSetGroupsMapInput is an input type that accepts AlbWafManagedRuleSetGroupsMap and AlbWafManagedRuleSetGroupsMapOutput values. +// You can construct a concrete instance of `AlbWafManagedRuleSetGroupsMapInput` via: +// +// AlbWafManagedRuleSetGroupsMap{ "key": AlbWafManagedRuleSetGroupsArgs{...} } +type AlbWafManagedRuleSetGroupsMapInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetGroupsMapOutput() AlbWafManagedRuleSetGroupsMapOutput + ToAlbWafManagedRuleSetGroupsMapOutputWithContext(context.Context) AlbWafManagedRuleSetGroupsMapOutput +} + +type AlbWafManagedRuleSetGroupsMap map[string]AlbWafManagedRuleSetGroupsInput + +func (AlbWafManagedRuleSetGroupsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (i AlbWafManagedRuleSetGroupsMap) ToAlbWafManagedRuleSetGroupsMapOutput() AlbWafManagedRuleSetGroupsMapOutput { + return i.ToAlbWafManagedRuleSetGroupsMapOutputWithContext(context.Background()) +} + +func (i AlbWafManagedRuleSetGroupsMap) ToAlbWafManagedRuleSetGroupsMapOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetGroupsMapOutput) +} + +type AlbWafManagedRuleSetGroupsOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetGroupsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetGroupsOutput) ToAlbWafManagedRuleSetGroupsOutput() AlbWafManagedRuleSetGroupsOutput { + return o +} + +func (o AlbWafManagedRuleSetGroupsOutput) ToAlbWafManagedRuleSetGroupsOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsOutput { + return o +} + +// A description of what this group covers. +func (o AlbWafManagedRuleSetGroupsOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafManagedRuleSetGroups) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The name for the rule group. +func (o AlbWafManagedRuleSetGroupsOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafManagedRuleSetGroups) *string { return v.GroupName }).(pulumi.StringPtrOutput) +} + +// Rules of the rule group. +func (o AlbWafManagedRuleSetGroupsOutput) Rules() AlbWafManagedRuleSetGroupsRulesMapOutput { + return o.ApplyT(func(v AlbWafManagedRuleSetGroups) map[string]AlbWafManagedRuleSetGroupsRules { return v.Rules }).(AlbWafManagedRuleSetGroupsRulesMapOutput) +} + +type AlbWafManagedRuleSetGroupsMapOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetGroupsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetGroupsMapOutput) ToAlbWafManagedRuleSetGroupsMapOutput() AlbWafManagedRuleSetGroupsMapOutput { + return o +} + +func (o AlbWafManagedRuleSetGroupsMapOutput) ToAlbWafManagedRuleSetGroupsMapOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsMapOutput { + return o +} + +func (o AlbWafManagedRuleSetGroupsMapOutput) MapIndex(k pulumi.StringInput) AlbWafManagedRuleSetGroupsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AlbWafManagedRuleSetGroups { + return vs[0].(map[string]AlbWafManagedRuleSetGroups)[vs[1].(string)] + }).(AlbWafManagedRuleSetGroupsOutput) +} + +type AlbWafManagedRuleSetGroupsRules struct { + // A description of what this rule does. + Description *string `pulumi:"description"` + // The current mode of the rule. + Mode *string `pulumi:"mode"` + // Impact level. + Severity *string `pulumi:"severity"` +} + +// AlbWafManagedRuleSetGroupsRulesInput is an input type that accepts AlbWafManagedRuleSetGroupsRulesArgs and AlbWafManagedRuleSetGroupsRulesOutput values. +// You can construct a concrete instance of `AlbWafManagedRuleSetGroupsRulesInput` via: +// +// AlbWafManagedRuleSetGroupsRulesArgs{...} +type AlbWafManagedRuleSetGroupsRulesInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetGroupsRulesOutput() AlbWafManagedRuleSetGroupsRulesOutput + ToAlbWafManagedRuleSetGroupsRulesOutputWithContext(context.Context) AlbWafManagedRuleSetGroupsRulesOutput +} + +type AlbWafManagedRuleSetGroupsRulesArgs struct { + // A description of what this rule does. + Description pulumi.StringPtrInput `pulumi:"description"` + // The current mode of the rule. + Mode pulumi.StringPtrInput `pulumi:"mode"` + // Impact level. + Severity pulumi.StringPtrInput `pulumi:"severity"` +} + +func (AlbWafManagedRuleSetGroupsRulesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (i AlbWafManagedRuleSetGroupsRulesArgs) ToAlbWafManagedRuleSetGroupsRulesOutput() AlbWafManagedRuleSetGroupsRulesOutput { + return i.ToAlbWafManagedRuleSetGroupsRulesOutputWithContext(context.Background()) +} + +func (i AlbWafManagedRuleSetGroupsRulesArgs) ToAlbWafManagedRuleSetGroupsRulesOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsRulesOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetGroupsRulesOutput) +} + +// AlbWafManagedRuleSetGroupsRulesMapInput is an input type that accepts AlbWafManagedRuleSetGroupsRulesMap and AlbWafManagedRuleSetGroupsRulesMapOutput values. +// You can construct a concrete instance of `AlbWafManagedRuleSetGroupsRulesMapInput` via: +// +// AlbWafManagedRuleSetGroupsRulesMap{ "key": AlbWafManagedRuleSetGroupsRulesArgs{...} } +type AlbWafManagedRuleSetGroupsRulesMapInput interface { + pulumi.Input + + ToAlbWafManagedRuleSetGroupsRulesMapOutput() AlbWafManagedRuleSetGroupsRulesMapOutput + ToAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(context.Context) AlbWafManagedRuleSetGroupsRulesMapOutput +} + +type AlbWafManagedRuleSetGroupsRulesMap map[string]AlbWafManagedRuleSetGroupsRulesInput + +func (AlbWafManagedRuleSetGroupsRulesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (i AlbWafManagedRuleSetGroupsRulesMap) ToAlbWafManagedRuleSetGroupsRulesMapOutput() AlbWafManagedRuleSetGroupsRulesMapOutput { + return i.ToAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(context.Background()) +} + +func (i AlbWafManagedRuleSetGroupsRulesMap) ToAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsRulesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AlbWafManagedRuleSetGroupsRulesMapOutput) +} + +type AlbWafManagedRuleSetGroupsRulesOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetGroupsRulesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetGroupsRulesOutput) ToAlbWafManagedRuleSetGroupsRulesOutput() AlbWafManagedRuleSetGroupsRulesOutput { + return o +} + +func (o AlbWafManagedRuleSetGroupsRulesOutput) ToAlbWafManagedRuleSetGroupsRulesOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsRulesOutput { + return o +} + +// A description of what this rule does. +func (o AlbWafManagedRuleSetGroupsRulesOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafManagedRuleSetGroupsRules) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The current mode of the rule. +func (o AlbWafManagedRuleSetGroupsRulesOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafManagedRuleSetGroupsRules) *string { return v.Mode }).(pulumi.StringPtrOutput) +} + +// Impact level. +func (o AlbWafManagedRuleSetGroupsRulesOutput) Severity() pulumi.StringPtrOutput { + return o.ApplyT(func(v AlbWafManagedRuleSetGroupsRules) *string { return v.Severity }).(pulumi.StringPtrOutput) +} + +type AlbWafManagedRuleSetGroupsRulesMapOutput struct{ *pulumi.OutputState } + +func (AlbWafManagedRuleSetGroupsRulesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (o AlbWafManagedRuleSetGroupsRulesMapOutput) ToAlbWafManagedRuleSetGroupsRulesMapOutput() AlbWafManagedRuleSetGroupsRulesMapOutput { + return o +} + +func (o AlbWafManagedRuleSetGroupsRulesMapOutput) ToAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(ctx context.Context) AlbWafManagedRuleSetGroupsRulesMapOutput { + return o +} + +func (o AlbWafManagedRuleSetGroupsRulesMapOutput) MapIndex(k pulumi.StringInput) AlbWafManagedRuleSetGroupsRulesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AlbWafManagedRuleSetGroupsRules { + return vs[0].(map[string]AlbWafManagedRuleSetGroupsRules)[vs[1].(string)] + }).(AlbWafManagedRuleSetGroupsRulesOutput) +} + type ApplicationLoadBalancerError struct { // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. Description *string `pulumi:"description"` @@ -3583,8 +4251,14 @@ type CdnDistributionConfig struct { Backend CdnDistributionConfigBackend `pulumi:"backend"` // The configured countries where distribution of content is blocked BlockedCountries []string `pulumi:"blockedCountries"` + // Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + BlockedIps []string `pulumi:"blockedIps"` + // Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + DefaultCacheDuration *string `pulumi:"defaultCacheDuration"` // Enable this allows the 'Host' header to be passed through to the origin. ForwardHostHeader *bool `pulumi:"forwardHostHeader"` + // Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + MonthlyLimitBytes *int `pulumi:"monthlyLimitBytes"` // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. Optimizer *CdnDistributionConfigOptimizer `pulumi:"optimizer"` // A wrapper for a list of redirect rules that allows for redirect settings on a distribution @@ -3615,8 +4289,14 @@ type CdnDistributionConfigArgs struct { Backend CdnDistributionConfigBackendInput `pulumi:"backend"` // The configured countries where distribution of content is blocked BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"` + // Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + BlockedIps pulumi.StringArrayInput `pulumi:"blockedIps"` + // Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + DefaultCacheDuration pulumi.StringPtrInput `pulumi:"defaultCacheDuration"` // Enable this allows the 'Host' header to be passed through to the origin. ForwardHostHeader pulumi.BoolPtrInput `pulumi:"forwardHostHeader"` + // Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + MonthlyLimitBytes pulumi.IntPtrInput `pulumi:"monthlyLimitBytes"` // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. Optimizer CdnDistributionConfigOptimizerPtrInput `pulumi:"optimizer"` // A wrapper for a list of redirect rules that allows for redirect settings on a distribution @@ -3718,11 +4398,26 @@ func (o CdnDistributionConfigOutput) BlockedCountries() pulumi.StringArrayOutput return o.ApplyT(func(v CdnDistributionConfig) []string { return v.BlockedCountries }).(pulumi.StringArrayOutput) } +// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. +func (o CdnDistributionConfigOutput) BlockedIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v CdnDistributionConfig) []string { return v.BlockedIps }).(pulumi.StringArrayOutput) +} + +// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. +func (o CdnDistributionConfigOutput) DefaultCacheDuration() pulumi.StringPtrOutput { + return o.ApplyT(func(v CdnDistributionConfig) *string { return v.DefaultCacheDuration }).(pulumi.StringPtrOutput) +} + // Enable this allows the 'Host' header to be passed through to the origin. func (o CdnDistributionConfigOutput) ForwardHostHeader() pulumi.BoolPtrOutput { return o.ApplyT(func(v CdnDistributionConfig) *bool { return v.ForwardHostHeader }).(pulumi.BoolPtrOutput) } +// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. +func (o CdnDistributionConfigOutput) MonthlyLimitBytes() pulumi.IntPtrOutput { + return o.ApplyT(func(v CdnDistributionConfig) *int { return v.MonthlyLimitBytes }).(pulumi.IntPtrOutput) +} + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. func (o CdnDistributionConfigOutput) Optimizer() CdnDistributionConfigOptimizerPtrOutput { return o.ApplyT(func(v CdnDistributionConfig) *CdnDistributionConfigOptimizer { return v.Optimizer }).(CdnDistributionConfigOptimizerPtrOutput) @@ -3797,6 +4492,26 @@ func (o CdnDistributionConfigPtrOutput) BlockedCountries() pulumi.StringArrayOut }).(pulumi.StringArrayOutput) } +// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. +func (o CdnDistributionConfigPtrOutput) BlockedIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CdnDistributionConfig) []string { + if v == nil { + return nil + } + return v.BlockedIps + }).(pulumi.StringArrayOutput) +} + +// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. +func (o CdnDistributionConfigPtrOutput) DefaultCacheDuration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CdnDistributionConfig) *string { + if v == nil { + return nil + } + return v.DefaultCacheDuration + }).(pulumi.StringPtrOutput) +} + // Enable this allows the 'Host' header to be passed through to the origin. func (o CdnDistributionConfigPtrOutput) ForwardHostHeader() pulumi.BoolPtrOutput { return o.ApplyT(func(v *CdnDistributionConfig) *bool { @@ -3807,6 +4522,16 @@ func (o CdnDistributionConfigPtrOutput) ForwardHostHeader() pulumi.BoolPtrOutput }).(pulumi.BoolPtrOutput) } +// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. +func (o CdnDistributionConfigPtrOutput) MonthlyLimitBytes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CdnDistributionConfig) *int { + if v == nil { + return nil + } + return v.MonthlyLimitBytes + }).(pulumi.IntPtrOutput) +} + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. func (o CdnDistributionConfigPtrOutput) Optimizer() CdnDistributionConfigOptimizerPtrOutput { return o.ApplyT(func(v *CdnDistributionConfig) *CdnDistributionConfigOptimizer { @@ -11020,118 +11745,6 @@ func (o MongodbflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -type NetworkAreaNetworkRange struct { - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRangeId *string `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - Prefix string `pulumi:"prefix"` -} - -// NetworkAreaNetworkRangeInput is an input type that accepts NetworkAreaNetworkRangeArgs and NetworkAreaNetworkRangeOutput values. -// You can construct a concrete instance of `NetworkAreaNetworkRangeInput` via: -// -// NetworkAreaNetworkRangeArgs{...} -type NetworkAreaNetworkRangeInput interface { - pulumi.Input - - ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput - ToNetworkAreaNetworkRangeOutputWithContext(context.Context) NetworkAreaNetworkRangeOutput -} - -type NetworkAreaNetworkRangeArgs struct { - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - Prefix pulumi.StringInput `pulumi:"prefix"` -} - -func (NetworkAreaNetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaNetworkRange)(nil)).Elem() -} - -func (i NetworkAreaNetworkRangeArgs) ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput { - return i.ToNetworkAreaNetworkRangeOutputWithContext(context.Background()) -} - -func (i NetworkAreaNetworkRangeArgs) ToNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaNetworkRangeOutput) -} - -// NetworkAreaNetworkRangeArrayInput is an input type that accepts NetworkAreaNetworkRangeArray and NetworkAreaNetworkRangeArrayOutput values. -// You can construct a concrete instance of `NetworkAreaNetworkRangeArrayInput` via: -// -// NetworkAreaNetworkRangeArray{ NetworkAreaNetworkRangeArgs{...} } -type NetworkAreaNetworkRangeArrayInput interface { - pulumi.Input - - ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput - ToNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) NetworkAreaNetworkRangeArrayOutput -} - -type NetworkAreaNetworkRangeArray []NetworkAreaNetworkRangeInput - -func (NetworkAreaNetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAreaNetworkRange)(nil)).Elem() -} - -func (i NetworkAreaNetworkRangeArray) ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput { - return i.ToNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) -} - -func (i NetworkAreaNetworkRangeArray) ToNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaNetworkRangeArrayOutput) -} - -type NetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } - -func (NetworkAreaNetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaNetworkRange)(nil)).Elem() -} - -func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput { - return o -} - -func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeOutput { - return o -} - -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAreaNetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) -} - -// Classless Inter-Domain Routing (CIDR). -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) -} - -type NetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } - -func (NetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAreaNetworkRange)(nil)).Elem() -} - -func (o NetworkAreaNetworkRangeArrayOutput) ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput { - return o -} - -func (o NetworkAreaNetworkRangeArrayOutput) ToNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeArrayOutput { - return o -} - -func (o NetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkAreaNetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAreaNetworkRange { - return vs[0].([]NetworkAreaNetworkRange)[vs[1].(int)] - }).(NetworkAreaNetworkRangeOutput) -} - type NetworkAreaRegionIpv4 struct { // List of DNS Servers/Nameservers. DefaultNameservers []string `pulumi:"defaultNameservers"` @@ -14256,11 +14869,500 @@ func (o OpensearchInstanceParametersPtrOutput) TlsProtocols() pulumi.StringArray }).(pulumi.StringArrayOutput) } +type PostgresflexInstanceConnectionInfo struct { + // The DNS name and port in the instance overview. + Write *PostgresflexInstanceConnectionInfoWrite `pulumi:"write"` +} + +// PostgresflexInstanceConnectionInfoInput is an input type that accepts PostgresflexInstanceConnectionInfoArgs and PostgresflexInstanceConnectionInfoOutput values. +// You can construct a concrete instance of `PostgresflexInstanceConnectionInfoInput` via: +// +// PostgresflexInstanceConnectionInfoArgs{...} +type PostgresflexInstanceConnectionInfoInput interface { + pulumi.Input + + ToPostgresflexInstanceConnectionInfoOutput() PostgresflexInstanceConnectionInfoOutput + ToPostgresflexInstanceConnectionInfoOutputWithContext(context.Context) PostgresflexInstanceConnectionInfoOutput +} + +type PostgresflexInstanceConnectionInfoArgs struct { + // The DNS name and port in the instance overview. + Write PostgresflexInstanceConnectionInfoWritePtrInput `pulumi:"write"` +} + +func (PostgresflexInstanceConnectionInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceConnectionInfo)(nil)).Elem() +} + +func (i PostgresflexInstanceConnectionInfoArgs) ToPostgresflexInstanceConnectionInfoOutput() PostgresflexInstanceConnectionInfoOutput { + return i.ToPostgresflexInstanceConnectionInfoOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceConnectionInfoArgs) ToPostgresflexInstanceConnectionInfoOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceConnectionInfoOutput) +} + +func (i PostgresflexInstanceConnectionInfoArgs) ToPostgresflexInstanceConnectionInfoPtrOutput() PostgresflexInstanceConnectionInfoPtrOutput { + return i.ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceConnectionInfoArgs) ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceConnectionInfoOutput).ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(ctx) +} + +// PostgresflexInstanceConnectionInfoPtrInput is an input type that accepts PostgresflexInstanceConnectionInfoArgs, PostgresflexInstanceConnectionInfoPtr and PostgresflexInstanceConnectionInfoPtrOutput values. +// You can construct a concrete instance of `PostgresflexInstanceConnectionInfoPtrInput` via: +// +// PostgresflexInstanceConnectionInfoArgs{...} +// +// or: +// +// nil +type PostgresflexInstanceConnectionInfoPtrInput interface { + pulumi.Input + + ToPostgresflexInstanceConnectionInfoPtrOutput() PostgresflexInstanceConnectionInfoPtrOutput + ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(context.Context) PostgresflexInstanceConnectionInfoPtrOutput +} + +type postgresflexInstanceConnectionInfoPtrType PostgresflexInstanceConnectionInfoArgs + +func PostgresflexInstanceConnectionInfoPtr(v *PostgresflexInstanceConnectionInfoArgs) PostgresflexInstanceConnectionInfoPtrInput { + return (*postgresflexInstanceConnectionInfoPtrType)(v) +} + +func (*postgresflexInstanceConnectionInfoPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceConnectionInfo)(nil)).Elem() +} + +func (i *postgresflexInstanceConnectionInfoPtrType) ToPostgresflexInstanceConnectionInfoPtrOutput() PostgresflexInstanceConnectionInfoPtrOutput { + return i.ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(context.Background()) +} + +func (i *postgresflexInstanceConnectionInfoPtrType) ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceConnectionInfoPtrOutput) +} + +type PostgresflexInstanceConnectionInfoOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceConnectionInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceConnectionInfo)(nil)).Elem() +} + +func (o PostgresflexInstanceConnectionInfoOutput) ToPostgresflexInstanceConnectionInfoOutput() PostgresflexInstanceConnectionInfoOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoOutput) ToPostgresflexInstanceConnectionInfoOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoOutput) ToPostgresflexInstanceConnectionInfoPtrOutput() PostgresflexInstanceConnectionInfoPtrOutput { + return o.ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(context.Background()) +} + +func (o PostgresflexInstanceConnectionInfoOutput) ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceConnectionInfo) *PostgresflexInstanceConnectionInfo { + return &v + }).(PostgresflexInstanceConnectionInfoPtrOutput) +} + +// The DNS name and port in the instance overview. +func (o PostgresflexInstanceConnectionInfoOutput) Write() PostgresflexInstanceConnectionInfoWritePtrOutput { + return o.ApplyT(func(v PostgresflexInstanceConnectionInfo) *PostgresflexInstanceConnectionInfoWrite { return v.Write }).(PostgresflexInstanceConnectionInfoWritePtrOutput) +} + +type PostgresflexInstanceConnectionInfoPtrOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceConnectionInfoPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceConnectionInfo)(nil)).Elem() +} + +func (o PostgresflexInstanceConnectionInfoPtrOutput) ToPostgresflexInstanceConnectionInfoPtrOutput() PostgresflexInstanceConnectionInfoPtrOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoPtrOutput) ToPostgresflexInstanceConnectionInfoPtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoPtrOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoPtrOutput) Elem() PostgresflexInstanceConnectionInfoOutput { + return o.ApplyT(func(v *PostgresflexInstanceConnectionInfo) PostgresflexInstanceConnectionInfo { + if v != nil { + return *v + } + var ret PostgresflexInstanceConnectionInfo + return ret + }).(PostgresflexInstanceConnectionInfoOutput) +} + +// The DNS name and port in the instance overview. +func (o PostgresflexInstanceConnectionInfoPtrOutput) Write() PostgresflexInstanceConnectionInfoWritePtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceConnectionInfo) *PostgresflexInstanceConnectionInfoWrite { + if v == nil { + return nil + } + return v.Write + }).(PostgresflexInstanceConnectionInfoWritePtrOutput) +} + +type PostgresflexInstanceConnectionInfoWrite struct { + // The host of the instance. + Host *string `pulumi:"host"` + // The port of the instance. + Port *int `pulumi:"port"` +} + +// PostgresflexInstanceConnectionInfoWriteInput is an input type that accepts PostgresflexInstanceConnectionInfoWriteArgs and PostgresflexInstanceConnectionInfoWriteOutput values. +// You can construct a concrete instance of `PostgresflexInstanceConnectionInfoWriteInput` via: +// +// PostgresflexInstanceConnectionInfoWriteArgs{...} +type PostgresflexInstanceConnectionInfoWriteInput interface { + pulumi.Input + + ToPostgresflexInstanceConnectionInfoWriteOutput() PostgresflexInstanceConnectionInfoWriteOutput + ToPostgresflexInstanceConnectionInfoWriteOutputWithContext(context.Context) PostgresflexInstanceConnectionInfoWriteOutput +} + +type PostgresflexInstanceConnectionInfoWriteArgs struct { + // The host of the instance. + Host pulumi.StringPtrInput `pulumi:"host"` + // The port of the instance. + Port pulumi.IntPtrInput `pulumi:"port"` +} + +func (PostgresflexInstanceConnectionInfoWriteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceConnectionInfoWrite)(nil)).Elem() +} + +func (i PostgresflexInstanceConnectionInfoWriteArgs) ToPostgresflexInstanceConnectionInfoWriteOutput() PostgresflexInstanceConnectionInfoWriteOutput { + return i.ToPostgresflexInstanceConnectionInfoWriteOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceConnectionInfoWriteArgs) ToPostgresflexInstanceConnectionInfoWriteOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoWriteOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceConnectionInfoWriteOutput) +} + +func (i PostgresflexInstanceConnectionInfoWriteArgs) ToPostgresflexInstanceConnectionInfoWritePtrOutput() PostgresflexInstanceConnectionInfoWritePtrOutput { + return i.ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceConnectionInfoWriteArgs) ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoWritePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceConnectionInfoWriteOutput).ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(ctx) +} + +// PostgresflexInstanceConnectionInfoWritePtrInput is an input type that accepts PostgresflexInstanceConnectionInfoWriteArgs, PostgresflexInstanceConnectionInfoWritePtr and PostgresflexInstanceConnectionInfoWritePtrOutput values. +// You can construct a concrete instance of `PostgresflexInstanceConnectionInfoWritePtrInput` via: +// +// PostgresflexInstanceConnectionInfoWriteArgs{...} +// +// or: +// +// nil +type PostgresflexInstanceConnectionInfoWritePtrInput interface { + pulumi.Input + + ToPostgresflexInstanceConnectionInfoWritePtrOutput() PostgresflexInstanceConnectionInfoWritePtrOutput + ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(context.Context) PostgresflexInstanceConnectionInfoWritePtrOutput +} + +type postgresflexInstanceConnectionInfoWritePtrType PostgresflexInstanceConnectionInfoWriteArgs + +func PostgresflexInstanceConnectionInfoWritePtr(v *PostgresflexInstanceConnectionInfoWriteArgs) PostgresflexInstanceConnectionInfoWritePtrInput { + return (*postgresflexInstanceConnectionInfoWritePtrType)(v) +} + +func (*postgresflexInstanceConnectionInfoWritePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceConnectionInfoWrite)(nil)).Elem() +} + +func (i *postgresflexInstanceConnectionInfoWritePtrType) ToPostgresflexInstanceConnectionInfoWritePtrOutput() PostgresflexInstanceConnectionInfoWritePtrOutput { + return i.ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(context.Background()) +} + +func (i *postgresflexInstanceConnectionInfoWritePtrType) ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoWritePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceConnectionInfoWritePtrOutput) +} + +type PostgresflexInstanceConnectionInfoWriteOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceConnectionInfoWriteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceConnectionInfoWrite)(nil)).Elem() +} + +func (o PostgresflexInstanceConnectionInfoWriteOutput) ToPostgresflexInstanceConnectionInfoWriteOutput() PostgresflexInstanceConnectionInfoWriteOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoWriteOutput) ToPostgresflexInstanceConnectionInfoWriteOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoWriteOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoWriteOutput) ToPostgresflexInstanceConnectionInfoWritePtrOutput() PostgresflexInstanceConnectionInfoWritePtrOutput { + return o.ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(context.Background()) +} + +func (o PostgresflexInstanceConnectionInfoWriteOutput) ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoWritePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceConnectionInfoWrite) *PostgresflexInstanceConnectionInfoWrite { + return &v + }).(PostgresflexInstanceConnectionInfoWritePtrOutput) +} + +// The host of the instance. +func (o PostgresflexInstanceConnectionInfoWriteOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceConnectionInfoWrite) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// The port of the instance. +func (o PostgresflexInstanceConnectionInfoWriteOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceConnectionInfoWrite) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +type PostgresflexInstanceConnectionInfoWritePtrOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceConnectionInfoWritePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceConnectionInfoWrite)(nil)).Elem() +} + +func (o PostgresflexInstanceConnectionInfoWritePtrOutput) ToPostgresflexInstanceConnectionInfoWritePtrOutput() PostgresflexInstanceConnectionInfoWritePtrOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoWritePtrOutput) ToPostgresflexInstanceConnectionInfoWritePtrOutputWithContext(ctx context.Context) PostgresflexInstanceConnectionInfoWritePtrOutput { + return o +} + +func (o PostgresflexInstanceConnectionInfoWritePtrOutput) Elem() PostgresflexInstanceConnectionInfoWriteOutput { + return o.ApplyT(func(v *PostgresflexInstanceConnectionInfoWrite) PostgresflexInstanceConnectionInfoWrite { + if v != nil { + return *v + } + var ret PostgresflexInstanceConnectionInfoWrite + return ret + }).(PostgresflexInstanceConnectionInfoWriteOutput) +} + +// The host of the instance. +func (o PostgresflexInstanceConnectionInfoWritePtrOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceConnectionInfoWrite) *string { + if v == nil { + return nil + } + return v.Host + }).(pulumi.StringPtrOutput) +} + +// The port of the instance. +func (o PostgresflexInstanceConnectionInfoWritePtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceConnectionInfoWrite) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + +type PostgresflexInstanceEncryption struct { + // The ID of the Key within the STACKIT-KMS to use for the encryption. + KekKeyId string `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion string `pulumi:"kekKeyVersion"` + // The ID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId string `pulumi:"kekKeyringId"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount string `pulumi:"serviceAccount"` +} + +// PostgresflexInstanceEncryptionInput is an input type that accepts PostgresflexInstanceEncryptionArgs and PostgresflexInstanceEncryptionOutput values. +// You can construct a concrete instance of `PostgresflexInstanceEncryptionInput` via: +// +// PostgresflexInstanceEncryptionArgs{...} +type PostgresflexInstanceEncryptionInput interface { + pulumi.Input + + ToPostgresflexInstanceEncryptionOutput() PostgresflexInstanceEncryptionOutput + ToPostgresflexInstanceEncryptionOutputWithContext(context.Context) PostgresflexInstanceEncryptionOutput +} + +type PostgresflexInstanceEncryptionArgs struct { + // The ID of the Key within the STACKIT-KMS to use for the encryption. + KekKeyId pulumi.StringInput `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion pulumi.StringInput `pulumi:"kekKeyVersion"` + // The ID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId pulumi.StringInput `pulumi:"kekKeyringId"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` +} + +func (PostgresflexInstanceEncryptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceEncryption)(nil)).Elem() +} + +func (i PostgresflexInstanceEncryptionArgs) ToPostgresflexInstanceEncryptionOutput() PostgresflexInstanceEncryptionOutput { + return i.ToPostgresflexInstanceEncryptionOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceEncryptionArgs) ToPostgresflexInstanceEncryptionOutputWithContext(ctx context.Context) PostgresflexInstanceEncryptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceEncryptionOutput) +} + +func (i PostgresflexInstanceEncryptionArgs) ToPostgresflexInstanceEncryptionPtrOutput() PostgresflexInstanceEncryptionPtrOutput { + return i.ToPostgresflexInstanceEncryptionPtrOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceEncryptionArgs) ToPostgresflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) PostgresflexInstanceEncryptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceEncryptionOutput).ToPostgresflexInstanceEncryptionPtrOutputWithContext(ctx) +} + +// PostgresflexInstanceEncryptionPtrInput is an input type that accepts PostgresflexInstanceEncryptionArgs, PostgresflexInstanceEncryptionPtr and PostgresflexInstanceEncryptionPtrOutput values. +// You can construct a concrete instance of `PostgresflexInstanceEncryptionPtrInput` via: +// +// PostgresflexInstanceEncryptionArgs{...} +// +// or: +// +// nil +type PostgresflexInstanceEncryptionPtrInput interface { + pulumi.Input + + ToPostgresflexInstanceEncryptionPtrOutput() PostgresflexInstanceEncryptionPtrOutput + ToPostgresflexInstanceEncryptionPtrOutputWithContext(context.Context) PostgresflexInstanceEncryptionPtrOutput +} + +type postgresflexInstanceEncryptionPtrType PostgresflexInstanceEncryptionArgs + +func PostgresflexInstanceEncryptionPtr(v *PostgresflexInstanceEncryptionArgs) PostgresflexInstanceEncryptionPtrInput { + return (*postgresflexInstanceEncryptionPtrType)(v) +} + +func (*postgresflexInstanceEncryptionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceEncryption)(nil)).Elem() +} + +func (i *postgresflexInstanceEncryptionPtrType) ToPostgresflexInstanceEncryptionPtrOutput() PostgresflexInstanceEncryptionPtrOutput { + return i.ToPostgresflexInstanceEncryptionPtrOutputWithContext(context.Background()) +} + +func (i *postgresflexInstanceEncryptionPtrType) ToPostgresflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) PostgresflexInstanceEncryptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceEncryptionPtrOutput) +} + +type PostgresflexInstanceEncryptionOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceEncryptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceEncryption)(nil)).Elem() +} + +func (o PostgresflexInstanceEncryptionOutput) ToPostgresflexInstanceEncryptionOutput() PostgresflexInstanceEncryptionOutput { + return o +} + +func (o PostgresflexInstanceEncryptionOutput) ToPostgresflexInstanceEncryptionOutputWithContext(ctx context.Context) PostgresflexInstanceEncryptionOutput { + return o +} + +func (o PostgresflexInstanceEncryptionOutput) ToPostgresflexInstanceEncryptionPtrOutput() PostgresflexInstanceEncryptionPtrOutput { + return o.ToPostgresflexInstanceEncryptionPtrOutputWithContext(context.Background()) +} + +func (o PostgresflexInstanceEncryptionOutput) ToPostgresflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) PostgresflexInstanceEncryptionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceEncryption) *PostgresflexInstanceEncryption { + return &v + }).(PostgresflexInstanceEncryptionPtrOutput) +} + +// The ID of the Key within the STACKIT-KMS to use for the encryption. +func (o PostgresflexInstanceEncryptionOutput) KekKeyId() pulumi.StringOutput { + return o.ApplyT(func(v PostgresflexInstanceEncryption) string { return v.KekKeyId }).(pulumi.StringOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o PostgresflexInstanceEncryptionOutput) KekKeyVersion() pulumi.StringOutput { + return o.ApplyT(func(v PostgresflexInstanceEncryption) string { return v.KekKeyVersion }).(pulumi.StringOutput) +} + +// The ID of the keyring where the key is located within the STACKTI-KMS. +func (o PostgresflexInstanceEncryptionOutput) KekKeyringId() pulumi.StringOutput { + return o.ApplyT(func(v PostgresflexInstanceEncryption) string { return v.KekKeyringId }).(pulumi.StringOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o PostgresflexInstanceEncryptionOutput) ServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v PostgresflexInstanceEncryption) string { return v.ServiceAccount }).(pulumi.StringOutput) +} + +type PostgresflexInstanceEncryptionPtrOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceEncryptionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceEncryption)(nil)).Elem() +} + +func (o PostgresflexInstanceEncryptionPtrOutput) ToPostgresflexInstanceEncryptionPtrOutput() PostgresflexInstanceEncryptionPtrOutput { + return o +} + +func (o PostgresflexInstanceEncryptionPtrOutput) ToPostgresflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) PostgresflexInstanceEncryptionPtrOutput { + return o +} + +func (o PostgresflexInstanceEncryptionPtrOutput) Elem() PostgresflexInstanceEncryptionOutput { + return o.ApplyT(func(v *PostgresflexInstanceEncryption) PostgresflexInstanceEncryption { + if v != nil { + return *v + } + var ret PostgresflexInstanceEncryption + return ret + }).(PostgresflexInstanceEncryptionOutput) +} + +// The ID of the Key within the STACKIT-KMS to use for the encryption. +func (o PostgresflexInstanceEncryptionPtrOutput) KekKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.KekKeyId + }).(pulumi.StringPtrOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o PostgresflexInstanceEncryptionPtrOutput) KekKeyVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.KekKeyVersion + }).(pulumi.StringPtrOutput) +} + +// The ID of the keyring where the key is located within the STACKTI-KMS. +func (o PostgresflexInstanceEncryptionPtrOutput) KekKeyringId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.KekKeyringId + }).(pulumi.StringPtrOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o PostgresflexInstanceEncryptionPtrOutput) ServiceAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.ServiceAccount + }).(pulumi.StringPtrOutput) +} + type PostgresflexInstanceFlavor struct { Cpu int `pulumi:"cpu"` Description *string `pulumi:"description"` - Id *string `pulumi:"id"` - Ram int `pulumi:"ram"` + // Terraform's internal resource ID. It is structured as "`projectId`,`region`,`instanceId`". + Id *string `pulumi:"id"` + NodeType *string `pulumi:"nodeType"` + Ram int `pulumi:"ram"` } // PostgresflexInstanceFlavorInput is an input type that accepts PostgresflexInstanceFlavorArgs and PostgresflexInstanceFlavorOutput values. @@ -14277,8 +15379,10 @@ type PostgresflexInstanceFlavorInput interface { type PostgresflexInstanceFlavorArgs struct { Cpu pulumi.IntInput `pulumi:"cpu"` Description pulumi.StringPtrInput `pulumi:"description"` - Id pulumi.StringPtrInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` + // Terraform's internal resource ID. It is structured as "`projectId`,`region`,`instanceId`". + Id pulumi.StringPtrInput `pulumi:"id"` + NodeType pulumi.StringPtrInput `pulumi:"nodeType"` + Ram pulumi.IntInput `pulumi:"ram"` } func (PostgresflexInstanceFlavorArgs) ElementType() reflect.Type { @@ -14366,10 +15470,15 @@ func (o PostgresflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) } +// Terraform's internal resource ID. It is structured as "`projectId`,`region`,`instanceId`". func (o PostgresflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) } +func (o PostgresflexInstanceFlavorOutput) NodeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.NodeType }).(pulumi.StringPtrOutput) +} + func (o PostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { return o.ApplyT(func(v PostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } @@ -14416,6 +15525,7 @@ func (o PostgresflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } +// Terraform's internal resource ID. It is structured as "`projectId`,`region`,`instanceId`". func (o PostgresflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v *PostgresflexInstanceFlavor) *string { if v == nil { @@ -14425,6 +15535,15 @@ func (o PostgresflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +func (o PostgresflexInstanceFlavorPtrOutput) NodeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceFlavor) *string { + if v == nil { + return nil + } + return v.NodeType + }).(pulumi.StringPtrOutput) +} + func (o PostgresflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { return o.ApplyT(func(v *PostgresflexInstanceFlavor) *int { if v == nil { @@ -14434,12 +15553,231 @@ func (o PostgresflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +type PostgresflexInstanceNetwork struct { + // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + AccessScope *string `pulumi:"accessScope"` + // The Access Control List (ACL) for the PostgresFlex instance. + Acls []string `pulumi:"acls"` + InstanceAddress *string `pulumi:"instanceAddress"` + RouterAddress *string `pulumi:"routerAddress"` +} + +// PostgresflexInstanceNetworkInput is an input type that accepts PostgresflexInstanceNetworkArgs and PostgresflexInstanceNetworkOutput values. +// You can construct a concrete instance of `PostgresflexInstanceNetworkInput` via: +// +// PostgresflexInstanceNetworkArgs{...} +type PostgresflexInstanceNetworkInput interface { + pulumi.Input + + ToPostgresflexInstanceNetworkOutput() PostgresflexInstanceNetworkOutput + ToPostgresflexInstanceNetworkOutputWithContext(context.Context) PostgresflexInstanceNetworkOutput +} + +type PostgresflexInstanceNetworkArgs struct { + // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` + // The Access Control List (ACL) for the PostgresFlex instance. + Acls pulumi.StringArrayInput `pulumi:"acls"` + InstanceAddress pulumi.StringPtrInput `pulumi:"instanceAddress"` + RouterAddress pulumi.StringPtrInput `pulumi:"routerAddress"` +} + +func (PostgresflexInstanceNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceNetwork)(nil)).Elem() +} + +func (i PostgresflexInstanceNetworkArgs) ToPostgresflexInstanceNetworkOutput() PostgresflexInstanceNetworkOutput { + return i.ToPostgresflexInstanceNetworkOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceNetworkArgs) ToPostgresflexInstanceNetworkOutputWithContext(ctx context.Context) PostgresflexInstanceNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceNetworkOutput) +} + +func (i PostgresflexInstanceNetworkArgs) ToPostgresflexInstanceNetworkPtrOutput() PostgresflexInstanceNetworkPtrOutput { + return i.ToPostgresflexInstanceNetworkPtrOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceNetworkArgs) ToPostgresflexInstanceNetworkPtrOutputWithContext(ctx context.Context) PostgresflexInstanceNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceNetworkOutput).ToPostgresflexInstanceNetworkPtrOutputWithContext(ctx) +} + +// PostgresflexInstanceNetworkPtrInput is an input type that accepts PostgresflexInstanceNetworkArgs, PostgresflexInstanceNetworkPtr and PostgresflexInstanceNetworkPtrOutput values. +// You can construct a concrete instance of `PostgresflexInstanceNetworkPtrInput` via: +// +// PostgresflexInstanceNetworkArgs{...} +// +// or: +// +// nil +type PostgresflexInstanceNetworkPtrInput interface { + pulumi.Input + + ToPostgresflexInstanceNetworkPtrOutput() PostgresflexInstanceNetworkPtrOutput + ToPostgresflexInstanceNetworkPtrOutputWithContext(context.Context) PostgresflexInstanceNetworkPtrOutput +} + +type postgresflexInstanceNetworkPtrType PostgresflexInstanceNetworkArgs + +func PostgresflexInstanceNetworkPtr(v *PostgresflexInstanceNetworkArgs) PostgresflexInstanceNetworkPtrInput { + return (*postgresflexInstanceNetworkPtrType)(v) +} + +func (*postgresflexInstanceNetworkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceNetwork)(nil)).Elem() +} + +func (i *postgresflexInstanceNetworkPtrType) ToPostgresflexInstanceNetworkPtrOutput() PostgresflexInstanceNetworkPtrOutput { + return i.ToPostgresflexInstanceNetworkPtrOutputWithContext(context.Background()) +} + +func (i *postgresflexInstanceNetworkPtrType) ToPostgresflexInstanceNetworkPtrOutputWithContext(ctx context.Context) PostgresflexInstanceNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceNetworkPtrOutput) +} + +type PostgresflexInstanceNetworkOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceNetwork)(nil)).Elem() +} + +func (o PostgresflexInstanceNetworkOutput) ToPostgresflexInstanceNetworkOutput() PostgresflexInstanceNetworkOutput { + return o +} + +func (o PostgresflexInstanceNetworkOutput) ToPostgresflexInstanceNetworkOutputWithContext(ctx context.Context) PostgresflexInstanceNetworkOutput { + return o +} + +func (o PostgresflexInstanceNetworkOutput) ToPostgresflexInstanceNetworkPtrOutput() PostgresflexInstanceNetworkPtrOutput { + return o.ToPostgresflexInstanceNetworkPtrOutputWithContext(context.Background()) +} + +func (o PostgresflexInstanceNetworkOutput) ToPostgresflexInstanceNetworkPtrOutputWithContext(ctx context.Context) PostgresflexInstanceNetworkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceNetwork) *PostgresflexInstanceNetwork { + return &v + }).(PostgresflexInstanceNetworkPtrOutput) +} + +// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. +func (o PostgresflexInstanceNetworkOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceNetwork) *string { return v.AccessScope }).(pulumi.StringPtrOutput) +} + +// The Access Control List (ACL) for the PostgresFlex instance. +func (o PostgresflexInstanceNetworkOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v PostgresflexInstanceNetwork) []string { return v.Acls }).(pulumi.StringArrayOutput) +} + +func (o PostgresflexInstanceNetworkOutput) InstanceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceNetwork) *string { return v.InstanceAddress }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceNetworkOutput) RouterAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceNetwork) *string { return v.RouterAddress }).(pulumi.StringPtrOutput) +} + +type PostgresflexInstanceNetworkPtrOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceNetworkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceNetwork)(nil)).Elem() +} + +func (o PostgresflexInstanceNetworkPtrOutput) ToPostgresflexInstanceNetworkPtrOutput() PostgresflexInstanceNetworkPtrOutput { + return o +} + +func (o PostgresflexInstanceNetworkPtrOutput) ToPostgresflexInstanceNetworkPtrOutputWithContext(ctx context.Context) PostgresflexInstanceNetworkPtrOutput { + return o +} + +func (o PostgresflexInstanceNetworkPtrOutput) Elem() PostgresflexInstanceNetworkOutput { + return o.ApplyT(func(v *PostgresflexInstanceNetwork) PostgresflexInstanceNetwork { + if v != nil { + return *v + } + var ret PostgresflexInstanceNetwork + return ret + }).(PostgresflexInstanceNetworkOutput) +} + +// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. +func (o PostgresflexInstanceNetworkPtrOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceNetwork) *string { + if v == nil { + return nil + } + return v.AccessScope + }).(pulumi.StringPtrOutput) +} + +// The Access Control List (ACL) for the PostgresFlex instance. +func (o PostgresflexInstanceNetworkPtrOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PostgresflexInstanceNetwork) []string { + if v == nil { + return nil + } + return v.Acls + }).(pulumi.StringArrayOutput) +} + +func (o PostgresflexInstanceNetworkPtrOutput) InstanceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceNetwork) *string { + if v == nil { + return nil + } + return v.InstanceAddress + }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceNetworkPtrOutput) RouterAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceNetwork) *string { + if v == nil { + return nil + } + return v.RouterAddress + }).(pulumi.StringPtrOutput) +} + type PostgresflexInstanceStorage struct { // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): // `bash - // stackit postgresflex options --storages --flavor-id FLAVOR_ID + // stackit postgresflex flavor describe FLAVOR_ID // ` // - `size` (Number) + // \n\n\n\n + // ### Nested Schema for `encryption` + // Required: + // - `kekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + // - `kekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + // - `kekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + // - `serviceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + // \n\n\n\n + // ### Nested Schema for `flavor` + // Required: + // - `cpu` (Number) + // - `ram` (Number) + // Read-Only: + // - `description` (String) + // - `id` (String) + // - `nodeType` (String) + // \n\n\n\n + // ### Nested Schema for `network` + // Optional: + // - `accessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + // - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + // Read-Only: + // - `instanceAddress` (String) + // - `routerAddress` (String) + // \n\n\n\n + // ### Nested Schema for `connectionInfo` + // Read-Only: + // - `write` (Attributes) The DNS name and port in the instance overview. + // \n\n\n\n + // ### Nested Schema for `connection_info.write` + // Read-Only: + // - `host` (String) The host of the instance. + // - `port` (Number) The port of the instance. Class string `pulumi:"class"` Size int `pulumi:"size"` } @@ -14458,9 +15796,42 @@ type PostgresflexInstanceStorageInput interface { type PostgresflexInstanceStorageArgs struct { // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): // `bash - // stackit postgresflex options --storages --flavor-id FLAVOR_ID + // stackit postgresflex flavor describe FLAVOR_ID // ` // - `size` (Number) + // \n\n\n\n + // ### Nested Schema for `encryption` + // Required: + // - `kekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + // - `kekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + // - `kekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + // - `serviceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + // \n\n\n\n + // ### Nested Schema for `flavor` + // Required: + // - `cpu` (Number) + // - `ram` (Number) + // Read-Only: + // - `description` (String) + // - `id` (String) + // - `nodeType` (String) + // \n\n\n\n + // ### Nested Schema for `network` + // Optional: + // - `accessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + // - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + // Read-Only: + // - `instanceAddress` (String) + // - `routerAddress` (String) + // \n\n\n\n + // ### Nested Schema for `connectionInfo` + // Read-Only: + // - `write` (Attributes) The DNS name and port in the instance overview. + // \n\n\n\n + // ### Nested Schema for `connection_info.write` + // Read-Only: + // - `host` (String) The host of the instance. + // - `port` (Number) The port of the instance. Class pulumi.StringInput `pulumi:"class"` Size pulumi.IntInput `pulumi:"size"` } @@ -14544,9 +15915,47 @@ func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStoragePtrOutpu // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): // `bash -// stackit postgresflex options --storages --flavor-id FLAVOR_ID +// stackit postgresflex flavor describe FLAVOR_ID // ` -// - `size` (Number) +// - `size` (Number) +// \n\n\n\n +// +// ### Nested Schema for `encryption` +// Required: +// - `kekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. +// - `kekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. +// - `kekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. +// - `serviceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. +// \n\n\n\n +// +// ### Nested Schema for `flavor` +// Required: +// - `cpu` (Number) +// - `ram` (Number) +// Read-Only: +// - `description` (String) +// - `id` (String) +// - `nodeType` (String) +// \n\n\n\n +// +// ### Nested Schema for `network` +// Optional: +// - `accessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. +// - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. +// Read-Only: +// - `instanceAddress` (String) +// - `routerAddress` (String) +// \n\n\n\n +// +// ### Nested Schema for `connectionInfo` +// Read-Only: +// - `write` (Attributes) The DNS name and port in the instance overview. +// \n\n\n\n +// +// ### Nested Schema for `connection_info.write` +// Read-Only: +// - `host` (String) The host of the instance. +// - `port` (Number) The port of the instance. func (o PostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { return o.ApplyT(func(v PostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) } @@ -14581,9 +15990,47 @@ func (o PostgresflexInstanceStoragePtrOutput) Elem() PostgresflexInstanceStorage // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): // `bash -// stackit postgresflex options --storages --flavor-id FLAVOR_ID +// stackit postgresflex flavor describe FLAVOR_ID // ` -// - `size` (Number) +// - `size` (Number) +// \n\n\n\n +// +// ### Nested Schema for `encryption` +// Required: +// - `kekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. +// - `kekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. +// - `kekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. +// - `serviceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. +// \n\n\n\n +// +// ### Nested Schema for `flavor` +// Required: +// - `cpu` (Number) +// - `ram` (Number) +// Read-Only: +// - `description` (String) +// - `id` (String) +// - `nodeType` (String) +// \n\n\n\n +// +// ### Nested Schema for `network` +// Optional: +// - `accessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. +// - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. +// Read-Only: +// - `instanceAddress` (String) +// - `routerAddress` (String) +// \n\n\n\n +// +// ### Nested Schema for `connectionInfo` +// Read-Only: +// - `write` (Attributes) The DNS name and port in the instance overview. +// \n\n\n\n +// +// ### Nested Schema for `connection_info.write` +// Read-Only: +// - `host` (String) The host of the instance. +// - `port` (Number) The port of the instance. func (o PostgresflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { return o.ApplyT(func(v *PostgresflexInstanceStorage) *string { if v == nil { @@ -17734,9 +19181,148 @@ func (o SkeClusterAccessIdpPtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type SkeClusterAudit struct { + // Enable cluster audit log forwarding to a Telemetry Router. + Enabled *bool `pulumi:"enabled"` +} + +// SkeClusterAuditInput is an input type that accepts SkeClusterAuditArgs and SkeClusterAuditOutput values. +// You can construct a concrete instance of `SkeClusterAuditInput` via: +// +// SkeClusterAuditArgs{...} +type SkeClusterAuditInput interface { + pulumi.Input + + ToSkeClusterAuditOutput() SkeClusterAuditOutput + ToSkeClusterAuditOutputWithContext(context.Context) SkeClusterAuditOutput +} + +type SkeClusterAuditArgs struct { + // Enable cluster audit log forwarding to a Telemetry Router. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (SkeClusterAuditArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterAudit)(nil)).Elem() +} + +func (i SkeClusterAuditArgs) ToSkeClusterAuditOutput() SkeClusterAuditOutput { + return i.ToSkeClusterAuditOutputWithContext(context.Background()) +} + +func (i SkeClusterAuditArgs) ToSkeClusterAuditOutputWithContext(ctx context.Context) SkeClusterAuditOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAuditOutput) +} + +func (i SkeClusterAuditArgs) ToSkeClusterAuditPtrOutput() SkeClusterAuditPtrOutput { + return i.ToSkeClusterAuditPtrOutputWithContext(context.Background()) +} + +func (i SkeClusterAuditArgs) ToSkeClusterAuditPtrOutputWithContext(ctx context.Context) SkeClusterAuditPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAuditOutput).ToSkeClusterAuditPtrOutputWithContext(ctx) +} + +// SkeClusterAuditPtrInput is an input type that accepts SkeClusterAuditArgs, SkeClusterAuditPtr and SkeClusterAuditPtrOutput values. +// You can construct a concrete instance of `SkeClusterAuditPtrInput` via: +// +// SkeClusterAuditArgs{...} +// +// or: +// +// nil +type SkeClusterAuditPtrInput interface { + pulumi.Input + + ToSkeClusterAuditPtrOutput() SkeClusterAuditPtrOutput + ToSkeClusterAuditPtrOutputWithContext(context.Context) SkeClusterAuditPtrOutput +} + +type skeClusterAuditPtrType SkeClusterAuditArgs + +func SkeClusterAuditPtr(v *SkeClusterAuditArgs) SkeClusterAuditPtrInput { + return (*skeClusterAuditPtrType)(v) +} + +func (*skeClusterAuditPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterAudit)(nil)).Elem() +} + +func (i *skeClusterAuditPtrType) ToSkeClusterAuditPtrOutput() SkeClusterAuditPtrOutput { + return i.ToSkeClusterAuditPtrOutputWithContext(context.Background()) +} + +func (i *skeClusterAuditPtrType) ToSkeClusterAuditPtrOutputWithContext(ctx context.Context) SkeClusterAuditPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAuditPtrOutput) +} + +type SkeClusterAuditOutput struct{ *pulumi.OutputState } + +func (SkeClusterAuditOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterAudit)(nil)).Elem() +} + +func (o SkeClusterAuditOutput) ToSkeClusterAuditOutput() SkeClusterAuditOutput { + return o +} + +func (o SkeClusterAuditOutput) ToSkeClusterAuditOutputWithContext(ctx context.Context) SkeClusterAuditOutput { + return o +} + +func (o SkeClusterAuditOutput) ToSkeClusterAuditPtrOutput() SkeClusterAuditPtrOutput { + return o.ToSkeClusterAuditPtrOutputWithContext(context.Background()) +} + +func (o SkeClusterAuditOutput) ToSkeClusterAuditPtrOutputWithContext(ctx context.Context) SkeClusterAuditPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterAudit) *SkeClusterAudit { + return &v + }).(SkeClusterAuditPtrOutput) +} + +// Enable cluster audit log forwarding to a Telemetry Router. +func (o SkeClusterAuditOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterAudit) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type SkeClusterAuditPtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterAuditPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterAudit)(nil)).Elem() +} + +func (o SkeClusterAuditPtrOutput) ToSkeClusterAuditPtrOutput() SkeClusterAuditPtrOutput { + return o +} + +func (o SkeClusterAuditPtrOutput) ToSkeClusterAuditPtrOutputWithContext(ctx context.Context) SkeClusterAuditPtrOutput { + return o +} + +func (o SkeClusterAuditPtrOutput) Elem() SkeClusterAuditOutput { + return o.ApplyT(func(v *SkeClusterAudit) SkeClusterAudit { + if v != nil { + return *v + } + var ret SkeClusterAudit + return ret + }).(SkeClusterAuditOutput) +} + +// Enable cluster audit log forwarding to a Telemetry Router. +func (o SkeClusterAuditPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterAudit) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + type SkeClusterExtensions struct { // Cluster access control configuration. Acl *SkeClusterExtensionsAcl `pulumi:"acl"` + // Application Load Balancer extension. + ApplicationLoadBalancer *SkeClusterExtensionsApplicationLoadBalancer `pulumi:"applicationLoadBalancer"` // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -17761,6 +19347,8 @@ type SkeClusterExtensionsInput interface { type SkeClusterExtensionsArgs struct { // Cluster access control configuration. Acl SkeClusterExtensionsAclPtrInput `pulumi:"acl"` + // Application Load Balancer extension. + ApplicationLoadBalancer SkeClusterExtensionsApplicationLoadBalancerPtrInput `pulumi:"applicationLoadBalancer"` // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -17853,6 +19441,13 @@ func (o SkeClusterExtensionsOutput) Acl() SkeClusterExtensionsAclPtrOutput { return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsAcl { return v.Acl }).(SkeClusterExtensionsAclPtrOutput) } +// Application Load Balancer extension. +func (o SkeClusterExtensionsOutput) ApplicationLoadBalancer() SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsApplicationLoadBalancer { + return v.ApplicationLoadBalancer + }).(SkeClusterExtensionsApplicationLoadBalancerPtrOutput) +} + // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -17904,6 +19499,16 @@ func (o SkeClusterExtensionsPtrOutput) Acl() SkeClusterExtensionsAclPtrOutput { }).(SkeClusterExtensionsAclPtrOutput) } +// Application Load Balancer extension. +func (o SkeClusterExtensionsPtrOutput) ApplicationLoadBalancer() SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsApplicationLoadBalancer { + if v == nil { + return nil + } + return v.ApplicationLoadBalancer + }).(SkeClusterExtensionsApplicationLoadBalancerPtrOutput) +} + // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -18092,6 +19697,143 @@ func (o SkeClusterExtensionsAclPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +type SkeClusterExtensionsApplicationLoadBalancer struct { + // Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + Enabled *bool `pulumi:"enabled"` +} + +// SkeClusterExtensionsApplicationLoadBalancerInput is an input type that accepts SkeClusterExtensionsApplicationLoadBalancerArgs and SkeClusterExtensionsApplicationLoadBalancerOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsApplicationLoadBalancerInput` via: +// +// SkeClusterExtensionsApplicationLoadBalancerArgs{...} +type SkeClusterExtensionsApplicationLoadBalancerInput interface { + pulumi.Input + + ToSkeClusterExtensionsApplicationLoadBalancerOutput() SkeClusterExtensionsApplicationLoadBalancerOutput + ToSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(context.Context) SkeClusterExtensionsApplicationLoadBalancerOutput +} + +type SkeClusterExtensionsApplicationLoadBalancerArgs struct { + // Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (SkeClusterExtensionsApplicationLoadBalancerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsApplicationLoadBalancer)(nil)).Elem() +} + +func (i SkeClusterExtensionsApplicationLoadBalancerArgs) ToSkeClusterExtensionsApplicationLoadBalancerOutput() SkeClusterExtensionsApplicationLoadBalancerOutput { + return i.ToSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(context.Background()) +} + +func (i SkeClusterExtensionsApplicationLoadBalancerArgs) ToSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(ctx context.Context) SkeClusterExtensionsApplicationLoadBalancerOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsApplicationLoadBalancerOutput) +} + +func (i SkeClusterExtensionsApplicationLoadBalancerArgs) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutput() SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return i.ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(context.Background()) +} + +func (i SkeClusterExtensionsApplicationLoadBalancerArgs) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsApplicationLoadBalancerOutput).ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(ctx) +} + +// SkeClusterExtensionsApplicationLoadBalancerPtrInput is an input type that accepts SkeClusterExtensionsApplicationLoadBalancerArgs, SkeClusterExtensionsApplicationLoadBalancerPtr and SkeClusterExtensionsApplicationLoadBalancerPtrOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsApplicationLoadBalancerPtrInput` via: +// +// SkeClusterExtensionsApplicationLoadBalancerArgs{...} +// +// or: +// +// nil +type SkeClusterExtensionsApplicationLoadBalancerPtrInput interface { + pulumi.Input + + ToSkeClusterExtensionsApplicationLoadBalancerPtrOutput() SkeClusterExtensionsApplicationLoadBalancerPtrOutput + ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(context.Context) SkeClusterExtensionsApplicationLoadBalancerPtrOutput +} + +type skeClusterExtensionsApplicationLoadBalancerPtrType SkeClusterExtensionsApplicationLoadBalancerArgs + +func SkeClusterExtensionsApplicationLoadBalancerPtr(v *SkeClusterExtensionsApplicationLoadBalancerArgs) SkeClusterExtensionsApplicationLoadBalancerPtrInput { + return (*skeClusterExtensionsApplicationLoadBalancerPtrType)(v) +} + +func (*skeClusterExtensionsApplicationLoadBalancerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsApplicationLoadBalancer)(nil)).Elem() +} + +func (i *skeClusterExtensionsApplicationLoadBalancerPtrType) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutput() SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return i.ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(context.Background()) +} + +func (i *skeClusterExtensionsApplicationLoadBalancerPtrType) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsApplicationLoadBalancerPtrOutput) +} + +type SkeClusterExtensionsApplicationLoadBalancerOutput struct{ *pulumi.OutputState } + +func (SkeClusterExtensionsApplicationLoadBalancerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsApplicationLoadBalancer)(nil)).Elem() +} + +func (o SkeClusterExtensionsApplicationLoadBalancerOutput) ToSkeClusterExtensionsApplicationLoadBalancerOutput() SkeClusterExtensionsApplicationLoadBalancerOutput { + return o +} + +func (o SkeClusterExtensionsApplicationLoadBalancerOutput) ToSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(ctx context.Context) SkeClusterExtensionsApplicationLoadBalancerOutput { + return o +} + +func (o SkeClusterExtensionsApplicationLoadBalancerOutput) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutput() SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return o.ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(context.Background()) +} + +func (o SkeClusterExtensionsApplicationLoadBalancerOutput) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsApplicationLoadBalancer) *SkeClusterExtensionsApplicationLoadBalancer { + return &v + }).(SkeClusterExtensionsApplicationLoadBalancerPtrOutput) +} + +// Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. +func (o SkeClusterExtensionsApplicationLoadBalancerOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterExtensionsApplicationLoadBalancer) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type SkeClusterExtensionsApplicationLoadBalancerPtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterExtensionsApplicationLoadBalancerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsApplicationLoadBalancer)(nil)).Elem() +} + +func (o SkeClusterExtensionsApplicationLoadBalancerPtrOutput) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutput() SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return o +} + +func (o SkeClusterExtensionsApplicationLoadBalancerPtrOutput) ToSkeClusterExtensionsApplicationLoadBalancerPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsApplicationLoadBalancerPtrOutput { + return o +} + +func (o SkeClusterExtensionsApplicationLoadBalancerPtrOutput) Elem() SkeClusterExtensionsApplicationLoadBalancerOutput { + return o.ApplyT(func(v *SkeClusterExtensionsApplicationLoadBalancer) SkeClusterExtensionsApplicationLoadBalancer { + if v != nil { + return *v + } + var ret SkeClusterExtensionsApplicationLoadBalancer + return ret + }).(SkeClusterExtensionsApplicationLoadBalancerOutput) +} + +// Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. +func (o SkeClusterExtensionsApplicationLoadBalancerPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsApplicationLoadBalancer) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + type SkeClusterExtensionsArgus struct { // Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. ArgusInstanceId *string `pulumi:"argusInstanceId"` @@ -18251,6 +19993,8 @@ func (o SkeClusterExtensionsArgusPtrOutput) Enabled() pulumi.BoolPtrOutput { type SkeClusterExtensionsDns struct { // Flag to enable/disable DNS extensions Enabled bool `pulumi:"enabled"` + // Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + GatewayApi *bool `pulumi:"gatewayApi"` // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) Zones []string `pulumi:"zones"` } @@ -18269,6 +20013,8 @@ type SkeClusterExtensionsDnsInput interface { type SkeClusterExtensionsDnsArgs struct { // Flag to enable/disable DNS extensions Enabled pulumi.BoolInput `pulumi:"enabled"` + // Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + GatewayApi pulumi.BoolPtrInput `pulumi:"gatewayApi"` // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) Zones pulumi.StringArrayInput `pulumi:"zones"` } @@ -18355,6 +20101,11 @@ func (o SkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v SkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) } +// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. +func (o SkeClusterExtensionsDnsOutput) GatewayApi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterExtensionsDns) *bool { return v.GatewayApi }).(pulumi.BoolPtrOutput) +} + // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) func (o SkeClusterExtensionsDnsOutput) Zones() pulumi.StringArrayOutput { return o.ApplyT(func(v SkeClusterExtensionsDns) []string { return v.Zones }).(pulumi.StringArrayOutput) @@ -18394,6 +20145,16 @@ func (o SkeClusterExtensionsDnsPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. +func (o SkeClusterExtensionsDnsPtrOutput) GatewayApi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsDns) *bool { + if v == nil { + return nil + } + return v.GatewayApi + }).(pulumi.BoolPtrOutput) +} + // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) func (o SkeClusterExtensionsDnsPtrOutput) Zones() pulumi.StringArrayOutput { return o.ApplyT(func(v *SkeClusterExtensionsDns) []string { @@ -19026,7 +20787,7 @@ func (o SkeClusterNetworkPtrOutput) Id() pulumi.StringPtrOutput { } type SkeClusterNetworkControlPlane struct { - // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! AccessScope *string `pulumi:"accessScope"` } @@ -19042,7 +20803,7 @@ type SkeClusterNetworkControlPlaneInput interface { } type SkeClusterNetworkControlPlaneArgs struct { - // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` } @@ -19123,7 +20884,7 @@ func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrO }).(SkeClusterNetworkControlPlanePtrOutput) } -// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! +// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! func (o SkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringPtrOutput { return o.ApplyT(func(v SkeClusterNetworkControlPlane) *string { return v.AccessScope }).(pulumi.StringPtrOutput) } @@ -19152,7 +20913,7 @@ func (o SkeClusterNetworkControlPlanePtrOutput) Elem() SkeClusterNetworkControlP }).(SkeClusterNetworkControlPlaneOutput) } -// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! +// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! func (o SkeClusterNetworkControlPlanePtrOutput) AccessScope() pulumi.StringPtrOutput { return o.ApplyT(func(v *SkeClusterNetworkControlPlane) *string { if v == nil { @@ -19524,6 +21285,394 @@ func (o SkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) SkeClusterN }).(SkeClusterNodePoolTaintOutput) } +type SqlserverflexDatabaseTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + Read *string `pulumi:"read"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// SqlserverflexDatabaseTimeoutsInput is an input type that accepts SqlserverflexDatabaseTimeoutsArgs and SqlserverflexDatabaseTimeoutsOutput values. +// You can construct a concrete instance of `SqlserverflexDatabaseTimeoutsInput` via: +// +// SqlserverflexDatabaseTimeoutsArgs{...} +type SqlserverflexDatabaseTimeoutsInput interface { + pulumi.Input + + ToSqlserverflexDatabaseTimeoutsOutput() SqlserverflexDatabaseTimeoutsOutput + ToSqlserverflexDatabaseTimeoutsOutputWithContext(context.Context) SqlserverflexDatabaseTimeoutsOutput +} + +type SqlserverflexDatabaseTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + Read pulumi.StringPtrInput `pulumi:"read"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` +} + +func (SqlserverflexDatabaseTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (i SqlserverflexDatabaseTimeoutsArgs) ToSqlserverflexDatabaseTimeoutsOutput() SqlserverflexDatabaseTimeoutsOutput { + return i.ToSqlserverflexDatabaseTimeoutsOutputWithContext(context.Background()) +} + +func (i SqlserverflexDatabaseTimeoutsArgs) ToSqlserverflexDatabaseTimeoutsOutputWithContext(ctx context.Context) SqlserverflexDatabaseTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexDatabaseTimeoutsOutput) +} + +func (i SqlserverflexDatabaseTimeoutsArgs) ToSqlserverflexDatabaseTimeoutsPtrOutput() SqlserverflexDatabaseTimeoutsPtrOutput { + return i.ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i SqlserverflexDatabaseTimeoutsArgs) ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) SqlserverflexDatabaseTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexDatabaseTimeoutsOutput).ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx) +} + +// SqlserverflexDatabaseTimeoutsPtrInput is an input type that accepts SqlserverflexDatabaseTimeoutsArgs, SqlserverflexDatabaseTimeoutsPtr and SqlserverflexDatabaseTimeoutsPtrOutput values. +// You can construct a concrete instance of `SqlserverflexDatabaseTimeoutsPtrInput` via: +// +// SqlserverflexDatabaseTimeoutsArgs{...} +// +// or: +// +// nil +type SqlserverflexDatabaseTimeoutsPtrInput interface { + pulumi.Input + + ToSqlserverflexDatabaseTimeoutsPtrOutput() SqlserverflexDatabaseTimeoutsPtrOutput + ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Context) SqlserverflexDatabaseTimeoutsPtrOutput +} + +type sqlserverflexDatabaseTimeoutsPtrType SqlserverflexDatabaseTimeoutsArgs + +func SqlserverflexDatabaseTimeoutsPtr(v *SqlserverflexDatabaseTimeoutsArgs) SqlserverflexDatabaseTimeoutsPtrInput { + return (*sqlserverflexDatabaseTimeoutsPtrType)(v) +} + +func (*sqlserverflexDatabaseTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (i *sqlserverflexDatabaseTimeoutsPtrType) ToSqlserverflexDatabaseTimeoutsPtrOutput() SqlserverflexDatabaseTimeoutsPtrOutput { + return i.ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *sqlserverflexDatabaseTimeoutsPtrType) ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) SqlserverflexDatabaseTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexDatabaseTimeoutsPtrOutput) +} + +type SqlserverflexDatabaseTimeoutsOutput struct{ *pulumi.OutputState } + +func (SqlserverflexDatabaseTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (o SqlserverflexDatabaseTimeoutsOutput) ToSqlserverflexDatabaseTimeoutsOutput() SqlserverflexDatabaseTimeoutsOutput { + return o +} + +func (o SqlserverflexDatabaseTimeoutsOutput) ToSqlserverflexDatabaseTimeoutsOutputWithContext(ctx context.Context) SqlserverflexDatabaseTimeoutsOutput { + return o +} + +func (o SqlserverflexDatabaseTimeoutsOutput) ToSqlserverflexDatabaseTimeoutsPtrOutput() SqlserverflexDatabaseTimeoutsPtrOutput { + return o.ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o SqlserverflexDatabaseTimeoutsOutput) ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) SqlserverflexDatabaseTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexDatabaseTimeouts) *SqlserverflexDatabaseTimeouts { + return &v + }).(SqlserverflexDatabaseTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o SqlserverflexDatabaseTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexDatabaseTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o SqlserverflexDatabaseTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexDatabaseTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. +func (o SqlserverflexDatabaseTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexDatabaseTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o SqlserverflexDatabaseTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexDatabaseTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type SqlserverflexDatabaseTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (SqlserverflexDatabaseTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (o SqlserverflexDatabaseTimeoutsPtrOutput) ToSqlserverflexDatabaseTimeoutsPtrOutput() SqlserverflexDatabaseTimeoutsPtrOutput { + return o +} + +func (o SqlserverflexDatabaseTimeoutsPtrOutput) ToSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) SqlserverflexDatabaseTimeoutsPtrOutput { + return o +} + +func (o SqlserverflexDatabaseTimeoutsPtrOutput) Elem() SqlserverflexDatabaseTimeoutsOutput { + return o.ApplyT(func(v *SqlserverflexDatabaseTimeouts) SqlserverflexDatabaseTimeouts { + if v != nil { + return *v + } + var ret SqlserverflexDatabaseTimeouts + return ret + }).(SqlserverflexDatabaseTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o SqlserverflexDatabaseTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexDatabaseTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o SqlserverflexDatabaseTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexDatabaseTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. +func (o SqlserverflexDatabaseTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexDatabaseTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o SqlserverflexDatabaseTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexDatabaseTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type SqlserverflexInstanceEncryption struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KekKeyId string `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion string `pulumi:"kekKeyVersion"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId string `pulumi:"kekKeyringId"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount string `pulumi:"serviceAccount"` +} + +// SqlserverflexInstanceEncryptionInput is an input type that accepts SqlserverflexInstanceEncryptionArgs and SqlserverflexInstanceEncryptionOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceEncryptionInput` via: +// +// SqlserverflexInstanceEncryptionArgs{...} +type SqlserverflexInstanceEncryptionInput interface { + pulumi.Input + + ToSqlserverflexInstanceEncryptionOutput() SqlserverflexInstanceEncryptionOutput + ToSqlserverflexInstanceEncryptionOutputWithContext(context.Context) SqlserverflexInstanceEncryptionOutput +} + +type SqlserverflexInstanceEncryptionArgs struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KekKeyId pulumi.StringInput `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion pulumi.StringInput `pulumi:"kekKeyVersion"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId pulumi.StringInput `pulumi:"kekKeyringId"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` +} + +func (SqlserverflexInstanceEncryptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceEncryption)(nil)).Elem() +} + +func (i SqlserverflexInstanceEncryptionArgs) ToSqlserverflexInstanceEncryptionOutput() SqlserverflexInstanceEncryptionOutput { + return i.ToSqlserverflexInstanceEncryptionOutputWithContext(context.Background()) +} + +func (i SqlserverflexInstanceEncryptionArgs) ToSqlserverflexInstanceEncryptionOutputWithContext(ctx context.Context) SqlserverflexInstanceEncryptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceEncryptionOutput) +} + +func (i SqlserverflexInstanceEncryptionArgs) ToSqlserverflexInstanceEncryptionPtrOutput() SqlserverflexInstanceEncryptionPtrOutput { + return i.ToSqlserverflexInstanceEncryptionPtrOutputWithContext(context.Background()) +} + +func (i SqlserverflexInstanceEncryptionArgs) ToSqlserverflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceEncryptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceEncryptionOutput).ToSqlserverflexInstanceEncryptionPtrOutputWithContext(ctx) +} + +// SqlserverflexInstanceEncryptionPtrInput is an input type that accepts SqlserverflexInstanceEncryptionArgs, SqlserverflexInstanceEncryptionPtr and SqlserverflexInstanceEncryptionPtrOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceEncryptionPtrInput` via: +// +// SqlserverflexInstanceEncryptionArgs{...} +// +// or: +// +// nil +type SqlserverflexInstanceEncryptionPtrInput interface { + pulumi.Input + + ToSqlserverflexInstanceEncryptionPtrOutput() SqlserverflexInstanceEncryptionPtrOutput + ToSqlserverflexInstanceEncryptionPtrOutputWithContext(context.Context) SqlserverflexInstanceEncryptionPtrOutput +} + +type sqlserverflexInstanceEncryptionPtrType SqlserverflexInstanceEncryptionArgs + +func SqlserverflexInstanceEncryptionPtr(v *SqlserverflexInstanceEncryptionArgs) SqlserverflexInstanceEncryptionPtrInput { + return (*sqlserverflexInstanceEncryptionPtrType)(v) +} + +func (*sqlserverflexInstanceEncryptionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceEncryption)(nil)).Elem() +} + +func (i *sqlserverflexInstanceEncryptionPtrType) ToSqlserverflexInstanceEncryptionPtrOutput() SqlserverflexInstanceEncryptionPtrOutput { + return i.ToSqlserverflexInstanceEncryptionPtrOutputWithContext(context.Background()) +} + +func (i *sqlserverflexInstanceEncryptionPtrType) ToSqlserverflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceEncryptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceEncryptionPtrOutput) +} + +type SqlserverflexInstanceEncryptionOutput struct{ *pulumi.OutputState } + +func (SqlserverflexInstanceEncryptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceEncryption)(nil)).Elem() +} + +func (o SqlserverflexInstanceEncryptionOutput) ToSqlserverflexInstanceEncryptionOutput() SqlserverflexInstanceEncryptionOutput { + return o +} + +func (o SqlserverflexInstanceEncryptionOutput) ToSqlserverflexInstanceEncryptionOutputWithContext(ctx context.Context) SqlserverflexInstanceEncryptionOutput { + return o +} + +func (o SqlserverflexInstanceEncryptionOutput) ToSqlserverflexInstanceEncryptionPtrOutput() SqlserverflexInstanceEncryptionPtrOutput { + return o.ToSqlserverflexInstanceEncryptionPtrOutputWithContext(context.Background()) +} + +func (o SqlserverflexInstanceEncryptionOutput) ToSqlserverflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceEncryptionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceEncryption) *SqlserverflexInstanceEncryption { + return &v + }).(SqlserverflexInstanceEncryptionPtrOutput) +} + +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o SqlserverflexInstanceEncryptionOutput) KekKeyId() pulumi.StringOutput { + return o.ApplyT(func(v SqlserverflexInstanceEncryption) string { return v.KekKeyId }).(pulumi.StringOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o SqlserverflexInstanceEncryptionOutput) KekKeyVersion() pulumi.StringOutput { + return o.ApplyT(func(v SqlserverflexInstanceEncryption) string { return v.KekKeyVersion }).(pulumi.StringOutput) +} + +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o SqlserverflexInstanceEncryptionOutput) KekKeyringId() pulumi.StringOutput { + return o.ApplyT(func(v SqlserverflexInstanceEncryption) string { return v.KekKeyringId }).(pulumi.StringOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o SqlserverflexInstanceEncryptionOutput) ServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v SqlserverflexInstanceEncryption) string { return v.ServiceAccount }).(pulumi.StringOutput) +} + +type SqlserverflexInstanceEncryptionPtrOutput struct{ *pulumi.OutputState } + +func (SqlserverflexInstanceEncryptionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceEncryption)(nil)).Elem() +} + +func (o SqlserverflexInstanceEncryptionPtrOutput) ToSqlserverflexInstanceEncryptionPtrOutput() SqlserverflexInstanceEncryptionPtrOutput { + return o +} + +func (o SqlserverflexInstanceEncryptionPtrOutput) ToSqlserverflexInstanceEncryptionPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceEncryptionPtrOutput { + return o +} + +func (o SqlserverflexInstanceEncryptionPtrOutput) Elem() SqlserverflexInstanceEncryptionOutput { + return o.ApplyT(func(v *SqlserverflexInstanceEncryption) SqlserverflexInstanceEncryption { + if v != nil { + return *v + } + var ret SqlserverflexInstanceEncryption + return ret + }).(SqlserverflexInstanceEncryptionOutput) +} + +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o SqlserverflexInstanceEncryptionPtrOutput) KekKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.KekKeyId + }).(pulumi.StringPtrOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o SqlserverflexInstanceEncryptionPtrOutput) KekKeyVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.KekKeyVersion + }).(pulumi.StringPtrOutput) +} + +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o SqlserverflexInstanceEncryptionPtrOutput) KekKeyringId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.KekKeyringId + }).(pulumi.StringPtrOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o SqlserverflexInstanceEncryptionPtrOutput) ServiceAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceEncryption) *string { + if v == nil { + return nil + } + return &v.ServiceAccount + }).(pulumi.StringPtrOutput) +} + type SqlserverflexInstanceFlavor struct { Cpu int `pulumi:"cpu"` Description *string `pulumi:"description"` @@ -19707,6 +21856,10 @@ type SqlserverflexInstanceNetwork struct { AccessScope *string `pulumi:"accessScope"` // List of IPV4 cidr. Acls []string `pulumi:"acls"` + // Address of this instance. + InstanceAddress *string `pulumi:"instanceAddress"` + // Address of the router. + RouterAddress *string `pulumi:"routerAddress"` } // SqlserverflexInstanceNetworkInput is an input type that accepts SqlserverflexInstanceNetworkArgs and SqlserverflexInstanceNetworkOutput values. @@ -19725,6 +21878,10 @@ type SqlserverflexInstanceNetworkArgs struct { AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` // List of IPV4 cidr. Acls pulumi.StringArrayInput `pulumi:"acls"` + // Address of this instance. + InstanceAddress pulumi.StringPtrInput `pulumi:"instanceAddress"` + // Address of the router. + RouterAddress pulumi.StringPtrInput `pulumi:"routerAddress"` } func (SqlserverflexInstanceNetworkArgs) ElementType() reflect.Type { @@ -19814,6 +21971,16 @@ func (o SqlserverflexInstanceNetworkOutput) Acls() pulumi.StringArrayOutput { return o.ApplyT(func(v SqlserverflexInstanceNetwork) []string { return v.Acls }).(pulumi.StringArrayOutput) } +// Address of this instance. +func (o SqlserverflexInstanceNetworkOutput) InstanceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceNetwork) *string { return v.InstanceAddress }).(pulumi.StringPtrOutput) +} + +// Address of the router. +func (o SqlserverflexInstanceNetworkOutput) RouterAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceNetwork) *string { return v.RouterAddress }).(pulumi.StringPtrOutput) +} + type SqlserverflexInstanceNetworkPtrOutput struct{ *pulumi.OutputState } func (SqlserverflexInstanceNetworkPtrOutput) ElementType() reflect.Type { @@ -19858,10 +22025,30 @@ func (o SqlserverflexInstanceNetworkPtrOutput) Acls() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } +// Address of this instance. +func (o SqlserverflexInstanceNetworkPtrOutput) InstanceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceNetwork) *string { + if v == nil { + return nil + } + return v.InstanceAddress + }).(pulumi.StringPtrOutput) +} + +// Address of the router. +func (o SqlserverflexInstanceNetworkPtrOutput) RouterAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceNetwork) *string { + if v == nil { + return nil + } + return v.RouterAddress + }).(pulumi.StringPtrOutput) +} + type SqlserverflexInstanceOptions struct { - // Deprecated: edition is deprecated and will be removed after January 2027. + // Deprecated: edition is deprecated and will be removed after February 2027. Edition *string `pulumi:"edition"` - // Deprecated: retention_days is deprecated and will be removed after January 2027. Use instead `retentionDays` from root. + // Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. RetentionDays *int `pulumi:"retentionDays"` } @@ -19877,9 +22064,9 @@ type SqlserverflexInstanceOptionsInput interface { } type SqlserverflexInstanceOptionsArgs struct { - // Deprecated: edition is deprecated and will be removed after January 2027. + // Deprecated: edition is deprecated and will be removed after February 2027. Edition pulumi.StringPtrInput `pulumi:"edition"` - // Deprecated: retention_days is deprecated and will be removed after January 2027. Use instead `retentionDays` from root. + // Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"` } @@ -19960,12 +22147,12 @@ func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsPtrOut }).(SqlserverflexInstanceOptionsPtrOutput) } -// Deprecated: edition is deprecated and will be removed after January 2027. +// Deprecated: edition is deprecated and will be removed after February 2027. func (o SqlserverflexInstanceOptionsOutput) Edition() pulumi.StringPtrOutput { return o.ApplyT(func(v SqlserverflexInstanceOptions) *string { return v.Edition }).(pulumi.StringPtrOutput) } -// Deprecated: retention_days is deprecated and will be removed after January 2027. Use instead `retentionDays` from root. +// Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. func (o SqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntPtrOutput { return o.ApplyT(func(v SqlserverflexInstanceOptions) *int { return v.RetentionDays }).(pulumi.IntPtrOutput) } @@ -19994,7 +22181,7 @@ func (o SqlserverflexInstanceOptionsPtrOutput) Elem() SqlserverflexInstanceOptio }).(SqlserverflexInstanceOptionsOutput) } -// Deprecated: edition is deprecated and will be removed after January 2027. +// Deprecated: edition is deprecated and will be removed after February 2027. func (o SqlserverflexInstanceOptionsPtrOutput) Edition() pulumi.StringPtrOutput { return o.ApplyT(func(v *SqlserverflexInstanceOptions) *string { if v == nil { @@ -20004,7 +22191,7 @@ func (o SqlserverflexInstanceOptionsPtrOutput) Edition() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -// Deprecated: retention_days is deprecated and will be removed after January 2027. Use instead `retentionDays` from root. +// Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. func (o SqlserverflexInstanceOptionsPtrOutput) RetentionDays() pulumi.IntPtrOutput { return o.ApplyT(func(v *SqlserverflexInstanceOptions) *int { if v == nil { @@ -20015,10 +22202,7 @@ func (o SqlserverflexInstanceOptionsPtrOutput) RetentionDays() pulumi.IntPtrOutp } type SqlserverflexInstanceStorage struct { - // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - // `bash - // stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - // ` Will be required in the future. Set a value to prevent breaking changes. + // The storage class. You can list available storage classes for a the according flavors using the datasource `getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. Class *string `pulumi:"class"` // The storage size in Gigabytes. Will be required in the future. Set a value to prevent breaking changes. Size *int `pulumi:"size"` @@ -20036,10 +22220,7 @@ type SqlserverflexInstanceStorageInput interface { } type SqlserverflexInstanceStorageArgs struct { - // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - // `bash - // stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - // ` Will be required in the future. Set a value to prevent breaking changes. + // The storage class. You can list available storage classes for a the according flavors using the datasource `getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. Class pulumi.StringPtrInput `pulumi:"class"` // The storage size in Gigabytes. Will be required in the future. Set a value to prevent breaking changes. Size pulumi.IntPtrInput `pulumi:"size"` @@ -20122,10 +22303,7 @@ func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStoragePtrOut }).(SqlserverflexInstanceStoragePtrOutput) } -// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): -// `bash -// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID -// ` Will be required in the future. Set a value to prevent breaking changes. +// The storage class. You can list available storage classes for a the according flavors using the datasource `getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. func (o SqlserverflexInstanceStorageOutput) Class() pulumi.StringPtrOutput { return o.ApplyT(func(v SqlserverflexInstanceStorage) *string { return v.Class }).(pulumi.StringPtrOutput) } @@ -20159,10 +22337,7 @@ func (o SqlserverflexInstanceStoragePtrOutput) Elem() SqlserverflexInstanceStora }).(SqlserverflexInstanceStorageOutput) } -// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): -// `bash -// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID -// ` Will be required in the future. Set a value to prevent breaking changes. +// The storage class. You can list available storage classes for a the according flavors using the datasource `getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. func (o SqlserverflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { return o.ApplyT(func(v *SqlserverflexInstanceStorage) *string { if v == nil { @@ -25333,6 +27508,674 @@ func (o VpnGatewayBgpPtrOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOut }).(pulumi.StringArrayOutput) } +type GetAlbWafCustomRuleGroupRule struct { + Behavior GetAlbWafCustomRuleGroupRuleBehavior `pulumi:"behavior"` + Conditions []GetAlbWafCustomRuleGroupRuleCondition `pulumi:"conditions"` + // A clear description explaining the threat vector or criteria addressed by this rule. + Description string `pulumi:"description"` + // Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + Id int `pulumi:"id"` +} + +// GetAlbWafCustomRuleGroupRuleInput is an input type that accepts GetAlbWafCustomRuleGroupRuleArgs and GetAlbWafCustomRuleGroupRuleOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleInput` via: +// +// GetAlbWafCustomRuleGroupRuleArgs{...} +type GetAlbWafCustomRuleGroupRuleInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleOutput() GetAlbWafCustomRuleGroupRuleOutput + ToGetAlbWafCustomRuleGroupRuleOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleOutput +} + +type GetAlbWafCustomRuleGroupRuleArgs struct { + Behavior GetAlbWafCustomRuleGroupRuleBehaviorInput `pulumi:"behavior"` + Conditions GetAlbWafCustomRuleGroupRuleConditionArrayInput `pulumi:"conditions"` + // A clear description explaining the threat vector or criteria addressed by this rule. + Description pulumi.StringInput `pulumi:"description"` + // Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + Id pulumi.IntInput `pulumi:"id"` +} + +func (GetAlbWafCustomRuleGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleArgs) ToGetAlbWafCustomRuleGroupRuleOutput() GetAlbWafCustomRuleGroupRuleOutput { + return i.ToGetAlbWafCustomRuleGroupRuleOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleArgs) ToGetAlbWafCustomRuleGroupRuleOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleOutput) +} + +// GetAlbWafCustomRuleGroupRuleArrayInput is an input type that accepts GetAlbWafCustomRuleGroupRuleArray and GetAlbWafCustomRuleGroupRuleArrayOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleArrayInput` via: +// +// GetAlbWafCustomRuleGroupRuleArray{ GetAlbWafCustomRuleGroupRuleArgs{...} } +type GetAlbWafCustomRuleGroupRuleArrayInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleArrayOutput() GetAlbWafCustomRuleGroupRuleArrayOutput + ToGetAlbWafCustomRuleGroupRuleArrayOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleArrayOutput +} + +type GetAlbWafCustomRuleGroupRuleArray []GetAlbWafCustomRuleGroupRuleInput + +func (GetAlbWafCustomRuleGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleArray) ToGetAlbWafCustomRuleGroupRuleArrayOutput() GetAlbWafCustomRuleGroupRuleArrayOutput { + return i.ToGetAlbWafCustomRuleGroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleArray) ToGetAlbWafCustomRuleGroupRuleArrayOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleArrayOutput) +} + +type GetAlbWafCustomRuleGroupRuleOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleOutput) ToGetAlbWafCustomRuleGroupRuleOutput() GetAlbWafCustomRuleGroupRuleOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleOutput) ToGetAlbWafCustomRuleGroupRuleOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleOutput) Behavior() GetAlbWafCustomRuleGroupRuleBehaviorOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRule) GetAlbWafCustomRuleGroupRuleBehavior { return v.Behavior }).(GetAlbWafCustomRuleGroupRuleBehaviorOutput) +} + +func (o GetAlbWafCustomRuleGroupRuleOutput) Conditions() GetAlbWafCustomRuleGroupRuleConditionArrayOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRule) []GetAlbWafCustomRuleGroupRuleCondition { return v.Conditions }).(GetAlbWafCustomRuleGroupRuleConditionArrayOutput) +} + +// A clear description explaining the threat vector or criteria addressed by this rule. +func (o GetAlbWafCustomRuleGroupRuleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRule) string { return v.Description }).(pulumi.StringOutput) +} + +// Backend auto-allocated unique rule ID within the valid 1-99999 threshold. +func (o GetAlbWafCustomRuleGroupRuleOutput) Id() pulumi.IntOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRule) int { return v.Id }).(pulumi.IntOutput) +} + +type GetAlbWafCustomRuleGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAlbWafCustomRuleGroupRule)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleArrayOutput) ToGetAlbWafCustomRuleGroupRuleArrayOutput() GetAlbWafCustomRuleGroupRuleArrayOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleArrayOutput) ToGetAlbWafCustomRuleGroupRuleArrayOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleArrayOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleArrayOutput) Index(i pulumi.IntInput) GetAlbWafCustomRuleGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAlbWafCustomRuleGroupRule { + return vs[0].([]GetAlbWafCustomRuleGroupRule)[vs[1].(int)] + }).(GetAlbWafCustomRuleGroupRuleOutput) +} + +type GetAlbWafCustomRuleGroupRuleBehavior struct { + // The protective stance action. ACTION_DENY forces a 403 status response code. + Action string `pulumi:"action"` + // Determines whether an entry should be generated in the security ledger upon a rule hit. + Log bool `pulumi:"log"` + // Custom notification message string mapped to underlying logdata contexts. Required if log is true. + LogMsg string `pulumi:"logMsg"` + // Severity classification metric used by internal analytics graphs. + Severity string `pulumi:"severity"` +} + +// GetAlbWafCustomRuleGroupRuleBehaviorInput is an input type that accepts GetAlbWafCustomRuleGroupRuleBehaviorArgs and GetAlbWafCustomRuleGroupRuleBehaviorOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleBehaviorInput` via: +// +// GetAlbWafCustomRuleGroupRuleBehaviorArgs{...} +type GetAlbWafCustomRuleGroupRuleBehaviorInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleBehaviorOutput() GetAlbWafCustomRuleGroupRuleBehaviorOutput + ToGetAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleBehaviorOutput +} + +type GetAlbWafCustomRuleGroupRuleBehaviorArgs struct { + // The protective stance action. ACTION_DENY forces a 403 status response code. + Action pulumi.StringInput `pulumi:"action"` + // Determines whether an entry should be generated in the security ledger upon a rule hit. + Log pulumi.BoolInput `pulumi:"log"` + // Custom notification message string mapped to underlying logdata contexts. Required if log is true. + LogMsg pulumi.StringInput `pulumi:"logMsg"` + // Severity classification metric used by internal analytics graphs. + Severity pulumi.StringInput `pulumi:"severity"` +} + +func (GetAlbWafCustomRuleGroupRuleBehaviorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleBehavior)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleBehaviorArgs) ToGetAlbWafCustomRuleGroupRuleBehaviorOutput() GetAlbWafCustomRuleGroupRuleBehaviorOutput { + return i.ToGetAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleBehaviorArgs) ToGetAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleBehaviorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleBehaviorOutput) +} + +type GetAlbWafCustomRuleGroupRuleBehaviorOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleBehaviorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleBehavior)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleBehaviorOutput) ToGetAlbWafCustomRuleGroupRuleBehaviorOutput() GetAlbWafCustomRuleGroupRuleBehaviorOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleBehaviorOutput) ToGetAlbWafCustomRuleGroupRuleBehaviorOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleBehaviorOutput { + return o +} + +// The protective stance action. ACTION_DENY forces a 403 status response code. +func (o GetAlbWafCustomRuleGroupRuleBehaviorOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleBehavior) string { return v.Action }).(pulumi.StringOutput) +} + +// Determines whether an entry should be generated in the security ledger upon a rule hit. +func (o GetAlbWafCustomRuleGroupRuleBehaviorOutput) Log() pulumi.BoolOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleBehavior) bool { return v.Log }).(pulumi.BoolOutput) +} + +// Custom notification message string mapped to underlying logdata contexts. Required if log is true. +func (o GetAlbWafCustomRuleGroupRuleBehaviorOutput) LogMsg() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleBehavior) string { return v.LogMsg }).(pulumi.StringOutput) +} + +// Severity classification metric used by internal analytics graphs. +func (o GetAlbWafCustomRuleGroupRuleBehaviorOutput) Severity() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleBehavior) string { return v.Severity }).(pulumi.StringOutput) +} + +type GetAlbWafCustomRuleGroupRuleCondition struct { + // The comparison logic executed against the transformed variable. + Operator GetAlbWafCustomRuleGroupRuleConditionOperator `pulumi:"operator"` + // Ordered normalization steps applied before the operator runs. + Transformations []string `pulumi:"transformations"` + // The part of the HTTP transaction to inspect. + Variable GetAlbWafCustomRuleGroupRuleConditionVariable `pulumi:"variable"` +} + +// GetAlbWafCustomRuleGroupRuleConditionInput is an input type that accepts GetAlbWafCustomRuleGroupRuleConditionArgs and GetAlbWafCustomRuleGroupRuleConditionOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleConditionInput` via: +// +// GetAlbWafCustomRuleGroupRuleConditionArgs{...} +type GetAlbWafCustomRuleGroupRuleConditionInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleConditionOutput() GetAlbWafCustomRuleGroupRuleConditionOutput + ToGetAlbWafCustomRuleGroupRuleConditionOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleConditionOutput +} + +type GetAlbWafCustomRuleGroupRuleConditionArgs struct { + // The comparison logic executed against the transformed variable. + Operator GetAlbWafCustomRuleGroupRuleConditionOperatorInput `pulumi:"operator"` + // Ordered normalization steps applied before the operator runs. + Transformations pulumi.StringArrayInput `pulumi:"transformations"` + // The part of the HTTP transaction to inspect. + Variable GetAlbWafCustomRuleGroupRuleConditionVariableInput `pulumi:"variable"` +} + +func (GetAlbWafCustomRuleGroupRuleConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleConditionArgs) ToGetAlbWafCustomRuleGroupRuleConditionOutput() GetAlbWafCustomRuleGroupRuleConditionOutput { + return i.ToGetAlbWafCustomRuleGroupRuleConditionOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleConditionArgs) ToGetAlbWafCustomRuleGroupRuleConditionOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleConditionOutput) +} + +// GetAlbWafCustomRuleGroupRuleConditionArrayInput is an input type that accepts GetAlbWafCustomRuleGroupRuleConditionArray and GetAlbWafCustomRuleGroupRuleConditionArrayOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleConditionArrayInput` via: +// +// GetAlbWafCustomRuleGroupRuleConditionArray{ GetAlbWafCustomRuleGroupRuleConditionArgs{...} } +type GetAlbWafCustomRuleGroupRuleConditionArrayInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleConditionArrayOutput() GetAlbWafCustomRuleGroupRuleConditionArrayOutput + ToGetAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleConditionArrayOutput +} + +type GetAlbWafCustomRuleGroupRuleConditionArray []GetAlbWafCustomRuleGroupRuleConditionInput + +func (GetAlbWafCustomRuleGroupRuleConditionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleConditionArray) ToGetAlbWafCustomRuleGroupRuleConditionArrayOutput() GetAlbWafCustomRuleGroupRuleConditionArrayOutput { + return i.ToGetAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleConditionArray) ToGetAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleConditionArrayOutput) +} + +type GetAlbWafCustomRuleGroupRuleConditionOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleConditionOutput) ToGetAlbWafCustomRuleGroupRuleConditionOutput() GetAlbWafCustomRuleGroupRuleConditionOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleConditionOutput) ToGetAlbWafCustomRuleGroupRuleConditionOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionOutput { + return o +} + +// The comparison logic executed against the transformed variable. +func (o GetAlbWafCustomRuleGroupRuleConditionOutput) Operator() GetAlbWafCustomRuleGroupRuleConditionOperatorOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleCondition) GetAlbWafCustomRuleGroupRuleConditionOperator { + return v.Operator + }).(GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) +} + +// Ordered normalization steps applied before the operator runs. +func (o GetAlbWafCustomRuleGroupRuleConditionOutput) Transformations() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleCondition) []string { return v.Transformations }).(pulumi.StringArrayOutput) +} + +// The part of the HTTP transaction to inspect. +func (o GetAlbWafCustomRuleGroupRuleConditionOutput) Variable() GetAlbWafCustomRuleGroupRuleConditionVariableOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleCondition) GetAlbWafCustomRuleGroupRuleConditionVariable { + return v.Variable + }).(GetAlbWafCustomRuleGroupRuleConditionVariableOutput) +} + +type GetAlbWafCustomRuleGroupRuleConditionArrayOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleConditionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAlbWafCustomRuleGroupRuleCondition)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleConditionArrayOutput) ToGetAlbWafCustomRuleGroupRuleConditionArrayOutput() GetAlbWafCustomRuleGroupRuleConditionArrayOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleConditionArrayOutput) ToGetAlbWafCustomRuleGroupRuleConditionArrayOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionArrayOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleConditionArrayOutput) Index(i pulumi.IntInput) GetAlbWafCustomRuleGroupRuleConditionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAlbWafCustomRuleGroupRuleCondition { + return vs[0].([]GetAlbWafCustomRuleGroupRuleCondition)[vs[1].(int)] + }).(GetAlbWafCustomRuleGroupRuleConditionOutput) +} + +type GetAlbWafCustomRuleGroupRuleConditionOperator struct { + // The operational evaluation type definition macro. + Type string `pulumi:"type"` + // The text or rule regex pattern arguments applied inside the operator execution loop. + Value string `pulumi:"value"` +} + +// GetAlbWafCustomRuleGroupRuleConditionOperatorInput is an input type that accepts GetAlbWafCustomRuleGroupRuleConditionOperatorArgs and GetAlbWafCustomRuleGroupRuleConditionOperatorOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleConditionOperatorInput` via: +// +// GetAlbWafCustomRuleGroupRuleConditionOperatorArgs{...} +type GetAlbWafCustomRuleGroupRuleConditionOperatorInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutput() GetAlbWafCustomRuleGroupRuleConditionOperatorOutput + ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleConditionOperatorOutput +} + +type GetAlbWafCustomRuleGroupRuleConditionOperatorArgs struct { + // The operational evaluation type definition macro. + Type pulumi.StringInput `pulumi:"type"` + // The text or rule regex pattern arguments applied inside the operator execution loop. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetAlbWafCustomRuleGroupRuleConditionOperatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionOperator)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleConditionOperatorArgs) ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutput() GetAlbWafCustomRuleGroupRuleConditionOperatorOutput { + return i.ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleConditionOperatorArgs) ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionOperatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) +} + +type GetAlbWafCustomRuleGroupRuleConditionOperatorOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionOperator)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutput() GetAlbWafCustomRuleGroupRuleConditionOperatorOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) ToGetAlbWafCustomRuleGroupRuleConditionOperatorOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionOperatorOutput { + return o +} + +// The operational evaluation type definition macro. +func (o GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleConditionOperator) string { return v.Type }).(pulumi.StringOutput) +} + +// The text or rule regex pattern arguments applied inside the operator execution loop. +func (o GetAlbWafCustomRuleGroupRuleConditionOperatorOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleConditionOperator) string { return v.Value }).(pulumi.StringOutput) +} + +type GetAlbWafCustomRuleGroupRuleConditionVariable struct { + // The targeted validation engine variable macro. + Type string `pulumi:"type"` + // Optional key element context for map variables (e.g., matching a 'Host' header key). + Value string `pulumi:"value"` +} + +// GetAlbWafCustomRuleGroupRuleConditionVariableInput is an input type that accepts GetAlbWafCustomRuleGroupRuleConditionVariableArgs and GetAlbWafCustomRuleGroupRuleConditionVariableOutput values. +// You can construct a concrete instance of `GetAlbWafCustomRuleGroupRuleConditionVariableInput` via: +// +// GetAlbWafCustomRuleGroupRuleConditionVariableArgs{...} +type GetAlbWafCustomRuleGroupRuleConditionVariableInput interface { + pulumi.Input + + ToGetAlbWafCustomRuleGroupRuleConditionVariableOutput() GetAlbWafCustomRuleGroupRuleConditionVariableOutput + ToGetAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(context.Context) GetAlbWafCustomRuleGroupRuleConditionVariableOutput +} + +type GetAlbWafCustomRuleGroupRuleConditionVariableArgs struct { + // The targeted validation engine variable macro. + Type pulumi.StringInput `pulumi:"type"` + // Optional key element context for map variables (e.g., matching a 'Host' header key). + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetAlbWafCustomRuleGroupRuleConditionVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionVariable)(nil)).Elem() +} + +func (i GetAlbWafCustomRuleGroupRuleConditionVariableArgs) ToGetAlbWafCustomRuleGroupRuleConditionVariableOutput() GetAlbWafCustomRuleGroupRuleConditionVariableOutput { + return i.ToGetAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(context.Background()) +} + +func (i GetAlbWafCustomRuleGroupRuleConditionVariableArgs) ToGetAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafCustomRuleGroupRuleConditionVariableOutput) +} + +type GetAlbWafCustomRuleGroupRuleConditionVariableOutput struct{ *pulumi.OutputState } + +func (GetAlbWafCustomRuleGroupRuleConditionVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionVariable)(nil)).Elem() +} + +func (o GetAlbWafCustomRuleGroupRuleConditionVariableOutput) ToGetAlbWafCustomRuleGroupRuleConditionVariableOutput() GetAlbWafCustomRuleGroupRuleConditionVariableOutput { + return o +} + +func (o GetAlbWafCustomRuleGroupRuleConditionVariableOutput) ToGetAlbWafCustomRuleGroupRuleConditionVariableOutputWithContext(ctx context.Context) GetAlbWafCustomRuleGroupRuleConditionVariableOutput { + return o +} + +// The targeted validation engine variable macro. +func (o GetAlbWafCustomRuleGroupRuleConditionVariableOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleConditionVariable) string { return v.Type }).(pulumi.StringOutput) +} + +// Optional key element context for map variables (e.g., matching a 'Host' header key). +func (o GetAlbWafCustomRuleGroupRuleConditionVariableOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafCustomRuleGroupRuleConditionVariable) string { return v.Value }).(pulumi.StringOutput) +} + +type GetAlbWafManagedRuleSetGroups struct { + // A description of what this group covers. + Description string `pulumi:"description"` + // The name for the rule group. + GroupName string `pulumi:"groupName"` + // Rules of the rule group. + Rules map[string]GetAlbWafManagedRuleSetGroupsRules `pulumi:"rules"` +} + +// GetAlbWafManagedRuleSetGroupsInput is an input type that accepts GetAlbWafManagedRuleSetGroupsArgs and GetAlbWafManagedRuleSetGroupsOutput values. +// You can construct a concrete instance of `GetAlbWafManagedRuleSetGroupsInput` via: +// +// GetAlbWafManagedRuleSetGroupsArgs{...} +type GetAlbWafManagedRuleSetGroupsInput interface { + pulumi.Input + + ToGetAlbWafManagedRuleSetGroupsOutput() GetAlbWafManagedRuleSetGroupsOutput + ToGetAlbWafManagedRuleSetGroupsOutputWithContext(context.Context) GetAlbWafManagedRuleSetGroupsOutput +} + +type GetAlbWafManagedRuleSetGroupsArgs struct { + // A description of what this group covers. + Description pulumi.StringInput `pulumi:"description"` + // The name for the rule group. + GroupName pulumi.StringInput `pulumi:"groupName"` + // Rules of the rule group. + Rules GetAlbWafManagedRuleSetGroupsRulesMapInput `pulumi:"rules"` +} + +func (GetAlbWafManagedRuleSetGroupsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (i GetAlbWafManagedRuleSetGroupsArgs) ToGetAlbWafManagedRuleSetGroupsOutput() GetAlbWafManagedRuleSetGroupsOutput { + return i.ToGetAlbWafManagedRuleSetGroupsOutputWithContext(context.Background()) +} + +func (i GetAlbWafManagedRuleSetGroupsArgs) ToGetAlbWafManagedRuleSetGroupsOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafManagedRuleSetGroupsOutput) +} + +// GetAlbWafManagedRuleSetGroupsMapInput is an input type that accepts GetAlbWafManagedRuleSetGroupsMap and GetAlbWafManagedRuleSetGroupsMapOutput values. +// You can construct a concrete instance of `GetAlbWafManagedRuleSetGroupsMapInput` via: +// +// GetAlbWafManagedRuleSetGroupsMap{ "key": GetAlbWafManagedRuleSetGroupsArgs{...} } +type GetAlbWafManagedRuleSetGroupsMapInput interface { + pulumi.Input + + ToGetAlbWafManagedRuleSetGroupsMapOutput() GetAlbWafManagedRuleSetGroupsMapOutput + ToGetAlbWafManagedRuleSetGroupsMapOutputWithContext(context.Context) GetAlbWafManagedRuleSetGroupsMapOutput +} + +type GetAlbWafManagedRuleSetGroupsMap map[string]GetAlbWafManagedRuleSetGroupsInput + +func (GetAlbWafManagedRuleSetGroupsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GetAlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (i GetAlbWafManagedRuleSetGroupsMap) ToGetAlbWafManagedRuleSetGroupsMapOutput() GetAlbWafManagedRuleSetGroupsMapOutput { + return i.ToGetAlbWafManagedRuleSetGroupsMapOutputWithContext(context.Background()) +} + +func (i GetAlbWafManagedRuleSetGroupsMap) ToGetAlbWafManagedRuleSetGroupsMapOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafManagedRuleSetGroupsMapOutput) +} + +type GetAlbWafManagedRuleSetGroupsOutput struct{ *pulumi.OutputState } + +func (GetAlbWafManagedRuleSetGroupsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (o GetAlbWafManagedRuleSetGroupsOutput) ToGetAlbWafManagedRuleSetGroupsOutput() GetAlbWafManagedRuleSetGroupsOutput { + return o +} + +func (o GetAlbWafManagedRuleSetGroupsOutput) ToGetAlbWafManagedRuleSetGroupsOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsOutput { + return o +} + +// A description of what this group covers. +func (o GetAlbWafManagedRuleSetGroupsOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafManagedRuleSetGroups) string { return v.Description }).(pulumi.StringOutput) +} + +// The name for the rule group. +func (o GetAlbWafManagedRuleSetGroupsOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafManagedRuleSetGroups) string { return v.GroupName }).(pulumi.StringOutput) +} + +// Rules of the rule group. +func (o GetAlbWafManagedRuleSetGroupsOutput) Rules() GetAlbWafManagedRuleSetGroupsRulesMapOutput { + return o.ApplyT(func(v GetAlbWafManagedRuleSetGroups) map[string]GetAlbWafManagedRuleSetGroupsRules { return v.Rules }).(GetAlbWafManagedRuleSetGroupsRulesMapOutput) +} + +type GetAlbWafManagedRuleSetGroupsMapOutput struct{ *pulumi.OutputState } + +func (GetAlbWafManagedRuleSetGroupsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GetAlbWafManagedRuleSetGroups)(nil)).Elem() +} + +func (o GetAlbWafManagedRuleSetGroupsMapOutput) ToGetAlbWafManagedRuleSetGroupsMapOutput() GetAlbWafManagedRuleSetGroupsMapOutput { + return o +} + +func (o GetAlbWafManagedRuleSetGroupsMapOutput) ToGetAlbWafManagedRuleSetGroupsMapOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsMapOutput { + return o +} + +func (o GetAlbWafManagedRuleSetGroupsMapOutput) MapIndex(k pulumi.StringInput) GetAlbWafManagedRuleSetGroupsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GetAlbWafManagedRuleSetGroups { + return vs[0].(map[string]GetAlbWafManagedRuleSetGroups)[vs[1].(string)] + }).(GetAlbWafManagedRuleSetGroupsOutput) +} + +type GetAlbWafManagedRuleSetGroupsRules struct { + // A description of what this rule does. + Description string `pulumi:"description"` + // The current mode of the rule. + Mode string `pulumi:"mode"` + // Impact level. + Severity string `pulumi:"severity"` +} + +// GetAlbWafManagedRuleSetGroupsRulesInput is an input type that accepts GetAlbWafManagedRuleSetGroupsRulesArgs and GetAlbWafManagedRuleSetGroupsRulesOutput values. +// You can construct a concrete instance of `GetAlbWafManagedRuleSetGroupsRulesInput` via: +// +// GetAlbWafManagedRuleSetGroupsRulesArgs{...} +type GetAlbWafManagedRuleSetGroupsRulesInput interface { + pulumi.Input + + ToGetAlbWafManagedRuleSetGroupsRulesOutput() GetAlbWafManagedRuleSetGroupsRulesOutput + ToGetAlbWafManagedRuleSetGroupsRulesOutputWithContext(context.Context) GetAlbWafManagedRuleSetGroupsRulesOutput +} + +type GetAlbWafManagedRuleSetGroupsRulesArgs struct { + // A description of what this rule does. + Description pulumi.StringInput `pulumi:"description"` + // The current mode of the rule. + Mode pulumi.StringInput `pulumi:"mode"` + // Impact level. + Severity pulumi.StringInput `pulumi:"severity"` +} + +func (GetAlbWafManagedRuleSetGroupsRulesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (i GetAlbWafManagedRuleSetGroupsRulesArgs) ToGetAlbWafManagedRuleSetGroupsRulesOutput() GetAlbWafManagedRuleSetGroupsRulesOutput { + return i.ToGetAlbWafManagedRuleSetGroupsRulesOutputWithContext(context.Background()) +} + +func (i GetAlbWafManagedRuleSetGroupsRulesArgs) ToGetAlbWafManagedRuleSetGroupsRulesOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsRulesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafManagedRuleSetGroupsRulesOutput) +} + +// GetAlbWafManagedRuleSetGroupsRulesMapInput is an input type that accepts GetAlbWafManagedRuleSetGroupsRulesMap and GetAlbWafManagedRuleSetGroupsRulesMapOutput values. +// You can construct a concrete instance of `GetAlbWafManagedRuleSetGroupsRulesMapInput` via: +// +// GetAlbWafManagedRuleSetGroupsRulesMap{ "key": GetAlbWafManagedRuleSetGroupsRulesArgs{...} } +type GetAlbWafManagedRuleSetGroupsRulesMapInput interface { + pulumi.Input + + ToGetAlbWafManagedRuleSetGroupsRulesMapOutput() GetAlbWafManagedRuleSetGroupsRulesMapOutput + ToGetAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(context.Context) GetAlbWafManagedRuleSetGroupsRulesMapOutput +} + +type GetAlbWafManagedRuleSetGroupsRulesMap map[string]GetAlbWafManagedRuleSetGroupsRulesInput + +func (GetAlbWafManagedRuleSetGroupsRulesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GetAlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (i GetAlbWafManagedRuleSetGroupsRulesMap) ToGetAlbWafManagedRuleSetGroupsRulesMapOutput() GetAlbWafManagedRuleSetGroupsRulesMapOutput { + return i.ToGetAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(context.Background()) +} + +func (i GetAlbWafManagedRuleSetGroupsRulesMap) ToGetAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsRulesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAlbWafManagedRuleSetGroupsRulesMapOutput) +} + +type GetAlbWafManagedRuleSetGroupsRulesOutput struct{ *pulumi.OutputState } + +func (GetAlbWafManagedRuleSetGroupsRulesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (o GetAlbWafManagedRuleSetGroupsRulesOutput) ToGetAlbWafManagedRuleSetGroupsRulesOutput() GetAlbWafManagedRuleSetGroupsRulesOutput { + return o +} + +func (o GetAlbWafManagedRuleSetGroupsRulesOutput) ToGetAlbWafManagedRuleSetGroupsRulesOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsRulesOutput { + return o +} + +// A description of what this rule does. +func (o GetAlbWafManagedRuleSetGroupsRulesOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafManagedRuleSetGroupsRules) string { return v.Description }).(pulumi.StringOutput) +} + +// The current mode of the rule. +func (o GetAlbWafManagedRuleSetGroupsRulesOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafManagedRuleSetGroupsRules) string { return v.Mode }).(pulumi.StringOutput) +} + +// Impact level. +func (o GetAlbWafManagedRuleSetGroupsRulesOutput) Severity() pulumi.StringOutput { + return o.ApplyT(func(v GetAlbWafManagedRuleSetGroupsRules) string { return v.Severity }).(pulumi.StringOutput) +} + +type GetAlbWafManagedRuleSetGroupsRulesMapOutput struct{ *pulumi.OutputState } + +func (GetAlbWafManagedRuleSetGroupsRulesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GetAlbWafManagedRuleSetGroupsRules)(nil)).Elem() +} + +func (o GetAlbWafManagedRuleSetGroupsRulesMapOutput) ToGetAlbWafManagedRuleSetGroupsRulesMapOutput() GetAlbWafManagedRuleSetGroupsRulesMapOutput { + return o +} + +func (o GetAlbWafManagedRuleSetGroupsRulesMapOutput) ToGetAlbWafManagedRuleSetGroupsRulesMapOutputWithContext(ctx context.Context) GetAlbWafManagedRuleSetGroupsRulesMapOutput { + return o +} + +func (o GetAlbWafManagedRuleSetGroupsRulesMapOutput) MapIndex(k pulumi.StringInput) GetAlbWafManagedRuleSetGroupsRulesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GetAlbWafManagedRuleSetGroupsRules { + return vs[0].(map[string]GetAlbWafManagedRuleSetGroupsRules)[vs[1].(string)] + }).(GetAlbWafManagedRuleSetGroupsRulesOutput) +} + type GetApplicationLoadBalancerError struct { // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. Description string `pulumi:"description"` @@ -27499,8 +30342,14 @@ type GetCdnDistributionConfig struct { Backend GetCdnDistributionConfigBackend `pulumi:"backend"` // The configured countries where distribution of content is blocked BlockedCountries []string `pulumi:"blockedCountries"` + // Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + BlockedIps []string `pulumi:"blockedIps"` + // Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + DefaultCacheDuration string `pulumi:"defaultCacheDuration"` // Enable this allows the 'Host' header to be passed through to the origin. ForwardHostHeader bool `pulumi:"forwardHostHeader"` + // Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + MonthlyLimitBytes int `pulumi:"monthlyLimitBytes"` // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. Optimizer GetCdnDistributionConfigOptimizer `pulumi:"optimizer"` // A wrapper for a list of redirect rules that allows for redirect settings on a distribution @@ -27531,8 +30380,14 @@ type GetCdnDistributionConfigArgs struct { Backend GetCdnDistributionConfigBackendInput `pulumi:"backend"` // The configured countries where distribution of content is blocked BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"` + // Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + BlockedIps pulumi.StringArrayInput `pulumi:"blockedIps"` + // Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + DefaultCacheDuration pulumi.StringInput `pulumi:"defaultCacheDuration"` // Enable this allows the 'Host' header to be passed through to the origin. ForwardHostHeader pulumi.BoolInput `pulumi:"forwardHostHeader"` + // Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + MonthlyLimitBytes pulumi.IntInput `pulumi:"monthlyLimitBytes"` // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. Optimizer GetCdnDistributionConfigOptimizerInput `pulumi:"optimizer"` // A wrapper for a list of redirect rules that allows for redirect settings on a distribution @@ -27583,11 +30438,26 @@ func (o GetCdnDistributionConfigOutput) BlockedCountries() pulumi.StringArrayOut return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.BlockedCountries }).(pulumi.StringArrayOutput) } +// Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. +func (o GetCdnDistributionConfigOutput) BlockedIps() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.BlockedIps }).(pulumi.StringArrayOutput) +} + +// Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. +func (o GetCdnDistributionConfigOutput) DefaultCacheDuration() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) string { return v.DefaultCacheDuration }).(pulumi.StringOutput) +} + // Enable this allows the 'Host' header to be passed through to the origin. func (o GetCdnDistributionConfigOutput) ForwardHostHeader() pulumi.BoolOutput { return o.ApplyT(func(v GetCdnDistributionConfig) bool { return v.ForwardHostHeader }).(pulumi.BoolOutput) } +// Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. +func (o GetCdnDistributionConfigOutput) MonthlyLimitBytes() pulumi.IntOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) int { return v.MonthlyLimitBytes }).(pulumi.IntOutput) +} + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. func (o GetCdnDistributionConfigOutput) Optimizer() GetCdnDistributionConfigOptimizerOutput { return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigOptimizer { return v.Optimizer }).(GetCdnDistributionConfigOptimizerOutput) @@ -31760,106 +34630,6 @@ func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) } -type GetNetworkAreaNetworkRange struct { - NetworkRangeId string `pulumi:"networkRangeId"` - Prefix string `pulumi:"prefix"` -} - -// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: -// -// GetNetworkAreaNetworkRangeArgs{...} -type GetNetworkAreaNetworkRangeInput interface { - pulumi.Input - - ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput - ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput -} - -type GetNetworkAreaNetworkRangeArgs struct { - NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` - Prefix pulumi.StringInput `pulumi:"prefix"` -} - -func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() -} - -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { - return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) -} - -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) -} - -// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: -// -// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } -type GetNetworkAreaNetworkRangeArrayInput interface { - pulumi.Input - - ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput - ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput -} - -type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput - -func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() -} - -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { - return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) -} - -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) -} - -type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } - -func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() -} - -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { - return o -} - -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return o -} - -func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) -} - -func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) -} - -type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } - -func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() -} - -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { - return o -} - -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { - return o -} - -func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { - return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] - }).(GetNetworkAreaNetworkRangeOutput) -} - type GetNetworkAreaRegionIpv4 struct { // List of DNS Servers/Nameservers. DefaultNameservers []string `pulumi:"defaultNameservers"` @@ -33859,10 +36629,607 @@ func (o GetOpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArray return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) } +type GetPostgresflexFlavorsFlavor struct { + // CPU count of the instance. + Cpu int `pulumi:"cpu"` + // Flavor description. + Description string `pulumi:"description"` + // Flavor ID. + Id string `pulumi:"id"` + // Maximum storage capacity available for the flavor in GB. + MaxGb int `pulumi:"maxGb"` + // Memory of the instance in GiB. + Memory int `pulumi:"memory"` + // Minimum storage capacity available for the flavor in GB. + MinGb int `pulumi:"minGb"` + // Node type of the flavor, either single or replica. + NodeType string `pulumi:"nodeType"` + // Storage classes available for the flavor. + StorageClasses []GetPostgresflexFlavorsFlavorStorageClass `pulumi:"storageClasses"` +} + +// GetPostgresflexFlavorsFlavorInput is an input type that accepts GetPostgresflexFlavorsFlavorArgs and GetPostgresflexFlavorsFlavorOutput values. +// You can construct a concrete instance of `GetPostgresflexFlavorsFlavorInput` via: +// +// GetPostgresflexFlavorsFlavorArgs{...} +type GetPostgresflexFlavorsFlavorInput interface { + pulumi.Input + + ToGetPostgresflexFlavorsFlavorOutput() GetPostgresflexFlavorsFlavorOutput + ToGetPostgresflexFlavorsFlavorOutputWithContext(context.Context) GetPostgresflexFlavorsFlavorOutput +} + +type GetPostgresflexFlavorsFlavorArgs struct { + // CPU count of the instance. + Cpu pulumi.IntInput `pulumi:"cpu"` + // Flavor description. + Description pulumi.StringInput `pulumi:"description"` + // Flavor ID. + Id pulumi.StringInput `pulumi:"id"` + // Maximum storage capacity available for the flavor in GB. + MaxGb pulumi.IntInput `pulumi:"maxGb"` + // Memory of the instance in GiB. + Memory pulumi.IntInput `pulumi:"memory"` + // Minimum storage capacity available for the flavor in GB. + MinGb pulumi.IntInput `pulumi:"minGb"` + // Node type of the flavor, either single or replica. + NodeType pulumi.StringInput `pulumi:"nodeType"` + // Storage classes available for the flavor. + StorageClasses GetPostgresflexFlavorsFlavorStorageClassArrayInput `pulumi:"storageClasses"` +} + +func (GetPostgresflexFlavorsFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsFlavor)(nil)).Elem() +} + +func (i GetPostgresflexFlavorsFlavorArgs) ToGetPostgresflexFlavorsFlavorOutput() GetPostgresflexFlavorsFlavorOutput { + return i.ToGetPostgresflexFlavorsFlavorOutputWithContext(context.Background()) +} + +func (i GetPostgresflexFlavorsFlavorArgs) ToGetPostgresflexFlavorsFlavorOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsFlavorOutput) +} + +// GetPostgresflexFlavorsFlavorArrayInput is an input type that accepts GetPostgresflexFlavorsFlavorArray and GetPostgresflexFlavorsFlavorArrayOutput values. +// You can construct a concrete instance of `GetPostgresflexFlavorsFlavorArrayInput` via: +// +// GetPostgresflexFlavorsFlavorArray{ GetPostgresflexFlavorsFlavorArgs{...} } +type GetPostgresflexFlavorsFlavorArrayInput interface { + pulumi.Input + + ToGetPostgresflexFlavorsFlavorArrayOutput() GetPostgresflexFlavorsFlavorArrayOutput + ToGetPostgresflexFlavorsFlavorArrayOutputWithContext(context.Context) GetPostgresflexFlavorsFlavorArrayOutput +} + +type GetPostgresflexFlavorsFlavorArray []GetPostgresflexFlavorsFlavorInput + +func (GetPostgresflexFlavorsFlavorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPostgresflexFlavorsFlavor)(nil)).Elem() +} + +func (i GetPostgresflexFlavorsFlavorArray) ToGetPostgresflexFlavorsFlavorArrayOutput() GetPostgresflexFlavorsFlavorArrayOutput { + return i.ToGetPostgresflexFlavorsFlavorArrayOutputWithContext(context.Background()) +} + +func (i GetPostgresflexFlavorsFlavorArray) ToGetPostgresflexFlavorsFlavorArrayOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsFlavorArrayOutput) +} + +type GetPostgresflexFlavorsFlavorOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsFlavor)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsFlavorOutput) ToGetPostgresflexFlavorsFlavorOutput() GetPostgresflexFlavorsFlavorOutput { + return o +} + +func (o GetPostgresflexFlavorsFlavorOutput) ToGetPostgresflexFlavorsFlavorOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorOutput { + return o +} + +// CPU count of the instance. +func (o GetPostgresflexFlavorsFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) int { return v.Cpu }).(pulumi.IntOutput) +} + +// Flavor description. +func (o GetPostgresflexFlavorsFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) string { return v.Description }).(pulumi.StringOutput) +} + +// Flavor ID. +func (o GetPostgresflexFlavorsFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) string { return v.Id }).(pulumi.StringOutput) +} + +// Maximum storage capacity available for the flavor in GB. +func (o GetPostgresflexFlavorsFlavorOutput) MaxGb() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) int { return v.MaxGb }).(pulumi.IntOutput) +} + +// Memory of the instance in GiB. +func (o GetPostgresflexFlavorsFlavorOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) int { return v.Memory }).(pulumi.IntOutput) +} + +// Minimum storage capacity available for the flavor in GB. +func (o GetPostgresflexFlavorsFlavorOutput) MinGb() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) int { return v.MinGb }).(pulumi.IntOutput) +} + +// Node type of the flavor, either single or replica. +func (o GetPostgresflexFlavorsFlavorOutput) NodeType() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) string { return v.NodeType }).(pulumi.StringOutput) +} + +// Storage classes available for the flavor. +func (o GetPostgresflexFlavorsFlavorOutput) StorageClasses() GetPostgresflexFlavorsFlavorStorageClassArrayOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavor) []GetPostgresflexFlavorsFlavorStorageClass { + return v.StorageClasses + }).(GetPostgresflexFlavorsFlavorStorageClassArrayOutput) +} + +type GetPostgresflexFlavorsFlavorArrayOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsFlavorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPostgresflexFlavorsFlavor)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsFlavorArrayOutput) ToGetPostgresflexFlavorsFlavorArrayOutput() GetPostgresflexFlavorsFlavorArrayOutput { + return o +} + +func (o GetPostgresflexFlavorsFlavorArrayOutput) ToGetPostgresflexFlavorsFlavorArrayOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorArrayOutput { + return o +} + +func (o GetPostgresflexFlavorsFlavorArrayOutput) Index(i pulumi.IntInput) GetPostgresflexFlavorsFlavorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPostgresflexFlavorsFlavor { + return vs[0].([]GetPostgresflexFlavorsFlavor)[vs[1].(int)] + }).(GetPostgresflexFlavorsFlavorOutput) +} + +type GetPostgresflexFlavorsFlavorStorageClass struct { + // Storage class. + Class string `pulumi:"class"` + // Maximum I/O operations per second. + MaxIoPerSec int `pulumi:"maxIoPerSec"` + // Maximum throughput in MB per second. + MaxThroughInMb int `pulumi:"maxThroughInMb"` +} + +// GetPostgresflexFlavorsFlavorStorageClassInput is an input type that accepts GetPostgresflexFlavorsFlavorStorageClassArgs and GetPostgresflexFlavorsFlavorStorageClassOutput values. +// You can construct a concrete instance of `GetPostgresflexFlavorsFlavorStorageClassInput` via: +// +// GetPostgresflexFlavorsFlavorStorageClassArgs{...} +type GetPostgresflexFlavorsFlavorStorageClassInput interface { + pulumi.Input + + ToGetPostgresflexFlavorsFlavorStorageClassOutput() GetPostgresflexFlavorsFlavorStorageClassOutput + ToGetPostgresflexFlavorsFlavorStorageClassOutputWithContext(context.Context) GetPostgresflexFlavorsFlavorStorageClassOutput +} + +type GetPostgresflexFlavorsFlavorStorageClassArgs struct { + // Storage class. + Class pulumi.StringInput `pulumi:"class"` + // Maximum I/O operations per second. + MaxIoPerSec pulumi.IntInput `pulumi:"maxIoPerSec"` + // Maximum throughput in MB per second. + MaxThroughInMb pulumi.IntInput `pulumi:"maxThroughInMb"` +} + +func (GetPostgresflexFlavorsFlavorStorageClassArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (i GetPostgresflexFlavorsFlavorStorageClassArgs) ToGetPostgresflexFlavorsFlavorStorageClassOutput() GetPostgresflexFlavorsFlavorStorageClassOutput { + return i.ToGetPostgresflexFlavorsFlavorStorageClassOutputWithContext(context.Background()) +} + +func (i GetPostgresflexFlavorsFlavorStorageClassArgs) ToGetPostgresflexFlavorsFlavorStorageClassOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorStorageClassOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsFlavorStorageClassOutput) +} + +// GetPostgresflexFlavorsFlavorStorageClassArrayInput is an input type that accepts GetPostgresflexFlavorsFlavorStorageClassArray and GetPostgresflexFlavorsFlavorStorageClassArrayOutput values. +// You can construct a concrete instance of `GetPostgresflexFlavorsFlavorStorageClassArrayInput` via: +// +// GetPostgresflexFlavorsFlavorStorageClassArray{ GetPostgresflexFlavorsFlavorStorageClassArgs{...} } +type GetPostgresflexFlavorsFlavorStorageClassArrayInput interface { + pulumi.Input + + ToGetPostgresflexFlavorsFlavorStorageClassArrayOutput() GetPostgresflexFlavorsFlavorStorageClassArrayOutput + ToGetPostgresflexFlavorsFlavorStorageClassArrayOutputWithContext(context.Context) GetPostgresflexFlavorsFlavorStorageClassArrayOutput +} + +type GetPostgresflexFlavorsFlavorStorageClassArray []GetPostgresflexFlavorsFlavorStorageClassInput + +func (GetPostgresflexFlavorsFlavorStorageClassArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPostgresflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (i GetPostgresflexFlavorsFlavorStorageClassArray) ToGetPostgresflexFlavorsFlavorStorageClassArrayOutput() GetPostgresflexFlavorsFlavorStorageClassArrayOutput { + return i.ToGetPostgresflexFlavorsFlavorStorageClassArrayOutputWithContext(context.Background()) +} + +func (i GetPostgresflexFlavorsFlavorStorageClassArray) ToGetPostgresflexFlavorsFlavorStorageClassArrayOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorStorageClassArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsFlavorStorageClassArrayOutput) +} + +type GetPostgresflexFlavorsFlavorStorageClassOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsFlavorStorageClassOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsFlavorStorageClassOutput) ToGetPostgresflexFlavorsFlavorStorageClassOutput() GetPostgresflexFlavorsFlavorStorageClassOutput { + return o +} + +func (o GetPostgresflexFlavorsFlavorStorageClassOutput) ToGetPostgresflexFlavorsFlavorStorageClassOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorStorageClassOutput { + return o +} + +// Storage class. +func (o GetPostgresflexFlavorsFlavorStorageClassOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavorStorageClass) string { return v.Class }).(pulumi.StringOutput) +} + +// Maximum I/O operations per second. +func (o GetPostgresflexFlavorsFlavorStorageClassOutput) MaxIoPerSec() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavorStorageClass) int { return v.MaxIoPerSec }).(pulumi.IntOutput) +} + +// Maximum throughput in MB per second. +func (o GetPostgresflexFlavorsFlavorStorageClassOutput) MaxThroughInMb() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsFlavorStorageClass) int { return v.MaxThroughInMb }).(pulumi.IntOutput) +} + +type GetPostgresflexFlavorsFlavorStorageClassArrayOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsFlavorStorageClassArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPostgresflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsFlavorStorageClassArrayOutput) ToGetPostgresflexFlavorsFlavorStorageClassArrayOutput() GetPostgresflexFlavorsFlavorStorageClassArrayOutput { + return o +} + +func (o GetPostgresflexFlavorsFlavorStorageClassArrayOutput) ToGetPostgresflexFlavorsFlavorStorageClassArrayOutputWithContext(ctx context.Context) GetPostgresflexFlavorsFlavorStorageClassArrayOutput { + return o +} + +func (o GetPostgresflexFlavorsFlavorStorageClassArrayOutput) Index(i pulumi.IntInput) GetPostgresflexFlavorsFlavorStorageClassOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPostgresflexFlavorsFlavorStorageClass { + return vs[0].([]GetPostgresflexFlavorsFlavorStorageClass)[vs[1].(int)] + }).(GetPostgresflexFlavorsFlavorStorageClassOutput) +} + +type GetPostgresflexFlavorsTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` +} + +// GetPostgresflexFlavorsTimeoutsInput is an input type that accepts GetPostgresflexFlavorsTimeoutsArgs and GetPostgresflexFlavorsTimeoutsOutput values. +// You can construct a concrete instance of `GetPostgresflexFlavorsTimeoutsInput` via: +// +// GetPostgresflexFlavorsTimeoutsArgs{...} +type GetPostgresflexFlavorsTimeoutsInput interface { + pulumi.Input + + ToGetPostgresflexFlavorsTimeoutsOutput() GetPostgresflexFlavorsTimeoutsOutput + ToGetPostgresflexFlavorsTimeoutsOutputWithContext(context.Context) GetPostgresflexFlavorsTimeoutsOutput +} + +type GetPostgresflexFlavorsTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` +} + +func (GetPostgresflexFlavorsTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsTimeouts)(nil)).Elem() +} + +func (i GetPostgresflexFlavorsTimeoutsArgs) ToGetPostgresflexFlavorsTimeoutsOutput() GetPostgresflexFlavorsTimeoutsOutput { + return i.ToGetPostgresflexFlavorsTimeoutsOutputWithContext(context.Background()) +} + +func (i GetPostgresflexFlavorsTimeoutsArgs) ToGetPostgresflexFlavorsTimeoutsOutputWithContext(ctx context.Context) GetPostgresflexFlavorsTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsTimeoutsOutput) +} + +func (i GetPostgresflexFlavorsTimeoutsArgs) ToGetPostgresflexFlavorsTimeoutsPtrOutput() GetPostgresflexFlavorsTimeoutsPtrOutput { + return i.ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i GetPostgresflexFlavorsTimeoutsArgs) ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetPostgresflexFlavorsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsTimeoutsOutput).ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(ctx) +} + +// GetPostgresflexFlavorsTimeoutsPtrInput is an input type that accepts GetPostgresflexFlavorsTimeoutsArgs, GetPostgresflexFlavorsTimeoutsPtr and GetPostgresflexFlavorsTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetPostgresflexFlavorsTimeoutsPtrInput` via: +// +// GetPostgresflexFlavorsTimeoutsArgs{...} +// +// or: +// +// nil +type GetPostgresflexFlavorsTimeoutsPtrInput interface { + pulumi.Input + + ToGetPostgresflexFlavorsTimeoutsPtrOutput() GetPostgresflexFlavorsTimeoutsPtrOutput + ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(context.Context) GetPostgresflexFlavorsTimeoutsPtrOutput +} + +type getPostgresflexFlavorsTimeoutsPtrType GetPostgresflexFlavorsTimeoutsArgs + +func GetPostgresflexFlavorsTimeoutsPtr(v *GetPostgresflexFlavorsTimeoutsArgs) GetPostgresflexFlavorsTimeoutsPtrInput { + return (*getPostgresflexFlavorsTimeoutsPtrType)(v) +} + +func (*getPostgresflexFlavorsTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetPostgresflexFlavorsTimeouts)(nil)).Elem() +} + +func (i *getPostgresflexFlavorsTimeoutsPtrType) ToGetPostgresflexFlavorsTimeoutsPtrOutput() GetPostgresflexFlavorsTimeoutsPtrOutput { + return i.ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *getPostgresflexFlavorsTimeoutsPtrType) ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetPostgresflexFlavorsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexFlavorsTimeoutsPtrOutput) +} + +type GetPostgresflexFlavorsTimeoutsOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexFlavorsTimeouts)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsTimeoutsOutput) ToGetPostgresflexFlavorsTimeoutsOutput() GetPostgresflexFlavorsTimeoutsOutput { + return o +} + +func (o GetPostgresflexFlavorsTimeoutsOutput) ToGetPostgresflexFlavorsTimeoutsOutputWithContext(ctx context.Context) GetPostgresflexFlavorsTimeoutsOutput { + return o +} + +func (o GetPostgresflexFlavorsTimeoutsOutput) ToGetPostgresflexFlavorsTimeoutsPtrOutput() GetPostgresflexFlavorsTimeoutsPtrOutput { + return o.ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o GetPostgresflexFlavorsTimeoutsOutput) ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetPostgresflexFlavorsTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetPostgresflexFlavorsTimeouts) *GetPostgresflexFlavorsTimeouts { + return &v + }).(GetPostgresflexFlavorsTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetPostgresflexFlavorsTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetPostgresflexFlavorsTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} + +type GetPostgresflexFlavorsTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexFlavorsTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetPostgresflexFlavorsTimeouts)(nil)).Elem() +} + +func (o GetPostgresflexFlavorsTimeoutsPtrOutput) ToGetPostgresflexFlavorsTimeoutsPtrOutput() GetPostgresflexFlavorsTimeoutsPtrOutput { + return o +} + +func (o GetPostgresflexFlavorsTimeoutsPtrOutput) ToGetPostgresflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetPostgresflexFlavorsTimeoutsPtrOutput { + return o +} + +func (o GetPostgresflexFlavorsTimeoutsPtrOutput) Elem() GetPostgresflexFlavorsTimeoutsOutput { + return o.ApplyT(func(v *GetPostgresflexFlavorsTimeouts) GetPostgresflexFlavorsTimeouts { + if v != nil { + return *v + } + var ret GetPostgresflexFlavorsTimeouts + return ret + }).(GetPostgresflexFlavorsTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetPostgresflexFlavorsTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetPostgresflexFlavorsTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} + +type GetPostgresflexInstanceConnectionInfo struct { + // The DNS name and port in the instance overview. + Write GetPostgresflexInstanceConnectionInfoWrite `pulumi:"write"` +} + +// GetPostgresflexInstanceConnectionInfoInput is an input type that accepts GetPostgresflexInstanceConnectionInfoArgs and GetPostgresflexInstanceConnectionInfoOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceConnectionInfoInput` via: +// +// GetPostgresflexInstanceConnectionInfoArgs{...} +type GetPostgresflexInstanceConnectionInfoInput interface { + pulumi.Input + + ToGetPostgresflexInstanceConnectionInfoOutput() GetPostgresflexInstanceConnectionInfoOutput + ToGetPostgresflexInstanceConnectionInfoOutputWithContext(context.Context) GetPostgresflexInstanceConnectionInfoOutput +} + +type GetPostgresflexInstanceConnectionInfoArgs struct { + // The DNS name and port in the instance overview. + Write GetPostgresflexInstanceConnectionInfoWriteInput `pulumi:"write"` +} + +func (GetPostgresflexInstanceConnectionInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceConnectionInfo)(nil)).Elem() +} + +func (i GetPostgresflexInstanceConnectionInfoArgs) ToGetPostgresflexInstanceConnectionInfoOutput() GetPostgresflexInstanceConnectionInfoOutput { + return i.ToGetPostgresflexInstanceConnectionInfoOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceConnectionInfoArgs) ToGetPostgresflexInstanceConnectionInfoOutputWithContext(ctx context.Context) GetPostgresflexInstanceConnectionInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceConnectionInfoOutput) +} + +type GetPostgresflexInstanceConnectionInfoOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceConnectionInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceConnectionInfo)(nil)).Elem() +} + +func (o GetPostgresflexInstanceConnectionInfoOutput) ToGetPostgresflexInstanceConnectionInfoOutput() GetPostgresflexInstanceConnectionInfoOutput { + return o +} + +func (o GetPostgresflexInstanceConnectionInfoOutput) ToGetPostgresflexInstanceConnectionInfoOutputWithContext(ctx context.Context) GetPostgresflexInstanceConnectionInfoOutput { + return o +} + +// The DNS name and port in the instance overview. +func (o GetPostgresflexInstanceConnectionInfoOutput) Write() GetPostgresflexInstanceConnectionInfoWriteOutput { + return o.ApplyT(func(v GetPostgresflexInstanceConnectionInfo) GetPostgresflexInstanceConnectionInfoWrite { + return v.Write + }).(GetPostgresflexInstanceConnectionInfoWriteOutput) +} + +type GetPostgresflexInstanceConnectionInfoWrite struct { + // The host of the instance. + Host string `pulumi:"host"` + // The port of the instance. + Port int `pulumi:"port"` +} + +// GetPostgresflexInstanceConnectionInfoWriteInput is an input type that accepts GetPostgresflexInstanceConnectionInfoWriteArgs and GetPostgresflexInstanceConnectionInfoWriteOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceConnectionInfoWriteInput` via: +// +// GetPostgresflexInstanceConnectionInfoWriteArgs{...} +type GetPostgresflexInstanceConnectionInfoWriteInput interface { + pulumi.Input + + ToGetPostgresflexInstanceConnectionInfoWriteOutput() GetPostgresflexInstanceConnectionInfoWriteOutput + ToGetPostgresflexInstanceConnectionInfoWriteOutputWithContext(context.Context) GetPostgresflexInstanceConnectionInfoWriteOutput +} + +type GetPostgresflexInstanceConnectionInfoWriteArgs struct { + // The host of the instance. + Host pulumi.StringInput `pulumi:"host"` + // The port of the instance. + Port pulumi.IntInput `pulumi:"port"` +} + +func (GetPostgresflexInstanceConnectionInfoWriteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceConnectionInfoWrite)(nil)).Elem() +} + +func (i GetPostgresflexInstanceConnectionInfoWriteArgs) ToGetPostgresflexInstanceConnectionInfoWriteOutput() GetPostgresflexInstanceConnectionInfoWriteOutput { + return i.ToGetPostgresflexInstanceConnectionInfoWriteOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceConnectionInfoWriteArgs) ToGetPostgresflexInstanceConnectionInfoWriteOutputWithContext(ctx context.Context) GetPostgresflexInstanceConnectionInfoWriteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceConnectionInfoWriteOutput) +} + +type GetPostgresflexInstanceConnectionInfoWriteOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceConnectionInfoWriteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceConnectionInfoWrite)(nil)).Elem() +} + +func (o GetPostgresflexInstanceConnectionInfoWriteOutput) ToGetPostgresflexInstanceConnectionInfoWriteOutput() GetPostgresflexInstanceConnectionInfoWriteOutput { + return o +} + +func (o GetPostgresflexInstanceConnectionInfoWriteOutput) ToGetPostgresflexInstanceConnectionInfoWriteOutputWithContext(ctx context.Context) GetPostgresflexInstanceConnectionInfoWriteOutput { + return o +} + +// The host of the instance. +func (o GetPostgresflexInstanceConnectionInfoWriteOutput) Host() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceConnectionInfoWrite) string { return v.Host }).(pulumi.StringOutput) +} + +// The port of the instance. +func (o GetPostgresflexInstanceConnectionInfoWriteOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceConnectionInfoWrite) int { return v.Port }).(pulumi.IntOutput) +} + +type GetPostgresflexInstanceEncryption struct { + KekKeyId string `pulumi:"kekKeyId"` + KekKeyVersion string `pulumi:"kekKeyVersion"` + KekKeyringId string `pulumi:"kekKeyringId"` + ServiceAccount string `pulumi:"serviceAccount"` +} + +// GetPostgresflexInstanceEncryptionInput is an input type that accepts GetPostgresflexInstanceEncryptionArgs and GetPostgresflexInstanceEncryptionOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceEncryptionInput` via: +// +// GetPostgresflexInstanceEncryptionArgs{...} +type GetPostgresflexInstanceEncryptionInput interface { + pulumi.Input + + ToGetPostgresflexInstanceEncryptionOutput() GetPostgresflexInstanceEncryptionOutput + ToGetPostgresflexInstanceEncryptionOutputWithContext(context.Context) GetPostgresflexInstanceEncryptionOutput +} + +type GetPostgresflexInstanceEncryptionArgs struct { + KekKeyId pulumi.StringInput `pulumi:"kekKeyId"` + KekKeyVersion pulumi.StringInput `pulumi:"kekKeyVersion"` + KekKeyringId pulumi.StringInput `pulumi:"kekKeyringId"` + ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` +} + +func (GetPostgresflexInstanceEncryptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceEncryption)(nil)).Elem() +} + +func (i GetPostgresflexInstanceEncryptionArgs) ToGetPostgresflexInstanceEncryptionOutput() GetPostgresflexInstanceEncryptionOutput { + return i.ToGetPostgresflexInstanceEncryptionOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceEncryptionArgs) ToGetPostgresflexInstanceEncryptionOutputWithContext(ctx context.Context) GetPostgresflexInstanceEncryptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceEncryptionOutput) +} + +type GetPostgresflexInstanceEncryptionOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceEncryptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceEncryption)(nil)).Elem() +} + +func (o GetPostgresflexInstanceEncryptionOutput) ToGetPostgresflexInstanceEncryptionOutput() GetPostgresflexInstanceEncryptionOutput { + return o +} + +func (o GetPostgresflexInstanceEncryptionOutput) ToGetPostgresflexInstanceEncryptionOutputWithContext(ctx context.Context) GetPostgresflexInstanceEncryptionOutput { + return o +} + +func (o GetPostgresflexInstanceEncryptionOutput) KekKeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceEncryption) string { return v.KekKeyId }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceEncryptionOutput) KekKeyVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceEncryption) string { return v.KekKeyVersion }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceEncryptionOutput) KekKeyringId() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceEncryption) string { return v.KekKeyringId }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceEncryptionOutput) ServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceEncryption) string { return v.ServiceAccount }).(pulumi.StringOutput) +} + type GetPostgresflexInstanceFlavor struct { Cpu int `pulumi:"cpu"` Description string `pulumi:"description"` Id string `pulumi:"id"` + NodeType string `pulumi:"nodeType"` Ram int `pulumi:"ram"` } @@ -33881,6 +37248,7 @@ type GetPostgresflexInstanceFlavorArgs struct { Cpu pulumi.IntInput `pulumi:"cpu"` Description pulumi.StringInput `pulumi:"description"` Id pulumi.StringInput `pulumi:"id"` + NodeType pulumi.StringInput `pulumi:"nodeType"` Ram pulumi.IntInput `pulumi:"ram"` } @@ -33922,10 +37290,87 @@ func (o GetPostgresflexInstanceFlavorOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) } +func (o GetPostgresflexInstanceFlavorOutput) NodeType() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.NodeType }).(pulumi.StringOutput) +} + func (o GetPostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } +type GetPostgresflexInstanceNetwork struct { + // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + AccessScope string `pulumi:"accessScope"` + // List of IPV4 cidr. + Acls []string `pulumi:"acls"` + InstanceAddress string `pulumi:"instanceAddress"` + RouterAddress string `pulumi:"routerAddress"` +} + +// GetPostgresflexInstanceNetworkInput is an input type that accepts GetPostgresflexInstanceNetworkArgs and GetPostgresflexInstanceNetworkOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceNetworkInput` via: +// +// GetPostgresflexInstanceNetworkArgs{...} +type GetPostgresflexInstanceNetworkInput interface { + pulumi.Input + + ToGetPostgresflexInstanceNetworkOutput() GetPostgresflexInstanceNetworkOutput + ToGetPostgresflexInstanceNetworkOutputWithContext(context.Context) GetPostgresflexInstanceNetworkOutput +} + +type GetPostgresflexInstanceNetworkArgs struct { + // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + AccessScope pulumi.StringInput `pulumi:"accessScope"` + // List of IPV4 cidr. + Acls pulumi.StringArrayInput `pulumi:"acls"` + InstanceAddress pulumi.StringInput `pulumi:"instanceAddress"` + RouterAddress pulumi.StringInput `pulumi:"routerAddress"` +} + +func (GetPostgresflexInstanceNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceNetwork)(nil)).Elem() +} + +func (i GetPostgresflexInstanceNetworkArgs) ToGetPostgresflexInstanceNetworkOutput() GetPostgresflexInstanceNetworkOutput { + return i.ToGetPostgresflexInstanceNetworkOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceNetworkArgs) ToGetPostgresflexInstanceNetworkOutputWithContext(ctx context.Context) GetPostgresflexInstanceNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceNetworkOutput) +} + +type GetPostgresflexInstanceNetworkOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceNetwork)(nil)).Elem() +} + +func (o GetPostgresflexInstanceNetworkOutput) ToGetPostgresflexInstanceNetworkOutput() GetPostgresflexInstanceNetworkOutput { + return o +} + +func (o GetPostgresflexInstanceNetworkOutput) ToGetPostgresflexInstanceNetworkOutputWithContext(ctx context.Context) GetPostgresflexInstanceNetworkOutput { + return o +} + +// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. +func (o GetPostgresflexInstanceNetworkOutput) AccessScope() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceNetwork) string { return v.AccessScope }).(pulumi.StringOutput) +} + +// List of IPV4 cidr. +func (o GetPostgresflexInstanceNetworkOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetPostgresflexInstanceNetwork) []string { return v.Acls }).(pulumi.StringArrayOutput) +} + +func (o GetPostgresflexInstanceNetworkOutput) InstanceAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceNetwork) string { return v.InstanceAddress }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceNetworkOutput) RouterAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceNetwork) string { return v.RouterAddress }).(pulumi.StringOutput) +} + type GetPostgresflexInstanceStorage struct { Class string `pulumi:"class"` Size int `pulumi:"size"` @@ -36985,9 +40430,63 @@ func (o GetSkeClusterAccessIdpOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v GetSkeClusterAccessIdp) string { return v.Type }).(pulumi.StringOutput) } +type GetSkeClusterAudit struct { + // Enable cluster audit log forwarding to a Telemetry Router. + Enabled bool `pulumi:"enabled"` +} + +// GetSkeClusterAuditInput is an input type that accepts GetSkeClusterAuditArgs and GetSkeClusterAuditOutput values. +// You can construct a concrete instance of `GetSkeClusterAuditInput` via: +// +// GetSkeClusterAuditArgs{...} +type GetSkeClusterAuditInput interface { + pulumi.Input + + ToGetSkeClusterAuditOutput() GetSkeClusterAuditOutput + ToGetSkeClusterAuditOutputWithContext(context.Context) GetSkeClusterAuditOutput +} + +type GetSkeClusterAuditArgs struct { + // Enable cluster audit log forwarding to a Telemetry Router. + Enabled pulumi.BoolInput `pulumi:"enabled"` +} + +func (GetSkeClusterAuditArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAudit)(nil)).Elem() +} + +func (i GetSkeClusterAuditArgs) ToGetSkeClusterAuditOutput() GetSkeClusterAuditOutput { + return i.ToGetSkeClusterAuditOutputWithContext(context.Background()) +} + +func (i GetSkeClusterAuditArgs) ToGetSkeClusterAuditOutputWithContext(ctx context.Context) GetSkeClusterAuditOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAuditOutput) +} + +type GetSkeClusterAuditOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterAuditOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAudit)(nil)).Elem() +} + +func (o GetSkeClusterAuditOutput) ToGetSkeClusterAuditOutput() GetSkeClusterAuditOutput { + return o +} + +func (o GetSkeClusterAuditOutput) ToGetSkeClusterAuditOutputWithContext(ctx context.Context) GetSkeClusterAuditOutput { + return o +} + +// Enable cluster audit log forwarding to a Telemetry Router. +func (o GetSkeClusterAuditOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterAudit) bool { return v.Enabled }).(pulumi.BoolOutput) +} + type GetSkeClusterExtensions struct { // Cluster access control configuration Acl GetSkeClusterExtensionsAcl `pulumi:"acl"` + // Application Load Balancer extension. + ApplicationLoadBalancer GetSkeClusterExtensionsApplicationLoadBalancer `pulumi:"applicationLoadBalancer"` // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -37012,6 +40511,8 @@ type GetSkeClusterExtensionsInput interface { type GetSkeClusterExtensionsArgs struct { // Cluster access control configuration Acl GetSkeClusterExtensionsAclInput `pulumi:"acl"` + // Application Load Balancer extension. + ApplicationLoadBalancer GetSkeClusterExtensionsApplicationLoadBalancerInput `pulumi:"applicationLoadBalancer"` // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -37053,6 +40554,13 @@ func (o GetSkeClusterExtensionsOutput) Acl() GetSkeClusterExtensionsAclOutput { return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsAcl { return v.Acl }).(GetSkeClusterExtensionsAclOutput) } +// Application Load Balancer extension. +func (o GetSkeClusterExtensionsOutput) ApplicationLoadBalancer() GetSkeClusterExtensionsApplicationLoadBalancerOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsApplicationLoadBalancer { + return v.ApplicationLoadBalancer + }).(GetSkeClusterExtensionsApplicationLoadBalancerOutput) +} + // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // // Deprecated: Use observability instead. @@ -37131,6 +40639,58 @@ func (o GetSkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v GetSkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) } +type GetSkeClusterExtensionsApplicationLoadBalancer struct { + // Enables the application load balancer extension. + Enabled bool `pulumi:"enabled"` +} + +// GetSkeClusterExtensionsApplicationLoadBalancerInput is an input type that accepts GetSkeClusterExtensionsApplicationLoadBalancerArgs and GetSkeClusterExtensionsApplicationLoadBalancerOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsApplicationLoadBalancerInput` via: +// +// GetSkeClusterExtensionsApplicationLoadBalancerArgs{...} +type GetSkeClusterExtensionsApplicationLoadBalancerInput interface { + pulumi.Input + + ToGetSkeClusterExtensionsApplicationLoadBalancerOutput() GetSkeClusterExtensionsApplicationLoadBalancerOutput + ToGetSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(context.Context) GetSkeClusterExtensionsApplicationLoadBalancerOutput +} + +type GetSkeClusterExtensionsApplicationLoadBalancerArgs struct { + // Enables the application load balancer extension. + Enabled pulumi.BoolInput `pulumi:"enabled"` +} + +func (GetSkeClusterExtensionsApplicationLoadBalancerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsApplicationLoadBalancer)(nil)).Elem() +} + +func (i GetSkeClusterExtensionsApplicationLoadBalancerArgs) ToGetSkeClusterExtensionsApplicationLoadBalancerOutput() GetSkeClusterExtensionsApplicationLoadBalancerOutput { + return i.ToGetSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(context.Background()) +} + +func (i GetSkeClusterExtensionsApplicationLoadBalancerArgs) ToGetSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(ctx context.Context) GetSkeClusterExtensionsApplicationLoadBalancerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsApplicationLoadBalancerOutput) +} + +type GetSkeClusterExtensionsApplicationLoadBalancerOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsApplicationLoadBalancerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsApplicationLoadBalancer)(nil)).Elem() +} + +func (o GetSkeClusterExtensionsApplicationLoadBalancerOutput) ToGetSkeClusterExtensionsApplicationLoadBalancerOutput() GetSkeClusterExtensionsApplicationLoadBalancerOutput { + return o +} + +func (o GetSkeClusterExtensionsApplicationLoadBalancerOutput) ToGetSkeClusterExtensionsApplicationLoadBalancerOutputWithContext(ctx context.Context) GetSkeClusterExtensionsApplicationLoadBalancerOutput { + return o +} + +// Enables the application load balancer extension. +func (o GetSkeClusterExtensionsApplicationLoadBalancerOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsApplicationLoadBalancer) bool { return v.Enabled }).(pulumi.BoolOutput) +} + type GetSkeClusterExtensionsArgus struct { // Instance ID of argus ArgusInstanceId string `pulumi:"argusInstanceId"` @@ -37195,6 +40755,8 @@ func (o GetSkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { type GetSkeClusterExtensionsDns struct { // Flag to enable/disable DNS extensions Enabled bool `pulumi:"enabled"` + // Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + GatewayApi bool `pulumi:"gatewayApi"` // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) Zones []string `pulumi:"zones"` } @@ -37213,6 +40775,8 @@ type GetSkeClusterExtensionsDnsInput interface { type GetSkeClusterExtensionsDnsArgs struct { // Flag to enable/disable DNS extensions Enabled pulumi.BoolInput `pulumi:"enabled"` + // Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + GatewayApi pulumi.BoolInput `pulumi:"gatewayApi"` // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) Zones pulumi.StringArrayInput `pulumi:"zones"` } @@ -37248,6 +40812,11 @@ func (o GetSkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v GetSkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) } +// Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. +func (o GetSkeClusterExtensionsDnsOutput) GatewayApi() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsDns) bool { return v.GatewayApi }).(pulumi.BoolOutput) +} + // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) func (o GetSkeClusterExtensionsDnsOutput) Zones() pulumi.StringArrayOutput { return o.ApplyT(func(v GetSkeClusterExtensionsDns) []string { return v.Zones }).(pulumi.StringArrayOutput) @@ -38333,6 +41902,636 @@ func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) Index(i pulumi }).(GetSkeMachineImageVersionsMachineImageVersionOutput) } +type GetSqlserverflexDatabaseTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` +} + +// GetSqlserverflexDatabaseTimeoutsInput is an input type that accepts GetSqlserverflexDatabaseTimeoutsArgs and GetSqlserverflexDatabaseTimeoutsOutput values. +// You can construct a concrete instance of `GetSqlserverflexDatabaseTimeoutsInput` via: +// +// GetSqlserverflexDatabaseTimeoutsArgs{...} +type GetSqlserverflexDatabaseTimeoutsInput interface { + pulumi.Input + + ToGetSqlserverflexDatabaseTimeoutsOutput() GetSqlserverflexDatabaseTimeoutsOutput + ToGetSqlserverflexDatabaseTimeoutsOutputWithContext(context.Context) GetSqlserverflexDatabaseTimeoutsOutput +} + +type GetSqlserverflexDatabaseTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` +} + +func (GetSqlserverflexDatabaseTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (i GetSqlserverflexDatabaseTimeoutsArgs) ToGetSqlserverflexDatabaseTimeoutsOutput() GetSqlserverflexDatabaseTimeoutsOutput { + return i.ToGetSqlserverflexDatabaseTimeoutsOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexDatabaseTimeoutsArgs) ToGetSqlserverflexDatabaseTimeoutsOutputWithContext(ctx context.Context) GetSqlserverflexDatabaseTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexDatabaseTimeoutsOutput) +} + +func (i GetSqlserverflexDatabaseTimeoutsArgs) ToGetSqlserverflexDatabaseTimeoutsPtrOutput() GetSqlserverflexDatabaseTimeoutsPtrOutput { + return i.ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexDatabaseTimeoutsArgs) ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexDatabaseTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexDatabaseTimeoutsOutput).ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx) +} + +// GetSqlserverflexDatabaseTimeoutsPtrInput is an input type that accepts GetSqlserverflexDatabaseTimeoutsArgs, GetSqlserverflexDatabaseTimeoutsPtr and GetSqlserverflexDatabaseTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetSqlserverflexDatabaseTimeoutsPtrInput` via: +// +// GetSqlserverflexDatabaseTimeoutsArgs{...} +// +// or: +// +// nil +type GetSqlserverflexDatabaseTimeoutsPtrInput interface { + pulumi.Input + + ToGetSqlserverflexDatabaseTimeoutsPtrOutput() GetSqlserverflexDatabaseTimeoutsPtrOutput + ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Context) GetSqlserverflexDatabaseTimeoutsPtrOutput +} + +type getSqlserverflexDatabaseTimeoutsPtrType GetSqlserverflexDatabaseTimeoutsArgs + +func GetSqlserverflexDatabaseTimeoutsPtr(v *GetSqlserverflexDatabaseTimeoutsArgs) GetSqlserverflexDatabaseTimeoutsPtrInput { + return (*getSqlserverflexDatabaseTimeoutsPtrType)(v) +} + +func (*getSqlserverflexDatabaseTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetSqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (i *getSqlserverflexDatabaseTimeoutsPtrType) ToGetSqlserverflexDatabaseTimeoutsPtrOutput() GetSqlserverflexDatabaseTimeoutsPtrOutput { + return i.ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *getSqlserverflexDatabaseTimeoutsPtrType) ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexDatabaseTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexDatabaseTimeoutsPtrOutput) +} + +type GetSqlserverflexDatabaseTimeoutsOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexDatabaseTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (o GetSqlserverflexDatabaseTimeoutsOutput) ToGetSqlserverflexDatabaseTimeoutsOutput() GetSqlserverflexDatabaseTimeoutsOutput { + return o +} + +func (o GetSqlserverflexDatabaseTimeoutsOutput) ToGetSqlserverflexDatabaseTimeoutsOutputWithContext(ctx context.Context) GetSqlserverflexDatabaseTimeoutsOutput { + return o +} + +func (o GetSqlserverflexDatabaseTimeoutsOutput) ToGetSqlserverflexDatabaseTimeoutsPtrOutput() GetSqlserverflexDatabaseTimeoutsPtrOutput { + return o.ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o GetSqlserverflexDatabaseTimeoutsOutput) ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexDatabaseTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSqlserverflexDatabaseTimeouts) *GetSqlserverflexDatabaseTimeouts { + return &v + }).(GetSqlserverflexDatabaseTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetSqlserverflexDatabaseTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSqlserverflexDatabaseTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} + +type GetSqlserverflexDatabaseTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexDatabaseTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetSqlserverflexDatabaseTimeouts)(nil)).Elem() +} + +func (o GetSqlserverflexDatabaseTimeoutsPtrOutput) ToGetSqlserverflexDatabaseTimeoutsPtrOutput() GetSqlserverflexDatabaseTimeoutsPtrOutput { + return o +} + +func (o GetSqlserverflexDatabaseTimeoutsPtrOutput) ToGetSqlserverflexDatabaseTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexDatabaseTimeoutsPtrOutput { + return o +} + +func (o GetSqlserverflexDatabaseTimeoutsPtrOutput) Elem() GetSqlserverflexDatabaseTimeoutsOutput { + return o.ApplyT(func(v *GetSqlserverflexDatabaseTimeouts) GetSqlserverflexDatabaseTimeouts { + if v != nil { + return *v + } + var ret GetSqlserverflexDatabaseTimeouts + return ret + }).(GetSqlserverflexDatabaseTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetSqlserverflexDatabaseTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetSqlserverflexDatabaseTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} + +type GetSqlserverflexFlavorsFlavor struct { + // The CPU count of the instance. + Cpu int `pulumi:"cpu"` + // Description of the flavor. + Description string `pulumi:"description"` + // ID of the flavor. + Id string `pulumi:"id"` + // Maximum storage, which can be ordered for the flavor in Gigabyte. + MaxGb int `pulumi:"maxGb"` + // The memory (Gibibyte) of the instance. + Memory int `pulumi:"memory"` + // Minimum storage, which is required to order in Gigabyte. + MinGb int `pulumi:"minGb"` + // Defines the node type (either single or HA). + NodeType string `pulumi:"nodeType"` + // Storage classes available for the flavor. + StorageClasses []GetSqlserverflexFlavorsFlavorStorageClass `pulumi:"storageClasses"` +} + +// GetSqlserverflexFlavorsFlavorInput is an input type that accepts GetSqlserverflexFlavorsFlavorArgs and GetSqlserverflexFlavorsFlavorOutput values. +// You can construct a concrete instance of `GetSqlserverflexFlavorsFlavorInput` via: +// +// GetSqlserverflexFlavorsFlavorArgs{...} +type GetSqlserverflexFlavorsFlavorInput interface { + pulumi.Input + + ToGetSqlserverflexFlavorsFlavorOutput() GetSqlserverflexFlavorsFlavorOutput + ToGetSqlserverflexFlavorsFlavorOutputWithContext(context.Context) GetSqlserverflexFlavorsFlavorOutput +} + +type GetSqlserverflexFlavorsFlavorArgs struct { + // The CPU count of the instance. + Cpu pulumi.IntInput `pulumi:"cpu"` + // Description of the flavor. + Description pulumi.StringInput `pulumi:"description"` + // ID of the flavor. + Id pulumi.StringInput `pulumi:"id"` + // Maximum storage, which can be ordered for the flavor in Gigabyte. + MaxGb pulumi.IntInput `pulumi:"maxGb"` + // The memory (Gibibyte) of the instance. + Memory pulumi.IntInput `pulumi:"memory"` + // Minimum storage, which is required to order in Gigabyte. + MinGb pulumi.IntInput `pulumi:"minGb"` + // Defines the node type (either single or HA). + NodeType pulumi.StringInput `pulumi:"nodeType"` + // Storage classes available for the flavor. + StorageClasses GetSqlserverflexFlavorsFlavorStorageClassArrayInput `pulumi:"storageClasses"` +} + +func (GetSqlserverflexFlavorsFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsFlavor)(nil)).Elem() +} + +func (i GetSqlserverflexFlavorsFlavorArgs) ToGetSqlserverflexFlavorsFlavorOutput() GetSqlserverflexFlavorsFlavorOutput { + return i.ToGetSqlserverflexFlavorsFlavorOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexFlavorsFlavorArgs) ToGetSqlserverflexFlavorsFlavorOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsFlavorOutput) +} + +// GetSqlserverflexFlavorsFlavorArrayInput is an input type that accepts GetSqlserverflexFlavorsFlavorArray and GetSqlserverflexFlavorsFlavorArrayOutput values. +// You can construct a concrete instance of `GetSqlserverflexFlavorsFlavorArrayInput` via: +// +// GetSqlserverflexFlavorsFlavorArray{ GetSqlserverflexFlavorsFlavorArgs{...} } +type GetSqlserverflexFlavorsFlavorArrayInput interface { + pulumi.Input + + ToGetSqlserverflexFlavorsFlavorArrayOutput() GetSqlserverflexFlavorsFlavorArrayOutput + ToGetSqlserverflexFlavorsFlavorArrayOutputWithContext(context.Context) GetSqlserverflexFlavorsFlavorArrayOutput +} + +type GetSqlserverflexFlavorsFlavorArray []GetSqlserverflexFlavorsFlavorInput + +func (GetSqlserverflexFlavorsFlavorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSqlserverflexFlavorsFlavor)(nil)).Elem() +} + +func (i GetSqlserverflexFlavorsFlavorArray) ToGetSqlserverflexFlavorsFlavorArrayOutput() GetSqlserverflexFlavorsFlavorArrayOutput { + return i.ToGetSqlserverflexFlavorsFlavorArrayOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexFlavorsFlavorArray) ToGetSqlserverflexFlavorsFlavorArrayOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsFlavorArrayOutput) +} + +type GetSqlserverflexFlavorsFlavorOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsFlavor)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsFlavorOutput) ToGetSqlserverflexFlavorsFlavorOutput() GetSqlserverflexFlavorsFlavorOutput { + return o +} + +func (o GetSqlserverflexFlavorsFlavorOutput) ToGetSqlserverflexFlavorsFlavorOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorOutput { + return o +} + +// The CPU count of the instance. +func (o GetSqlserverflexFlavorsFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) int { return v.Cpu }).(pulumi.IntOutput) +} + +// Description of the flavor. +func (o GetSqlserverflexFlavorsFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) string { return v.Description }).(pulumi.StringOutput) +} + +// ID of the flavor. +func (o GetSqlserverflexFlavorsFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) string { return v.Id }).(pulumi.StringOutput) +} + +// Maximum storage, which can be ordered for the flavor in Gigabyte. +func (o GetSqlserverflexFlavorsFlavorOutput) MaxGb() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) int { return v.MaxGb }).(pulumi.IntOutput) +} + +// The memory (Gibibyte) of the instance. +func (o GetSqlserverflexFlavorsFlavorOutput) Memory() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) int { return v.Memory }).(pulumi.IntOutput) +} + +// Minimum storage, which is required to order in Gigabyte. +func (o GetSqlserverflexFlavorsFlavorOutput) MinGb() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) int { return v.MinGb }).(pulumi.IntOutput) +} + +// Defines the node type (either single or HA). +func (o GetSqlserverflexFlavorsFlavorOutput) NodeType() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) string { return v.NodeType }).(pulumi.StringOutput) +} + +// Storage classes available for the flavor. +func (o GetSqlserverflexFlavorsFlavorOutput) StorageClasses() GetSqlserverflexFlavorsFlavorStorageClassArrayOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavor) []GetSqlserverflexFlavorsFlavorStorageClass { + return v.StorageClasses + }).(GetSqlserverflexFlavorsFlavorStorageClassArrayOutput) +} + +type GetSqlserverflexFlavorsFlavorArrayOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsFlavorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSqlserverflexFlavorsFlavor)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsFlavorArrayOutput) ToGetSqlserverflexFlavorsFlavorArrayOutput() GetSqlserverflexFlavorsFlavorArrayOutput { + return o +} + +func (o GetSqlserverflexFlavorsFlavorArrayOutput) ToGetSqlserverflexFlavorsFlavorArrayOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorArrayOutput { + return o +} + +func (o GetSqlserverflexFlavorsFlavorArrayOutput) Index(i pulumi.IntInput) GetSqlserverflexFlavorsFlavorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSqlserverflexFlavorsFlavor { + return vs[0].([]GetSqlserverflexFlavorsFlavor)[vs[1].(int)] + }).(GetSqlserverflexFlavorsFlavorOutput) +} + +type GetSqlserverflexFlavorsFlavorStorageClass struct { + // Class of the instance. + Class string `pulumi:"class"` + // Maximum I/O per second. + MaxIoPerSec int `pulumi:"maxIoPerSec"` + // Maximum throughput in Megabyte. + MaxThroughInMb int `pulumi:"maxThroughInMb"` +} + +// GetSqlserverflexFlavorsFlavorStorageClassInput is an input type that accepts GetSqlserverflexFlavorsFlavorStorageClassArgs and GetSqlserverflexFlavorsFlavorStorageClassOutput values. +// You can construct a concrete instance of `GetSqlserverflexFlavorsFlavorStorageClassInput` via: +// +// GetSqlserverflexFlavorsFlavorStorageClassArgs{...} +type GetSqlserverflexFlavorsFlavorStorageClassInput interface { + pulumi.Input + + ToGetSqlserverflexFlavorsFlavorStorageClassOutput() GetSqlserverflexFlavorsFlavorStorageClassOutput + ToGetSqlserverflexFlavorsFlavorStorageClassOutputWithContext(context.Context) GetSqlserverflexFlavorsFlavorStorageClassOutput +} + +type GetSqlserverflexFlavorsFlavorStorageClassArgs struct { + // Class of the instance. + Class pulumi.StringInput `pulumi:"class"` + // Maximum I/O per second. + MaxIoPerSec pulumi.IntInput `pulumi:"maxIoPerSec"` + // Maximum throughput in Megabyte. + MaxThroughInMb pulumi.IntInput `pulumi:"maxThroughInMb"` +} + +func (GetSqlserverflexFlavorsFlavorStorageClassArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (i GetSqlserverflexFlavorsFlavorStorageClassArgs) ToGetSqlserverflexFlavorsFlavorStorageClassOutput() GetSqlserverflexFlavorsFlavorStorageClassOutput { + return i.ToGetSqlserverflexFlavorsFlavorStorageClassOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexFlavorsFlavorStorageClassArgs) ToGetSqlserverflexFlavorsFlavorStorageClassOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorStorageClassOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsFlavorStorageClassOutput) +} + +// GetSqlserverflexFlavorsFlavorStorageClassArrayInput is an input type that accepts GetSqlserverflexFlavorsFlavorStorageClassArray and GetSqlserverflexFlavorsFlavorStorageClassArrayOutput values. +// You can construct a concrete instance of `GetSqlserverflexFlavorsFlavorStorageClassArrayInput` via: +// +// GetSqlserverflexFlavorsFlavorStorageClassArray{ GetSqlserverflexFlavorsFlavorStorageClassArgs{...} } +type GetSqlserverflexFlavorsFlavorStorageClassArrayInput interface { + pulumi.Input + + ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutput() GetSqlserverflexFlavorsFlavorStorageClassArrayOutput + ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutputWithContext(context.Context) GetSqlserverflexFlavorsFlavorStorageClassArrayOutput +} + +type GetSqlserverflexFlavorsFlavorStorageClassArray []GetSqlserverflexFlavorsFlavorStorageClassInput + +func (GetSqlserverflexFlavorsFlavorStorageClassArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSqlserverflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (i GetSqlserverflexFlavorsFlavorStorageClassArray) ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutput() GetSqlserverflexFlavorsFlavorStorageClassArrayOutput { + return i.ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexFlavorsFlavorStorageClassArray) ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorStorageClassArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsFlavorStorageClassArrayOutput) +} + +type GetSqlserverflexFlavorsFlavorStorageClassOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsFlavorStorageClassOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsFlavorStorageClassOutput) ToGetSqlserverflexFlavorsFlavorStorageClassOutput() GetSqlserverflexFlavorsFlavorStorageClassOutput { + return o +} + +func (o GetSqlserverflexFlavorsFlavorStorageClassOutput) ToGetSqlserverflexFlavorsFlavorStorageClassOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorStorageClassOutput { + return o +} + +// Class of the instance. +func (o GetSqlserverflexFlavorsFlavorStorageClassOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavorStorageClass) string { return v.Class }).(pulumi.StringOutput) +} + +// Maximum I/O per second. +func (o GetSqlserverflexFlavorsFlavorStorageClassOutput) MaxIoPerSec() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavorStorageClass) int { return v.MaxIoPerSec }).(pulumi.IntOutput) +} + +// Maximum throughput in Megabyte. +func (o GetSqlserverflexFlavorsFlavorStorageClassOutput) MaxThroughInMb() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsFlavorStorageClass) int { return v.MaxThroughInMb }).(pulumi.IntOutput) +} + +type GetSqlserverflexFlavorsFlavorStorageClassArrayOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsFlavorStorageClassArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSqlserverflexFlavorsFlavorStorageClass)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsFlavorStorageClassArrayOutput) ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutput() GetSqlserverflexFlavorsFlavorStorageClassArrayOutput { + return o +} + +func (o GetSqlserverflexFlavorsFlavorStorageClassArrayOutput) ToGetSqlserverflexFlavorsFlavorStorageClassArrayOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsFlavorStorageClassArrayOutput { + return o +} + +func (o GetSqlserverflexFlavorsFlavorStorageClassArrayOutput) Index(i pulumi.IntInput) GetSqlserverflexFlavorsFlavorStorageClassOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSqlserverflexFlavorsFlavorStorageClass { + return vs[0].([]GetSqlserverflexFlavorsFlavorStorageClass)[vs[1].(int)] + }).(GetSqlserverflexFlavorsFlavorStorageClassOutput) +} + +type GetSqlserverflexFlavorsTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` +} + +// GetSqlserverflexFlavorsTimeoutsInput is an input type that accepts GetSqlserverflexFlavorsTimeoutsArgs and GetSqlserverflexFlavorsTimeoutsOutput values. +// You can construct a concrete instance of `GetSqlserverflexFlavorsTimeoutsInput` via: +// +// GetSqlserverflexFlavorsTimeoutsArgs{...} +type GetSqlserverflexFlavorsTimeoutsInput interface { + pulumi.Input + + ToGetSqlserverflexFlavorsTimeoutsOutput() GetSqlserverflexFlavorsTimeoutsOutput + ToGetSqlserverflexFlavorsTimeoutsOutputWithContext(context.Context) GetSqlserverflexFlavorsTimeoutsOutput +} + +type GetSqlserverflexFlavorsTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` +} + +func (GetSqlserverflexFlavorsTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsTimeouts)(nil)).Elem() +} + +func (i GetSqlserverflexFlavorsTimeoutsArgs) ToGetSqlserverflexFlavorsTimeoutsOutput() GetSqlserverflexFlavorsTimeoutsOutput { + return i.ToGetSqlserverflexFlavorsTimeoutsOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexFlavorsTimeoutsArgs) ToGetSqlserverflexFlavorsTimeoutsOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsTimeoutsOutput) +} + +func (i GetSqlserverflexFlavorsTimeoutsArgs) ToGetSqlserverflexFlavorsTimeoutsPtrOutput() GetSqlserverflexFlavorsTimeoutsPtrOutput { + return i.ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexFlavorsTimeoutsArgs) ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsTimeoutsOutput).ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(ctx) +} + +// GetSqlserverflexFlavorsTimeoutsPtrInput is an input type that accepts GetSqlserverflexFlavorsTimeoutsArgs, GetSqlserverflexFlavorsTimeoutsPtr and GetSqlserverflexFlavorsTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetSqlserverflexFlavorsTimeoutsPtrInput` via: +// +// GetSqlserverflexFlavorsTimeoutsArgs{...} +// +// or: +// +// nil +type GetSqlserverflexFlavorsTimeoutsPtrInput interface { + pulumi.Input + + ToGetSqlserverflexFlavorsTimeoutsPtrOutput() GetSqlserverflexFlavorsTimeoutsPtrOutput + ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(context.Context) GetSqlserverflexFlavorsTimeoutsPtrOutput +} + +type getSqlserverflexFlavorsTimeoutsPtrType GetSqlserverflexFlavorsTimeoutsArgs + +func GetSqlserverflexFlavorsTimeoutsPtr(v *GetSqlserverflexFlavorsTimeoutsArgs) GetSqlserverflexFlavorsTimeoutsPtrInput { + return (*getSqlserverflexFlavorsTimeoutsPtrType)(v) +} + +func (*getSqlserverflexFlavorsTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetSqlserverflexFlavorsTimeouts)(nil)).Elem() +} + +func (i *getSqlserverflexFlavorsTimeoutsPtrType) ToGetSqlserverflexFlavorsTimeoutsPtrOutput() GetSqlserverflexFlavorsTimeoutsPtrOutput { + return i.ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *getSqlserverflexFlavorsTimeoutsPtrType) ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexFlavorsTimeoutsPtrOutput) +} + +type GetSqlserverflexFlavorsTimeoutsOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexFlavorsTimeouts)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsTimeoutsOutput) ToGetSqlserverflexFlavorsTimeoutsOutput() GetSqlserverflexFlavorsTimeoutsOutput { + return o +} + +func (o GetSqlserverflexFlavorsTimeoutsOutput) ToGetSqlserverflexFlavorsTimeoutsOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsTimeoutsOutput { + return o +} + +func (o GetSqlserverflexFlavorsTimeoutsOutput) ToGetSqlserverflexFlavorsTimeoutsPtrOutput() GetSqlserverflexFlavorsTimeoutsPtrOutput { + return o.ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o GetSqlserverflexFlavorsTimeoutsOutput) ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSqlserverflexFlavorsTimeouts) *GetSqlserverflexFlavorsTimeouts { + return &v + }).(GetSqlserverflexFlavorsTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetSqlserverflexFlavorsTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSqlserverflexFlavorsTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} + +type GetSqlserverflexFlavorsTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexFlavorsTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetSqlserverflexFlavorsTimeouts)(nil)).Elem() +} + +func (o GetSqlserverflexFlavorsTimeoutsPtrOutput) ToGetSqlserverflexFlavorsTimeoutsPtrOutput() GetSqlserverflexFlavorsTimeoutsPtrOutput { + return o +} + +func (o GetSqlserverflexFlavorsTimeoutsPtrOutput) ToGetSqlserverflexFlavorsTimeoutsPtrOutputWithContext(ctx context.Context) GetSqlserverflexFlavorsTimeoutsPtrOutput { + return o +} + +func (o GetSqlserverflexFlavorsTimeoutsPtrOutput) Elem() GetSqlserverflexFlavorsTimeoutsOutput { + return o.ApplyT(func(v *GetSqlserverflexFlavorsTimeouts) GetSqlserverflexFlavorsTimeouts { + if v != nil { + return *v + } + var ret GetSqlserverflexFlavorsTimeouts + return ret + }).(GetSqlserverflexFlavorsTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetSqlserverflexFlavorsTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetSqlserverflexFlavorsTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} + +type GetSqlserverflexInstanceEncryption struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KekKeyId string `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion string `pulumi:"kekKeyVersion"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId string `pulumi:"kekKeyringId"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount string `pulumi:"serviceAccount"` +} + +// GetSqlserverflexInstanceEncryptionInput is an input type that accepts GetSqlserverflexInstanceEncryptionArgs and GetSqlserverflexInstanceEncryptionOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceEncryptionInput` via: +// +// GetSqlserverflexInstanceEncryptionArgs{...} +type GetSqlserverflexInstanceEncryptionInput interface { + pulumi.Input + + ToGetSqlserverflexInstanceEncryptionOutput() GetSqlserverflexInstanceEncryptionOutput + ToGetSqlserverflexInstanceEncryptionOutputWithContext(context.Context) GetSqlserverflexInstanceEncryptionOutput +} + +type GetSqlserverflexInstanceEncryptionArgs struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KekKeyId pulumi.StringInput `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion pulumi.StringInput `pulumi:"kekKeyVersion"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId pulumi.StringInput `pulumi:"kekKeyringId"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` +} + +func (GetSqlserverflexInstanceEncryptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceEncryption)(nil)).Elem() +} + +func (i GetSqlserverflexInstanceEncryptionArgs) ToGetSqlserverflexInstanceEncryptionOutput() GetSqlserverflexInstanceEncryptionOutput { + return i.ToGetSqlserverflexInstanceEncryptionOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexInstanceEncryptionArgs) ToGetSqlserverflexInstanceEncryptionOutputWithContext(ctx context.Context) GetSqlserverflexInstanceEncryptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceEncryptionOutput) +} + +type GetSqlserverflexInstanceEncryptionOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexInstanceEncryptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceEncryption)(nil)).Elem() +} + +func (o GetSqlserverflexInstanceEncryptionOutput) ToGetSqlserverflexInstanceEncryptionOutput() GetSqlserverflexInstanceEncryptionOutput { + return o +} + +func (o GetSqlserverflexInstanceEncryptionOutput) ToGetSqlserverflexInstanceEncryptionOutputWithContext(ctx context.Context) GetSqlserverflexInstanceEncryptionOutput { + return o +} + +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o GetSqlserverflexInstanceEncryptionOutput) KekKeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceEncryption) string { return v.KekKeyId }).(pulumi.StringOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o GetSqlserverflexInstanceEncryptionOutput) KekKeyVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceEncryption) string { return v.KekKeyVersion }).(pulumi.StringOutput) +} + +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o GetSqlserverflexInstanceEncryptionOutput) KekKeyringId() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceEncryption) string { return v.KekKeyringId }).(pulumi.StringOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o GetSqlserverflexInstanceEncryptionOutput) ServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceEncryption) string { return v.ServiceAccount }).(pulumi.StringOutput) +} + type GetSqlserverflexInstanceFlavor struct { Cpu int `pulumi:"cpu"` Description string `pulumi:"description"` @@ -38405,6 +42604,10 @@ type GetSqlserverflexInstanceNetwork struct { AccessScope *string `pulumi:"accessScope"` // List of IPV4 cidr. Acls []string `pulumi:"acls"` + // Address of this instance. + InstanceAddress string `pulumi:"instanceAddress"` + // Address of the router. + RouterAddress string `pulumi:"routerAddress"` } // GetSqlserverflexInstanceNetworkInput is an input type that accepts GetSqlserverflexInstanceNetworkArgs and GetSqlserverflexInstanceNetworkOutput values. @@ -38423,6 +42626,10 @@ type GetSqlserverflexInstanceNetworkArgs struct { AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` // List of IPV4 cidr. Acls pulumi.StringArrayInput `pulumi:"acls"` + // Address of this instance. + InstanceAddress pulumi.StringInput `pulumi:"instanceAddress"` + // Address of the router. + RouterAddress pulumi.StringInput `pulumi:"routerAddress"` } func (GetSqlserverflexInstanceNetworkArgs) ElementType() reflect.Type { @@ -38512,6 +42719,16 @@ func (o GetSqlserverflexInstanceNetworkOutput) Acls() pulumi.StringArrayOutput { return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) []string { return v.Acls }).(pulumi.StringArrayOutput) } +// Address of this instance. +func (o GetSqlserverflexInstanceNetworkOutput) InstanceAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) string { return v.InstanceAddress }).(pulumi.StringOutput) +} + +// Address of the router. +func (o GetSqlserverflexInstanceNetworkOutput) RouterAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) string { return v.RouterAddress }).(pulumi.StringOutput) +} + type GetSqlserverflexInstanceNetworkPtrOutput struct{ *pulumi.OutputState } func (GetSqlserverflexInstanceNetworkPtrOutput) ElementType() reflect.Type { @@ -38556,9 +42773,31 @@ func (o GetSqlserverflexInstanceNetworkPtrOutput) Acls() pulumi.StringArrayOutpu }).(pulumi.StringArrayOutput) } +// Address of this instance. +func (o GetSqlserverflexInstanceNetworkPtrOutput) InstanceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) *string { + if v == nil { + return nil + } + return &v.InstanceAddress + }).(pulumi.StringPtrOutput) +} + +// Address of the router. +func (o GetSqlserverflexInstanceNetworkPtrOutput) RouterAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) *string { + if v == nil { + return nil + } + return &v.RouterAddress + }).(pulumi.StringPtrOutput) +} + type GetSqlserverflexInstanceOptions struct { - Edition string `pulumi:"edition"` - RetentionDays int `pulumi:"retentionDays"` + // Deprecated: edition is deprecated and will be removed after February 2027. + Edition string `pulumi:"edition"` + // Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. + RetentionDays int `pulumi:"retentionDays"` } // GetSqlserverflexInstanceOptionsInput is an input type that accepts GetSqlserverflexInstanceOptionsArgs and GetSqlserverflexInstanceOptionsOutput values. @@ -38573,8 +42812,10 @@ type GetSqlserverflexInstanceOptionsInput interface { } type GetSqlserverflexInstanceOptionsArgs struct { - Edition pulumi.StringInput `pulumi:"edition"` - RetentionDays pulumi.IntInput `pulumi:"retentionDays"` + // Deprecated: edition is deprecated and will be removed after February 2027. + Edition pulumi.StringInput `pulumi:"edition"` + // Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. + RetentionDays pulumi.IntInput `pulumi:"retentionDays"` } func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { @@ -38603,10 +42844,12 @@ func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptions return o } +// Deprecated: edition is deprecated and will be removed after February 2027. func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) } +// Deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(pulumi.IntOutput) } @@ -41042,6 +45285,17 @@ func (o GetVpnGatewayStatusTunnelArrayOutput) Index(i pulumi.IntInput) GetVpnGat } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleArrayInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleBehaviorInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleBehaviorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionArrayInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionOperatorInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleConditionOperatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafCustomRuleGroupRuleConditionVariableInput)(nil)).Elem(), AlbWafCustomRuleGroupRuleConditionVariableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetGroupsInput)(nil)).Elem(), AlbWafManagedRuleSetGroupsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetGroupsMapInput)(nil)).Elem(), AlbWafManagedRuleSetGroupsMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetGroupsRulesInput)(nil)).Elem(), AlbWafManagedRuleSetGroupsRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AlbWafManagedRuleSetGroupsRulesMapInput)(nil)).Elem(), AlbWafManagedRuleSetGroupsRulesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerErrorInput)(nil)).Elem(), ApplicationLoadBalancerErrorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerErrorArrayInput)(nil)).Elem(), ApplicationLoadBalancerErrorArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerListenerInput)(nil)).Elem(), ApplicationLoadBalancerListenerArgs{}) @@ -41171,8 +45425,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MongodbflexInstanceOptionsPtrInput)(nil)).Elem(), MongodbflexInstanceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MongodbflexInstanceStorageInput)(nil)).Elem(), MongodbflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MongodbflexInstanceStoragePtrInput)(nil)).Elem(), MongodbflexInstanceStorageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaNetworkRangeInput)(nil)).Elem(), NetworkAreaNetworkRangeArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaNetworkRangeArrayInput)(nil)).Elem(), NetworkAreaNetworkRangeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4Input)(nil)).Elem(), NetworkAreaRegionIpv4Args{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4PtrInput)(nil)).Elem(), NetworkAreaRegionIpv4Args{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRangeInput)(nil)).Elem(), NetworkAreaRegionIpv4NetworkRangeArgs{}) @@ -41209,8 +45461,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityScrapeconfigTargetArrayInput)(nil)).Elem(), ObservabilityScrapeconfigTargetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*OpensearchInstanceParametersInput)(nil)).Elem(), OpensearchInstanceParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OpensearchInstanceParametersPtrInput)(nil)).Elem(), OpensearchInstanceParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceConnectionInfoInput)(nil)).Elem(), PostgresflexInstanceConnectionInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceConnectionInfoPtrInput)(nil)).Elem(), PostgresflexInstanceConnectionInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceConnectionInfoWriteInput)(nil)).Elem(), PostgresflexInstanceConnectionInfoWriteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceConnectionInfoWritePtrInput)(nil)).Elem(), PostgresflexInstanceConnectionInfoWriteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceEncryptionInput)(nil)).Elem(), PostgresflexInstanceEncryptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceEncryptionPtrInput)(nil)).Elem(), PostgresflexInstanceEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceFlavorInput)(nil)).Elem(), PostgresflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceFlavorPtrInput)(nil)).Elem(), PostgresflexInstanceFlavorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceNetworkInput)(nil)).Elem(), PostgresflexInstanceNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceNetworkPtrInput)(nil)).Elem(), PostgresflexInstanceNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceStorageInput)(nil)).Elem(), PostgresflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PostgresflexInstanceStoragePtrInput)(nil)).Elem(), PostgresflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RabbitmqInstanceParametersInput)(nil)).Elem(), RabbitmqInstanceParametersArgs{}) @@ -41245,10 +45505,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessPtrInput)(nil)).Elem(), SkeClusterAccessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessIdpInput)(nil)).Elem(), SkeClusterAccessIdpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessIdpPtrInput)(nil)).Elem(), SkeClusterAccessIdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAuditInput)(nil)).Elem(), SkeClusterAuditArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAuditPtrInput)(nil)).Elem(), SkeClusterAuditArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsInput)(nil)).Elem(), SkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsPtrInput)(nil)).Elem(), SkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsAclInput)(nil)).Elem(), SkeClusterExtensionsAclArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsAclPtrInput)(nil)).Elem(), SkeClusterExtensionsAclArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsApplicationLoadBalancerInput)(nil)).Elem(), SkeClusterExtensionsApplicationLoadBalancerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsApplicationLoadBalancerPtrInput)(nil)).Elem(), SkeClusterExtensionsApplicationLoadBalancerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsArgusInput)(nil)).Elem(), SkeClusterExtensionsArgusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsArgusPtrInput)(nil)).Elem(), SkeClusterExtensionsArgusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsDnsInput)(nil)).Elem(), SkeClusterExtensionsDnsArgs{}) @@ -41267,6 +45531,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNodePoolArrayInput)(nil)).Elem(), SkeClusterNodePoolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNodePoolTaintInput)(nil)).Elem(), SkeClusterNodePoolTaintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNodePoolTaintArrayInput)(nil)).Elem(), SkeClusterNodePoolTaintArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexDatabaseTimeoutsInput)(nil)).Elem(), SqlserverflexDatabaseTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexDatabaseTimeoutsPtrInput)(nil)).Elem(), SqlserverflexDatabaseTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceEncryptionInput)(nil)).Elem(), SqlserverflexInstanceEncryptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceEncryptionPtrInput)(nil)).Elem(), SqlserverflexInstanceEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceFlavorInput)(nil)).Elem(), SqlserverflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceFlavorPtrInput)(nil)).Elem(), SqlserverflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceNetworkInput)(nil)).Elem(), SqlserverflexInstanceNetworkArgs{}) @@ -41333,6 +45601,17 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayAvailabilityZonesPtrInput)(nil)).Elem(), VpnGatewayAvailabilityZonesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayBgpInput)(nil)).Elem(), VpnGatewayBgpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayBgpPtrInput)(nil)).Elem(), VpnGatewayBgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleArrayInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleBehaviorInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleBehaviorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionArrayInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleConditionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionOperatorInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleConditionOperatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafCustomRuleGroupRuleConditionVariableInput)(nil)).Elem(), GetAlbWafCustomRuleGroupRuleConditionVariableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafManagedRuleSetGroupsInput)(nil)).Elem(), GetAlbWafManagedRuleSetGroupsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafManagedRuleSetGroupsMapInput)(nil)).Elem(), GetAlbWafManagedRuleSetGroupsMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafManagedRuleSetGroupsRulesInput)(nil)).Elem(), GetAlbWafManagedRuleSetGroupsRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAlbWafManagedRuleSetGroupsRulesMapInput)(nil)).Elem(), GetAlbWafManagedRuleSetGroupsRulesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GetApplicationLoadBalancerErrorInput)(nil)).Elem(), GetApplicationLoadBalancerErrorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetApplicationLoadBalancerErrorArrayInput)(nil)).Elem(), GetApplicationLoadBalancerErrorArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetApplicationLoadBalancerListenerInput)(nil)).Elem(), GetApplicationLoadBalancerListenerArgs{}) @@ -41424,8 +45703,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetMongodbflexInstanceFlavorInput)(nil)).Elem(), GetMongodbflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMongodbflexInstanceOptionsInput)(nil)).Elem(), GetMongodbflexInstanceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMongodbflexInstanceStorageInput)(nil)).Elem(), GetMongodbflexInstanceStorageArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaNetworkRangeInput)(nil)).Elem(), GetNetworkAreaNetworkRangeArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaNetworkRangeArrayInput)(nil)).Elem(), GetNetworkAreaNetworkRangeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRegionIpv4Input)(nil)).Elem(), GetNetworkAreaRegionIpv4Args{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRangeInput)(nil)).Elem(), GetNetworkAreaRegionIpv4NetworkRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRangeArrayInput)(nil)).Elem(), GetNetworkAreaRegionIpv4NetworkRangeArray{}) @@ -41453,7 +45730,17 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetObservabilityScrapeconfigTargetInput)(nil)).Elem(), GetObservabilityScrapeconfigTargetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetObservabilityScrapeconfigTargetArrayInput)(nil)).Elem(), GetObservabilityScrapeconfigTargetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetOpensearchInstanceParametersInput)(nil)).Elem(), GetOpensearchInstanceParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexFlavorsFlavorInput)(nil)).Elem(), GetPostgresflexFlavorsFlavorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexFlavorsFlavorArrayInput)(nil)).Elem(), GetPostgresflexFlavorsFlavorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexFlavorsFlavorStorageClassInput)(nil)).Elem(), GetPostgresflexFlavorsFlavorStorageClassArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexFlavorsFlavorStorageClassArrayInput)(nil)).Elem(), GetPostgresflexFlavorsFlavorStorageClassArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexFlavorsTimeoutsInput)(nil)).Elem(), GetPostgresflexFlavorsTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexFlavorsTimeoutsPtrInput)(nil)).Elem(), GetPostgresflexFlavorsTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexInstanceConnectionInfoInput)(nil)).Elem(), GetPostgresflexInstanceConnectionInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexInstanceConnectionInfoWriteInput)(nil)).Elem(), GetPostgresflexInstanceConnectionInfoWriteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexInstanceEncryptionInput)(nil)).Elem(), GetPostgresflexInstanceEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexInstanceFlavorInput)(nil)).Elem(), GetPostgresflexInstanceFlavorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexInstanceNetworkInput)(nil)).Elem(), GetPostgresflexInstanceNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPostgresflexInstanceStorageInput)(nil)).Elem(), GetPostgresflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPublicIpRangesPublicIpRangeInput)(nil)).Elem(), GetPublicIpRangesPublicIpRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPublicIpRangesPublicIpRangeArrayInput)(nil)).Elem(), GetPublicIpRangesPublicIpRangeArray{}) @@ -41498,8 +45785,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput)(nil)).Elem(), GetSfsSnapshotPoliciesItemSnapshotScheduleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterAccessInput)(nil)).Elem(), GetSkeClusterAccessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterAccessIdpInput)(nil)).Elem(), GetSkeClusterAccessIdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterAuditInput)(nil)).Elem(), GetSkeClusterAuditArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsInput)(nil)).Elem(), GetSkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsAclInput)(nil)).Elem(), GetSkeClusterExtensionsAclArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsApplicationLoadBalancerInput)(nil)).Elem(), GetSkeClusterExtensionsApplicationLoadBalancerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsArgusInput)(nil)).Elem(), GetSkeClusterExtensionsArgusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsDnsInput)(nil)).Elem(), GetSkeClusterExtensionsDnsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsObservabilityInput)(nil)).Elem(), GetSkeClusterExtensionsObservabilityArgs{}) @@ -41518,6 +45807,15 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageArrayInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersionInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageVersionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersionArrayInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageVersionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexDatabaseTimeoutsInput)(nil)).Elem(), GetSqlserverflexDatabaseTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexDatabaseTimeoutsPtrInput)(nil)).Elem(), GetSqlserverflexDatabaseTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexFlavorsFlavorInput)(nil)).Elem(), GetSqlserverflexFlavorsFlavorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexFlavorsFlavorArrayInput)(nil)).Elem(), GetSqlserverflexFlavorsFlavorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexFlavorsFlavorStorageClassInput)(nil)).Elem(), GetSqlserverflexFlavorsFlavorStorageClassArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexFlavorsFlavorStorageClassArrayInput)(nil)).Elem(), GetSqlserverflexFlavorsFlavorStorageClassArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexFlavorsTimeoutsInput)(nil)).Elem(), GetSqlserverflexFlavorsTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexFlavorsTimeoutsPtrInput)(nil)).Elem(), GetSqlserverflexFlavorsTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceEncryptionInput)(nil)).Elem(), GetSqlserverflexInstanceEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceFlavorInput)(nil)).Elem(), GetSqlserverflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceNetworkInput)(nil)).Elem(), GetSqlserverflexInstanceNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceNetworkPtrInput)(nil)).Elem(), GetSqlserverflexInstanceNetworkArgs{}) @@ -41559,6 +45857,17 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusConnectionArrayInput)(nil)).Elem(), GetVpnGatewayStatusConnectionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusTunnelInput)(nil)).Elem(), GetVpnGatewayStatusTunnelArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusTunnelArrayInput)(nil)).Elem(), GetVpnGatewayStatusTunnelArray{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleBehaviorOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleConditionOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleConditionOperatorOutput{}) + pulumi.RegisterOutputType(AlbWafCustomRuleGroupRuleConditionVariableOutput{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetGroupsOutput{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetGroupsMapOutput{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetGroupsRulesOutput{}) + pulumi.RegisterOutputType(AlbWafManagedRuleSetGroupsRulesMapOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerErrorOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerErrorArrayOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerListenerOutput{}) @@ -41688,8 +45997,6 @@ func init() { pulumi.RegisterOutputType(MongodbflexInstanceOptionsPtrOutput{}) pulumi.RegisterOutputType(MongodbflexInstanceStorageOutput{}) pulumi.RegisterOutputType(MongodbflexInstanceStoragePtrOutput{}) - pulumi.RegisterOutputType(NetworkAreaNetworkRangeOutput{}) - pulumi.RegisterOutputType(NetworkAreaNetworkRangeArrayOutput{}) pulumi.RegisterOutputType(NetworkAreaRegionIpv4Output{}) pulumi.RegisterOutputType(NetworkAreaRegionIpv4PtrOutput{}) pulumi.RegisterOutputType(NetworkAreaRegionIpv4NetworkRangeOutput{}) @@ -41726,8 +46033,16 @@ func init() { pulumi.RegisterOutputType(ObservabilityScrapeconfigTargetArrayOutput{}) pulumi.RegisterOutputType(OpensearchInstanceParametersOutput{}) pulumi.RegisterOutputType(OpensearchInstanceParametersPtrOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceConnectionInfoOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceConnectionInfoPtrOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceConnectionInfoWriteOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceConnectionInfoWritePtrOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceEncryptionOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceEncryptionPtrOutput{}) pulumi.RegisterOutputType(PostgresflexInstanceFlavorOutput{}) pulumi.RegisterOutputType(PostgresflexInstanceFlavorPtrOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceNetworkOutput{}) + pulumi.RegisterOutputType(PostgresflexInstanceNetworkPtrOutput{}) pulumi.RegisterOutputType(PostgresflexInstanceStorageOutput{}) pulumi.RegisterOutputType(PostgresflexInstanceStoragePtrOutput{}) pulumi.RegisterOutputType(RabbitmqInstanceParametersOutput{}) @@ -41762,10 +46077,14 @@ func init() { pulumi.RegisterOutputType(SkeClusterAccessPtrOutput{}) pulumi.RegisterOutputType(SkeClusterAccessIdpOutput{}) pulumi.RegisterOutputType(SkeClusterAccessIdpPtrOutput{}) + pulumi.RegisterOutputType(SkeClusterAuditOutput{}) + pulumi.RegisterOutputType(SkeClusterAuditPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsAclOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsAclPtrOutput{}) + pulumi.RegisterOutputType(SkeClusterExtensionsApplicationLoadBalancerOutput{}) + pulumi.RegisterOutputType(SkeClusterExtensionsApplicationLoadBalancerPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsArgusOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsArgusPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsDnsOutput{}) @@ -41784,6 +46103,10 @@ func init() { pulumi.RegisterOutputType(SkeClusterNodePoolArrayOutput{}) pulumi.RegisterOutputType(SkeClusterNodePoolTaintOutput{}) pulumi.RegisterOutputType(SkeClusterNodePoolTaintArrayOutput{}) + pulumi.RegisterOutputType(SqlserverflexDatabaseTimeoutsOutput{}) + pulumi.RegisterOutputType(SqlserverflexDatabaseTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(SqlserverflexInstanceEncryptionOutput{}) + pulumi.RegisterOutputType(SqlserverflexInstanceEncryptionPtrOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceFlavorOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceFlavorPtrOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceNetworkOutput{}) @@ -41850,6 +46173,17 @@ func init() { pulumi.RegisterOutputType(VpnGatewayAvailabilityZonesPtrOutput{}) pulumi.RegisterOutputType(VpnGatewayBgpOutput{}) pulumi.RegisterOutputType(VpnGatewayBgpPtrOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleArrayOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleBehaviorOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleConditionOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleConditionArrayOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleConditionOperatorOutput{}) + pulumi.RegisterOutputType(GetAlbWafCustomRuleGroupRuleConditionVariableOutput{}) + pulumi.RegisterOutputType(GetAlbWafManagedRuleSetGroupsOutput{}) + pulumi.RegisterOutputType(GetAlbWafManagedRuleSetGroupsMapOutput{}) + pulumi.RegisterOutputType(GetAlbWafManagedRuleSetGroupsRulesOutput{}) + pulumi.RegisterOutputType(GetAlbWafManagedRuleSetGroupsRulesMapOutput{}) pulumi.RegisterOutputType(GetApplicationLoadBalancerErrorOutput{}) pulumi.RegisterOutputType(GetApplicationLoadBalancerErrorArrayOutput{}) pulumi.RegisterOutputType(GetApplicationLoadBalancerListenerOutput{}) @@ -41941,8 +46275,6 @@ func init() { pulumi.RegisterOutputType(GetMongodbflexInstanceFlavorOutput{}) pulumi.RegisterOutputType(GetMongodbflexInstanceOptionsOutput{}) pulumi.RegisterOutputType(GetMongodbflexInstanceStorageOutput{}) - pulumi.RegisterOutputType(GetNetworkAreaNetworkRangeOutput{}) - pulumi.RegisterOutputType(GetNetworkAreaNetworkRangeArrayOutput{}) pulumi.RegisterOutputType(GetNetworkAreaRegionIpv4Output{}) pulumi.RegisterOutputType(GetNetworkAreaRegionIpv4NetworkRangeOutput{}) pulumi.RegisterOutputType(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput{}) @@ -41970,7 +46302,17 @@ func init() { pulumi.RegisterOutputType(GetObservabilityScrapeconfigTargetOutput{}) pulumi.RegisterOutputType(GetObservabilityScrapeconfigTargetArrayOutput{}) pulumi.RegisterOutputType(GetOpensearchInstanceParametersOutput{}) + pulumi.RegisterOutputType(GetPostgresflexFlavorsFlavorOutput{}) + pulumi.RegisterOutputType(GetPostgresflexFlavorsFlavorArrayOutput{}) + pulumi.RegisterOutputType(GetPostgresflexFlavorsFlavorStorageClassOutput{}) + pulumi.RegisterOutputType(GetPostgresflexFlavorsFlavorStorageClassArrayOutput{}) + pulumi.RegisterOutputType(GetPostgresflexFlavorsTimeoutsOutput{}) + pulumi.RegisterOutputType(GetPostgresflexFlavorsTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetPostgresflexInstanceConnectionInfoOutput{}) + pulumi.RegisterOutputType(GetPostgresflexInstanceConnectionInfoWriteOutput{}) + pulumi.RegisterOutputType(GetPostgresflexInstanceEncryptionOutput{}) pulumi.RegisterOutputType(GetPostgresflexInstanceFlavorOutput{}) + pulumi.RegisterOutputType(GetPostgresflexInstanceNetworkOutput{}) pulumi.RegisterOutputType(GetPostgresflexInstanceStorageOutput{}) pulumi.RegisterOutputType(GetPublicIpRangesPublicIpRangeOutput{}) pulumi.RegisterOutputType(GetPublicIpRangesPublicIpRangeArrayOutput{}) @@ -42015,8 +46357,10 @@ func init() { pulumi.RegisterOutputType(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput{}) pulumi.RegisterOutputType(GetSkeClusterAccessOutput{}) pulumi.RegisterOutputType(GetSkeClusterAccessIdpOutput{}) + pulumi.RegisterOutputType(GetSkeClusterAuditOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsAclOutput{}) + pulumi.RegisterOutputType(GetSkeClusterExtensionsApplicationLoadBalancerOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsArgusOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsDnsOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsObservabilityOutput{}) @@ -42035,6 +46379,15 @@ func init() { pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageArrayOutput{}) pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageVersionOutput{}) pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageVersionArrayOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexDatabaseTimeoutsOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexDatabaseTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexFlavorsFlavorOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexFlavorsFlavorArrayOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexFlavorsFlavorStorageClassOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexFlavorsFlavorStorageClassArrayOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexFlavorsTimeoutsOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexFlavorsTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetSqlserverflexInstanceEncryptionOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceFlavorOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceNetworkOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceNetworkPtrOutput{}) diff --git a/sdk/go/stackit/skeCluster.go b/sdk/go/stackit/skeCluster.go index bc1b2347..2e0e97b4 100644 --- a/sdk/go/stackit/skeCluster.go +++ b/sdk/go/stackit/skeCluster.go @@ -26,10 +26,12 @@ type SkeCluster struct { // Configure access to the cluster Access SkeClusterAccessOutput `pulumi:"access"` + // Cluster audit log forwarding configuration. + Audit SkeClusterAuditOutput `pulumi:"audit"` // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges pulumi.StringArrayOutput `pulumi:"egressAddressRanges"` // A single extensions block as defined below. - Extensions SkeClusterExtensionsPtrOutput `pulumi:"extensions"` + Extensions SkeClusterExtensionsOutput `pulumi:"extensions"` // One or more hibernation block as defined below. Hibernations SkeClusterHibernationArrayOutput `pulumi:"hibernations"` // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. @@ -93,6 +95,8 @@ func GetSkeCluster(ctx *pulumi.Context, type skeClusterState struct { // Configure access to the cluster Access *SkeClusterAccess `pulumi:"access"` + // Cluster audit log forwarding configuration. + Audit *SkeClusterAudit `pulumi:"audit"` // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges []string `pulumi:"egressAddressRanges"` // A single extensions block as defined below. @@ -125,6 +129,8 @@ type skeClusterState struct { type SkeClusterState struct { // Configure access to the cluster Access SkeClusterAccessPtrInput + // Cluster audit log forwarding configuration. + Audit SkeClusterAuditPtrInput // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges pulumi.StringArrayInput // A single extensions block as defined below. @@ -161,6 +167,8 @@ func (SkeClusterState) ElementType() reflect.Type { type skeClusterArgs struct { // Configure access to the cluster Access *SkeClusterAccess `pulumi:"access"` + // Cluster audit log forwarding configuration. + Audit *SkeClusterAudit `pulumi:"audit"` // A single extensions block as defined below. Extensions *SkeClusterExtensions `pulumi:"extensions"` // One or more hibernation block as defined below. @@ -186,6 +194,8 @@ type skeClusterArgs struct { type SkeClusterArgs struct { // Configure access to the cluster Access SkeClusterAccessPtrInput + // Cluster audit log forwarding configuration. + Audit SkeClusterAuditPtrInput // A single extensions block as defined below. Extensions SkeClusterExtensionsPtrInput // One or more hibernation block as defined below. @@ -299,14 +309,19 @@ func (o SkeClusterOutput) Access() SkeClusterAccessOutput { return o.ApplyT(func(v *SkeCluster) SkeClusterAccessOutput { return v.Access }).(SkeClusterAccessOutput) } +// Cluster audit log forwarding configuration. +func (o SkeClusterOutput) Audit() SkeClusterAuditOutput { + return o.ApplyT(func(v *SkeCluster) SkeClusterAuditOutput { return v.Audit }).(SkeClusterAuditOutput) +} + // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. func (o SkeClusterOutput) EgressAddressRanges() pulumi.StringArrayOutput { return o.ApplyT(func(v *SkeCluster) pulumi.StringArrayOutput { return v.EgressAddressRanges }).(pulumi.StringArrayOutput) } // A single extensions block as defined below. -func (o SkeClusterOutput) Extensions() SkeClusterExtensionsPtrOutput { - return o.ApplyT(func(v *SkeCluster) SkeClusterExtensionsPtrOutput { return v.Extensions }).(SkeClusterExtensionsPtrOutput) +func (o SkeClusterOutput) Extensions() SkeClusterExtensionsOutput { + return o.ApplyT(func(v *SkeCluster) SkeClusterExtensionsOutput { return v.Extensions }).(SkeClusterExtensionsOutput) } // One or more hibernation block as defined below. diff --git a/sdk/go/stackit/sqlserverflexDatabase.go b/sdk/go/stackit/sqlserverflexDatabase.go new file mode 100644 index 00000000..34876eb7 --- /dev/null +++ b/sdk/go/stackit/sqlserverflexDatabase.go @@ -0,0 +1,341 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// SQLServer Flex database resource schema. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type SqlserverflexDatabase struct { + pulumi.CustomResourceState + + // The collation of the database. + Collation pulumi.StringOutput `pulumi:"collation"` + // Compatibility level of the database. + Compatibility pulumi.IntOutput `pulumi:"compatibility"` + // The id of the database. + DatabaseId pulumi.IntOutput `pulumi:"databaseId"` + // ID of the SQLServer Flex instance. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Name of the database. + Name pulumi.StringOutput `pulumi:"name"` + // The owner of the database. + Owner pulumi.StringOutput `pulumi:"owner"` + // STACKIT project ID. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Timeouts SqlserverflexDatabaseTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewSqlserverflexDatabase registers a new resource with the given unique name, arguments, and options. +func NewSqlserverflexDatabase(ctx *pulumi.Context, + name string, args *SqlserverflexDatabaseArgs, opts ...pulumi.ResourceOption) (*SqlserverflexDatabase, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.Owner == nil { + return nil, errors.New("invalid value for required argument 'Owner'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SqlserverflexDatabase + err := ctx.RegisterResource("stackit:index/sqlserverflexDatabase:SqlserverflexDatabase", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSqlserverflexDatabase gets an existing SqlserverflexDatabase resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetSqlserverflexDatabase(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SqlserverflexDatabaseState, opts ...pulumi.ResourceOption) (*SqlserverflexDatabase, error) { + var resource SqlserverflexDatabase + err := ctx.ReadResource("stackit:index/sqlserverflexDatabase:SqlserverflexDatabase", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SqlserverflexDatabase resources. +type sqlserverflexDatabaseState struct { + // The collation of the database. + Collation *string `pulumi:"collation"` + // Compatibility level of the database. + Compatibility *int `pulumi:"compatibility"` + // The id of the database. + DatabaseId *int `pulumi:"databaseId"` + // ID of the SQLServer Flex instance. + InstanceId *string `pulumi:"instanceId"` + // Name of the database. + Name *string `pulumi:"name"` + // The owner of the database. + Owner *string `pulumi:"owner"` + // STACKIT project ID. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *SqlserverflexDatabaseTimeouts `pulumi:"timeouts"` +} + +type SqlserverflexDatabaseState struct { + // The collation of the database. + Collation pulumi.StringPtrInput + // Compatibility level of the database. + Compatibility pulumi.IntPtrInput + // The id of the database. + DatabaseId pulumi.IntPtrInput + // ID of the SQLServer Flex instance. + InstanceId pulumi.StringPtrInput + // Name of the database. + Name pulumi.StringPtrInput + // The owner of the database. + Owner pulumi.StringPtrInput + // STACKIT project ID. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts SqlserverflexDatabaseTimeoutsPtrInput +} + +func (SqlserverflexDatabaseState) ElementType() reflect.Type { + return reflect.TypeOf((*sqlserverflexDatabaseState)(nil)).Elem() +} + +type sqlserverflexDatabaseArgs struct { + // The collation of the database. + Collation *string `pulumi:"collation"` + // Compatibility level of the database. + Compatibility *int `pulumi:"compatibility"` + // ID of the SQLServer Flex instance. + InstanceId string `pulumi:"instanceId"` + // Name of the database. + Name *string `pulumi:"name"` + // The owner of the database. + Owner string `pulumi:"owner"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *SqlserverflexDatabaseTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a SqlserverflexDatabase resource. +type SqlserverflexDatabaseArgs struct { + // The collation of the database. + Collation pulumi.StringPtrInput + // Compatibility level of the database. + Compatibility pulumi.IntPtrInput + // ID of the SQLServer Flex instance. + InstanceId pulumi.StringInput + // Name of the database. + Name pulumi.StringPtrInput + // The owner of the database. + Owner pulumi.StringInput + // STACKIT project ID. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts SqlserverflexDatabaseTimeoutsPtrInput +} + +func (SqlserverflexDatabaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sqlserverflexDatabaseArgs)(nil)).Elem() +} + +type SqlserverflexDatabaseInput interface { + pulumi.Input + + ToSqlserverflexDatabaseOutput() SqlserverflexDatabaseOutput + ToSqlserverflexDatabaseOutputWithContext(ctx context.Context) SqlserverflexDatabaseOutput +} + +func (*SqlserverflexDatabase) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexDatabase)(nil)).Elem() +} + +func (i *SqlserverflexDatabase) ToSqlserverflexDatabaseOutput() SqlserverflexDatabaseOutput { + return i.ToSqlserverflexDatabaseOutputWithContext(context.Background()) +} + +func (i *SqlserverflexDatabase) ToSqlserverflexDatabaseOutputWithContext(ctx context.Context) SqlserverflexDatabaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexDatabaseOutput) +} + +// SqlserverflexDatabaseArrayInput is an input type that accepts SqlserverflexDatabaseArray and SqlserverflexDatabaseArrayOutput values. +// You can construct a concrete instance of `SqlserverflexDatabaseArrayInput` via: +// +// SqlserverflexDatabaseArray{ SqlserverflexDatabaseArgs{...} } +type SqlserverflexDatabaseArrayInput interface { + pulumi.Input + + ToSqlserverflexDatabaseArrayOutput() SqlserverflexDatabaseArrayOutput + ToSqlserverflexDatabaseArrayOutputWithContext(context.Context) SqlserverflexDatabaseArrayOutput +} + +type SqlserverflexDatabaseArray []SqlserverflexDatabaseInput + +func (SqlserverflexDatabaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SqlserverflexDatabase)(nil)).Elem() +} + +func (i SqlserverflexDatabaseArray) ToSqlserverflexDatabaseArrayOutput() SqlserverflexDatabaseArrayOutput { + return i.ToSqlserverflexDatabaseArrayOutputWithContext(context.Background()) +} + +func (i SqlserverflexDatabaseArray) ToSqlserverflexDatabaseArrayOutputWithContext(ctx context.Context) SqlserverflexDatabaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexDatabaseArrayOutput) +} + +// SqlserverflexDatabaseMapInput is an input type that accepts SqlserverflexDatabaseMap and SqlserverflexDatabaseMapOutput values. +// You can construct a concrete instance of `SqlserverflexDatabaseMapInput` via: +// +// SqlserverflexDatabaseMap{ "key": SqlserverflexDatabaseArgs{...} } +type SqlserverflexDatabaseMapInput interface { + pulumi.Input + + ToSqlserverflexDatabaseMapOutput() SqlserverflexDatabaseMapOutput + ToSqlserverflexDatabaseMapOutputWithContext(context.Context) SqlserverflexDatabaseMapOutput +} + +type SqlserverflexDatabaseMap map[string]SqlserverflexDatabaseInput + +func (SqlserverflexDatabaseMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SqlserverflexDatabase)(nil)).Elem() +} + +func (i SqlserverflexDatabaseMap) ToSqlserverflexDatabaseMapOutput() SqlserverflexDatabaseMapOutput { + return i.ToSqlserverflexDatabaseMapOutputWithContext(context.Background()) +} + +func (i SqlserverflexDatabaseMap) ToSqlserverflexDatabaseMapOutputWithContext(ctx context.Context) SqlserverflexDatabaseMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexDatabaseMapOutput) +} + +type SqlserverflexDatabaseOutput struct{ *pulumi.OutputState } + +func (SqlserverflexDatabaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexDatabase)(nil)).Elem() +} + +func (o SqlserverflexDatabaseOutput) ToSqlserverflexDatabaseOutput() SqlserverflexDatabaseOutput { + return o +} + +func (o SqlserverflexDatabaseOutput) ToSqlserverflexDatabaseOutputWithContext(ctx context.Context) SqlserverflexDatabaseOutput { + return o +} + +// The collation of the database. +func (o SqlserverflexDatabaseOutput) Collation() pulumi.StringOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.StringOutput { return v.Collation }).(pulumi.StringOutput) +} + +// Compatibility level of the database. +func (o SqlserverflexDatabaseOutput) Compatibility() pulumi.IntOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.IntOutput { return v.Compatibility }).(pulumi.IntOutput) +} + +// The id of the database. +func (o SqlserverflexDatabaseOutput) DatabaseId() pulumi.IntOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.IntOutput { return v.DatabaseId }).(pulumi.IntOutput) +} + +// ID of the SQLServer Flex instance. +func (o SqlserverflexDatabaseOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Name of the database. +func (o SqlserverflexDatabaseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The owner of the database. +func (o SqlserverflexDatabaseOutput) Owner() pulumi.StringOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) +} + +// STACKIT project ID. +func (o SqlserverflexDatabaseOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o SqlserverflexDatabaseOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o SqlserverflexDatabaseOutput) Timeouts() SqlserverflexDatabaseTimeoutsPtrOutput { + return o.ApplyT(func(v *SqlserverflexDatabase) SqlserverflexDatabaseTimeoutsPtrOutput { return v.Timeouts }).(SqlserverflexDatabaseTimeoutsPtrOutput) +} + +type SqlserverflexDatabaseArrayOutput struct{ *pulumi.OutputState } + +func (SqlserverflexDatabaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SqlserverflexDatabase)(nil)).Elem() +} + +func (o SqlserverflexDatabaseArrayOutput) ToSqlserverflexDatabaseArrayOutput() SqlserverflexDatabaseArrayOutput { + return o +} + +func (o SqlserverflexDatabaseArrayOutput) ToSqlserverflexDatabaseArrayOutputWithContext(ctx context.Context) SqlserverflexDatabaseArrayOutput { + return o +} + +func (o SqlserverflexDatabaseArrayOutput) Index(i pulumi.IntInput) SqlserverflexDatabaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SqlserverflexDatabase { + return vs[0].([]*SqlserverflexDatabase)[vs[1].(int)] + }).(SqlserverflexDatabaseOutput) +} + +type SqlserverflexDatabaseMapOutput struct{ *pulumi.OutputState } + +func (SqlserverflexDatabaseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SqlserverflexDatabase)(nil)).Elem() +} + +func (o SqlserverflexDatabaseMapOutput) ToSqlserverflexDatabaseMapOutput() SqlserverflexDatabaseMapOutput { + return o +} + +func (o SqlserverflexDatabaseMapOutput) ToSqlserverflexDatabaseMapOutputWithContext(ctx context.Context) SqlserverflexDatabaseMapOutput { + return o +} + +func (o SqlserverflexDatabaseMapOutput) MapIndex(k pulumi.StringInput) SqlserverflexDatabaseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SqlserverflexDatabase { + return vs[0].(map[string]*SqlserverflexDatabase)[vs[1].(string)] + }).(SqlserverflexDatabaseOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexDatabaseInput)(nil)).Elem(), &SqlserverflexDatabase{}) + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexDatabaseArrayInput)(nil)).Elem(), SqlserverflexDatabaseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexDatabaseMapInput)(nil)).Elem(), SqlserverflexDatabaseMap{}) + pulumi.RegisterOutputType(SqlserverflexDatabaseOutput{}) + pulumi.RegisterOutputType(SqlserverflexDatabaseArrayOutput{}) + pulumi.RegisterOutputType(SqlserverflexDatabaseMapOutput{}) +} diff --git a/sdk/go/stackit/sqlserverflexInstance.go b/sdk/go/stackit/sqlserverflexInstance.go index d9e5de6e..209289a0 100644 --- a/sdk/go/stackit/sqlserverflexInstance.go +++ b/sdk/go/stackit/sqlserverflexInstance.go @@ -15,19 +15,26 @@ import ( // SQLServer Flex instance resource schema. Must have a `region` specified in the provider configuration. // // ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: type SqlserverflexInstance struct { pulumi.CustomResourceState // The Access Control List (ACL) for the SQLServer Flex instance. // - // Deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls pulumi.StringArrayOutput `pulumi:"acls"` // The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. BackupSchedule pulumi.StringOutput `pulumi:"backupSchedule"` // Edition of the MSSQL server instance. - Edition pulumi.StringOutput `pulumi:"edition"` - Flavor SqlserverflexInstanceFlavorOutput `pulumi:"flavor"` - // The flavor ID of the SQLServer Flex instance. + Edition pulumi.StringOutput `pulumi:"edition"` + // Parameter to define which key to use for storage encryption. + Encryption SqlserverflexInstanceEncryptionPtrOutput `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. + Flavor SqlserverflexInstanceFlavorOutput `pulumi:"flavor"` + // The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getSqlserverflexFlavors`. FlavorId pulumi.StringOutput `pulumi:"flavorId"` // ID of the SQLServer Flex instance. InstanceId pulumi.StringOutput `pulumi:"instanceId"` @@ -35,7 +42,7 @@ type SqlserverflexInstance struct { Name pulumi.StringOutput `pulumi:"name"` // The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. Network SqlserverflexInstanceNetworkOutput `pulumi:"network"` - // Deprecated: option is deprecated and will be removed after January 2027. + // Deprecated: option is deprecated and will be removed after February 2027. Options SqlserverflexInstanceOptionsOutput `pulumi:"options"` // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` @@ -85,14 +92,17 @@ func GetSqlserverflexInstance(ctx *pulumi.Context, type sqlserverflexInstanceState struct { // The Access Control List (ACL) for the SQLServer Flex instance. // - // Deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls []string `pulumi:"acls"` // The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. BackupSchedule *string `pulumi:"backupSchedule"` // Edition of the MSSQL server instance. - Edition *string `pulumi:"edition"` - Flavor *SqlserverflexInstanceFlavor `pulumi:"flavor"` - // The flavor ID of the SQLServer Flex instance. + Edition *string `pulumi:"edition"` + // Parameter to define which key to use for storage encryption. + Encryption *SqlserverflexInstanceEncryption `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. + Flavor *SqlserverflexInstanceFlavor `pulumi:"flavor"` + // The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getSqlserverflexFlavors`. FlavorId *string `pulumi:"flavorId"` // ID of the SQLServer Flex instance. InstanceId *string `pulumi:"instanceId"` @@ -100,7 +110,7 @@ type sqlserverflexInstanceState struct { Name *string `pulumi:"name"` // The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. Network *SqlserverflexInstanceNetwork `pulumi:"network"` - // Deprecated: option is deprecated and will be removed after January 2027. + // Deprecated: option is deprecated and will be removed after February 2027. Options *SqlserverflexInstanceOptions `pulumi:"options"` // STACKIT project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` @@ -118,14 +128,17 @@ type sqlserverflexInstanceState struct { type SqlserverflexInstanceState struct { // The Access Control List (ACL) for the SQLServer Flex instance. // - // Deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls pulumi.StringArrayInput // The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. BackupSchedule pulumi.StringPtrInput // Edition of the MSSQL server instance. Edition pulumi.StringPtrInput - Flavor SqlserverflexInstanceFlavorPtrInput - // The flavor ID of the SQLServer Flex instance. + // Parameter to define which key to use for storage encryption. + Encryption SqlserverflexInstanceEncryptionPtrInput + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. + Flavor SqlserverflexInstanceFlavorPtrInput + // The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getSqlserverflexFlavors`. FlavorId pulumi.StringPtrInput // ID of the SQLServer Flex instance. InstanceId pulumi.StringPtrInput @@ -133,7 +146,7 @@ type SqlserverflexInstanceState struct { Name pulumi.StringPtrInput // The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. Network SqlserverflexInstanceNetworkPtrInput - // Deprecated: option is deprecated and will be removed after January 2027. + // Deprecated: option is deprecated and will be removed after February 2027. Options SqlserverflexInstanceOptionsPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringPtrInput @@ -155,18 +168,21 @@ func (SqlserverflexInstanceState) ElementType() reflect.Type { type sqlserverflexInstanceArgs struct { // The Access Control List (ACL) for the SQLServer Flex instance. // - // Deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls []string `pulumi:"acls"` // The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. - BackupSchedule *string `pulumi:"backupSchedule"` - Flavor *SqlserverflexInstanceFlavor `pulumi:"flavor"` - // The flavor ID of the SQLServer Flex instance. + BackupSchedule *string `pulumi:"backupSchedule"` + // Parameter to define which key to use for storage encryption. + Encryption *SqlserverflexInstanceEncryption `pulumi:"encryption"` + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. + Flavor *SqlserverflexInstanceFlavor `pulumi:"flavor"` + // The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getSqlserverflexFlavors`. FlavorId *string `pulumi:"flavorId"` // Instance name. Name *string `pulumi:"name"` // The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. Network *SqlserverflexInstanceNetwork `pulumi:"network"` - // Deprecated: option is deprecated and will be removed after January 2027. + // Deprecated: option is deprecated and will be removed after February 2027. Options *SqlserverflexInstanceOptions `pulumi:"options"` // STACKIT project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` @@ -184,18 +200,21 @@ type sqlserverflexInstanceArgs struct { type SqlserverflexInstanceArgs struct { // The Access Control List (ACL) for the SQLServer Flex instance. // - // Deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + // Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. Acls pulumi.StringArrayInput // The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. BackupSchedule pulumi.StringPtrInput - Flavor SqlserverflexInstanceFlavorPtrInput - // The flavor ID of the SQLServer Flex instance. + // Parameter to define which key to use for storage encryption. + Encryption SqlserverflexInstanceEncryptionPtrInput + // Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. + Flavor SqlserverflexInstanceFlavorPtrInput + // The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getSqlserverflexFlavors`. FlavorId pulumi.StringPtrInput // Instance name. Name pulumi.StringPtrInput // The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. Network SqlserverflexInstanceNetworkPtrInput - // Deprecated: option is deprecated and will be removed after January 2027. + // Deprecated: option is deprecated and will be removed after February 2027. Options SqlserverflexInstanceOptionsPtrInput // STACKIT project ID to which the instance is associated. ProjectId pulumi.StringInput @@ -298,7 +317,7 @@ func (o SqlserverflexInstanceOutput) ToSqlserverflexInstanceOutputWithContext(ct // The Access Control List (ACL) for the SQLServer Flex instance. // -// Deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`. +// Deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`. func (o SqlserverflexInstanceOutput) Acls() pulumi.StringArrayOutput { return o.ApplyT(func(v *SqlserverflexInstance) pulumi.StringArrayOutput { return v.Acls }).(pulumi.StringArrayOutput) } @@ -313,11 +332,17 @@ func (o SqlserverflexInstanceOutput) Edition() pulumi.StringOutput { return o.ApplyT(func(v *SqlserverflexInstance) pulumi.StringOutput { return v.Edition }).(pulumi.StringOutput) } +// Parameter to define which key to use for storage encryption. +func (o SqlserverflexInstanceOutput) Encryption() SqlserverflexInstanceEncryptionPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstance) SqlserverflexInstanceEncryptionPtrOutput { return v.Encryption }).(SqlserverflexInstanceEncryptionPtrOutput) +} + +// Deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `getSqlserverflexFlavors`. func (o SqlserverflexInstanceOutput) Flavor() SqlserverflexInstanceFlavorOutput { return o.ApplyT(func(v *SqlserverflexInstance) SqlserverflexInstanceFlavorOutput { return v.Flavor }).(SqlserverflexInstanceFlavorOutput) } -// The flavor ID of the SQLServer Flex instance. +// The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `getSqlserverflexFlavors`. func (o SqlserverflexInstanceOutput) FlavorId() pulumi.StringOutput { return o.ApplyT(func(v *SqlserverflexInstance) pulumi.StringOutput { return v.FlavorId }).(pulumi.StringOutput) } @@ -337,7 +362,7 @@ func (o SqlserverflexInstanceOutput) Network() SqlserverflexInstanceNetworkOutpu return o.ApplyT(func(v *SqlserverflexInstance) SqlserverflexInstanceNetworkOutput { return v.Network }).(SqlserverflexInstanceNetworkOutput) } -// Deprecated: option is deprecated and will be removed after January 2027. +// Deprecated: option is deprecated and will be removed after February 2027. func (o SqlserverflexInstanceOutput) Options() SqlserverflexInstanceOptionsOutput { return o.ApplyT(func(v *SqlserverflexInstance) SqlserverflexInstanceOptionsOutput { return v.Options }).(SqlserverflexInstanceOptionsOutput) } diff --git a/sdk/go/stackit/telemetrylink.go b/sdk/go/stackit/telemetrylink.go index bafd232e..c42b3d7c 100644 --- a/sdk/go/stackit/telemetrylink.go +++ b/sdk/go/stackit/telemetrylink.go @@ -22,8 +22,13 @@ import ( type Telemetrylink struct { pulumi.CustomResourceState - // The access token of the Telemetry Router instance. + // The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. AccessToken pulumi.StringPtrOutput `pulumi:"accessToken"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + AccessTokenWo pulumi.StringPtrOutput `pulumi:"accessTokenWo"` + // User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + AccessTokenWoVersion pulumi.IntPtrOutput `pulumi:"accessTokenWoVersion"` // The time the Telemetry Link was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // The description of the Telemetry Link resource. @@ -37,6 +42,8 @@ type Telemetrylink struct { // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. ResourceType pulumi.StringOutput `pulumi:"resourceType"` // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringOutput `pulumi:"status"` // The Telemetry Router ID. TelemetryRouterId pulumi.StringOutput `pulumi:"telemetryRouterId"` @@ -64,8 +71,12 @@ func NewTelemetrylink(ctx *pulumi.Context, if args.AccessToken != nil { args.AccessToken = pulumi.ToSecret(args.AccessToken).(pulumi.StringPtrInput) } + if args.AccessTokenWo != nil { + args.AccessTokenWo = pulumi.ToSecret(args.AccessTokenWo).(pulumi.StringPtrInput) + } secrets := pulumi.AdditionalSecretOutputs([]string{ "accessToken", + "accessTokenWo", }) opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) @@ -91,8 +102,13 @@ func GetTelemetrylink(ctx *pulumi.Context, // Input properties used for looking up and filtering Telemetrylink resources. type telemetrylinkState struct { - // The access token of the Telemetry Router instance. + // The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. AccessToken *string `pulumi:"accessToken"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + AccessTokenWo *string `pulumi:"accessTokenWo"` + // User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + AccessTokenWoVersion *int `pulumi:"accessTokenWoVersion"` // The time the Telemetry Link was created. CreateTime *string `pulumi:"createTime"` // The description of the Telemetry Link resource. @@ -106,14 +122,21 @@ type telemetrylinkState struct { // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. ResourceType *string `pulumi:"resourceType"` // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status *string `pulumi:"status"` // The Telemetry Router ID. TelemetryRouterId *string `pulumi:"telemetryRouterId"` } type TelemetrylinkState struct { - // The access token of the Telemetry Router instance. + // The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. AccessToken pulumi.StringPtrInput + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + AccessTokenWo pulumi.StringPtrInput + // User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + AccessTokenWoVersion pulumi.IntPtrInput // The time the Telemetry Link was created. CreateTime pulumi.StringPtrInput // The description of the Telemetry Link resource. @@ -127,6 +150,8 @@ type TelemetrylinkState struct { // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. ResourceType pulumi.StringPtrInput // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringPtrInput // The Telemetry Router ID. TelemetryRouterId pulumi.StringPtrInput @@ -137,8 +162,13 @@ func (TelemetrylinkState) ElementType() reflect.Type { } type telemetrylinkArgs struct { - // The access token of the Telemetry Router instance. + // The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. AccessToken *string `pulumi:"accessToken"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + AccessTokenWo *string `pulumi:"accessTokenWo"` + // User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + AccessTokenWoVersion *int `pulumi:"accessTokenWoVersion"` // The description of the Telemetry Link resource. Description *string `pulumi:"description"` // The displayed name of the Telemetry Link resource. @@ -155,8 +185,13 @@ type telemetrylinkArgs struct { // The set of arguments for constructing a Telemetrylink resource. type TelemetrylinkArgs struct { - // The access token of the Telemetry Router instance. + // The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. AccessToken pulumi.StringPtrInput + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + AccessTokenWo pulumi.StringPtrInput + // User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + AccessTokenWoVersion pulumi.IntPtrInput // The description of the Telemetry Link resource. Description pulumi.StringPtrInput // The displayed name of the Telemetry Link resource. @@ -258,11 +293,22 @@ func (o TelemetrylinkOutput) ToTelemetrylinkOutputWithContext(ctx context.Contex return o } -// The access token of the Telemetry Router instance. +// The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. func (o TelemetrylinkOutput) AccessToken() pulumi.StringPtrOutput { return o.ApplyT(func(v *Telemetrylink) pulumi.StringPtrOutput { return v.AccessToken }).(pulumi.StringPtrOutput) } +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. +func (o TelemetrylinkOutput) AccessTokenWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringPtrOutput { return v.AccessTokenWo }).(pulumi.StringPtrOutput) +} + +// User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. +func (o TelemetrylinkOutput) AccessTokenWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.IntPtrOutput { return v.AccessTokenWoVersion }).(pulumi.IntPtrOutput) +} + // The time the Telemetry Link was created. func (o TelemetrylinkOutput) CreateTime() pulumi.StringOutput { return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) @@ -294,6 +340,8 @@ func (o TelemetrylinkOutput) ResourceType() pulumi.StringOutput { } // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o TelemetrylinkOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/telemetryrouterAccessToken.go b/sdk/go/stackit/telemetryrouterAccessToken.go index f327d82b..b31c77e2 100644 --- a/sdk/go/stackit/telemetryrouterAccessToken.go +++ b/sdk/go/stackit/telemetryrouterAccessToken.go @@ -41,6 +41,8 @@ type TelemetryrouterAccessToken struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringOutput `pulumi:"status"` // The time-to-live (TTL) in days for the access token. If not set, token will not expire Ttl pulumi.IntPtrOutput `pulumi:"ttl"` @@ -108,6 +110,8 @@ type telemetryrouterAccessTokenState struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status *string `pulumi:"status"` // The time-to-live (TTL) in days for the access token. If not set, token will not expire Ttl *int `pulumi:"ttl"` @@ -133,6 +137,8 @@ type TelemetryrouterAccessTokenState struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringPtrInput // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringPtrInput // The time-to-live (TTL) in days for the access token. If not set, token will not expire Ttl pulumi.IntPtrInput @@ -306,6 +312,8 @@ func (o TelemetryrouterAccessTokenOutput) Region() pulumi.StringOutput { } // The status of the access token. Possible values are: `active`, `expired`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o TelemetryrouterAccessTokenOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/telemetryrouterDestination.go b/sdk/go/stackit/telemetryrouterDestination.go index 2779287d..e79cc03b 100644 --- a/sdk/go/stackit/telemetryrouterDestination.go +++ b/sdk/go/stackit/telemetryrouterDestination.go @@ -41,6 +41,8 @@ type TelemetryrouterDestination struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringOutput `pulumi:"status"` } @@ -105,6 +107,8 @@ type telemetryrouterDestinationState struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status *string `pulumi:"status"` } @@ -128,6 +132,8 @@ type TelemetryrouterDestinationState struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringPtrInput // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringPtrInput } @@ -299,6 +305,8 @@ func (o TelemetryrouterDestinationOutput) Region() pulumi.StringOutput { } // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o TelemetryrouterDestinationOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/telemetryrouterInstance.go b/sdk/go/stackit/telemetryrouterInstance.go index 84c4f2c6..8a43443b 100644 --- a/sdk/go/stackit/telemetryrouterInstance.go +++ b/sdk/go/stackit/telemetryrouterInstance.go @@ -37,6 +37,8 @@ type TelemetryrouterInstance struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringOutput `pulumi:"status"` // The TelemetryRouter instance's URI Uri pulumi.StringOutput `pulumi:"uri"` @@ -93,6 +95,8 @@ type telemetryrouterInstanceState struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status *string `pulumi:"status"` // The TelemetryRouter instance's URI Uri *string `pulumi:"uri"` @@ -114,6 +118,8 @@ type TelemetryrouterInstanceState struct { // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringPtrInput // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + // + // Deprecated: status is deprecated and will be removed after February 2027. Status pulumi.StringPtrInput // The TelemetryRouter instance's URI Uri pulumi.StringPtrInput @@ -273,6 +279,8 @@ func (o TelemetryrouterInstanceOutput) Region() pulumi.StringOutput { } // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. +// +// Deprecated: status is deprecated and will be removed after February 2027. func (o TelemetryrouterInstanceOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/nodejs/albWafConfiguration.ts b/sdk/nodejs/albWafConfiguration.ts new file mode 100644 index 00000000..ec30910c --- /dev/null +++ b/sdk/nodejs/albWafConfiguration.ts @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export class AlbWafConfiguration extends pulumi.CustomResource { + /** + * Get an existing AlbWafConfiguration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AlbWafConfigurationState, opts?: pulumi.CustomResourceOptions): AlbWafConfiguration { + return new AlbWafConfiguration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/albWafConfiguration:AlbWafConfiguration'; + + /** + * Returns true if the given object is an instance of AlbWafConfiguration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AlbWafConfiguration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlbWafConfiguration.__pulumiType; + } + + /** + * Name of the custom rule group for this WAF Configuration. + */ + declare public readonly customRuleGroupName: pulumi.Output; + /** + * User-defined metadata as key-value pairs. Should not exceed 64 entries. + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Name of the managed rule set configuration for this WAF Configuration. + */ + declare public readonly managedRuleSetName: pulumi.Output; + /** + * The name of the WAF Configuration. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT project ID to which the WAF Configuration is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region (e.g. eu01). If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + + /** + * Create a AlbWafConfiguration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AlbWafConfigurationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlbWafConfigurationArgs | AlbWafConfigurationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlbWafConfigurationState | undefined; + resourceInputs["customRuleGroupName"] = state?.customRuleGroupName; + resourceInputs["labels"] = state?.labels; + resourceInputs["managedRuleSetName"] = state?.managedRuleSetName; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + } else { + const args = argsOrState as AlbWafConfigurationArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["customRuleGroupName"] = args?.customRuleGroupName; + resourceInputs["labels"] = args?.labels; + resourceInputs["managedRuleSetName"] = args?.managedRuleSetName; + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlbWafConfiguration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlbWafConfiguration resources. + */ +export interface AlbWafConfigurationState { + /** + * Name of the custom rule group for this WAF Configuration. + */ + customRuleGroupName?: pulumi.Input; + /** + * User-defined metadata as key-value pairs. Should not exceed 64 entries. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * Name of the managed rule set configuration for this WAF Configuration. + */ + managedRuleSetName?: pulumi.Input; + /** + * The name of the WAF Configuration. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the WAF Configuration is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region (e.g. eu01). If not defined, the provider region is used. + */ + region?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlbWafConfiguration resource. + */ +export interface AlbWafConfigurationArgs { + /** + * Name of the custom rule group for this WAF Configuration. + */ + customRuleGroupName?: pulumi.Input; + /** + * User-defined metadata as key-value pairs. Should not exceed 64 entries. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * Name of the managed rule set configuration for this WAF Configuration. + */ + managedRuleSetName?: pulumi.Input; + /** + * The name of the WAF Configuration. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the WAF Configuration is associated. + */ + projectId: pulumi.Input; + /** + * The resource region (e.g. eu01). If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/albWafCustomRuleGroup.ts b/sdk/nodejs/albWafCustomRuleGroup.ts new file mode 100644 index 00000000..d63bfe97 --- /dev/null +++ b/sdk/nodejs/albWafCustomRuleGroup.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export class AlbWafCustomRuleGroup extends pulumi.CustomResource { + /** + * Get an existing AlbWafCustomRuleGroup resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AlbWafCustomRuleGroupState, opts?: pulumi.CustomResourceOptions): AlbWafCustomRuleGroup { + return new AlbWafCustomRuleGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup'; + + /** + * Returns true if the given object is an instance of AlbWafCustomRuleGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AlbWafCustomRuleGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlbWafCustomRuleGroup.__pulumiType; + } + + /** + * Custom rule group configuration name. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT project ID associated with the ALB WAF Custom Rule Group. + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * Enriched rules containing auto-generated IDs and computed severity values. + */ + declare public readonly rules: pulumi.Output; + + /** + * Create a AlbWafCustomRuleGroup resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AlbWafCustomRuleGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlbWafCustomRuleGroupArgs | AlbWafCustomRuleGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlbWafCustomRuleGroupState | undefined; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["rules"] = state?.rules; + } else { + const args = argsOrState as AlbWafCustomRuleGroupArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.rules === undefined && !opts.urn) { + throw new Error("Missing required property 'rules'"); + } + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["rules"] = args?.rules; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlbWafCustomRuleGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlbWafCustomRuleGroup resources. + */ +export interface AlbWafCustomRuleGroupState { + /** + * Custom rule group configuration name. + */ + name?: pulumi.Input; + /** + * STACKIT project ID associated with the ALB WAF Custom Rule Group. + */ + projectId?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Enriched rules containing auto-generated IDs and computed severity values. + */ + rules?: pulumi.Input[] | undefined>; +} + +/** + * The set of arguments for constructing a AlbWafCustomRuleGroup resource. + */ +export interface AlbWafCustomRuleGroupArgs { + /** + * Custom rule group configuration name. + */ + name?: pulumi.Input; + /** + * STACKIT project ID associated with the ALB WAF Custom Rule Group. + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Enriched rules containing auto-generated IDs and computed severity values. + */ + rules: pulumi.Input[]>; +} diff --git a/sdk/nodejs/albWafManagedRuleSet.ts b/sdk/nodejs/albWafManagedRuleSet.ts new file mode 100644 index 00000000..8471fb47 --- /dev/null +++ b/sdk/nodejs/albWafManagedRuleSet.ts @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ALB WAF Managed Rule Set resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export class AlbWafManagedRuleSet extends pulumi.CustomResource { + /** + * Get an existing AlbWafManagedRuleSet resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AlbWafManagedRuleSetState, opts?: pulumi.CustomResourceOptions): AlbWafManagedRuleSet { + return new AlbWafManagedRuleSet(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet'; + + /** + * Returns true if the given object is an instance of AlbWafManagedRuleSet. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AlbWafManagedRuleSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AlbWafManagedRuleSet.__pulumiType; + } + + /** + * Inventory of all available Managed Rule Set groups and their current configuration. + */ + declare public /*out*/ readonly groups: pulumi.Output<{[key: string]: outputs.AlbWafManagedRuleSetGroups}>; + /** + * Managed Rule Set configuration name. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT project ID associated with the ALB WAF Managed Rule Set. + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * Type of the Managed Rule Set. + */ + declare public readonly type: pulumi.Output; + /** + * Managed Rule Set version. + */ + declare public /*out*/ readonly version: pulumi.Output; + + /** + * Create a AlbWafManagedRuleSet resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AlbWafManagedRuleSetArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AlbWafManagedRuleSetArgs | AlbWafManagedRuleSetState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AlbWafManagedRuleSetState | undefined; + resourceInputs["groups"] = state?.groups; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["type"] = state?.type; + resourceInputs["version"] = state?.version; + } else { + const args = argsOrState as AlbWafManagedRuleSetArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.type === undefined && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["type"] = args?.type; + resourceInputs["groups"] = undefined /*out*/; + resourceInputs["version"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AlbWafManagedRuleSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AlbWafManagedRuleSet resources. + */ +export interface AlbWafManagedRuleSetState { + /** + * Inventory of all available Managed Rule Set groups and their current configuration. + */ + groups?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * Managed Rule Set configuration name. + */ + name?: pulumi.Input; + /** + * STACKIT project ID associated with the ALB WAF Managed Rule Set. + */ + projectId?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Type of the Managed Rule Set. + */ + type?: pulumi.Input; + /** + * Managed Rule Set version. + */ + version?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AlbWafManagedRuleSet resource. + */ +export interface AlbWafManagedRuleSetArgs { + /** + * Managed Rule Set configuration name. + */ + name?: pulumi.Input; + /** + * STACKIT project ID associated with the ALB WAF Managed Rule Set. + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Type of the Managed Rule Set. + */ + type: pulumi.Input; +} diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index 8d20d9dd..8b7c86f1 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -29,6 +29,17 @@ Object.defineProperty(exports, "albCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the Application Load Balancer Web Application Firewall service + */ +export declare const albWafCustomEndpoint: string | undefined; +Object.defineProperty(exports, "albWafCustomEndpoint", { + get() { + return __config.get("albWafCustomEndpoint"); + }, + enumerable: true, +}); + /** * Custom endpoint for the Membership service */ @@ -216,6 +227,17 @@ Object.defineProperty(exports, "mariadbCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the AI Model Experiments service + */ +export declare const modelexperimentsCustomEndpoint: string | undefined; +Object.defineProperty(exports, "modelexperimentsCustomEndpoint", { + get() { + return __config.get("modelexperimentsCustomEndpoint"); + }, + enumerable: true, +}); + /** * Custom endpoint for the AI Model Serving service */ @@ -348,17 +370,6 @@ Object.defineProperty(exports, "redisCustomEndpoint", { enumerable: true, }); -/** - * Region will be used as the default location for regional services. Not all services require a region, some are global - */ -export declare const region: string | undefined; -Object.defineProperty(exports, "region", { - get() { - return __config.get("region"); - }, - enumerable: true, -}); - /** * Custom endpoint for the Resource Manager service */ diff --git a/sdk/nodejs/dnsZone.ts b/sdk/nodejs/dnsZone.ts index 0a5f94b9..efb31895 100644 --- a/sdk/nodejs/dnsZone.ts +++ b/sdk/nodejs/dnsZone.ts @@ -44,7 +44,7 @@ export class DnsZone extends pulumi.CustomResource { } /** - * The access control list. E.g. `0.0.0.0/0,::/0` + * The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. */ declare public readonly acl: pulumi.Output; declare public readonly active: pulumi.Output; @@ -202,7 +202,7 @@ export class DnsZone extends pulumi.CustomResource { */ export interface DnsZoneState { /** - * The access control list. E.g. `0.0.0.0/0,::/0` + * The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. */ acl?: pulumi.Input; active?: pulumi.Input; @@ -290,7 +290,7 @@ export interface DnsZoneState { */ export interface DnsZoneArgs { /** - * The access control list. E.g. `0.0.0.0/0,::/0` + * The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. */ acl?: pulumi.Input; active?: pulumi.Input; diff --git a/sdk/nodejs/getAlbWafConfiguration.ts b/sdk/nodejs/getAlbWafConfiguration.ts new file mode 100644 index 00000000..e1a3ee62 --- /dev/null +++ b/sdk/nodejs/getAlbWafConfiguration.ts @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export function getAlbWafConfiguration(args: GetAlbWafConfigurationArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", { + "name": args.name, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getAlbWafConfiguration. + */ +export interface GetAlbWafConfigurationArgs { + /** + * The name of the WAF Configuration. + */ + name: string; + /** + * STACKIT project ID to which the WAF Configuration is associated. + */ + projectId: string; + /** + * The resource region (e.g. eu01). If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getAlbWafConfiguration. + */ +export interface GetAlbWafConfigurationResult { + /** + * Name of the custom rule group for this WAF Configuration. + */ + readonly customRuleGroupName: string; + /** + * Terraform's internal resource ID. It is structured as "`projectId`,`region`,`name`". + */ + readonly id: string; + /** + * User-defined metadata as key-value pairs. Should not exceed 64 entries. + */ + readonly labels: {[key: string]: string}; + /** + * Name of the managed rule set configuration for this WAF Configuration. + */ + readonly managedRuleSetName: string; + /** + * The name of the WAF Configuration. + */ + readonly name: string; + /** + * STACKIT project ID to which the WAF Configuration is associated. + */ + readonly projectId: string; + /** + * The resource region (e.g. eu01). If not defined, the provider region is used. + */ + readonly region: string; +} +/** + * ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export function getAlbWafConfigurationOutput(args: GetAlbWafConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getAlbWafConfiguration:getAlbWafConfiguration", { + "name": args.name, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getAlbWafConfiguration. + */ +export interface GetAlbWafConfigurationOutputArgs { + /** + * The name of the WAF Configuration. + */ + name: pulumi.Input; + /** + * STACKIT project ID to which the WAF Configuration is associated. + */ + projectId: pulumi.Input; + /** + * The resource region (e.g. eu01). If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getAlbWafCustomRuleGroup.ts b/sdk/nodejs/getAlbWafCustomRuleGroup.ts new file mode 100644 index 00000000..ee77fb38 --- /dev/null +++ b/sdk/nodejs/getAlbWafCustomRuleGroup.ts @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export function getAlbWafCustomRuleGroup(args: GetAlbWafCustomRuleGroupArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", { + "name": args.name, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getAlbWafCustomRuleGroup. + */ +export interface GetAlbWafCustomRuleGroupArgs { + /** + * Custom rule group configuration name. + */ + name: string; + /** + * STACKIT project ID associated with the ALB WAF Custom Rule Group. + */ + projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getAlbWafCustomRuleGroup. + */ +export interface GetAlbWafCustomRuleGroupResult { + /** + * Terraform's internal resource identifier. Structured as "`projectId`,`region`,`name`". + */ + readonly id: string; + /** + * Custom rule group configuration name. + */ + readonly name: string; + /** + * STACKIT project ID associated with the ALB WAF Custom Rule Group. + */ + readonly projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region: string; + /** + * Enriched rules containing auto-generated IDs and computed severity values. + */ + readonly rules: outputs.GetAlbWafCustomRuleGroupRule[]; +} +/** + * ALB WAF Custom Rule Group resource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + * + * > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export function getAlbWafCustomRuleGroupOutput(args: GetAlbWafCustomRuleGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup", { + "name": args.name, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getAlbWafCustomRuleGroup. + */ +export interface GetAlbWafCustomRuleGroupOutputArgs { + /** + * Custom rule group configuration name. + */ + name: pulumi.Input; + /** + * STACKIT project ID associated with the ALB WAF Custom Rule Group. + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getAlbWafManagedRuleSet.ts b/sdk/nodejs/getAlbWafManagedRuleSet.ts new file mode 100644 index 00000000..53aec96a --- /dev/null +++ b/sdk/nodejs/getAlbWafManagedRuleSet.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ALB WAF Managed Rule Set DataSource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + * + * > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export function getAlbWafManagedRuleSet(args: GetAlbWafManagedRuleSetArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", { + "name": args.name, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getAlbWafManagedRuleSet. + */ +export interface GetAlbWafManagedRuleSetArgs { + /** + * Managed Rule Set configuration name. + */ + name: string; + /** + * STACKIT project ID associated with the ALB WAF Managed Rule Set. + */ + projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getAlbWafManagedRuleSet. + */ +export interface GetAlbWafManagedRuleSetResult { + /** + * Inventory of all available Managed Rule Set groups and their current configuration. + */ + readonly groups: {[key: string]: outputs.GetAlbWafManagedRuleSetGroups}; + /** + * Terraform's internal resource identifier. Structured as "`projectId`,`region`,`name`". + */ + readonly id: string; + /** + * Managed Rule Set configuration name. + */ + readonly name: string; + /** + * STACKIT project ID associated with the ALB WAF Managed Rule Set. + */ + readonly projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region: string; + /** + * Type of the Managed Rule Set. + */ + readonly type: string; + /** + * Managed Rule Set version. + */ + readonly version: string; +} +/** + * ALB WAF Managed Rule Set DataSource schema. Uses the `defaultRegion` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + * + * > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + * + * ## Example Usage + */ +export function getAlbWafManagedRuleSetOutput(args: GetAlbWafManagedRuleSetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet", { + "name": args.name, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getAlbWafManagedRuleSet. + */ +export interface GetAlbWafManagedRuleSetOutputArgs { + /** + * Managed Rule Set configuration name. + */ + name: pulumi.Input; + /** + * STACKIT project ID associated with the ALB WAF Managed Rule Set. + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getKmsKey.ts b/sdk/nodejs/getKmsKey.ts index fe4f4456..32f9c4f2 100644 --- a/sdk/nodejs/getKmsKey.ts +++ b/sdk/nodejs/getKmsKey.ts @@ -82,7 +82,7 @@ export interface GetKmsKeyResult { */ readonly projectId: string; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ readonly protection: string; /** diff --git a/sdk/nodejs/getKmsWrappingKey.ts b/sdk/nodejs/getKmsWrappingKey.ts index 8c07b5ea..63ecd0e4 100644 --- a/sdk/nodejs/getKmsWrappingKey.ts +++ b/sdk/nodejs/getKmsWrappingKey.ts @@ -82,7 +82,7 @@ export interface GetKmsWrappingKeyResult { */ readonly projectId: string; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ readonly protection: string; /** diff --git a/sdk/nodejs/getLogmeCredential.ts b/sdk/nodejs/getLogmeCredential.ts index 3b8b2b35..b4db126e 100644 --- a/sdk/nodejs/getLogmeCredential.ts +++ b/sdk/nodejs/getLogmeCredential.ts @@ -15,6 +15,7 @@ export function getLogmeCredential(args: GetLogmeCredentialArgs, opts?: pulumi.I "credentialId": args.credentialId, "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -34,6 +35,10 @@ export interface GetLogmeCredentialArgs { * STACKIT project ID to which the instance is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -46,7 +51,7 @@ export interface GetLogmeCredentialResult { readonly credentialId: string; readonly host: string; /** - * Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". + * Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". */ readonly id: string; /** @@ -59,6 +64,10 @@ export interface GetLogmeCredentialResult { * STACKIT project ID to which the instance is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; readonly uri: string; readonly username: string; } @@ -73,6 +82,7 @@ export function getLogmeCredentialOutput(args: GetLogmeCredentialOutputArgs, opt "credentialId": args.credentialId, "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -92,4 +102,8 @@ export interface GetLogmeCredentialOutputArgs { * STACKIT project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getLogmeInstance.ts b/sdk/nodejs/getLogmeInstance.ts index 7337c129..a2effa6d 100644 --- a/sdk/nodejs/getLogmeInstance.ts +++ b/sdk/nodejs/getLogmeInstance.ts @@ -16,6 +16,7 @@ export function getLogmeInstance(args: GetLogmeInstanceArgs, opts?: pulumi.Invok return pulumi.runtime.invoke("stackit:index/getLogmeInstance:getLogmeInstance", { "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -31,6 +32,10 @@ export interface GetLogmeInstanceArgs { * STACKIT Project ID to which the instance is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -42,7 +47,7 @@ export interface GetLogmeInstanceResult { readonly cfSpaceGuid: string; readonly dashboardUrl: string; /** - * Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". + * Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". */ readonly id: string; readonly imageUrl: string; @@ -67,6 +72,10 @@ export interface GetLogmeInstanceResult { * STACKIT Project ID to which the instance is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; /** * The service version. */ @@ -82,6 +91,7 @@ export function getLogmeInstanceOutput(args: GetLogmeInstanceOutputArgs, opts?: return pulumi.runtime.invokeOutput("stackit:index/getLogmeInstance:getLogmeInstance", { "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -97,4 +107,8 @@ export interface GetLogmeInstanceOutputArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getMariadbCredential.ts b/sdk/nodejs/getMariadbCredential.ts index ba10dfcd..e5f8666f 100644 --- a/sdk/nodejs/getMariadbCredential.ts +++ b/sdk/nodejs/getMariadbCredential.ts @@ -15,6 +15,7 @@ export function getMariadbCredential(args: GetMariadbCredentialArgs, opts?: pulu "credentialId": args.credentialId, "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -34,6 +35,10 @@ export interface GetMariadbCredentialArgs { * STACKIT project ID to which the instance is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -47,7 +52,7 @@ export interface GetMariadbCredentialResult { readonly host: string; readonly hosts: string[]; /** - * Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". + * Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". */ readonly id: string; /** @@ -61,6 +66,10 @@ export interface GetMariadbCredentialResult { * STACKIT project ID to which the instance is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; readonly uri: string; readonly username: string; } @@ -75,6 +84,7 @@ export function getMariadbCredentialOutput(args: GetMariadbCredentialOutputArgs, "credentialId": args.credentialId, "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -94,4 +104,8 @@ export interface GetMariadbCredentialOutputArgs { * STACKIT project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getMariadbInstance.ts b/sdk/nodejs/getMariadbInstance.ts index 1fae7b12..63e87837 100644 --- a/sdk/nodejs/getMariadbInstance.ts +++ b/sdk/nodejs/getMariadbInstance.ts @@ -16,6 +16,7 @@ export function getMariadbInstance(args: GetMariadbInstanceArgs, opts?: pulumi.I return pulumi.runtime.invoke("stackit:index/getMariadbInstance:getMariadbInstance", { "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -31,6 +32,10 @@ export interface GetMariadbInstanceArgs { * STACKIT Project ID to which the instance is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -42,7 +47,7 @@ export interface GetMariadbInstanceResult { readonly cfSpaceGuid: string; readonly dashboardUrl: string; /** - * Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". + * Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". */ readonly id: string; readonly imageUrl: string; @@ -67,6 +72,10 @@ export interface GetMariadbInstanceResult { * STACKIT Project ID to which the instance is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; /** * The service version. */ @@ -82,6 +91,7 @@ export function getMariadbInstanceOutput(args: GetMariadbInstanceOutputArgs, opt return pulumi.runtime.invokeOutput("stackit:index/getMariadbInstance:getMariadbInstance", { "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -97,4 +107,8 @@ export interface GetMariadbInstanceOutputArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getModelexperimentsInstance.ts b/sdk/nodejs/getModelexperimentsInstance.ts new file mode 100644 index 00000000..cd8e5d41 --- /dev/null +++ b/sdk/nodejs/getModelexperimentsInstance.ts @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Datasource scheme for a STACKIT AI Model Experiments instance. + * + * ## Example Usage + */ +export function getModelexperimentsInstance(args: GetModelexperimentsInstanceArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getModelexperimentsInstance. + */ +export interface GetModelexperimentsInstanceArgs { + /** + * The AI Model Experiments instance ID. + */ + instanceId: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getModelexperimentsInstance. + */ +export interface GetModelexperimentsInstanceResult { + /** + * The object storage bucket name of the AI Model Experiments instance. + */ + readonly bucketName: string; + /** + * The deleted experiment retention time of the AI Model Experiments instance. + */ + readonly deletedExperimentRetention: string; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + readonly description: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". + */ + readonly id: string; + /** + * The AI Model Experiments instance ID. + */ + readonly instanceId: string; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + readonly labels: {[key: string]: string}; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + readonly name: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + readonly projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region: string; + /** + * The Dashboard URL of the AI Model Experiments instance. + */ + readonly url: string; +} +/** + * Datasource scheme for a STACKIT AI Model Experiments instance. + * + * ## Example Usage + */ +export function getModelexperimentsInstanceOutput(args: GetModelexperimentsInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getModelexperimentsInstance:getModelexperimentsInstance", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getModelexperimentsInstance. + */ +export interface GetModelexperimentsInstanceOutputArgs { + /** + * The AI Model Experiments instance ID. + */ + instanceId: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getModelexperimentsToken.ts b/sdk/nodejs/getModelexperimentsToken.ts new file mode 100644 index 00000000..d388173b --- /dev/null +++ b/sdk/nodejs/getModelexperimentsToken.ts @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Datasource scheme for a STACKIT AI Model Experiments instance tokens. + * + * ## Example Usage + */ +export function getModelexperimentsToken(args: GetModelexperimentsTokenArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getModelexperimentsToken:getModelexperimentsToken", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + "tokenId": args.tokenId, + }, opts); +} + +/** + * A collection of arguments for invoking getModelexperimentsToken. + */ +export interface GetModelexperimentsTokenArgs { + /** + * The AI Model Experiments instance ID. + */ + instanceId: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; + /** + * The AI Model Experiments instance token ID. + */ + tokenId: string; +} + +/** + * A collection of values returned by getModelexperimentsToken. + */ +export interface GetModelexperimentsTokenResult { + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + readonly description: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`tokenId`". + */ + readonly id: string; + /** + * The AI Model Experiments instance ID. + */ + readonly instanceId: string; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + readonly labels: {[key: string]: string}; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + readonly name: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + readonly projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region: string; + /** + * The AI Model Experiments instance token ID. + */ + readonly tokenId: string; + /** + * The time until the AI Model Experiments instance token is valid. + */ + readonly validUntil: string; +} +/** + * Datasource scheme for a STACKIT AI Model Experiments instance tokens. + * + * ## Example Usage + */ +export function getModelexperimentsTokenOutput(args: GetModelexperimentsTokenOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getModelexperimentsToken:getModelexperimentsToken", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + "tokenId": args.tokenId, + }, opts); +} + +/** + * A collection of arguments for invoking getModelexperimentsToken. + */ +export interface GetModelexperimentsTokenOutputArgs { + /** + * The AI Model Experiments instance ID. + */ + instanceId: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The AI Model Experiments instance token ID. + */ + tokenId: pulumi.Input; +} diff --git a/sdk/nodejs/getNetwork.ts b/sdk/nodejs/getNetwork.ts index e3a7ada4..455fe426 100644 --- a/sdk/nodejs/getNetwork.ts +++ b/sdk/nodejs/getNetwork.ts @@ -12,9 +12,12 @@ import * as utilities from "./utilities"; export function getNetwork(args: GetNetworkArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("stackit:index/getNetwork:getNetwork", { + "ipv4VpcNetworkRangeId": args.ipv4VpcNetworkRangeId, + "ipv6VpcNetworkRangeId": args.ipv6VpcNetworkRangeId, "networkId": args.networkId, "projectId": args.projectId, "region": args.region, + "vpcId": args.vpcId, }, opts); } @@ -22,6 +25,14 @@ export function getNetwork(args: GetNetworkArgs, opts?: pulumi.InvokeOptions): P * A collection of arguments for invoking getNetwork. */ export interface GetNetworkArgs { + /** + * The IPv4 VPC network range ID. + */ + ipv4VpcNetworkRangeId?: string; + /** + * The IPv6 VPC network range ID. + */ + ipv6VpcNetworkRangeId?: string; /** * The network ID. */ @@ -34,6 +45,10 @@ export interface GetNetworkArgs { * The resource region. If not defined, the provider region is used. */ region?: string; + /** + * The ID of the VPC the network is associated with. + */ + vpcId?: string; } /** @@ -70,6 +85,10 @@ export interface GetNetworkResult { * The IPv4 prefixes of the network. */ readonly ipv4Prefixes: string[]; + /** + * The IPv4 VPC network range ID. + */ + readonly ipv4VpcNetworkRangeId?: string; /** * The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. */ @@ -92,6 +111,10 @@ export interface GetNetworkResult { * The IPv6 prefixes of the network. */ readonly ipv6Prefixes: string[]; + /** + * The IPv6 VPC network range ID. + */ + readonly ipv6VpcNetworkRangeId?: string; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -124,6 +147,10 @@ export interface GetNetworkResult { * The ID of the routing table associated with the network. */ readonly routingTableId: string; + /** + * The ID of the VPC the network is associated with. + */ + readonly vpcId?: string; } /** * Network resource schema. Must have a `region` specified in the provider configuration. @@ -133,9 +160,12 @@ export interface GetNetworkResult { export function getNetworkOutput(args: GetNetworkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("stackit:index/getNetwork:getNetwork", { + "ipv4VpcNetworkRangeId": args.ipv4VpcNetworkRangeId, + "ipv6VpcNetworkRangeId": args.ipv6VpcNetworkRangeId, "networkId": args.networkId, "projectId": args.projectId, "region": args.region, + "vpcId": args.vpcId, }, opts); } @@ -143,6 +173,14 @@ export function getNetworkOutput(args: GetNetworkOutputArgs, opts?: pulumi.Invok * A collection of arguments for invoking getNetwork. */ export interface GetNetworkOutputArgs { + /** + * The IPv4 VPC network range ID. + */ + ipv4VpcNetworkRangeId?: pulumi.Input; + /** + * The IPv6 VPC network range ID. + */ + ipv6VpcNetworkRangeId?: pulumi.Input; /** * The network ID. */ @@ -155,4 +193,8 @@ export interface GetNetworkOutputArgs { * The resource region. If not defined, the provider region is used. */ region?: pulumi.Input; + /** + * The ID of the VPC the network is associated with. + */ + vpcId?: pulumi.Input; } diff --git a/sdk/nodejs/getNetworkArea.ts b/sdk/nodejs/getNetworkArea.ts index 0466e37a..98146d1e 100644 --- a/sdk/nodejs/getNetworkArea.ts +++ b/sdk/nodejs/getNetworkArea.ts @@ -2,8 +2,6 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -39,18 +37,6 @@ export interface GetNetworkAreaArgs { * A collection of values returned by getNetworkArea. */ export interface GetNetworkAreaResult { - /** - * List of DNS Servers/Nameservers. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - */ - readonly defaultNameservers: string[]; - /** - * The default prefix length for networks in the network area. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - */ - readonly defaultPrefixLength: number; /** * Terraform's internal resource ID. It is structured as "`organizationId`,`networkAreaId`". */ @@ -59,18 +45,6 @@ export interface GetNetworkAreaResult { * Labels are key-value string pairs which can be attached to a resource container */ readonly labels: {[key: string]: string}; - /** - * The maximal prefix length for networks in the network area. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - */ - readonly maxPrefixLength: number; - /** - * The minimal prefix length for networks in the network area. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - */ - readonly minPrefixLength: number; /** * The name of the network area. */ @@ -79,12 +53,6 @@ export interface GetNetworkAreaResult { * The network area ID. */ readonly networkAreaId: string; - /** - * List of Network ranges. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - */ - readonly networkRanges: outputs.GetNetworkAreaNetworkRange[]; /** * STACKIT organization ID to which the network area is associated. */ @@ -93,12 +61,6 @@ export interface GetNetworkAreaResult { * The amount of projects currently referencing this area. */ readonly projectCount: number; - /** - * Classless Inter-Domain Routing (CIDR). - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. - */ - readonly transferNetwork: string; } /** * Network area datasource schema. Must have a `region` specified in the provider configuration. diff --git a/sdk/nodejs/getOpensearchCredential.ts b/sdk/nodejs/getOpensearchCredential.ts index bcfa186f..0277b643 100644 --- a/sdk/nodejs/getOpensearchCredential.ts +++ b/sdk/nodejs/getOpensearchCredential.ts @@ -15,6 +15,7 @@ export function getOpensearchCredential(args: GetOpensearchCredentialArgs, opts? "credentialId": args.credentialId, "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -34,6 +35,10 @@ export interface GetOpensearchCredentialArgs { * STACKIT project ID to which the instance is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -47,7 +52,7 @@ export interface GetOpensearchCredentialResult { readonly host: string; readonly hosts: string[]; /** - * Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`,`credentialId`". + * Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`,`credentialId`". */ readonly id: string; /** @@ -60,6 +65,10 @@ export interface GetOpensearchCredentialResult { * STACKIT project ID to which the instance is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; readonly scheme: string; readonly uri: string; readonly username: string; @@ -75,6 +84,7 @@ export function getOpensearchCredentialOutput(args: GetOpensearchCredentialOutpu "credentialId": args.credentialId, "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -94,4 +104,8 @@ export interface GetOpensearchCredentialOutputArgs { * STACKIT project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getOpensearchInstance.ts b/sdk/nodejs/getOpensearchInstance.ts index 55792115..d5c03e6a 100644 --- a/sdk/nodejs/getOpensearchInstance.ts +++ b/sdk/nodejs/getOpensearchInstance.ts @@ -16,6 +16,7 @@ export function getOpensearchInstance(args: GetOpensearchInstanceArgs, opts?: pu return pulumi.runtime.invoke("stackit:index/getOpensearchInstance:getOpensearchInstance", { "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -31,6 +32,10 @@ export interface GetOpensearchInstanceArgs { * STACKIT Project ID to which the instance is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -42,7 +47,7 @@ export interface GetOpensearchInstanceResult { readonly cfSpaceGuid: string; readonly dashboardUrl: string; /** - * Terraform's internal data source. identifier. It is structured as "`projectId`,`instanceId`". + * Terraform's internal data source. identifier. It is structured as "`projectId`,`region`,`instanceId`". */ readonly id: string; readonly imageUrl: string; @@ -67,6 +72,10 @@ export interface GetOpensearchInstanceResult { * STACKIT Project ID to which the instance is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; /** * The service version. */ @@ -82,6 +91,7 @@ export function getOpensearchInstanceOutput(args: GetOpensearchInstanceOutputArg return pulumi.runtime.invokeOutput("stackit:index/getOpensearchInstance:getOpensearchInstance", { "instanceId": args.instanceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -97,4 +107,8 @@ export interface GetOpensearchInstanceOutputArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getPostgresflexFlavors.ts b/sdk/nodejs/getPostgresflexFlavors.ts new file mode 100644 index 00000000..5dce67a4 --- /dev/null +++ b/sdk/nodejs/getPostgresflexFlavors.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Postgres Flex flavors data source schema. + * + * ## Example Usage + */ +export function getPostgresflexFlavors(args: GetPostgresflexFlavorsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", { + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + }, opts); +} + +/** + * A collection of arguments for invoking getPostgresflexFlavors. + */ +export interface GetPostgresflexFlavorsArgs { + /** + * STACKIT project ID. + */ + projectId: string; + /** + * Postgres Flex flavors data source region. If undefined, the provider region is used. + */ + region?: string; + timeouts?: inputs.GetPostgresflexFlavorsTimeouts; +} + +/** + * A collection of values returned by getPostgresflexFlavors. + */ +export interface GetPostgresflexFlavorsResult { + /** + * List of flavors available for the project. + */ + readonly flavors: outputs.GetPostgresflexFlavorsFlavor[]; + /** + * Terraform's internal data source ID, structured as "`projectId`,`region`". + */ + readonly id: string; + /** + * STACKIT project ID. + */ + readonly projectId: string; + /** + * Postgres Flex flavors data source region. If undefined, the provider region is used. + */ + readonly region: string; + readonly timeouts?: outputs.GetPostgresflexFlavorsTimeouts; +} +/** + * Postgres Flex flavors data source schema. + * + * ## Example Usage + */ +export function getPostgresflexFlavorsOutput(args: GetPostgresflexFlavorsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getPostgresflexFlavors:getPostgresflexFlavors", { + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + }, opts); +} + +/** + * A collection of arguments for invoking getPostgresflexFlavors. + */ +export interface GetPostgresflexFlavorsOutputArgs { + /** + * STACKIT project ID. + */ + projectId: pulumi.Input; + /** + * Postgres Flex flavors data source region. If undefined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/getPostgresflexInstance.ts b/sdk/nodejs/getPostgresflexInstance.ts index b3d1834d..52bddce8 100644 --- a/sdk/nodejs/getPostgresflexInstance.ts +++ b/sdk/nodejs/getPostgresflexInstance.ts @@ -44,10 +44,24 @@ export interface GetPostgresflexInstanceArgs { export interface GetPostgresflexInstanceResult { /** * The Access Control List (ACL) for the PostgresFlex instance. + * + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ readonly acls: string[]; + /** + * The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + */ readonly backupSchedule: string; + /** + * The connection info for the PostgresFlex instance. + */ + readonly connectionInfo: outputs.GetPostgresflexInstanceConnectionInfo; + readonly encryption: outputs.GetPostgresflexInstanceEncryption; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`.. + */ readonly flavor: outputs.GetPostgresflexInstanceFlavor; + readonly flavorId: string; /** * Terraform's internal data source. ID. It is structured as "`projectId`,`region`,`instanceId`". */ @@ -60,6 +74,7 @@ export interface GetPostgresflexInstanceResult { * Instance name. */ readonly name: string; + readonly network: outputs.GetPostgresflexInstanceNetwork; /** * STACKIT project ID to which the instance is associated. */ @@ -68,7 +83,11 @@ export interface GetPostgresflexInstanceResult { * The resource region. If not defined, the provider region is used. */ readonly region?: string; + /** + * @deprecated replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. + */ readonly replicas: number; + readonly retentionDays: number; readonly storage: outputs.GetPostgresflexInstanceStorage; readonly version: string; } diff --git a/sdk/nodejs/getPostgresflexUser.ts b/sdk/nodejs/getPostgresflexUser.ts index 92e7c25e..1e42efaa 100644 --- a/sdk/nodejs/getPostgresflexUser.ts +++ b/sdk/nodejs/getPostgresflexUser.ts @@ -45,6 +45,9 @@ export interface GetPostgresflexUserArgs { * A collection of values returned by getPostgresflexUser. */ export interface GetPostgresflexUserResult { + /** + * @deprecated host is deprecated and will be removed after February 2027. The host can be retrieved from the instance `connection_info.write.host`. + */ readonly host: string; /** * Terraform's internal data source. ID. It is structured as "`projectId`,`region`,`instanceId`,`userId`". @@ -54,6 +57,9 @@ export interface GetPostgresflexUserResult { * ID of the PostgresFlex instance. */ readonly instanceId: string; + /** + * @deprecated port is deprecated and will be removed after February 2027. The port can be retrieved from the instance `connection_info.write.port`. + */ readonly port: number; /** * STACKIT project ID to which the instance is associated. diff --git a/sdk/nodejs/getSkeCluster.ts b/sdk/nodejs/getSkeCluster.ts index 737af919..95d69c54 100644 --- a/sdk/nodejs/getSkeCluster.ts +++ b/sdk/nodejs/getSkeCluster.ts @@ -46,6 +46,10 @@ export interface GetSkeClusterResult { * Configure access to the cluster */ readonly access: outputs.GetSkeClusterAccess; + /** + * Cluster audit log forwarding configuration. + */ + readonly audit: outputs.GetSkeClusterAudit; /** * The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. */ diff --git a/sdk/nodejs/getSqlserverflexDatabase.ts b/sdk/nodejs/getSqlserverflexDatabase.ts new file mode 100644 index 00000000..0213976c --- /dev/null +++ b/sdk/nodejs/getSqlserverflexDatabase.ts @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * SQLServer Flex database data source schema. + * + * ## Example Usage + */ +export function getSqlserverflexDatabase(args: GetSqlserverflexDatabaseArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", { + "instanceId": args.instanceId, + "name": args.name, + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + }, opts); +} + +/** + * A collection of arguments for invoking getSqlserverflexDatabase. + */ +export interface GetSqlserverflexDatabaseArgs { + /** + * ID of the SQLServer Flex instance. + */ + instanceId: string; + /** + * Name of the database. + */ + name: string; + /** + * STACKIT project ID. + */ + projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; + timeouts?: inputs.GetSqlserverflexDatabaseTimeouts; +} + +/** + * A collection of values returned by getSqlserverflexDatabase. + */ +export interface GetSqlserverflexDatabaseResult { + /** + * The collation of the database. + */ + readonly collation: string; + /** + * Compatibility level of the database. + */ + readonly compatibility: number; + /** + * The id of the database. + */ + readonly databaseId: number; + /** + * Terraform internal ID, structured as "`projectId`,`region`,`instanceId`,`name`" + */ + readonly id: string; + /** + * ID of the SQLServer Flex instance. + */ + readonly instanceId: string; + /** + * Name of the database. + */ + readonly name: string; + /** + * The owner of the database. + */ + readonly owner: string; + /** + * STACKIT project ID. + */ + readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; + readonly timeouts?: outputs.GetSqlserverflexDatabaseTimeouts; +} +/** + * SQLServer Flex database data source schema. + * + * ## Example Usage + */ +export function getSqlserverflexDatabaseOutput(args: GetSqlserverflexDatabaseOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase", { + "instanceId": args.instanceId, + "name": args.name, + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + }, opts); +} + +/** + * A collection of arguments for invoking getSqlserverflexDatabase. + */ +export interface GetSqlserverflexDatabaseOutputArgs { + /** + * ID of the SQLServer Flex instance. + */ + instanceId: pulumi.Input; + /** + * Name of the database. + */ + name: pulumi.Input; + /** + * STACKIT project ID. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/getSqlserverflexFlavors.ts b/sdk/nodejs/getSqlserverflexFlavors.ts new file mode 100644 index 00000000..5ff9f33b --- /dev/null +++ b/sdk/nodejs/getSqlserverflexFlavors.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * SqlserverFlex flavors data source schema + * + * ## Example Usage + */ +export function getSqlserverflexFlavors(args: GetSqlserverflexFlavorsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", { + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + }, opts); +} + +/** + * A collection of arguments for invoking getSqlserverflexFlavors. + */ +export interface GetSqlserverflexFlavorsArgs { + /** + * The project ID. + */ + projectId: string; + /** + * SqlserverFlex flavors data source region. If undefined the providers region is used. + */ + region?: string; + timeouts?: inputs.GetSqlserverflexFlavorsTimeouts; +} + +/** + * A collection of values returned by getSqlserverflexFlavors. + */ +export interface GetSqlserverflexFlavorsResult { + /** + * A list of available flavors. + */ + readonly flavors: outputs.GetSqlserverflexFlavorsFlavor[]; + /** + * Terraform's internal data source ID, structured as "`projectId`,`region`" + */ + readonly id: string; + /** + * The project ID. + */ + readonly projectId: string; + /** + * SqlserverFlex flavors data source region. If undefined the providers region is used. + */ + readonly region: string; + readonly timeouts?: outputs.GetSqlserverflexFlavorsTimeouts; +} +/** + * SqlserverFlex flavors data source schema + * + * ## Example Usage + */ +export function getSqlserverflexFlavorsOutput(args: GetSqlserverflexFlavorsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors", { + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + }, opts); +} + +/** + * A collection of arguments for invoking getSqlserverflexFlavors. + */ +export interface GetSqlserverflexFlavorsOutputArgs { + /** + * The project ID. + */ + projectId: pulumi.Input; + /** + * SqlserverFlex flavors data source region. If undefined the providers region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/getSqlserverflexInstance.ts b/sdk/nodejs/getSqlserverflexInstance.ts index 740a4fca..2d43678a 100644 --- a/sdk/nodejs/getSqlserverflexInstance.ts +++ b/sdk/nodejs/getSqlserverflexInstance.ts @@ -49,6 +49,8 @@ export interface GetSqlserverflexInstanceArgs { export interface GetSqlserverflexInstanceResult { /** * The Access Control List (ACL) for the SQLServer Flex instance. + * + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ readonly acls: string[]; /** @@ -59,6 +61,13 @@ export interface GetSqlserverflexInstanceResult { * Edition of the MSSQL server instance. */ readonly edition: string; + /** + * Parameter to define which key to use for storage encryption. + */ + readonly encryption: outputs.GetSqlserverflexInstanceEncryption; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. + */ readonly flavor: outputs.GetSqlserverflexInstanceFlavor; /** * The flavor ID of the SQLServer Flex instance. @@ -82,6 +91,8 @@ export interface GetSqlserverflexInstanceResult { readonly network?: outputs.GetSqlserverflexInstanceNetwork; /** * Custom parameters for the SQLServer Flex instance. + * + * @deprecated option is deprecated and will be removed after February 2027. */ readonly options: outputs.GetSqlserverflexInstanceOptions; /** diff --git a/sdk/nodejs/getTelemetrylink.ts b/sdk/nodejs/getTelemetrylink.ts index 2af4f3f1..03352e74 100644 --- a/sdk/nodejs/getTelemetrylink.ts +++ b/sdk/nodejs/getTelemetrylink.ts @@ -70,6 +70,8 @@ export interface GetTelemetrylinkResult { readonly resourceType: string; /** * The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ readonly status: string; /** diff --git a/sdk/nodejs/getTelemetryrouterAccessToken.ts b/sdk/nodejs/getTelemetryrouterAccessToken.ts index e80d73fc..d291e976 100644 --- a/sdk/nodejs/getTelemetryrouterAccessToken.ts +++ b/sdk/nodejs/getTelemetryrouterAccessToken.ts @@ -83,6 +83,8 @@ export interface GetTelemetryrouterAccessTokenResult { readonly region?: string; /** * The status of the access token. Possible values are: `active`, `expired`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ readonly status: string; } diff --git a/sdk/nodejs/getTelemetryrouterDestination.ts b/sdk/nodejs/getTelemetryrouterDestination.ts index 36935b3b..a290856b 100644 --- a/sdk/nodejs/getTelemetryrouterDestination.ts +++ b/sdk/nodejs/getTelemetryrouterDestination.ts @@ -89,6 +89,8 @@ export interface GetTelemetryrouterDestinationResult { readonly region: string; /** * The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ readonly status: string; } diff --git a/sdk/nodejs/getTelemetryrouterInstance.ts b/sdk/nodejs/getTelemetryrouterInstance.ts index bf2ce1a5..7737d772 100644 --- a/sdk/nodejs/getTelemetryrouterInstance.ts +++ b/sdk/nodejs/getTelemetryrouterInstance.ts @@ -76,6 +76,8 @@ export interface GetTelemetryrouterInstanceResult { readonly region?: string; /** * The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ readonly status: string; /** diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 11d56caa..0eecb9be 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -15,6 +15,21 @@ export type AlbCertificate = import("./albCertificate").AlbCertificate; export const AlbCertificate: typeof import("./albCertificate").AlbCertificate = null as any; utilities.lazyLoad(exports, ["AlbCertificate"], () => require("./albCertificate")); +export { AlbWafConfigurationArgs, AlbWafConfigurationState } from "./albWafConfiguration"; +export type AlbWafConfiguration = import("./albWafConfiguration").AlbWafConfiguration; +export const AlbWafConfiguration: typeof import("./albWafConfiguration").AlbWafConfiguration = null as any; +utilities.lazyLoad(exports, ["AlbWafConfiguration"], () => require("./albWafConfiguration")); + +export { AlbWafCustomRuleGroupArgs, AlbWafCustomRuleGroupState } from "./albWafCustomRuleGroup"; +export type AlbWafCustomRuleGroup = import("./albWafCustomRuleGroup").AlbWafCustomRuleGroup; +export const AlbWafCustomRuleGroup: typeof import("./albWafCustomRuleGroup").AlbWafCustomRuleGroup = null as any; +utilities.lazyLoad(exports, ["AlbWafCustomRuleGroup"], () => require("./albWafCustomRuleGroup")); + +export { AlbWafManagedRuleSetArgs, AlbWafManagedRuleSetState } from "./albWafManagedRuleSet"; +export type AlbWafManagedRuleSet = import("./albWafManagedRuleSet").AlbWafManagedRuleSet; +export const AlbWafManagedRuleSet: typeof import("./albWafManagedRuleSet").AlbWafManagedRuleSet = null as any; +utilities.lazyLoad(exports, ["AlbWafManagedRuleSet"], () => require("./albWafManagedRuleSet")); + export { ApplicationLoadBalancerArgs, ApplicationLoadBalancerState } from "./applicationLoadBalancer"; export type ApplicationLoadBalancer = import("./applicationLoadBalancer").ApplicationLoadBalancer; export const ApplicationLoadBalancer: typeof import("./applicationLoadBalancer").ApplicationLoadBalancer = null as any; @@ -110,6 +125,21 @@ export const getAlbCertificate: typeof import("./getAlbCertificate").getAlbCerti export const getAlbCertificateOutput: typeof import("./getAlbCertificate").getAlbCertificateOutput = null as any; utilities.lazyLoad(exports, ["getAlbCertificate","getAlbCertificateOutput"], () => require("./getAlbCertificate")); +export { GetAlbWafConfigurationArgs, GetAlbWafConfigurationResult, GetAlbWafConfigurationOutputArgs } from "./getAlbWafConfiguration"; +export const getAlbWafConfiguration: typeof import("./getAlbWafConfiguration").getAlbWafConfiguration = null as any; +export const getAlbWafConfigurationOutput: typeof import("./getAlbWafConfiguration").getAlbWafConfigurationOutput = null as any; +utilities.lazyLoad(exports, ["getAlbWafConfiguration","getAlbWafConfigurationOutput"], () => require("./getAlbWafConfiguration")); + +export { GetAlbWafCustomRuleGroupArgs, GetAlbWafCustomRuleGroupResult, GetAlbWafCustomRuleGroupOutputArgs } from "./getAlbWafCustomRuleGroup"; +export const getAlbWafCustomRuleGroup: typeof import("./getAlbWafCustomRuleGroup").getAlbWafCustomRuleGroup = null as any; +export const getAlbWafCustomRuleGroupOutput: typeof import("./getAlbWafCustomRuleGroup").getAlbWafCustomRuleGroupOutput = null as any; +utilities.lazyLoad(exports, ["getAlbWafCustomRuleGroup","getAlbWafCustomRuleGroupOutput"], () => require("./getAlbWafCustomRuleGroup")); + +export { GetAlbWafManagedRuleSetArgs, GetAlbWafManagedRuleSetResult, GetAlbWafManagedRuleSetOutputArgs } from "./getAlbWafManagedRuleSet"; +export const getAlbWafManagedRuleSet: typeof import("./getAlbWafManagedRuleSet").getAlbWafManagedRuleSet = null as any; +export const getAlbWafManagedRuleSetOutput: typeof import("./getAlbWafManagedRuleSet").getAlbWafManagedRuleSetOutput = null as any; +utilities.lazyLoad(exports, ["getAlbWafManagedRuleSet","getAlbWafManagedRuleSetOutput"], () => require("./getAlbWafManagedRuleSet")); + export { GetApplicationLoadBalancerArgs, GetApplicationLoadBalancerResult, GetApplicationLoadBalancerOutputArgs } from "./getApplicationLoadBalancer"; export const getApplicationLoadBalancer: typeof import("./getApplicationLoadBalancer").getApplicationLoadBalancer = null as any; export const getApplicationLoadBalancerOutput: typeof import("./getApplicationLoadBalancer").getApplicationLoadBalancerOutput = null as any; @@ -255,6 +285,16 @@ export const getMariadbInstance: typeof import("./getMariadbInstance").getMariad export const getMariadbInstanceOutput: typeof import("./getMariadbInstance").getMariadbInstanceOutput = null as any; utilities.lazyLoad(exports, ["getMariadbInstance","getMariadbInstanceOutput"], () => require("./getMariadbInstance")); +export { GetModelexperimentsInstanceArgs, GetModelexperimentsInstanceResult, GetModelexperimentsInstanceOutputArgs } from "./getModelexperimentsInstance"; +export const getModelexperimentsInstance: typeof import("./getModelexperimentsInstance").getModelexperimentsInstance = null as any; +export const getModelexperimentsInstanceOutput: typeof import("./getModelexperimentsInstance").getModelexperimentsInstanceOutput = null as any; +utilities.lazyLoad(exports, ["getModelexperimentsInstance","getModelexperimentsInstanceOutput"], () => require("./getModelexperimentsInstance")); + +export { GetModelexperimentsTokenArgs, GetModelexperimentsTokenResult, GetModelexperimentsTokenOutputArgs } from "./getModelexperimentsToken"; +export const getModelexperimentsToken: typeof import("./getModelexperimentsToken").getModelexperimentsToken = null as any; +export const getModelexperimentsTokenOutput: typeof import("./getModelexperimentsToken").getModelexperimentsTokenOutput = null as any; +utilities.lazyLoad(exports, ["getModelexperimentsToken","getModelexperimentsTokenOutput"], () => require("./getModelexperimentsToken")); + export { GetMongodbflexInstanceArgs, GetMongodbflexInstanceResult, GetMongodbflexInstanceOutputArgs } from "./getMongodbflexInstance"; export const getMongodbflexInstance: typeof import("./getMongodbflexInstance").getMongodbflexInstance = null as any; export const getMongodbflexInstanceOutput: typeof import("./getMongodbflexInstance").getMongodbflexInstanceOutput = null as any; @@ -350,6 +390,11 @@ export const getPostgresflexDatabase: typeof import("./getPostgresflexDatabase") export const getPostgresflexDatabaseOutput: typeof import("./getPostgresflexDatabase").getPostgresflexDatabaseOutput = null as any; utilities.lazyLoad(exports, ["getPostgresflexDatabase","getPostgresflexDatabaseOutput"], () => require("./getPostgresflexDatabase")); +export { GetPostgresflexFlavorsArgs, GetPostgresflexFlavorsResult, GetPostgresflexFlavorsOutputArgs } from "./getPostgresflexFlavors"; +export const getPostgresflexFlavors: typeof import("./getPostgresflexFlavors").getPostgresflexFlavors = null as any; +export const getPostgresflexFlavorsOutput: typeof import("./getPostgresflexFlavors").getPostgresflexFlavorsOutput = null as any; +utilities.lazyLoad(exports, ["getPostgresflexFlavors","getPostgresflexFlavorsOutput"], () => require("./getPostgresflexFlavors")); + export { GetPostgresflexInstanceArgs, GetPostgresflexInstanceResult, GetPostgresflexInstanceOutputArgs } from "./getPostgresflexInstance"; export const getPostgresflexInstance: typeof import("./getPostgresflexInstance").getPostgresflexInstance = null as any; export const getPostgresflexInstanceOutput: typeof import("./getPostgresflexInstance").getPostgresflexInstanceOutput = null as any; @@ -560,6 +605,16 @@ export const getSkeMachineImageVersions: typeof import("./getSkeMachineImageVers export const getSkeMachineImageVersionsOutput: typeof import("./getSkeMachineImageVersions").getSkeMachineImageVersionsOutput = null as any; utilities.lazyLoad(exports, ["getSkeMachineImageVersions","getSkeMachineImageVersionsOutput"], () => require("./getSkeMachineImageVersions")); +export { GetSqlserverflexDatabaseArgs, GetSqlserverflexDatabaseResult, GetSqlserverflexDatabaseOutputArgs } from "./getSqlserverflexDatabase"; +export const getSqlserverflexDatabase: typeof import("./getSqlserverflexDatabase").getSqlserverflexDatabase = null as any; +export const getSqlserverflexDatabaseOutput: typeof import("./getSqlserverflexDatabase").getSqlserverflexDatabaseOutput = null as any; +utilities.lazyLoad(exports, ["getSqlserverflexDatabase","getSqlserverflexDatabaseOutput"], () => require("./getSqlserverflexDatabase")); + +export { GetSqlserverflexFlavorsArgs, GetSqlserverflexFlavorsResult, GetSqlserverflexFlavorsOutputArgs } from "./getSqlserverflexFlavors"; +export const getSqlserverflexFlavors: typeof import("./getSqlserverflexFlavors").getSqlserverflexFlavors = null as any; +export const getSqlserverflexFlavorsOutput: typeof import("./getSqlserverflexFlavors").getSqlserverflexFlavorsOutput = null as any; +utilities.lazyLoad(exports, ["getSqlserverflexFlavors","getSqlserverflexFlavorsOutput"], () => require("./getSqlserverflexFlavors")); + export { GetSqlserverflexInstanceArgs, GetSqlserverflexInstanceResult, GetSqlserverflexInstanceOutputArgs } from "./getSqlserverflexInstance"; export const getSqlserverflexInstance: typeof import("./getSqlserverflexInstance").getSqlserverflexInstance = null as any; export const getSqlserverflexInstanceOutput: typeof import("./getSqlserverflexInstance").getSqlserverflexInstanceOutput = null as any; @@ -710,6 +765,16 @@ export type MariadbInstance = import("./mariadbInstance").MariadbInstance; export const MariadbInstance: typeof import("./mariadbInstance").MariadbInstance = null as any; utilities.lazyLoad(exports, ["MariadbInstance"], () => require("./mariadbInstance")); +export { ModelexperimentsInstanceArgs, ModelexperimentsInstanceState } from "./modelexperimentsInstance"; +export type ModelexperimentsInstance = import("./modelexperimentsInstance").ModelexperimentsInstance; +export const ModelexperimentsInstance: typeof import("./modelexperimentsInstance").ModelexperimentsInstance = null as any; +utilities.lazyLoad(exports, ["ModelexperimentsInstance"], () => require("./modelexperimentsInstance")); + +export { ModelexperimentsTokenArgs, ModelexperimentsTokenState } from "./modelexperimentsToken"; +export type ModelexperimentsToken = import("./modelexperimentsToken").ModelexperimentsToken; +export const ModelexperimentsToken: typeof import("./modelexperimentsToken").ModelexperimentsToken = null as any; +utilities.lazyLoad(exports, ["ModelexperimentsToken"], () => require("./modelexperimentsToken")); + export { ModelservingTokenArgs, ModelservingTokenState } from "./modelservingToken"; export type ModelservingToken = import("./modelservingToken").ModelservingToken; export const ModelservingToken: typeof import("./modelservingToken").ModelservingToken = null as any; @@ -1003,6 +1068,11 @@ export type SkeKubeconfig = import("./skeKubeconfig").SkeKubeconfig; export const SkeKubeconfig: typeof import("./skeKubeconfig").SkeKubeconfig = null as any; utilities.lazyLoad(exports, ["SkeKubeconfig"], () => require("./skeKubeconfig")); +export { SqlserverflexDatabaseArgs, SqlserverflexDatabaseState } from "./sqlserverflexDatabase"; +export type SqlserverflexDatabase = import("./sqlserverflexDatabase").SqlserverflexDatabase; +export const SqlserverflexDatabase: typeof import("./sqlserverflexDatabase").SqlserverflexDatabase = null as any; +utilities.lazyLoad(exports, ["SqlserverflexDatabase"], () => require("./sqlserverflexDatabase")); + export { SqlserverflexInstanceArgs, SqlserverflexInstanceState } from "./sqlserverflexInstance"; export type SqlserverflexInstance = import("./sqlserverflexInstance").SqlserverflexInstance; export const SqlserverflexInstance: typeof import("./sqlserverflexInstance").SqlserverflexInstance = null as any; @@ -1091,6 +1161,12 @@ const _module = { return new AffinityGroup(name, undefined, { urn }) case "stackit:index/albCertificate:AlbCertificate": return new AlbCertificate(name, undefined, { urn }) + case "stackit:index/albWafConfiguration:AlbWafConfiguration": + return new AlbWafConfiguration(name, undefined, { urn }) + case "stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup": + return new AlbWafCustomRuleGroup(name, undefined, { urn }) + case "stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet": + return new AlbWafManagedRuleSet(name, undefined, { urn }) case "stackit:index/applicationLoadBalancer:ApplicationLoadBalancer": return new ApplicationLoadBalancer(name, undefined, { urn }) case "stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole": @@ -1155,6 +1231,10 @@ const _module = { return new MariadbCredential(name, undefined, { urn }) case "stackit:index/mariadbInstance:MariadbInstance": return new MariadbInstance(name, undefined, { urn }) + case "stackit:index/modelexperimentsInstance:ModelexperimentsInstance": + return new ModelexperimentsInstance(name, undefined, { urn }) + case "stackit:index/modelexperimentsToken:ModelexperimentsToken": + return new ModelexperimentsToken(name, undefined, { urn }) case "stackit:index/modelservingToken:ModelservingToken": return new ModelservingToken(name, undefined, { urn }) case "stackit:index/mongodbflexInstance:MongodbflexInstance": @@ -1271,6 +1351,8 @@ const _module = { return new SkeCluster(name, undefined, { urn }) case "stackit:index/skeKubeconfig:SkeKubeconfig": return new SkeKubeconfig(name, undefined, { urn }) + case "stackit:index/sqlserverflexDatabase:SqlserverflexDatabase": + return new SqlserverflexDatabase(name, undefined, { urn }) case "stackit:index/sqlserverflexInstance:SqlserverflexInstance": return new SqlserverflexInstance(name, undefined, { urn }) case "stackit:index/sqlserverflexUser:SqlserverflexUser": @@ -1306,6 +1388,9 @@ const _module = { }; pulumi.runtime.registerResourceModule("stackit", "index/affinityGroup", _module) pulumi.runtime.registerResourceModule("stackit", "index/albCertificate", _module) +pulumi.runtime.registerResourceModule("stackit", "index/albWafConfiguration", _module) +pulumi.runtime.registerResourceModule("stackit", "index/albWafCustomRuleGroup", _module) +pulumi.runtime.registerResourceModule("stackit", "index/albWafManagedRuleSet", _module) pulumi.runtime.registerResourceModule("stackit", "index/applicationLoadBalancer", _module) pulumi.runtime.registerResourceModule("stackit", "index/authorizationFolderCustomRole", _module) pulumi.runtime.registerResourceModule("stackit", "index/authorizationFolderRoleAssignment", _module) @@ -1338,6 +1423,8 @@ pulumi.runtime.registerResourceModule("stackit", "index/logsAccessToken", _modul pulumi.runtime.registerResourceModule("stackit", "index/logsInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/mariadbCredential", _module) pulumi.runtime.registerResourceModule("stackit", "index/mariadbInstance", _module) +pulumi.runtime.registerResourceModule("stackit", "index/modelexperimentsInstance", _module) +pulumi.runtime.registerResourceModule("stackit", "index/modelexperimentsToken", _module) pulumi.runtime.registerResourceModule("stackit", "index/modelservingToken", _module) pulumi.runtime.registerResourceModule("stackit", "index/mongodbflexInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/mongodbflexUser", _module) @@ -1396,6 +1483,7 @@ pulumi.runtime.registerResourceModule("stackit", "index/sfsResourcePool", _modul pulumi.runtime.registerResourceModule("stackit", "index/sfsShare", _module) pulumi.runtime.registerResourceModule("stackit", "index/skeCluster", _module) pulumi.runtime.registerResourceModule("stackit", "index/skeKubeconfig", _module) +pulumi.runtime.registerResourceModule("stackit", "index/sqlserverflexDatabase", _module) pulumi.runtime.registerResourceModule("stackit", "index/sqlserverflexInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/sqlserverflexUser", _module) pulumi.runtime.registerResourceModule("stackit", "index/telemetrylink", _module) diff --git a/sdk/nodejs/kmsKey.ts b/sdk/nodejs/kmsKey.ts index 58340853..48083aad 100644 --- a/sdk/nodejs/kmsKey.ts +++ b/sdk/nodejs/kmsKey.ts @@ -72,7 +72,7 @@ export class KmsKey extends pulumi.CustomResource { */ declare public readonly projectId: pulumi.Output; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ declare public readonly protection: pulumi.Output; /** @@ -182,7 +182,7 @@ export interface KmsKeyState { */ projectId?: pulumi.Input; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ protection?: pulumi.Input; /** @@ -228,7 +228,7 @@ export interface KmsKeyArgs { */ projectId: pulumi.Input; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ protection: pulumi.Input; /** diff --git a/sdk/nodejs/kmsWrappingKey.ts b/sdk/nodejs/kmsWrappingKey.ts index c914db32..32c5d8ce 100644 --- a/sdk/nodejs/kmsWrappingKey.ts +++ b/sdk/nodejs/kmsWrappingKey.ts @@ -70,7 +70,7 @@ export class KmsWrappingKey extends pulumi.CustomResource { */ declare public readonly projectId: pulumi.Output; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ declare public readonly protection: pulumi.Output; /** @@ -192,7 +192,7 @@ export interface KmsWrappingKeyState { */ projectId?: pulumi.Input; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ protection?: pulumi.Input; /** @@ -242,7 +242,7 @@ export interface KmsWrappingKeyArgs { */ projectId: pulumi.Input; /** - * The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + * The underlying system that is responsible for protecting the key material. */ protection: pulumi.Input; /** diff --git a/sdk/nodejs/logmeCredential.ts b/sdk/nodejs/logmeCredential.ts index 5edd5e7e..14df8e06 100644 --- a/sdk/nodejs/logmeCredential.ts +++ b/sdk/nodejs/logmeCredential.ts @@ -56,6 +56,10 @@ export class LogmeCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; declare public /*out*/ readonly uri: pulumi.Output; declare public /*out*/ readonly username: pulumi.Output; @@ -78,6 +82,7 @@ export class LogmeCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["uri"] = state?.uri; resourceInputs["username"] = state?.username; } else { @@ -90,6 +95,7 @@ export class LogmeCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; resourceInputs["password"] = undefined /*out*/; @@ -123,6 +129,10 @@ export interface LogmeCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; uri?: pulumi.Input; username?: pulumi.Input; } @@ -139,4 +149,8 @@ export interface LogmeCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/logmeInstance.ts b/sdk/nodejs/logmeInstance.ts index e7386d2d..76ffa94b 100644 --- a/sdk/nodejs/logmeInstance.ts +++ b/sdk/nodejs/logmeInstance.ts @@ -72,6 +72,10 @@ export class LogmeInstance extends pulumi.CustomResource { * STACKIT project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The service version. */ @@ -101,6 +105,7 @@ export class LogmeInstance extends pulumi.CustomResource { resourceInputs["planId"] = state?.planId; resourceInputs["planName"] = state?.planName; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["version"] = state?.version; } else { const args = argsOrState as LogmeInstanceArgs | undefined; @@ -117,6 +122,7 @@ export class LogmeInstance extends pulumi.CustomResource { resourceInputs["parameters"] = args?.parameters; resourceInputs["planName"] = args?.planName; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["version"] = args?.version; resourceInputs["cfGuid"] = undefined /*out*/; resourceInputs["cfOrganizationGuid"] = undefined /*out*/; @@ -164,6 +170,10 @@ export interface LogmeInstanceState { * STACKIT project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The service version. */ @@ -190,6 +200,10 @@ export interface LogmeInstanceArgs { * STACKIT project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The service version. */ diff --git a/sdk/nodejs/mariadbCredential.ts b/sdk/nodejs/mariadbCredential.ts index 4707a1c6..b0a75cf8 100644 --- a/sdk/nodejs/mariadbCredential.ts +++ b/sdk/nodejs/mariadbCredential.ts @@ -58,6 +58,10 @@ export class MariadbCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ @@ -86,6 +90,7 @@ export class MariadbCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["uri"] = state?.uri; resourceInputs["username"] = state?.username; @@ -99,6 +104,7 @@ export class MariadbCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; @@ -137,6 +143,10 @@ export interface MariadbCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ @@ -157,6 +167,10 @@ export interface MariadbCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/mariadbInstance.ts b/sdk/nodejs/mariadbInstance.ts index 95ffd777..4d73424d 100644 --- a/sdk/nodejs/mariadbInstance.ts +++ b/sdk/nodejs/mariadbInstance.ts @@ -72,6 +72,10 @@ export class MariadbInstance extends pulumi.CustomResource { * STACKIT project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The service version. */ @@ -101,6 +105,7 @@ export class MariadbInstance extends pulumi.CustomResource { resourceInputs["planId"] = state?.planId; resourceInputs["planName"] = state?.planName; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["version"] = state?.version; } else { const args = argsOrState as MariadbInstanceArgs | undefined; @@ -117,6 +122,7 @@ export class MariadbInstance extends pulumi.CustomResource { resourceInputs["parameters"] = args?.parameters; resourceInputs["planName"] = args?.planName; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["version"] = args?.version; resourceInputs["cfGuid"] = undefined /*out*/; resourceInputs["cfOrganizationGuid"] = undefined /*out*/; @@ -164,6 +170,10 @@ export interface MariadbInstanceState { * STACKIT project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The service version. */ @@ -190,6 +200,10 @@ export interface MariadbInstanceArgs { * STACKIT project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The service version. */ diff --git a/sdk/nodejs/modelexperimentsInstance.ts b/sdk/nodejs/modelexperimentsInstance.ts new file mode 100644 index 00000000..9ac1ee57 --- /dev/null +++ b/sdk/nodejs/modelexperimentsInstance.ts @@ -0,0 +1,193 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a STACKIT AI Model Experiments instance. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class ModelexperimentsInstance extends pulumi.CustomResource { + /** + * Get an existing ModelexperimentsInstance resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ModelexperimentsInstanceState, opts?: pulumi.CustomResourceOptions): ModelexperimentsInstance { + return new ModelexperimentsInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/modelexperimentsInstance:ModelexperimentsInstance'; + + /** + * Returns true if the given object is an instance of ModelexperimentsInstance. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ModelexperimentsInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ModelexperimentsInstance.__pulumiType; + } + + /** + * The object storage bucket name of the AI Model Experiments instance. + */ + declare public /*out*/ readonly bucketName: pulumi.Output; + /** + * The deleted experiment retention time of the AI Model Experiments instance. + */ + declare public readonly deletedExperimentRetention: pulumi.Output; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + declare public readonly description: pulumi.Output; + /** + * The AI Model Experiments instance ID. + */ + declare public /*out*/ readonly instanceId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT Project ID to which the resource is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The Dashboard URL of the AI Model Experiments instance. + */ + declare public /*out*/ readonly url: pulumi.Output; + + /** + * Create a ModelexperimentsInstance resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ModelexperimentsInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ModelexperimentsInstanceArgs | ModelexperimentsInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ModelexperimentsInstanceState | undefined; + resourceInputs["bucketName"] = state?.bucketName; + resourceInputs["deletedExperimentRetention"] = state?.deletedExperimentRetention; + resourceInputs["description"] = state?.description; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["labels"] = state?.labels; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["url"] = state?.url; + } else { + const args = argsOrState as ModelexperimentsInstanceArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["deletedExperimentRetention"] = args?.deletedExperimentRetention; + resourceInputs["description"] = args?.description; + resourceInputs["labels"] = args?.labels; + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["bucketName"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; + resourceInputs["url"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ModelexperimentsInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ModelexperimentsInstance resources. + */ +export interface ModelexperimentsInstanceState { + /** + * The object storage bucket name of the AI Model Experiments instance. + */ + bucketName?: pulumi.Input; + /** + * The deleted experiment retention time of the AI Model Experiments instance. + */ + deletedExperimentRetention?: pulumi.Input; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * The AI Model Experiments instance ID. + */ + instanceId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + name?: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId?: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The Dashboard URL of the AI Model Experiments instance. + */ + url?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ModelexperimentsInstance resource. + */ +export interface ModelexperimentsInstanceArgs { + /** + * The deleted experiment retention time of the AI Model Experiments instance. + */ + deletedExperimentRetention?: pulumi.Input; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + name?: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/modelexperimentsToken.ts b/sdk/nodejs/modelexperimentsToken.ts new file mode 100644 index 00000000..55af2681 --- /dev/null +++ b/sdk/nodejs/modelexperimentsToken.ts @@ -0,0 +1,226 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a STACKIT AI Model Experiments instance tokens. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class ModelexperimentsToken extends pulumi.CustomResource { + /** + * Get an existing ModelexperimentsToken resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ModelexperimentsTokenState, opts?: pulumi.CustomResourceOptions): ModelexperimentsToken { + return new ModelexperimentsToken(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/modelexperimentsToken:ModelexperimentsToken'; + + /** + * Returns true if the given object is an instance of ModelexperimentsToken. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ModelexperimentsToken { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ModelexperimentsToken.__pulumiType; + } + + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + declare public readonly description: pulumi.Output; + /** + * The AI Model Experiments instance ID. + */ + declare public readonly instanceId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT Project ID to which the resource is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The content of the AI Model Experiments instance token. + */ + declare public /*out*/ readonly token: pulumi.Output; + /** + * The AI Model Experiments instance token ID. + */ + declare public /*out*/ readonly tokenId: pulumi.Output; + /** + * The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + */ + declare public readonly ttlDuration: pulumi.Output; + /** + * The time until the AI Model Experiments instance token is valid. + */ + declare public /*out*/ readonly validUntil: pulumi.Output; + + /** + * Create a ModelexperimentsToken resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ModelexperimentsTokenArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ModelexperimentsTokenArgs | ModelexperimentsTokenState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ModelexperimentsTokenState | undefined; + resourceInputs["description"] = state?.description; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["labels"] = state?.labels; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; + resourceInputs["token"] = state?.token; + resourceInputs["tokenId"] = state?.tokenId; + resourceInputs["ttlDuration"] = state?.ttlDuration; + resourceInputs["validUntil"] = state?.validUntil; + } else { + const args = argsOrState as ModelexperimentsTokenArgs | undefined; + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["labels"] = args?.labels; + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; + resourceInputs["ttlDuration"] = args?.ttlDuration; + resourceInputs["token"] = undefined /*out*/; + resourceInputs["tokenId"] = undefined /*out*/; + resourceInputs["validUntil"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["token"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(ModelexperimentsToken.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ModelexperimentsToken resources. + */ +export interface ModelexperimentsTokenState { + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * The AI Model Experiments instance ID. + */ + instanceId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + name?: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId?: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The content of the AI Model Experiments instance token. + */ + token?: pulumi.Input; + /** + * The AI Model Experiments instance token ID. + */ + tokenId?: pulumi.Input; + /** + * The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + */ + ttlDuration?: pulumi.Input; + /** + * The time until the AI Model Experiments instance token is valid. + */ + validUntil?: pulumi.Input; +} + +/** + * The set of arguments for constructing a ModelexperimentsToken resource. + */ +export interface ModelexperimentsTokenArgs { + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * The AI Model Experiments instance ID. + */ + instanceId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that can be attached to the resource + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + name?: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + */ + ttlDuration?: pulumi.Input; +} diff --git a/sdk/nodejs/network.ts b/sdk/nodejs/network.ts index d293f0e9..dfb1b899 100644 --- a/sdk/nodejs/network.ts +++ b/sdk/nodejs/network.ts @@ -68,6 +68,10 @@ export class Network extends pulumi.CustomResource { * The IPv4 prefixes of the network. */ declare public /*out*/ readonly ipv4Prefixes: pulumi.Output; + /** + * The IPv4 VPC network range ID. + */ + declare public readonly ipv4VpcNetworkRangeId: pulumi.Output; /** * The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. */ @@ -88,6 +92,10 @@ export class Network extends pulumi.CustomResource { * The IPv6 prefixes of the network. */ declare public /*out*/ readonly ipv6Prefixes: pulumi.Output; + /** + * The IPv6 VPC network range ID. + */ + declare public readonly ipv6VpcNetworkRangeId: pulumi.Output; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -128,6 +136,10 @@ export class Network extends pulumi.CustomResource { * The ID of the routing table associated with the network. */ declare public readonly routingTableId: pulumi.Output; + /** + * The ID of the VPC the network is associated with. + */ + declare public readonly vpcId: pulumi.Output; /** * Create a Network resource with the given unique name, arguments, and options. @@ -148,11 +160,13 @@ export class Network extends pulumi.CustomResource { resourceInputs["ipv4Prefix"] = state?.ipv4Prefix; resourceInputs["ipv4PrefixLength"] = state?.ipv4PrefixLength; resourceInputs["ipv4Prefixes"] = state?.ipv4Prefixes; + resourceInputs["ipv4VpcNetworkRangeId"] = state?.ipv4VpcNetworkRangeId; resourceInputs["ipv6Gateway"] = state?.ipv6Gateway; resourceInputs["ipv6Nameservers"] = state?.ipv6Nameservers; resourceInputs["ipv6Prefix"] = state?.ipv6Prefix; resourceInputs["ipv6PrefixLength"] = state?.ipv6PrefixLength; resourceInputs["ipv6Prefixes"] = state?.ipv6Prefixes; + resourceInputs["ipv6VpcNetworkRangeId"] = state?.ipv6VpcNetworkRangeId; resourceInputs["labels"] = state?.labels; resourceInputs["name"] = state?.name; resourceInputs["networkId"] = state?.networkId; @@ -163,6 +177,7 @@ export class Network extends pulumi.CustomResource { resourceInputs["region"] = state?.region; resourceInputs["routed"] = state?.routed; resourceInputs["routingTableId"] = state?.routingTableId; + resourceInputs["vpcId"] = state?.vpcId; } else { const args = argsOrState as NetworkArgs | undefined; if (args?.projectId === undefined && !opts.urn) { @@ -173,10 +188,12 @@ export class Network extends pulumi.CustomResource { resourceInputs["ipv4Nameservers"] = args?.ipv4Nameservers; resourceInputs["ipv4Prefix"] = args?.ipv4Prefix; resourceInputs["ipv4PrefixLength"] = args?.ipv4PrefixLength; + resourceInputs["ipv4VpcNetworkRangeId"] = args?.ipv4VpcNetworkRangeId; resourceInputs["ipv6Gateway"] = args?.ipv6Gateway; resourceInputs["ipv6Nameservers"] = args?.ipv6Nameservers; resourceInputs["ipv6Prefix"] = args?.ipv6Prefix; resourceInputs["ipv6PrefixLength"] = args?.ipv6PrefixLength; + resourceInputs["ipv6VpcNetworkRangeId"] = args?.ipv6VpcNetworkRangeId; resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["noIpv4Gateway"] = args?.noIpv4Gateway; @@ -185,6 +202,7 @@ export class Network extends pulumi.CustomResource { resourceInputs["region"] = args?.region; resourceInputs["routed"] = args?.routed; resourceInputs["routingTableId"] = args?.routingTableId; + resourceInputs["vpcId"] = args?.vpcId; resourceInputs["ipv4Prefixes"] = undefined /*out*/; resourceInputs["ipv6Prefixes"] = undefined /*out*/; resourceInputs["networkId"] = undefined /*out*/; @@ -223,6 +241,10 @@ export interface NetworkState { * The IPv4 prefixes of the network. */ ipv4Prefixes?: pulumi.Input[] | undefined>; + /** + * The IPv4 VPC network range ID. + */ + ipv4VpcNetworkRangeId?: pulumi.Input; /** * The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. */ @@ -243,6 +265,10 @@ export interface NetworkState { * The IPv6 prefixes of the network. */ ipv6Prefixes?: pulumi.Input[] | undefined>; + /** + * The IPv6 VPC network range ID. + */ + ipv6VpcNetworkRangeId?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -283,6 +309,10 @@ export interface NetworkState { * The ID of the routing table associated with the network. */ routingTableId?: pulumi.Input; + /** + * The ID of the VPC the network is associated with. + */ + vpcId?: pulumi.Input; } /** @@ -309,6 +339,10 @@ export interface NetworkArgs { * The IPv4 prefix length of the network. */ ipv4PrefixLength?: pulumi.Input; + /** + * The IPv4 VPC network range ID. + */ + ipv4VpcNetworkRangeId?: pulumi.Input; /** * The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. */ @@ -325,6 +359,10 @@ export interface NetworkArgs { * The IPv6 prefix length of the network. */ ipv6PrefixLength?: pulumi.Input; + /** + * The IPv6 VPC network range ID. + */ + ipv6VpcNetworkRangeId?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -357,4 +395,8 @@ export interface NetworkArgs { * The ID of the routing table associated with the network. */ routingTableId?: pulumi.Input; + /** + * The ID of the VPC the network is associated with. + */ + vpcId?: pulumi.Input; } diff --git a/sdk/nodejs/networkArea.ts b/sdk/nodejs/networkArea.ts index 88a03061..892fb81d 100644 --- a/sdk/nodejs/networkArea.ts +++ b/sdk/nodejs/networkArea.ts @@ -2,8 +2,6 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; -import * as inputs from "./types/input"; -import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -64,34 +62,10 @@ export class NetworkArea extends pulumi.CustomResource { return obj['__pulumiType'] === NetworkArea.__pulumiType; } - /** - * List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - declare public readonly defaultNameservers: pulumi.Output; - /** - * The default prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - declare public readonly defaultPrefixLength: pulumi.Output; /** * Labels are key-value string pairs which can be attached to a resource container */ declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; - /** - * The maximal prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - declare public readonly maxPrefixLength: pulumi.Output; - /** - * The minimal prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - declare public readonly minPrefixLength: pulumi.Output; /** * The name of the network area. */ @@ -100,12 +74,6 @@ export class NetworkArea extends pulumi.CustomResource { * The network area ID. */ declare public /*out*/ readonly networkAreaId: pulumi.Output; - /** - * List of Network ranges for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - declare public readonly networkRanges: pulumi.Output; /** * STACKIT organization ID to which the network area is associated. */ @@ -114,12 +82,6 @@ export class NetworkArea extends pulumi.CustomResource { * The amount of projects currently referencing this area. */ declare public /*out*/ readonly projectCount: pulumi.Output; - /** - * Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - declare public readonly transferNetwork: pulumi.Output; /** * Create a NetworkArea resource with the given unique name, arguments, and options. @@ -134,31 +96,19 @@ export class NetworkArea extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as NetworkAreaState | undefined; - resourceInputs["defaultNameservers"] = state?.defaultNameservers; - resourceInputs["defaultPrefixLength"] = state?.defaultPrefixLength; resourceInputs["labels"] = state?.labels; - resourceInputs["maxPrefixLength"] = state?.maxPrefixLength; - resourceInputs["minPrefixLength"] = state?.minPrefixLength; resourceInputs["name"] = state?.name; resourceInputs["networkAreaId"] = state?.networkAreaId; - resourceInputs["networkRanges"] = state?.networkRanges; resourceInputs["organizationId"] = state?.organizationId; resourceInputs["projectCount"] = state?.projectCount; - resourceInputs["transferNetwork"] = state?.transferNetwork; } else { const args = argsOrState as NetworkAreaArgs | undefined; if (args?.organizationId === undefined && !opts.urn) { throw new Error("Missing required property 'organizationId'"); } - resourceInputs["defaultNameservers"] = args?.defaultNameservers; - resourceInputs["defaultPrefixLength"] = args?.defaultPrefixLength; resourceInputs["labels"] = args?.labels; - resourceInputs["maxPrefixLength"] = args?.maxPrefixLength; - resourceInputs["minPrefixLength"] = args?.minPrefixLength; resourceInputs["name"] = args?.name; - resourceInputs["networkRanges"] = args?.networkRanges; resourceInputs["organizationId"] = args?.organizationId; - resourceInputs["transferNetwork"] = args?.transferNetwork; resourceInputs["networkAreaId"] = undefined /*out*/; resourceInputs["projectCount"] = undefined /*out*/; } @@ -171,34 +121,10 @@ export class NetworkArea extends pulumi.CustomResource { * Input properties used for looking up and filtering NetworkArea resources. */ export interface NetworkAreaState { - /** - * List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - defaultNameservers?: pulumi.Input[] | undefined>; - /** - * The default prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - defaultPrefixLength?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; - /** - * The maximal prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - maxPrefixLength?: pulumi.Input; - /** - * The minimal prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - minPrefixLength?: pulumi.Input; /** * The name of the network area. */ @@ -207,12 +133,6 @@ export interface NetworkAreaState { * The network area ID. */ networkAreaId?: pulumi.Input; - /** - * List of Network ranges for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - networkRanges?: pulumi.Input[] | undefined>; /** * STACKIT organization ID to which the network area is associated. */ @@ -221,64 +141,22 @@ export interface NetworkAreaState { * The amount of projects currently referencing this area. */ projectCount?: pulumi.Input; - /** - * Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - transferNetwork?: pulumi.Input; } /** * The set of arguments for constructing a NetworkArea resource. */ export interface NetworkAreaArgs { - /** - * List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - defaultNameservers?: pulumi.Input[] | undefined>; - /** - * The default prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - defaultPrefixLength?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; - /** - * The maximal prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - maxPrefixLength?: pulumi.Input; - /** - * The minimal prefix length for networks in the network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - minPrefixLength?: pulumi.Input; /** * The name of the network area. */ name?: pulumi.Input; - /** - * List of Network ranges for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - networkRanges?: pulumi.Input[] | undefined>; /** * STACKIT organization ID to which the network area is associated. */ organizationId: pulumi.Input; - /** - * Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - transferNetwork?: pulumi.Input; } diff --git a/sdk/nodejs/opensearchCredential.ts b/sdk/nodejs/opensearchCredential.ts index 07d8e2df..20425334 100644 --- a/sdk/nodejs/opensearchCredential.ts +++ b/sdk/nodejs/opensearchCredential.ts @@ -57,6 +57,10 @@ export class OpensearchCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ @@ -85,6 +89,7 @@ export class OpensearchCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["scheme"] = state?.scheme; resourceInputs["uri"] = state?.uri; @@ -99,6 +104,7 @@ export class OpensearchCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; @@ -136,6 +142,10 @@ export interface OpensearchCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ @@ -157,6 +167,10 @@ export interface OpensearchCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ diff --git a/sdk/nodejs/opensearchInstance.ts b/sdk/nodejs/opensearchInstance.ts index 6380c623..ff613e52 100644 --- a/sdk/nodejs/opensearchInstance.ts +++ b/sdk/nodejs/opensearchInstance.ts @@ -72,6 +72,10 @@ export class OpensearchInstance extends pulumi.CustomResource { * STACKIT project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The service version. */ @@ -101,6 +105,7 @@ export class OpensearchInstance extends pulumi.CustomResource { resourceInputs["planId"] = state?.planId; resourceInputs["planName"] = state?.planName; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["version"] = state?.version; } else { const args = argsOrState as OpensearchInstanceArgs | undefined; @@ -117,6 +122,7 @@ export class OpensearchInstance extends pulumi.CustomResource { resourceInputs["parameters"] = args?.parameters; resourceInputs["planName"] = args?.planName; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["version"] = args?.version; resourceInputs["cfGuid"] = undefined /*out*/; resourceInputs["cfOrganizationGuid"] = undefined /*out*/; @@ -164,6 +170,10 @@ export interface OpensearchInstanceState { * STACKIT project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The service version. */ @@ -190,6 +200,10 @@ export interface OpensearchInstanceArgs { * STACKIT project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The service version. */ diff --git a/sdk/nodejs/postgresflexInstance.ts b/sdk/nodejs/postgresflexInstance.ts index 04fb40e5..2ab7c50c 100644 --- a/sdk/nodejs/postgresflexInstance.ts +++ b/sdk/nodejs/postgresflexInstance.ts @@ -45,13 +45,27 @@ export class PostgresflexInstance extends pulumi.CustomResource { /** * The Access Control List (ACL) for the PostgresFlex instance. + * + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ declare public readonly acls: pulumi.Output; /** * The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. */ declare public readonly backupSchedule: pulumi.Output; + /** + * The connection info for the PostgresFlex instance. + */ + declare public /*out*/ readonly connectionInfo: pulumi.Output; + declare public readonly encryption: pulumi.Output; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. + */ declare public readonly flavor: pulumi.Output; + /** + * The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `stackit.getPostgresflexFlavors` + */ + declare public readonly flavorId: pulumi.Output; /** * ID of the PostgresFlex instance. */ @@ -60,6 +74,10 @@ export class PostgresflexInstance extends pulumi.CustomResource { * Instance name. */ declare public readonly name: pulumi.Output; + /** + * The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + */ + declare public readonly network: pulumi.Output; /** * STACKIT project ID to which the instance is associated. */ @@ -69,9 +87,15 @@ export class PostgresflexInstance extends pulumi.CustomResource { */ declare public readonly region: pulumi.Output; /** - * How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + * How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + * + * @deprecated replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. */ declare public readonly replicas: pulumi.Output; + /** + * How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + */ + declare public readonly retentionDays: pulumi.Output; declare public readonly storage: pulumi.Output; declare public readonly version: pulumi.Output; @@ -90,31 +114,27 @@ export class PostgresflexInstance extends pulumi.CustomResource { const state = argsOrState as PostgresflexInstanceState | undefined; resourceInputs["acls"] = state?.acls; resourceInputs["backupSchedule"] = state?.backupSchedule; + resourceInputs["connectionInfo"] = state?.connectionInfo; + resourceInputs["encryption"] = state?.encryption; resourceInputs["flavor"] = state?.flavor; + resourceInputs["flavorId"] = state?.flavorId; resourceInputs["instanceId"] = state?.instanceId; resourceInputs["name"] = state?.name; + resourceInputs["network"] = state?.network; resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; resourceInputs["replicas"] = state?.replicas; + resourceInputs["retentionDays"] = state?.retentionDays; resourceInputs["storage"] = state?.storage; resourceInputs["version"] = state?.version; } else { const args = argsOrState as PostgresflexInstanceArgs | undefined; - if (args?.acls === undefined && !opts.urn) { - throw new Error("Missing required property 'acls'"); - } if (args?.backupSchedule === undefined && !opts.urn) { throw new Error("Missing required property 'backupSchedule'"); } - if (args?.flavor === undefined && !opts.urn) { - throw new Error("Missing required property 'flavor'"); - } if (args?.projectId === undefined && !opts.urn) { throw new Error("Missing required property 'projectId'"); } - if (args?.replicas === undefined && !opts.urn) { - throw new Error("Missing required property 'replicas'"); - } if (args?.storage === undefined && !opts.urn) { throw new Error("Missing required property 'storage'"); } @@ -123,13 +143,18 @@ export class PostgresflexInstance extends pulumi.CustomResource { } resourceInputs["acls"] = args?.acls; resourceInputs["backupSchedule"] = args?.backupSchedule; + resourceInputs["encryption"] = args?.encryption; resourceInputs["flavor"] = args?.flavor; + resourceInputs["flavorId"] = args?.flavorId; resourceInputs["name"] = args?.name; + resourceInputs["network"] = args?.network; resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; resourceInputs["replicas"] = args?.replicas; + resourceInputs["retentionDays"] = args?.retentionDays; resourceInputs["storage"] = args?.storage; resourceInputs["version"] = args?.version; + resourceInputs["connectionInfo"] = undefined /*out*/; resourceInputs["instanceId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -143,13 +168,27 @@ export class PostgresflexInstance extends pulumi.CustomResource { export interface PostgresflexInstanceState { /** * The Access Control List (ACL) for the PostgresFlex instance. + * + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ acls?: pulumi.Input[] | undefined>; /** * The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. */ backupSchedule?: pulumi.Input; + /** + * The connection info for the PostgresFlex instance. + */ + connectionInfo?: pulumi.Input; + encryption?: pulumi.Input; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. + */ flavor?: pulumi.Input; + /** + * The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `stackit.getPostgresflexFlavors` + */ + flavorId?: pulumi.Input; /** * ID of the PostgresFlex instance. */ @@ -158,6 +197,10 @@ export interface PostgresflexInstanceState { * Instance name. */ name?: pulumi.Input; + /** + * The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + */ + network?: pulumi.Input; /** * STACKIT project ID to which the instance is associated. */ @@ -167,9 +210,15 @@ export interface PostgresflexInstanceState { */ region?: pulumi.Input; /** - * How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + * How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + * + * @deprecated replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. */ replicas?: pulumi.Input; + /** + * How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + */ + retentionDays?: pulumi.Input; storage?: pulumi.Input; version?: pulumi.Input; } @@ -180,17 +229,31 @@ export interface PostgresflexInstanceState { export interface PostgresflexInstanceArgs { /** * The Access Control List (ACL) for the PostgresFlex instance. + * + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ - acls: pulumi.Input[]>; + acls?: pulumi.Input[] | undefined>; /** * The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. */ backupSchedule: pulumi.Input; - flavor: pulumi.Input; + encryption?: pulumi.Input; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. + */ + flavor?: pulumi.Input; + /** + * The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `stackit.getPostgresflexFlavors` + */ + flavorId?: pulumi.Input; /** * Instance name. */ name?: pulumi.Input; + /** + * The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + */ + network?: pulumi.Input; /** * STACKIT project ID to which the instance is associated. */ @@ -200,9 +263,15 @@ export interface PostgresflexInstanceArgs { */ region?: pulumi.Input; /** - * How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + * How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + * + * @deprecated replicas is deprecated and will be removed after February 2027. Use instead `flavorId` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `stackit.getPostgresflexFlavors`. + */ + replicas?: pulumi.Input; + /** + * How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. */ - replicas: pulumi.Input; + retentionDays?: pulumi.Input; storage: pulumi.Input; version: pulumi.Input; } diff --git a/sdk/nodejs/postgresflexUser.ts b/sdk/nodejs/postgresflexUser.ts index 5de6c1ed..ce8fe203 100644 --- a/sdk/nodejs/postgresflexUser.ts +++ b/sdk/nodejs/postgresflexUser.ts @@ -41,12 +41,18 @@ export class PostgresflexUser extends pulumi.CustomResource { return obj['__pulumiType'] === PostgresflexUser.__pulumiType; } + /** + * @deprecated host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`. + */ declare public /*out*/ readonly host: pulumi.Output; /** * ID of the PostgresFlex instance. */ declare public readonly instanceId: pulumi.Output; declare public /*out*/ readonly password: pulumi.Output; + /** + * @deprecated port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`. + */ declare public /*out*/ readonly port: pulumi.Output; /** * STACKIT project ID to which the instance is associated. @@ -64,6 +70,9 @@ export class PostgresflexUser extends pulumi.CustomResource { * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated uri is deprecated and will be removed after February 2027. + */ declare public /*out*/ readonly uri: pulumi.Output; /** * User ID. @@ -132,12 +141,18 @@ export class PostgresflexUser extends pulumi.CustomResource { * Input properties used for looking up and filtering PostgresflexUser resources. */ export interface PostgresflexUserState { + /** + * @deprecated host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`. + */ host?: pulumi.Input; /** * ID of the PostgresFlex instance. */ instanceId?: pulumi.Input; password?: pulumi.Input; + /** + * @deprecated port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`. + */ port?: pulumi.Input; /** * STACKIT project ID to which the instance is associated. @@ -155,6 +170,9 @@ export interface PostgresflexUserState { * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. */ rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * @deprecated uri is deprecated and will be removed after February 2027. + */ uri?: pulumi.Input; /** * User ID. diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 40856004..8e888e21 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -33,6 +33,10 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the Application Load Balancer service */ declare public readonly albCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Application Load Balancer Web Application Firewall service + */ + declare public readonly albWafCustomEndpoint: pulumi.Output; /** * Custom endpoint for the Membership service */ @@ -93,6 +97,10 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the MariaDB service */ declare public readonly mariadbCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the AI Model Experiments service + */ + declare public readonly modelexperimentsCustomEndpoint: pulumi.Output; /** * Custom endpoint for the AI Model Serving service */ @@ -141,12 +149,6 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the Redis service */ declare public readonly redisCustomEndpoint: pulumi.Output; - /** - * Region will be used as the default location for regional services. Not all services require a region, some are global - * - * @deprecated This attribute is deprecated. Use 'default_region' instead - */ - declare public readonly region: pulumi.Output; /** * Custom endpoint for the Resource Manager service */ @@ -243,6 +245,7 @@ export class Provider extends pulumi.ProviderResource { { resourceInputs["albCertificatesCustomEndpoint"] = args?.albCertificatesCustomEndpoint; resourceInputs["albCustomEndpoint"] = args?.albCustomEndpoint; + resourceInputs["albWafCustomEndpoint"] = args?.albWafCustomEndpoint; resourceInputs["authorizationCustomEndpoint"] = args?.authorizationCustomEndpoint; resourceInputs["cdnCustomEndpoint"] = args?.cdnCustomEndpoint; resourceInputs["credentialsPath"] = args?.credentialsPath; @@ -260,6 +263,7 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["logmeCustomEndpoint"] = args?.logmeCustomEndpoint; resourceInputs["logsCustomEndpoint"] = args?.logsCustomEndpoint; resourceInputs["mariadbCustomEndpoint"] = args?.mariadbCustomEndpoint; + resourceInputs["modelexperimentsCustomEndpoint"] = args?.modelexperimentsCustomEndpoint; resourceInputs["modelservingCustomEndpoint"] = args?.modelservingCustomEndpoint; resourceInputs["mongodbflexCustomEndpoint"] = args?.mongodbflexCustomEndpoint; resourceInputs["objectstorageCustomEndpoint"] = args?.objectstorageCustomEndpoint; @@ -272,7 +276,6 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["privateKeyPath"] = args?.privateKeyPath; resourceInputs["rabbitmqCustomEndpoint"] = args?.rabbitmqCustomEndpoint; resourceInputs["redisCustomEndpoint"] = args?.redisCustomEndpoint; - resourceInputs["region"] = args?.region; resourceInputs["resourcemanagerCustomEndpoint"] = args?.resourcemanagerCustomEndpoint; resourceInputs["scfCustomEndpoint"] = args?.scfCustomEndpoint; resourceInputs["secretsmanagerCustomEndpoint"] = args?.secretsmanagerCustomEndpoint; @@ -321,6 +324,10 @@ export interface ProviderArgs { * Custom endpoint for the Application Load Balancer service */ albCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Application Load Balancer Web Application Firewall service + */ + albWafCustomEndpoint?: pulumi.Input; /** * Custom endpoint for the Membership service */ @@ -389,6 +396,10 @@ export interface ProviderArgs { * Custom endpoint for the MariaDB service */ mariadbCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the AI Model Experiments service + */ + modelexperimentsCustomEndpoint?: pulumi.Input; /** * Custom endpoint for the AI Model Serving service */ @@ -437,12 +448,6 @@ export interface ProviderArgs { * Custom endpoint for the Redis service */ redisCustomEndpoint?: pulumi.Input; - /** - * Region will be used as the default location for regional services. Not all services require a region, some are global - * - * @deprecated This attribute is deprecated. Use 'default_region' instead - */ - region?: pulumi.Input; /** * Custom endpoint for the Resource Manager service */ diff --git a/sdk/nodejs/skeCluster.ts b/sdk/nodejs/skeCluster.ts index 086425d4..9c228268 100644 --- a/sdk/nodejs/skeCluster.ts +++ b/sdk/nodejs/skeCluster.ts @@ -49,6 +49,10 @@ export class SkeCluster extends pulumi.CustomResource { * Configure access to the cluster */ declare public readonly access: pulumi.Output; + /** + * Cluster audit log forwarding configuration. + */ + declare public readonly audit: pulumi.Output; /** * The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. */ @@ -56,7 +60,7 @@ export class SkeCluster extends pulumi.CustomResource { /** * A single extensions block as defined below. */ - declare public readonly extensions: pulumi.Output; + declare public readonly extensions: pulumi.Output; /** * One or more hibernation block as defined below. */ @@ -117,6 +121,7 @@ export class SkeCluster extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as SkeClusterState | undefined; resourceInputs["access"] = state?.access; + resourceInputs["audit"] = state?.audit; resourceInputs["egressAddressRanges"] = state?.egressAddressRanges; resourceInputs["extensions"] = state?.extensions; resourceInputs["hibernations"] = state?.hibernations; @@ -139,6 +144,7 @@ export class SkeCluster extends pulumi.CustomResource { throw new Error("Missing required property 'projectId'"); } resourceInputs["access"] = args?.access; + resourceInputs["audit"] = args?.audit; resourceInputs["extensions"] = args?.extensions; resourceInputs["hibernations"] = args?.hibernations; resourceInputs["kubernetesVersionMin"] = args?.kubernetesVersionMin; @@ -166,6 +172,10 @@ export interface SkeClusterState { * Configure access to the cluster */ access?: pulumi.Input; + /** + * Cluster audit log forwarding configuration. + */ + audit?: pulumi.Input; /** * The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. */ @@ -229,6 +239,10 @@ export interface SkeClusterArgs { * Configure access to the cluster */ access?: pulumi.Input; + /** + * Cluster audit log forwarding configuration. + */ + audit?: pulumi.Input; /** * A single extensions block as defined below. */ diff --git a/sdk/nodejs/sqlserverflexDatabase.ts b/sdk/nodejs/sqlserverflexDatabase.ts new file mode 100644 index 00000000..13b8370d --- /dev/null +++ b/sdk/nodejs/sqlserverflexDatabase.ts @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * SQLServer Flex database resource schema. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class SqlserverflexDatabase extends pulumi.CustomResource { + /** + * Get an existing SqlserverflexDatabase resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: SqlserverflexDatabaseState, opts?: pulumi.CustomResourceOptions): SqlserverflexDatabase { + return new SqlserverflexDatabase(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/sqlserverflexDatabase:SqlserverflexDatabase'; + + /** + * Returns true if the given object is an instance of SqlserverflexDatabase. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is SqlserverflexDatabase { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SqlserverflexDatabase.__pulumiType; + } + + /** + * The collation of the database. + */ + declare public readonly collation: pulumi.Output; + /** + * Compatibility level of the database. + */ + declare public readonly compatibility: pulumi.Output; + /** + * The id of the database. + */ + declare public /*out*/ readonly databaseId: pulumi.Output; + /** + * ID of the SQLServer Flex instance. + */ + declare public readonly instanceId: pulumi.Output; + /** + * Name of the database. + */ + declare public readonly name: pulumi.Output; + /** + * The owner of the database. + */ + declare public readonly owner: pulumi.Output; + /** + * STACKIT project ID. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + + /** + * Create a SqlserverflexDatabase resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: SqlserverflexDatabaseArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SqlserverflexDatabaseArgs | SqlserverflexDatabaseState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SqlserverflexDatabaseState | undefined; + resourceInputs["collation"] = state?.collation; + resourceInputs["compatibility"] = state?.compatibility; + resourceInputs["databaseId"] = state?.databaseId; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["name"] = state?.name; + resourceInputs["owner"] = state?.owner; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["timeouts"] = state?.timeouts; + } else { + const args = argsOrState as SqlserverflexDatabaseArgs | undefined; + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.owner === undefined && !opts.urn) { + throw new Error("Missing required property 'owner'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["collation"] = args?.collation; + resourceInputs["compatibility"] = args?.compatibility; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["name"] = args?.name; + resourceInputs["owner"] = args?.owner; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["databaseId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SqlserverflexDatabase.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SqlserverflexDatabase resources. + */ +export interface SqlserverflexDatabaseState { + /** + * The collation of the database. + */ + collation?: pulumi.Input; + /** + * Compatibility level of the database. + */ + compatibility?: pulumi.Input; + /** + * The id of the database. + */ + databaseId?: pulumi.Input; + /** + * ID of the SQLServer Flex instance. + */ + instanceId?: pulumi.Input; + /** + * Name of the database. + */ + name?: pulumi.Input; + /** + * The owner of the database. + */ + owner?: pulumi.Input; + /** + * STACKIT project ID. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SqlserverflexDatabase resource. + */ +export interface SqlserverflexDatabaseArgs { + /** + * The collation of the database. + */ + collation?: pulumi.Input; + /** + * Compatibility level of the database. + */ + compatibility?: pulumi.Input; + /** + * ID of the SQLServer Flex instance. + */ + instanceId: pulumi.Input; + /** + * Name of the database. + */ + name?: pulumi.Input; + /** + * The owner of the database. + */ + owner: pulumi.Input; + /** + * STACKIT project ID. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/sqlserverflexInstance.ts b/sdk/nodejs/sqlserverflexInstance.ts index 63774f37..07e14f2a 100644 --- a/sdk/nodejs/sqlserverflexInstance.ts +++ b/sdk/nodejs/sqlserverflexInstance.ts @@ -10,6 +10,10 @@ import * as utilities from "./utilities"; * SQLServer Flex instance resource schema. Must have a `region` specified in the provider configuration. * * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: */ export class SqlserverflexInstance extends pulumi.CustomResource { /** @@ -42,7 +46,7 @@ export class SqlserverflexInstance extends pulumi.CustomResource { /** * The Access Control List (ACL) for the SQLServer Flex instance. * - * @deprecated acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ declare public readonly acls: pulumi.Output; /** @@ -53,9 +57,16 @@ export class SqlserverflexInstance extends pulumi.CustomResource { * Edition of the MSSQL server instance. */ declare public /*out*/ readonly edition: pulumi.Output; + /** + * Parameter to define which key to use for storage encryption. + */ + declare public readonly encryption: pulumi.Output; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. + */ declare public readonly flavor: pulumi.Output; /** - * The flavor ID of the SQLServer Flex instance. + * The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. */ declare public readonly flavorId: pulumi.Output; /** @@ -71,7 +82,7 @@ export class SqlserverflexInstance extends pulumi.CustomResource { */ declare public readonly network: pulumi.Output; /** - * @deprecated option is deprecated and will be removed after January 2027. + * @deprecated option is deprecated and will be removed after February 2027. */ declare public readonly options: pulumi.Output; /** @@ -112,6 +123,7 @@ export class SqlserverflexInstance extends pulumi.CustomResource { resourceInputs["acls"] = state?.acls; resourceInputs["backupSchedule"] = state?.backupSchedule; resourceInputs["edition"] = state?.edition; + resourceInputs["encryption"] = state?.encryption; resourceInputs["flavor"] = state?.flavor; resourceInputs["flavorId"] = state?.flavorId; resourceInputs["instanceId"] = state?.instanceId; @@ -131,6 +143,7 @@ export class SqlserverflexInstance extends pulumi.CustomResource { } resourceInputs["acls"] = args?.acls; resourceInputs["backupSchedule"] = args?.backupSchedule; + resourceInputs["encryption"] = args?.encryption; resourceInputs["flavor"] = args?.flavor; resourceInputs["flavorId"] = args?.flavorId; resourceInputs["name"] = args?.name; @@ -157,7 +170,7 @@ export interface SqlserverflexInstanceState { /** * The Access Control List (ACL) for the SQLServer Flex instance. * - * @deprecated acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ acls?: pulumi.Input[] | undefined>; /** @@ -168,9 +181,16 @@ export interface SqlserverflexInstanceState { * Edition of the MSSQL server instance. */ edition?: pulumi.Input; + /** + * Parameter to define which key to use for storage encryption. + */ + encryption?: pulumi.Input; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. + */ flavor?: pulumi.Input; /** - * The flavor ID of the SQLServer Flex instance. + * The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. */ flavorId?: pulumi.Input; /** @@ -186,7 +206,7 @@ export interface SqlserverflexInstanceState { */ network?: pulumi.Input; /** - * @deprecated option is deprecated and will be removed after January 2027. + * @deprecated option is deprecated and will be removed after February 2027. */ options?: pulumi.Input; /** @@ -219,16 +239,23 @@ export interface SqlserverflexInstanceArgs { /** * The Access Control List (ACL) for the SQLServer Flex instance. * - * @deprecated acl is deprecated and will be removed after January 2027. Use instead `network.acl`. + * @deprecated acl is deprecated and will be removed after February 2027. Use instead `network.acl`. */ acls?: pulumi.Input[] | undefined>; /** * The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. */ backupSchedule?: pulumi.Input; + /** + * Parameter to define which key to use for storage encryption. + */ + encryption?: pulumi.Input; + /** + * @deprecated flavor is deprecated and will be removed after February 2027. Use instead `flavorId`. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. + */ flavor?: pulumi.Input; /** - * The flavor ID of the SQLServer Flex instance. + * The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `stackit.getSqlserverflexFlavors`. */ flavorId?: pulumi.Input; /** @@ -240,7 +267,7 @@ export interface SqlserverflexInstanceArgs { */ network?: pulumi.Input; /** - * @deprecated option is deprecated and will be removed after January 2027. + * @deprecated option is deprecated and will be removed after February 2027. */ options?: pulumi.Input; /** diff --git a/sdk/nodejs/telemetrylink.ts b/sdk/nodejs/telemetrylink.ts index 324ea09b..943cfbca 100644 --- a/sdk/nodejs/telemetrylink.ts +++ b/sdk/nodejs/telemetrylink.ts @@ -42,9 +42,18 @@ export class Telemetrylink extends pulumi.CustomResource { } /** - * The access token of the Telemetry Router instance. + * The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. */ declare public readonly accessToken: pulumi.Output; + /** + * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + * The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + */ + declare public readonly accessTokenWo: pulumi.Output; + /** + * User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + */ + declare public readonly accessTokenWoVersion: pulumi.Output; /** * The time the Telemetry Link was created. */ @@ -71,6 +80,8 @@ export class Telemetrylink extends pulumi.CustomResource { declare public readonly resourceType: pulumi.Output; /** * The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ declare public /*out*/ readonly status: pulumi.Output; /** @@ -92,6 +103,8 @@ export class Telemetrylink extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as TelemetrylinkState | undefined; resourceInputs["accessToken"] = state?.accessToken; + resourceInputs["accessTokenWo"] = state?.accessTokenWo; + resourceInputs["accessTokenWoVersion"] = state?.accessTokenWoVersion; resourceInputs["createTime"] = state?.createTime; resourceInputs["description"] = state?.description; resourceInputs["displayName"] = state?.displayName; @@ -115,6 +128,8 @@ export class Telemetrylink extends pulumi.CustomResource { throw new Error("Missing required property 'telemetryRouterId'"); } resourceInputs["accessToken"] = args?.accessToken ? pulumi.secret(args.accessToken) : undefined; + resourceInputs["accessTokenWo"] = args?.accessTokenWo ? pulumi.secret(args.accessTokenWo) : undefined; + resourceInputs["accessTokenWoVersion"] = args?.accessTokenWoVersion; resourceInputs["description"] = args?.description; resourceInputs["displayName"] = args?.displayName; resourceInputs["region"] = args?.region; @@ -125,7 +140,7 @@ export class Telemetrylink extends pulumi.CustomResource { resourceInputs["status"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const secretOpts = { additionalSecretOutputs: ["accessToken"] }; + const secretOpts = { additionalSecretOutputs: ["accessToken", "accessTokenWo"] }; opts = pulumi.mergeOptions(opts, secretOpts); super(Telemetrylink.__pulumiType, name, resourceInputs, opts); } @@ -136,9 +151,18 @@ export class Telemetrylink extends pulumi.CustomResource { */ export interface TelemetrylinkState { /** - * The access token of the Telemetry Router instance. + * The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. */ accessToken?: pulumi.Input; + /** + * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + * The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + */ + accessTokenWo?: pulumi.Input; + /** + * User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + */ + accessTokenWoVersion?: pulumi.Input; /** * The time the Telemetry Link was created. */ @@ -165,6 +189,8 @@ export interface TelemetrylinkState { resourceType?: pulumi.Input; /** * The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ status?: pulumi.Input; /** @@ -178,9 +204,18 @@ export interface TelemetrylinkState { */ export interface TelemetrylinkArgs { /** - * The access token of the Telemetry Router instance. + * The access token of the Telemetry Router instance. Write-only argument `accessTokenWo` should be preferred. */ accessToken?: pulumi.Input; + /** + * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + * The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `accessTokenWoVersion`. Changing this field alone will NOT trigger an update. + */ + accessTokenWo?: pulumi.Input; + /** + * User-managed rotation counter for `accessTokenWo`. Must be incremented every time `accessTokenWo` is changed. Terraform diffs this field to detect token rotations - changing `accessTokenWo` alone will NOT trigger an update because it is write-only and never stored in state. + */ + accessTokenWoVersion?: pulumi.Input; /** * The description of the Telemetry Link resource. */ diff --git a/sdk/nodejs/telemetryrouterAccessToken.ts b/sdk/nodejs/telemetryrouterAccessToken.ts index 5114e672..0aa7627f 100644 --- a/sdk/nodejs/telemetryrouterAccessToken.ts +++ b/sdk/nodejs/telemetryrouterAccessToken.ts @@ -79,6 +79,8 @@ export class TelemetryrouterAccessToken extends pulumi.CustomResource { declare public readonly region: pulumi.Output; /** * The status of the access token. Possible values are: `active`, `expired`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ declare public /*out*/ readonly status: pulumi.Output; /** @@ -182,6 +184,8 @@ export interface TelemetryrouterAccessTokenState { region?: pulumi.Input; /** * The status of the access token. Possible values are: `active`, `expired`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ status?: pulumi.Input; /** diff --git a/sdk/nodejs/telemetryrouterDestination.ts b/sdk/nodejs/telemetryrouterDestination.ts index 0c2255f1..3979b268 100644 --- a/sdk/nodejs/telemetryrouterDestination.ts +++ b/sdk/nodejs/telemetryrouterDestination.ts @@ -81,6 +81,8 @@ export class TelemetryrouterDestination extends pulumi.CustomResource { declare public readonly region: pulumi.Output; /** * The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ declare public /*out*/ readonly status: pulumi.Output; @@ -179,6 +181,8 @@ export interface TelemetryrouterDestinationState { region?: pulumi.Input; /** * The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ status?: pulumi.Input; } diff --git a/sdk/nodejs/telemetryrouterInstance.ts b/sdk/nodejs/telemetryrouterInstance.ts index cd19e50b..3cc3a3e0 100644 --- a/sdk/nodejs/telemetryrouterInstance.ts +++ b/sdk/nodejs/telemetryrouterInstance.ts @@ -73,6 +73,8 @@ export class TelemetryrouterInstance extends pulumi.CustomResource { declare public readonly region: pulumi.Output; /** * The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ declare public /*out*/ readonly status: pulumi.Output; /** @@ -159,6 +161,8 @@ export interface TelemetryrouterInstanceState { region?: pulumi.Input; /** * The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + * + * @deprecated status is deprecated and will be removed after February 2027. */ status?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index a94586a8..d0dcf638 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -21,6 +21,9 @@ "files": [ "affinityGroup.ts", "albCertificate.ts", + "albWafConfiguration.ts", + "albWafCustomRuleGroup.ts", + "albWafManagedRuleSet.ts", "applicationLoadBalancer.ts", "authorizationFolderCustomRole.ts", "authorizationFolderRoleAssignment.ts", @@ -42,6 +45,9 @@ "edgecloudToken.ts", "getAffinityGroup.ts", "getAlbCertificate.ts", + "getAlbWafConfiguration.ts", + "getAlbWafCustomRuleGroup.ts", + "getAlbWafManagedRuleSet.ts", "getApplicationLoadBalancer.ts", "getAuthorizationFolderCustomRole.ts", "getAuthorizationOrganizationCustomRole.ts", @@ -71,6 +77,8 @@ "getMachineType.ts", "getMariadbCredential.ts", "getMariadbInstance.ts", + "getModelexperimentsInstance.ts", + "getModelexperimentsToken.ts", "getMongodbflexInstance.ts", "getMongodbflexUser.ts", "getNetwork.ts", @@ -90,6 +98,7 @@ "getOpensearchCredential.ts", "getOpensearchInstance.ts", "getPostgresflexDatabase.ts", + "getPostgresflexFlavors.ts", "getPostgresflexInstance.ts", "getPostgresflexUser.ts", "getPublicIp.ts", @@ -132,6 +141,8 @@ "getSkeCluster.ts", "getSkeKubernetesVersions.ts", "getSkeMachineImageVersions.ts", + "getSqlserverflexDatabase.ts", + "getSqlserverflexFlavors.ts", "getSqlserverflexInstance.ts", "getSqlserverflexUser.ts", "getTelemetrylink.ts", @@ -163,6 +174,8 @@ "logsInstance.ts", "mariadbCredential.ts", "mariadbInstance.ts", + "modelexperimentsInstance.ts", + "modelexperimentsToken.ts", "modelservingToken.ts", "mongodbflexInstance.ts", "mongodbflexUser.ts", @@ -222,6 +235,7 @@ "sfsShare.ts", "skeCluster.ts", "skeKubeconfig.ts", + "sqlserverflexDatabase.ts", "sqlserverflexInstance.ts", "sqlserverflexUser.ts", "telemetrylink.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 8a7d42f6..08581d0b 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5,6 +5,105 @@ import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; +export interface AlbWafCustomRuleGroupRule { + behavior: pulumi.Input; + conditions: pulumi.Input[]>; + /** + * A clear description explaining the threat vector or criteria addressed by this rule. + */ + description?: pulumi.Input; + /** + * Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + */ + id?: pulumi.Input; +} + +export interface AlbWafCustomRuleGroupRuleBehavior { + /** + * The protective stance action. ACTION_DENY forces a 403 status response code. + */ + action: pulumi.Input; + /** + * Determines whether an entry should be generated in the security ledger upon a rule hit. + */ + log?: pulumi.Input; + /** + * Custom notification message string mapped to underlying logdata contexts. Required if log is true. + */ + logMsg?: pulumi.Input; + /** + * Severity classification metric used by internal analytics graphs. + */ + severity?: pulumi.Input; +} + +export interface AlbWafCustomRuleGroupRuleCondition { + /** + * The comparison logic executed against the transformed variable. + */ + operator: pulumi.Input; + /** + * Ordered normalization steps applied before the operator runs. + */ + transformations?: pulumi.Input[] | undefined>; + /** + * The part of the HTTP transaction to inspect. + */ + variable: pulumi.Input; +} + +export interface AlbWafCustomRuleGroupRuleConditionOperator { + /** + * The operational evaluation type definition macro. + */ + type: pulumi.Input; + /** + * The text or rule regex pattern arguments applied inside the operator execution loop. + */ + value?: pulumi.Input; +} + +export interface AlbWafCustomRuleGroupRuleConditionVariable { + /** + * The targeted validation engine variable macro. + */ + type: pulumi.Input; + /** + * Optional key element context for map variables (e.g., matching a 'Host' header key). + */ + value?: pulumi.Input; +} + +export interface AlbWafManagedRuleSetGroups { + /** + * A description of what this group covers. + */ + description?: pulumi.Input; + /** + * The name for the rule group. + */ + groupName?: pulumi.Input; + /** + * Rules of the rule group. + */ + rules?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; +} + +export interface AlbWafManagedRuleSetGroupsRules { + /** + * A description of what this rule does. + */ + description?: pulumi.Input; + /** + * The current mode of the rule. + */ + mode?: pulumi.Input; + /** + * Impact level. + */ + severity?: pulumi.Input; +} + export interface ApplicationLoadBalancerError { /** * The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. @@ -346,10 +445,22 @@ export interface CdnDistributionConfig { * The configured countries where distribution of content is blocked */ blockedCountries?: pulumi.Input[] | undefined>; + /** + * Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + */ + blockedIps?: pulumi.Input[] | undefined>; + /** + * Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + */ + defaultCacheDuration?: pulumi.Input; /** * Enable this allows the 'Host' header to be passed through to the origin. */ forwardHostHeader?: pulumi.Input; + /** + * Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + */ + monthlyLimitBytes?: pulumi.Input; /** * Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. */ @@ -822,6 +933,48 @@ export interface GetImageV2FilterArgs { version?: pulumi.Input; } +export interface GetPostgresflexFlavorsTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetPostgresflexFlavorsTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + +export interface GetSqlserverflexDatabaseTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetSqlserverflexDatabaseTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + +export interface GetSqlserverflexFlavorsTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetSqlserverflexFlavorsTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + export interface GetSqlserverflexInstanceNetwork { /** * The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. @@ -831,6 +984,14 @@ export interface GetSqlserverflexInstanceNetwork { * List of IPV4 cidr. */ acls?: string[]; + /** + * Address of this instance. + */ + instanceAddress?: string; + /** + * Address of the router. + */ + routerAddress?: string; } export interface GetSqlserverflexInstanceNetworkArgs { @@ -842,6 +1003,14 @@ export interface GetSqlserverflexInstanceNetworkArgs { * List of IPV4 cidr. */ acls?: pulumi.Input[] | undefined>; + /** + * Address of this instance. + */ + instanceAddress?: pulumi.Input; + /** + * Address of the router. + */ + routerAddress?: pulumi.Input; } export interface GetVpcNetworkRangeTimeouts { @@ -1279,19 +1448,6 @@ export interface MongodbflexInstanceStorage { size: pulumi.Input; } -export interface NetworkAreaNetworkRange { - /** - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - networkRangeId?: pulumi.Input; - /** - * Classless Inter-Domain Routing (CIDR). - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - prefix: pulumi.Input; -} - export interface NetworkAreaRegionIpv4 { /** * List of DNS Servers/Nameservers. @@ -1703,20 +1859,107 @@ export interface OpensearchInstanceParameters { tlsProtocols?: pulumi.Input[] | undefined>; } +export interface PostgresflexInstanceConnectionInfo { + /** + * The DNS name and port in the instance overview. + */ + write?: pulumi.Input; +} + +export interface PostgresflexInstanceConnectionInfoWrite { + /** + * The host of the instance. + */ + host?: pulumi.Input; + /** + * The port of the instance. + */ + port?: pulumi.Input; +} + +export interface PostgresflexInstanceEncryption { + /** + * The ID of the Key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: pulumi.Input; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: pulumi.Input; + /** + * The ID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: pulumi.Input; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: pulumi.Input; +} + export interface PostgresflexInstanceFlavor { cpu: pulumi.Input; description?: pulumi.Input; + /** + * Terraform's internal resource ID. It is structured as "`projectId`,`region`,`instanceId`". + */ id?: pulumi.Input; + nodeType?: pulumi.Input; ram: pulumi.Input; } +export interface PostgresflexInstanceNetwork { + /** + * The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + */ + accessScope?: pulumi.Input; + /** + * The Access Control List (ACL) for the PostgresFlex instance. + */ + acls?: pulumi.Input[] | undefined>; + instanceAddress?: pulumi.Input; + routerAddress?: pulumi.Input; +} + export interface PostgresflexInstanceStorage { /** * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): * `bash - * stackit postgresflex options --storages --flavor-id FLAVOR_ID + * stackit postgresflex flavor describe FLAVOR_ID * ` * - `size` (Number) + * \n\n\n\n + * ### Nested Schema for `encryption` + * Required: + * - `kekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + * - `kekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + * - `kekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + * - `serviceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + * \n\n\n\n + * ### Nested Schema for `flavor` + * Required: + * - `cpu` (Number) + * - `ram` (Number) + * Read-Only: + * - `description` (String) + * - `id` (String) + * - `nodeType` (String) + * \n\n\n\n + * ### Nested Schema for `network` + * Optional: + * - `accessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + * - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + * Read-Only: + * - `instanceAddress` (String) + * - `routerAddress` (String) + * \n\n\n\n + * ### Nested Schema for `connectionInfo` + * Read-Only: + * - `write` (Attributes) The DNS name and port in the instance overview. + * \n\n\n\n + * ### Nested Schema for `connection_info.write` + * Read-Only: + * - `host` (String) The host of the instance. + * - `port` (Number) The port of the instance. */ class: pulumi.Input; size: pulumi.Input; @@ -2057,11 +2300,22 @@ export interface SkeClusterAccessIdp { type?: pulumi.Input; } +export interface SkeClusterAudit { + /** + * Enable cluster audit log forwarding to a Telemetry Router. + */ + enabled?: pulumi.Input; +} + export interface SkeClusterExtensions { /** * Cluster access control configuration. */ acl?: pulumi.Input; + /** + * Application Load Balancer extension. + */ + applicationLoadBalancer?: pulumi.Input; /** * A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. * @@ -2089,6 +2343,13 @@ export interface SkeClusterExtensionsAcl { enabled: pulumi.Input; } +export interface SkeClusterExtensionsApplicationLoadBalancer { + /** + * Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + */ + enabled?: pulumi.Input; +} + export interface SkeClusterExtensionsArgus { /** * Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. @@ -2105,6 +2366,10 @@ export interface SkeClusterExtensionsDns { * Flag to enable/disable DNS extensions */ enabled: pulumi.Input; + /** + * Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + */ + gatewayApi?: pulumi.Input; /** * Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) */ @@ -2169,7 +2434,7 @@ export interface SkeClusterNetwork { export interface SkeClusterNetworkControlPlane { /** - * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! */ accessScope?: pulumi.Input; } @@ -2262,6 +2527,44 @@ export interface SkeClusterNodePoolTaint { value?: pulumi.Input; } +export interface SqlserverflexDatabaseTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + */ + read?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: pulumi.Input; +} + +export interface SqlserverflexInstanceEncryption { + /** + * UUID of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: pulumi.Input; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: pulumi.Input; + /** + * UUID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: pulumi.Input; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: pulumi.Input; +} + export interface SqlserverflexInstanceFlavor { cpu: pulumi.Input; description?: pulumi.Input; @@ -2278,25 +2581,30 @@ export interface SqlserverflexInstanceNetwork { * List of IPV4 cidr. */ acls?: pulumi.Input[] | undefined>; + /** + * Address of this instance. + */ + instanceAddress?: pulumi.Input; + /** + * Address of the router. + */ + routerAddress?: pulumi.Input; } export interface SqlserverflexInstanceOptions { /** - * @deprecated edition is deprecated and will be removed after January 2027. + * @deprecated edition is deprecated and will be removed after February 2027. */ edition?: pulumi.Input; /** - * @deprecated retention_days is deprecated and will be removed after January 2027. Use instead `retentionDays` from root. + * @deprecated retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. */ retentionDays?: pulumi.Input; } export interface SqlserverflexInstanceStorage { /** - * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - * `bash - * stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - * ` Will be required in the future. Set a value to prevent breaking changes. + * The storage class. You can list available storage classes for a the according flavors using the datasource `stackit.getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. */ class?: pulumi.Input; /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index aa7a6cc8..cdb70f82 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5,6 +5,105 @@ import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; +export interface AlbWafCustomRuleGroupRule { + behavior: outputs.AlbWafCustomRuleGroupRuleBehavior; + conditions: outputs.AlbWafCustomRuleGroupRuleCondition[]; + /** + * A clear description explaining the threat vector or criteria addressed by this rule. + */ + description?: string; + /** + * Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + */ + id: number; +} + +export interface AlbWafCustomRuleGroupRuleBehavior { + /** + * The protective stance action. ACTION_DENY forces a 403 status response code. + */ + action: string; + /** + * Determines whether an entry should be generated in the security ledger upon a rule hit. + */ + log: boolean; + /** + * Custom notification message string mapped to underlying logdata contexts. Required if log is true. + */ + logMsg: string; + /** + * Severity classification metric used by internal analytics graphs. + */ + severity: string; +} + +export interface AlbWafCustomRuleGroupRuleCondition { + /** + * The comparison logic executed against the transformed variable. + */ + operator: outputs.AlbWafCustomRuleGroupRuleConditionOperator; + /** + * Ordered normalization steps applied before the operator runs. + */ + transformations: string[]; + /** + * The part of the HTTP transaction to inspect. + */ + variable: outputs.AlbWafCustomRuleGroupRuleConditionVariable; +} + +export interface AlbWafCustomRuleGroupRuleConditionOperator { + /** + * The operational evaluation type definition macro. + */ + type: string; + /** + * The text or rule regex pattern arguments applied inside the operator execution loop. + */ + value?: string; +} + +export interface AlbWafCustomRuleGroupRuleConditionVariable { + /** + * The targeted validation engine variable macro. + */ + type: string; + /** + * Optional key element context for map variables (e.g., matching a 'Host' header key). + */ + value?: string; +} + +export interface AlbWafManagedRuleSetGroups { + /** + * A description of what this group covers. + */ + description: string; + /** + * The name for the rule group. + */ + groupName: string; + /** + * Rules of the rule group. + */ + rules: {[key: string]: outputs.AlbWafManagedRuleSetGroupsRules}; +} + +export interface AlbWafManagedRuleSetGroupsRules { + /** + * A description of what this rule does. + */ + description: string; + /** + * The current mode of the rule. + */ + mode: string; + /** + * Impact level. + */ + severity: string; +} + export interface ApplicationLoadBalancerError { /** * The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. @@ -346,10 +445,22 @@ export interface CdnDistributionConfig { * The configured countries where distribution of content is blocked */ blockedCountries: string[]; + /** + * Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + */ + blockedIps: string[]; + /** + * Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + */ + defaultCacheDuration: string; /** * Enable this allows the 'Host' header to be passed through to the origin. */ forwardHostHeader: boolean; + /** + * Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + */ + monthlyLimitBytes: number; /** * Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. */ @@ -734,6 +845,105 @@ export interface DremioUserTimeouts { update?: string; } +export interface GetAlbWafCustomRuleGroupRule { + behavior: outputs.GetAlbWafCustomRuleGroupRuleBehavior; + conditions: outputs.GetAlbWafCustomRuleGroupRuleCondition[]; + /** + * A clear description explaining the threat vector or criteria addressed by this rule. + */ + description: string; + /** + * Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + */ + id: number; +} + +export interface GetAlbWafCustomRuleGroupRuleBehavior { + /** + * The protective stance action. ACTION_DENY forces a 403 status response code. + */ + action: string; + /** + * Determines whether an entry should be generated in the security ledger upon a rule hit. + */ + log: boolean; + /** + * Custom notification message string mapped to underlying logdata contexts. Required if log is true. + */ + logMsg: string; + /** + * Severity classification metric used by internal analytics graphs. + */ + severity: string; +} + +export interface GetAlbWafCustomRuleGroupRuleCondition { + /** + * The comparison logic executed against the transformed variable. + */ + operator: outputs.GetAlbWafCustomRuleGroupRuleConditionOperator; + /** + * Ordered normalization steps applied before the operator runs. + */ + transformations: string[]; + /** + * The part of the HTTP transaction to inspect. + */ + variable: outputs.GetAlbWafCustomRuleGroupRuleConditionVariable; +} + +export interface GetAlbWafCustomRuleGroupRuleConditionOperator { + /** + * The operational evaluation type definition macro. + */ + type: string; + /** + * The text or rule regex pattern arguments applied inside the operator execution loop. + */ + value: string; +} + +export interface GetAlbWafCustomRuleGroupRuleConditionVariable { + /** + * The targeted validation engine variable macro. + */ + type: string; + /** + * Optional key element context for map variables (e.g., matching a 'Host' header key). + */ + value: string; +} + +export interface GetAlbWafManagedRuleSetGroups { + /** + * A description of what this group covers. + */ + description: string; + /** + * The name for the rule group. + */ + groupName: string; + /** + * Rules of the rule group. + */ + rules: {[key: string]: outputs.GetAlbWafManagedRuleSetGroupsRules}; +} + +export interface GetAlbWafManagedRuleSetGroupsRules { + /** + * A description of what this rule does. + */ + description: string; + /** + * The current mode of the rule. + */ + mode: string; + /** + * Impact level. + */ + severity: string; +} + export interface GetApplicationLoadBalancerError { /** * The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. @@ -1067,10 +1277,22 @@ export interface GetCdnDistributionConfig { * The configured countries where distribution of content is blocked */ blockedCountries?: string[]; + /** + * Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + */ + blockedIps: string[]; + /** + * Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + */ + defaultCacheDuration: string; /** * Enable this allows the 'Host' header to be passed through to the origin. */ forwardHostHeader: boolean; + /** + * Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + */ + monthlyLimitBytes: number; /** * Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. */ @@ -1886,11 +2108,6 @@ export interface GetMongodbflexInstanceStorage { size: number; } -export interface GetNetworkAreaNetworkRange { - networkRangeId: string; - prefix: string; -} - export interface GetNetworkAreaRegionIpv4 { /** * List of DNS Servers/Nameservers. @@ -2302,13 +2519,109 @@ export interface GetOpensearchInstanceParameters { tlsProtocols: string[]; } +export interface GetPostgresflexFlavorsFlavor { + /** + * CPU count of the instance. + */ + cpu: number; + /** + * Flavor description. + */ + description: string; + /** + * Flavor ID. + */ + id: string; + /** + * Maximum storage capacity available for the flavor in GB. + */ + maxGb: number; + /** + * Memory of the instance in GiB. + */ + memory: number; + /** + * Minimum storage capacity available for the flavor in GB. + */ + minGb: number; + /** + * Node type of the flavor, either single or replica. + */ + nodeType: string; + /** + * Storage classes available for the flavor. + */ + storageClasses: outputs.GetPostgresflexFlavorsFlavorStorageClass[]; +} + +export interface GetPostgresflexFlavorsFlavorStorageClass { + /** + * Storage class. + */ + class: string; + /** + * Maximum I/O operations per second. + */ + maxIoPerSec: number; + /** + * Maximum throughput in MB per second. + */ + maxThroughInMb: number; +} + +export interface GetPostgresflexFlavorsTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetPostgresflexInstanceConnectionInfo { + /** + * The DNS name and port in the instance overview. + */ + write: outputs.GetPostgresflexInstanceConnectionInfoWrite; +} + +export interface GetPostgresflexInstanceConnectionInfoWrite { + /** + * The host of the instance. + */ + host: string; + /** + * The port of the instance. + */ + port: number; +} + +export interface GetPostgresflexInstanceEncryption { + kekKeyId: string; + kekKeyVersion: string; + kekKeyringId: string; + serviceAccount: string; +} + export interface GetPostgresflexInstanceFlavor { cpu: number; description: string; id: string; + nodeType: string; ram: number; } +export interface GetPostgresflexInstanceNetwork { + /** + * The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + */ + accessScope: string; + /** + * List of IPV4 cidr. + */ + acls: string[]; + instanceAddress: string; + routerAddress: string; +} + export interface GetPostgresflexInstanceStorage { class: string; size: number; @@ -2889,11 +3202,22 @@ export interface GetSkeClusterAccessIdp { type: string; } +export interface GetSkeClusterAudit { + /** + * Enable cluster audit log forwarding to a Telemetry Router. + */ + enabled: boolean; +} + export interface GetSkeClusterExtensions { /** * Cluster access control configuration */ acl: outputs.GetSkeClusterExtensionsAcl; + /** + * Application Load Balancer extension. + */ + applicationLoadBalancer: outputs.GetSkeClusterExtensionsApplicationLoadBalancer; /** * A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. * @@ -2921,6 +3245,13 @@ export interface GetSkeClusterExtensionsAcl { enabled: boolean; } +export interface GetSkeClusterExtensionsApplicationLoadBalancer { + /** + * Enables the application load balancer extension. + */ + enabled: boolean; +} + export interface GetSkeClusterExtensionsArgus { /** * Instance ID of argus @@ -2937,6 +3268,10 @@ export interface GetSkeClusterExtensionsDns { * Flag to enable/disable DNS extensions */ enabled: boolean; + /** + * Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + */ + gatewayApi: boolean; /** * Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) */ @@ -3141,6 +3476,89 @@ export interface GetSkeMachineImageVersionsMachineImageVersion { version: string; } +export interface GetSqlserverflexDatabaseTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetSqlserverflexFlavorsFlavor { + /** + * The CPU count of the instance. + */ + cpu: number; + /** + * Description of the flavor. + */ + description: string; + /** + * ID of the flavor. + */ + id: string; + /** + * Maximum storage, which can be ordered for the flavor in Gigabyte. + */ + maxGb: number; + /** + * The memory (Gibibyte) of the instance. + */ + memory: number; + /** + * Minimum storage, which is required to order in Gigabyte. + */ + minGb: number; + /** + * Defines the node type (either single or HA). + */ + nodeType: string; + /** + * Storage classes available for the flavor. + */ + storageClasses: outputs.GetSqlserverflexFlavorsFlavorStorageClass[]; +} + +export interface GetSqlserverflexFlavorsFlavorStorageClass { + /** + * Class of the instance. + */ + class: string; + /** + * Maximum I/O per second. + */ + maxIoPerSec: number; + /** + * Maximum throughput in Megabyte. + */ + maxThroughInMb: number; +} + +export interface GetSqlserverflexFlavorsTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetSqlserverflexInstanceEncryption { + /** + * UUID of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: string; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: string; + /** + * UUID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: string; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: string; +} + export interface GetSqlserverflexInstanceFlavor { cpu: number; description: string; @@ -3157,10 +3575,24 @@ export interface GetSqlserverflexInstanceNetwork { * List of IPV4 cidr. */ acls: string[]; + /** + * Address of this instance. + */ + instanceAddress: string; + /** + * Address of the router. + */ + routerAddress: string; } export interface GetSqlserverflexInstanceOptions { + /** + * @deprecated edition is deprecated and will be removed after February 2027. + */ edition: string; + /** + * @deprecated retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. + */ retentionDays: number; } @@ -3912,19 +4344,6 @@ export interface MongodbflexInstanceStorage { size: number; } -export interface NetworkAreaNetworkRange { - /** - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - networkRangeId: string; - /** - * Classless Inter-Domain Routing (CIDR). - * - * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. - */ - prefix: string; -} - export interface NetworkAreaRegionIpv4 { /** * List of DNS Servers/Nameservers. @@ -4336,20 +4755,107 @@ export interface OpensearchInstanceParameters { tlsProtocols: string[]; } +export interface PostgresflexInstanceConnectionInfo { + /** + * The DNS name and port in the instance overview. + */ + write: outputs.PostgresflexInstanceConnectionInfoWrite; +} + +export interface PostgresflexInstanceConnectionInfoWrite { + /** + * The host of the instance. + */ + host: string; + /** + * The port of the instance. + */ + port: number; +} + +export interface PostgresflexInstanceEncryption { + /** + * The ID of the Key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: string; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: string; + /** + * The ID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: string; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: string; +} + export interface PostgresflexInstanceFlavor { cpu: number; description: string; + /** + * Terraform's internal resource ID. It is structured as "`projectId`,`region`,`instanceId`". + */ id: string; + nodeType: string; ram: number; } +export interface PostgresflexInstanceNetwork { + /** + * The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + */ + accessScope: string; + /** + * The Access Control List (ACL) for the PostgresFlex instance. + */ + acls: string[]; + instanceAddress: string; + routerAddress: string; +} + export interface PostgresflexInstanceStorage { /** * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): * `bash - * stackit postgresflex options --storages --flavor-id FLAVOR_ID + * stackit postgresflex flavor describe FLAVOR_ID * ` * - `size` (Number) + * \n\n\n\n + * ### Nested Schema for `encryption` + * Required: + * - `kekKeyId` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + * - `kekKeyVersion` (String) Version of the key within the STACKIT-KMS to use for the encryption. + * - `kekKeyringId` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + * - `serviceAccount` (String) Service-Account linked to the Key within the STACKIT-KMS. + * \n\n\n\n + * ### Nested Schema for `flavor` + * Required: + * - `cpu` (Number) + * - `ram` (Number) + * Read-Only: + * - `description` (String) + * - `id` (String) + * - `nodeType` (String) + * \n\n\n\n + * ### Nested Schema for `network` + * Optional: + * - `accessScope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + * - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + * Read-Only: + * - `instanceAddress` (String) + * - `routerAddress` (String) + * \n\n\n\n + * ### Nested Schema for `connectionInfo` + * Read-Only: + * - `write` (Attributes) The DNS name and port in the instance overview. + * \n\n\n\n + * ### Nested Schema for `connection_info.write` + * Read-Only: + * - `host` (String) The host of the instance. + * - `port` (Number) The port of the instance. */ class: string; size: number; @@ -4690,11 +5196,22 @@ export interface SkeClusterAccessIdp { type: string; } +export interface SkeClusterAudit { + /** + * Enable cluster audit log forwarding to a Telemetry Router. + */ + enabled: boolean; +} + export interface SkeClusterExtensions { /** * Cluster access control configuration. */ acl?: outputs.SkeClusterExtensionsAcl; + /** + * Application Load Balancer extension. + */ + applicationLoadBalancer: outputs.SkeClusterExtensionsApplicationLoadBalancer; /** * A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. * @@ -4722,6 +5239,13 @@ export interface SkeClusterExtensionsAcl { enabled: boolean; } +export interface SkeClusterExtensionsApplicationLoadBalancer { + /** + * Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + */ + enabled: boolean; +} + export interface SkeClusterExtensionsArgus { /** * Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. @@ -4738,6 +5262,10 @@ export interface SkeClusterExtensionsDns { * Flag to enable/disable DNS extensions */ enabled: boolean; + /** + * Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + */ + gatewayApi?: boolean; /** * Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) */ @@ -4802,7 +5330,7 @@ export interface SkeClusterNetwork { export interface SkeClusterNetworkControlPlane { /** - * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! */ accessScope: string; } @@ -4895,6 +5423,44 @@ export interface SkeClusterNodePoolTaint { value: string; } +export interface SqlserverflexDatabaseTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + */ + read?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: string; +} + +export interface SqlserverflexInstanceEncryption { + /** + * UUID of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: string; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: string; + /** + * UUID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: string; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: string; +} + export interface SqlserverflexInstanceFlavor { cpu: number; description: string; @@ -4911,25 +5477,30 @@ export interface SqlserverflexInstanceNetwork { * List of IPV4 cidr. */ acls: string[]; + /** + * Address of this instance. + */ + instanceAddress: string; + /** + * Address of the router. + */ + routerAddress: string; } export interface SqlserverflexInstanceOptions { /** - * @deprecated edition is deprecated and will be removed after January 2027. + * @deprecated edition is deprecated and will be removed after February 2027. */ edition: string; /** - * @deprecated retention_days is deprecated and will be removed after January 2027. Use instead `retentionDays` from root. + * @deprecated retention_days is deprecated and will be removed after February 2027. Use instead `retentionDays` from root. */ retentionDays: number; } export interface SqlserverflexInstanceStorage { /** - * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - * `bash - * stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - * ` Will be required in the future. Set a value to prevent breaking changes. + * The storage class. You can list available storage classes for a the according flavors using the datasource `stackit.getSqlserverflexFlavors`. Will be required in the future. Set a value to prevent breaking changes. */ class: string; /** diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index 55cb013c..6a418898 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -8,6 +8,9 @@ # Export this package's modules as members: from .affinity_group import * from .alb_certificate import * +from .alb_waf_configuration import * +from .alb_waf_custom_rule_group import * +from .alb_waf_managed_rule_set import * from .application_load_balancer import * from .authorization_folder_custom_role import * from .authorization_folder_role_assignment import * @@ -27,6 +30,9 @@ from .edgecloud_token import * from .get_affinity_group import * from .get_alb_certificate import * +from .get_alb_waf_configuration import * +from .get_alb_waf_custom_rule_group import * +from .get_alb_waf_managed_rule_set import * from .get_application_load_balancer import * from .get_authorization_folder_custom_role import * from .get_authorization_organization_custom_role import * @@ -56,6 +62,8 @@ from .get_machine_type import * from .get_mariadb_credential import * from .get_mariadb_instance import * +from .get_modelexperiments_instance import * +from .get_modelexperiments_token import * from .get_mongodbflex_instance import * from .get_mongodbflex_user import * from .get_network import * @@ -75,6 +83,7 @@ from .get_opensearch_credential import * from .get_opensearch_instance import * from .get_postgresflex_database import * +from .get_postgresflex_flavors import * from .get_postgresflex_instance import * from .get_postgresflex_user import * from .get_public_ip import * @@ -117,6 +126,8 @@ from .get_ske_cluster import * from .get_ske_kubernetes_versions import * from .get_ske_machine_image_versions import * +from .get_sqlserverflex_database import * +from .get_sqlserverflex_flavors import * from .get_sqlserverflex_instance import * from .get_sqlserverflex_user import * from .get_telemetrylink import * @@ -147,6 +158,8 @@ from .logs_instance import * from .mariadb_credential import * from .mariadb_instance import * +from .modelexperiments_instance import * +from .modelexperiments_token import * from .modelserving_token import * from .mongodbflex_instance import * from .mongodbflex_user import * @@ -206,6 +219,7 @@ from .sfs_share import * from .ske_cluster import * from .ske_kubeconfig import * +from .sqlserverflex_database import * from .sqlserverflex_instance import * from .sqlserverflex_user import * from .telemetrylink import * @@ -249,6 +263,30 @@ "stackit:index/albCertificate:AlbCertificate": "AlbCertificate" } }, + { + "pkg": "stackit", + "mod": "index/albWafConfiguration", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/albWafConfiguration:AlbWafConfiguration": "AlbWafConfiguration" + } + }, + { + "pkg": "stackit", + "mod": "index/albWafCustomRuleGroup", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup": "AlbWafCustomRuleGroup" + } + }, + { + "pkg": "stackit", + "mod": "index/albWafManagedRuleSet", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet": "AlbWafManagedRuleSet" + } + }, { "pkg": "stackit", "mod": "index/applicationLoadBalancer", @@ -505,6 +543,22 @@ "stackit:index/mariadbInstance:MariadbInstance": "MariadbInstance" } }, + { + "pkg": "stackit", + "mod": "index/modelexperimentsInstance", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/modelexperimentsInstance:ModelexperimentsInstance": "ModelexperimentsInstance" + } + }, + { + "pkg": "stackit", + "mod": "index/modelexperimentsToken", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/modelexperimentsToken:ModelexperimentsToken": "ModelexperimentsToken" + } + }, { "pkg": "stackit", "mod": "index/modelservingToken", @@ -969,6 +1023,14 @@ "stackit:index/skeKubeconfig:SkeKubeconfig": "SkeKubeconfig" } }, + { + "pkg": "stackit", + "mod": "index/sqlserverflexDatabase", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/sqlserverflexDatabase:SqlserverflexDatabase": "SqlserverflexDatabase" + } + }, { "pkg": "stackit", "mod": "index/sqlserverflexInstance", diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index 4566cd7d..29c4df61 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -15,6 +15,20 @@ from . import _utilities __all__ = [ + 'AlbWafCustomRuleGroupRuleArgs', + 'AlbWafCustomRuleGroupRuleArgsDict', + 'AlbWafCustomRuleGroupRuleBehaviorArgs', + 'AlbWafCustomRuleGroupRuleBehaviorArgsDict', + 'AlbWafCustomRuleGroupRuleConditionArgs', + 'AlbWafCustomRuleGroupRuleConditionArgsDict', + 'AlbWafCustomRuleGroupRuleConditionOperatorArgs', + 'AlbWafCustomRuleGroupRuleConditionOperatorArgsDict', + 'AlbWafCustomRuleGroupRuleConditionVariableArgs', + 'AlbWafCustomRuleGroupRuleConditionVariableArgsDict', + 'AlbWafManagedRuleSetGroupsArgs', + 'AlbWafManagedRuleSetGroupsArgsDict', + 'AlbWafManagedRuleSetGroupsRulesArgs', + 'AlbWafManagedRuleSetGroupsRulesArgsDict', 'ApplicationLoadBalancerErrorArgs', 'ApplicationLoadBalancerErrorArgsDict', 'ApplicationLoadBalancerListenerArgs', @@ -145,8 +159,6 @@ 'MongodbflexInstanceOptionsArgsDict', 'MongodbflexInstanceStorageArgs', 'MongodbflexInstanceStorageArgsDict', - 'NetworkAreaNetworkRangeArgs', - 'NetworkAreaNetworkRangeArgsDict', 'NetworkAreaRegionIpv4Args', 'NetworkAreaRegionIpv4ArgsDict', 'NetworkAreaRegionIpv4NetworkRangeArgs', @@ -183,8 +195,16 @@ 'ObservabilityScrapeconfigTargetArgsDict', 'OpensearchInstanceParametersArgs', 'OpensearchInstanceParametersArgsDict', + 'PostgresflexInstanceConnectionInfoArgs', + 'PostgresflexInstanceConnectionInfoArgsDict', + 'PostgresflexInstanceConnectionInfoWriteArgs', + 'PostgresflexInstanceConnectionInfoWriteArgsDict', + 'PostgresflexInstanceEncryptionArgs', + 'PostgresflexInstanceEncryptionArgsDict', 'PostgresflexInstanceFlavorArgs', 'PostgresflexInstanceFlavorArgsDict', + 'PostgresflexInstanceNetworkArgs', + 'PostgresflexInstanceNetworkArgsDict', 'PostgresflexInstanceStorageArgs', 'PostgresflexInstanceStorageArgsDict', 'RabbitmqInstanceParametersArgs', @@ -219,10 +239,14 @@ 'SkeClusterAccessArgsDict', 'SkeClusterAccessIdpArgs', 'SkeClusterAccessIdpArgsDict', + 'SkeClusterAuditArgs', + 'SkeClusterAuditArgsDict', 'SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict', 'SkeClusterExtensionsAclArgs', 'SkeClusterExtensionsAclArgsDict', + 'SkeClusterExtensionsApplicationLoadBalancerArgs', + 'SkeClusterExtensionsApplicationLoadBalancerArgsDict', 'SkeClusterExtensionsArgusArgs', 'SkeClusterExtensionsArgusArgsDict', 'SkeClusterExtensionsDnsArgs', @@ -241,6 +265,10 @@ 'SkeClusterNodePoolArgsDict', 'SkeClusterNodePoolTaintArgs', 'SkeClusterNodePoolTaintArgsDict', + 'SqlserverflexDatabaseTimeoutsArgs', + 'SqlserverflexDatabaseTimeoutsArgsDict', + 'SqlserverflexInstanceEncryptionArgs', + 'SqlserverflexInstanceEncryptionArgsDict', 'SqlserverflexInstanceFlavorArgs', 'SqlserverflexInstanceFlavorArgsDict', 'SqlserverflexInstanceNetworkArgs', @@ -315,6 +343,12 @@ 'GetDnsZoneTimeoutsArgsDict', 'GetImageV2FilterArgs', 'GetImageV2FilterArgsDict', + 'GetPostgresflexFlavorsTimeoutsArgs', + 'GetPostgresflexFlavorsTimeoutsArgsDict', + 'GetSqlserverflexDatabaseTimeoutsArgs', + 'GetSqlserverflexDatabaseTimeoutsArgsDict', + 'GetSqlserverflexFlavorsTimeoutsArgs', + 'GetSqlserverflexFlavorsTimeoutsArgsDict', 'GetSqlserverflexInstanceNetworkArgs', 'GetSqlserverflexInstanceNetworkArgsDict', 'GetVpcNetworkRangeTimeoutsArgs', @@ -327,6 +361,468 @@ 'GetVpcTimeoutsArgsDict', ] +class AlbWafCustomRuleGroupRuleArgsDict(TypedDict): + behavior: pulumi.Input['AlbWafCustomRuleGroupRuleBehaviorArgsDict'] + conditions: pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleConditionArgsDict']]] + description: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A clear description explaining the threat vector or criteria addressed by this rule. + """ + id: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + """ + +@pulumi.input_type +class AlbWafCustomRuleGroupRuleArgs: + def __init__(__self__, *, + behavior: pulumi.Input['AlbWafCustomRuleGroupRuleBehaviorArgs'], + conditions: pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleConditionArgs']]], + description: pulumi.Input[Optional[_builtins.str]] = None, + id: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] description: A clear description explaining the threat vector or criteria addressed by this rule. + :param pulumi.Input[_builtins.int] id: Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + """ + pulumi.set(__self__, "behavior", behavior) + pulumi.set(__self__, "conditions", conditions) + if description is not None: + pulumi.set(__self__, "description", description) + if id is not None: + pulumi.set(__self__, "id", id) + + @_builtins.property + @pulumi.getter + def behavior(self) -> pulumi.Input['AlbWafCustomRuleGroupRuleBehaviorArgs']: + return pulumi.get(self, "behavior") + + @behavior.setter + def behavior(self, value: pulumi.Input['AlbWafCustomRuleGroupRuleBehaviorArgs']): + pulumi.set(self, "behavior", value) + + @_builtins.property + @pulumi.getter + def conditions(self) -> pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleConditionArgs']]]: + return pulumi.get(self, "conditions") + + @conditions.setter + def conditions(self, value: pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleConditionArgs']]]): + pulumi.set(self, "conditions", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + A clear description explaining the threat vector or criteria addressed by this rule. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def id(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "id", value) + + +class AlbWafCustomRuleGroupRuleBehaviorArgsDict(TypedDict): + action: pulumi.Input[_builtins.str] + """ + The protective stance action. ACTION_DENY forces a 403 status response code. + """ + log: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Determines whether an entry should be generated in the security ledger upon a rule hit. + """ + log_msg: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Custom notification message string mapped to underlying logdata contexts. Required if log is true. + """ + severity: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Severity classification metric used by internal analytics graphs. + """ + +@pulumi.input_type +class AlbWafCustomRuleGroupRuleBehaviorArgs: + def __init__(__self__, *, + action: pulumi.Input[_builtins.str], + log: pulumi.Input[Optional[_builtins.bool]] = None, + log_msg: pulumi.Input[Optional[_builtins.str]] = None, + severity: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] action: The protective stance action. ACTION_DENY forces a 403 status response code. + :param pulumi.Input[_builtins.bool] log: Determines whether an entry should be generated in the security ledger upon a rule hit. + :param pulumi.Input[_builtins.str] log_msg: Custom notification message string mapped to underlying logdata contexts. Required if log is true. + :param pulumi.Input[_builtins.str] severity: Severity classification metric used by internal analytics graphs. + """ + pulumi.set(__self__, "action", action) + if log is not None: + pulumi.set(__self__, "log", log) + if log_msg is not None: + pulumi.set(__self__, "log_msg", log_msg) + if severity is not None: + pulumi.set(__self__, "severity", severity) + + @_builtins.property + @pulumi.getter + def action(self) -> pulumi.Input[_builtins.str]: + """ + The protective stance action. ACTION_DENY forces a 403 status response code. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "action", value) + + @_builtins.property + @pulumi.getter + def log(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Determines whether an entry should be generated in the security ledger upon a rule hit. + """ + return pulumi.get(self, "log") + + @log.setter + def log(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "log", value) + + @_builtins.property + @pulumi.getter(name="logMsg") + def log_msg(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom notification message string mapped to underlying logdata contexts. Required if log is true. + """ + return pulumi.get(self, "log_msg") + + @log_msg.setter + def log_msg(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "log_msg", value) + + @_builtins.property + @pulumi.getter + def severity(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Severity classification metric used by internal analytics graphs. + """ + return pulumi.get(self, "severity") + + @severity.setter + def severity(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "severity", value) + + +class AlbWafCustomRuleGroupRuleConditionArgsDict(TypedDict): + operator: pulumi.Input['AlbWafCustomRuleGroupRuleConditionOperatorArgsDict'] + """ + The comparison logic executed against the transformed variable. + """ + variable: pulumi.Input['AlbWafCustomRuleGroupRuleConditionVariableArgsDict'] + """ + The part of the HTTP transaction to inspect. + """ + transformations: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Ordered normalization steps applied before the operator runs. + """ + +@pulumi.input_type +class AlbWafCustomRuleGroupRuleConditionArgs: + def __init__(__self__, *, + operator: pulumi.Input['AlbWafCustomRuleGroupRuleConditionOperatorArgs'], + variable: pulumi.Input['AlbWafCustomRuleGroupRuleConditionVariableArgs'], + transformations: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + :param pulumi.Input['AlbWafCustomRuleGroupRuleConditionOperatorArgs'] operator: The comparison logic executed against the transformed variable. + :param pulumi.Input['AlbWafCustomRuleGroupRuleConditionVariableArgs'] variable: The part of the HTTP transaction to inspect. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] transformations: Ordered normalization steps applied before the operator runs. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "variable", variable) + if transformations is not None: + pulumi.set(__self__, "transformations", transformations) + + @_builtins.property + @pulumi.getter + def operator(self) -> pulumi.Input['AlbWafCustomRuleGroupRuleConditionOperatorArgs']: + """ + The comparison logic executed against the transformed variable. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input['AlbWafCustomRuleGroupRuleConditionOperatorArgs']): + pulumi.set(self, "operator", value) + + @_builtins.property + @pulumi.getter + def variable(self) -> pulumi.Input['AlbWafCustomRuleGroupRuleConditionVariableArgs']: + """ + The part of the HTTP transaction to inspect. + """ + return pulumi.get(self, "variable") + + @variable.setter + def variable(self, value: pulumi.Input['AlbWafCustomRuleGroupRuleConditionVariableArgs']): + pulumi.set(self, "variable", value) + + @_builtins.property + @pulumi.getter + def transformations(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Ordered normalization steps applied before the operator runs. + """ + return pulumi.get(self, "transformations") + + @transformations.setter + def transformations(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "transformations", value) + + +class AlbWafCustomRuleGroupRuleConditionOperatorArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + The operational evaluation type definition macro. + """ + value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The text or rule regex pattern arguments applied inside the operator execution loop. + """ + +@pulumi.input_type +class AlbWafCustomRuleGroupRuleConditionOperatorArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: The operational evaluation type definition macro. + :param pulumi.Input[_builtins.str] value: The text or rule regex pattern arguments applied inside the operator execution loop. + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + The operational evaluation type definition macro. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The text or rule regex pattern arguments applied inside the operator execution loop. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "value", value) + + +class AlbWafCustomRuleGroupRuleConditionVariableArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + The targeted validation engine variable macro. + """ + value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + +@pulumi.input_type +class AlbWafCustomRuleGroupRuleConditionVariableArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: The targeted validation engine variable macro. + :param pulumi.Input[_builtins.str] value: Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + The targeted validation engine variable macro. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "value", value) + + +class AlbWafManagedRuleSetGroupsArgsDict(TypedDict): + description: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A description of what this group covers. + """ + group_name: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The name for the rule group. + """ + rules: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsRulesArgsDict']]]]] + """ + Rules of the rule group. + """ + +@pulumi.input_type +class AlbWafManagedRuleSetGroupsArgs: + def __init__(__self__, *, + description: pulumi.Input[Optional[_builtins.str]] = None, + group_name: pulumi.Input[Optional[_builtins.str]] = None, + rules: pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsRulesArgs']]]] = None): + """ + :param pulumi.Input[_builtins.str] description: A description of what this group covers. + :param pulumi.Input[_builtins.str] group_name: The name for the rule group. + :param pulumi.Input[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsRulesArgs']]] rules: Rules of the rule group. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + A description of what this group covers. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="groupName") + def group_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The name for the rule group. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "group_name", value) + + @_builtins.property + @pulumi.getter + def rules(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsRulesArgs']]]]: + """ + Rules of the rule group. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsRulesArgs']]]]): + pulumi.set(self, "rules", value) + + +class AlbWafManagedRuleSetGroupsRulesArgsDict(TypedDict): + description: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A description of what this rule does. + """ + mode: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The current mode of the rule. + """ + severity: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Impact level. + """ + +@pulumi.input_type +class AlbWafManagedRuleSetGroupsRulesArgs: + def __init__(__self__, *, + description: pulumi.Input[Optional[_builtins.str]] = None, + mode: pulumi.Input[Optional[_builtins.str]] = None, + severity: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] description: A description of what this rule does. + :param pulumi.Input[_builtins.str] mode: The current mode of the rule. + :param pulumi.Input[_builtins.str] severity: Impact level. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if severity is not None: + pulumi.set(__self__, "severity", severity) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + A description of what this rule does. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def mode(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The current mode of the rule. + """ + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "mode", value) + + @_builtins.property + @pulumi.getter + def severity(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Impact level. + """ + return pulumi.get(self, "severity") + + @severity.setter + def severity(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "severity", value) + + class ApplicationLoadBalancerErrorArgsDict(TypedDict): description: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ @@ -1826,10 +2322,22 @@ class CdnDistributionConfigArgsDict(TypedDict): """ The configured countries where distribution of content is blocked """ + blocked_ips: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + """ + default_cache_duration: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ forward_host_header: NotRequired[pulumi.Input[Optional[_builtins.bool]]] """ Enable this allows the 'Host' header to be passed through to the origin. """ + monthly_limit_bytes: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ optimizer: NotRequired[pulumi.Input[Optional['CdnDistributionConfigOptimizerArgsDict']]] """ Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. @@ -1857,7 +2365,10 @@ def __init__(__self__, *, backend: pulumi.Input['CdnDistributionConfigBackendArgs'], regions: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], blocked_countries: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + blocked_ips: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + default_cache_duration: pulumi.Input[Optional[_builtins.str]] = None, forward_host_header: pulumi.Input[Optional[_builtins.bool]] = None, + monthly_limit_bytes: pulumi.Input[Optional[_builtins.int]] = None, optimizer: pulumi.Input[Optional['CdnDistributionConfigOptimizerArgs']] = None, redirects: pulumi.Input[Optional['CdnDistributionConfigRedirectsArgs']] = None, strip_response_cookies: pulumi.Input[Optional[_builtins.bool]] = None, @@ -1867,7 +2378,10 @@ def __init__(__self__, *, :param pulumi.Input['CdnDistributionConfigBackendArgs'] backend: The configured backend for the distribution :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regions: The configured regions where content will be hosted :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] blocked_countries: The configured countries where distribution of content is blocked + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] blocked_ips: Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + :param pulumi.Input[_builtins.str] default_cache_duration: Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. :param pulumi.Input[_builtins.bool] forward_host_header: Enable this allows the 'Host' header to be passed through to the origin. + :param pulumi.Input[_builtins.int] monthly_limit_bytes: Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. :param pulumi.Input['CdnDistributionConfigOptimizerArgs'] optimizer: Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. :param pulumi.Input['CdnDistributionConfigRedirectsArgs'] redirects: A wrapper for a list of redirect rules that allows for redirect settings on a distribution :param pulumi.Input[_builtins.bool] strip_response_cookies: Enable this to prevent origin-level cookies from being forwarded to the end user. @@ -1878,8 +2392,14 @@ def __init__(__self__, *, pulumi.set(__self__, "regions", regions) if blocked_countries is not None: pulumi.set(__self__, "blocked_countries", blocked_countries) + if blocked_ips is not None: + pulumi.set(__self__, "blocked_ips", blocked_ips) + if default_cache_duration is not None: + pulumi.set(__self__, "default_cache_duration", default_cache_duration) if forward_host_header is not None: pulumi.set(__self__, "forward_host_header", forward_host_header) + if monthly_limit_bytes is not None: + pulumi.set(__self__, "monthly_limit_bytes", monthly_limit_bytes) if optimizer is not None: pulumi.set(__self__, "optimizer", optimizer) if redirects is not None: @@ -1927,6 +2447,30 @@ def blocked_countries(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_buil def blocked_countries(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "blocked_countries", value) + @_builtins.property + @pulumi.getter(name="blockedIps") + def blocked_ips(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + """ + return pulumi.get(self, "blocked_ips") + + @blocked_ips.setter + def blocked_ips(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "blocked_ips", value) + + @_builtins.property + @pulumi.getter(name="defaultCacheDuration") + def default_cache_duration(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ + return pulumi.get(self, "default_cache_duration") + + @default_cache_duration.setter + def default_cache_duration(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "default_cache_duration", value) + @_builtins.property @pulumi.getter(name="forwardHostHeader") def forward_host_header(self) -> pulumi.Input[Optional[_builtins.bool]]: @@ -1939,6 +2483,18 @@ def forward_host_header(self) -> pulumi.Input[Optional[_builtins.bool]]: def forward_host_header(self, value: pulumi.Input[Optional[_builtins.bool]]): pulumi.set(self, "forward_host_header", value) + @_builtins.property + @pulumi.getter(name="monthlyLimitBytes") + def monthly_limit_bytes(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ + return pulumi.get(self, "monthly_limit_bytes") + + @monthly_limit_bytes.setter + def monthly_limit_bytes(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "monthly_limit_bytes", value) + @_builtins.property @pulumi.getter def optimizer(self) -> pulumi.Input[Optional['CdnDistributionConfigOptimizerArgs']]: @@ -5542,55 +6098,6 @@ def size(self, value: pulumi.Input[_builtins.int]): pulumi.set(self, "size", value) -class NetworkAreaNetworkRangeArgsDict(TypedDict): - prefix: pulumi.Input[_builtins.str] - """ - Classless Inter-Domain Routing (CIDR). - """ - network_range_id: NotRequired[pulumi.Input[Optional[_builtins.str]]] - -@pulumi.input_type -class NetworkAreaNetworkRangeArgs: - def __init__(__self__, *, - prefix: pulumi.Input[_builtins.str], - network_range_id: pulumi.Input[Optional[_builtins.str]] = None): - """ - :param pulumi.Input[_builtins.str] prefix: Classless Inter-Domain Routing (CIDR). - """ - if prefix is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""prefix is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - pulumi.set(__self__, "prefix", prefix) - if network_range_id is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""network_range_id is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if network_range_id is not None: - pulumi.set(__self__, "network_range_id", network_range_id) - - @_builtins.property - @pulumi.getter - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def prefix(self) -> pulumi.Input[_builtins.str]: - """ - Classless Inter-Domain Routing (CIDR). - """ - return pulumi.get(self, "prefix") - - @prefix.setter - def prefix(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "prefix", value) - - @_builtins.property - @pulumi.getter(name="networkRangeId") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def network_range_id(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "network_range_id") - - @network_range_id.setter - def network_range_id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "network_range_id", value) - - class NetworkAreaRegionIpv4ArgsDict(TypedDict): network_ranges: pulumi.Input[Sequence[pulumi.Input['NetworkAreaRegionIpv4NetworkRangeArgsDict']]] """ @@ -7517,11 +8024,178 @@ def tls_protocols(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_buil pulumi.set(self, "tls_protocols", value) +class PostgresflexInstanceConnectionInfoArgsDict(TypedDict): + write: NotRequired[pulumi.Input[Optional['PostgresflexInstanceConnectionInfoWriteArgsDict']]] + """ + The DNS name and port in the instance overview. + """ + +@pulumi.input_type +class PostgresflexInstanceConnectionInfoArgs: + def __init__(__self__, *, + write: pulumi.Input[Optional['PostgresflexInstanceConnectionInfoWriteArgs']] = None): + """ + :param pulumi.Input['PostgresflexInstanceConnectionInfoWriteArgs'] write: The DNS name and port in the instance overview. + """ + if write is not None: + pulumi.set(__self__, "write", write) + + @_builtins.property + @pulumi.getter + def write(self) -> pulumi.Input[Optional['PostgresflexInstanceConnectionInfoWriteArgs']]: + """ + The DNS name and port in the instance overview. + """ + return pulumi.get(self, "write") + + @write.setter + def write(self, value: pulumi.Input[Optional['PostgresflexInstanceConnectionInfoWriteArgs']]): + pulumi.set(self, "write", value) + + +class PostgresflexInstanceConnectionInfoWriteArgsDict(TypedDict): + host: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The host of the instance. + """ + port: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + The port of the instance. + """ + +@pulumi.input_type +class PostgresflexInstanceConnectionInfoWriteArgs: + def __init__(__self__, *, + host: pulumi.Input[Optional[_builtins.str]] = None, + port: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] host: The host of the instance. + :param pulumi.Input[_builtins.int] port: The port of the instance. + """ + if host is not None: + pulumi.set(__self__, "host", host) + if port is not None: + pulumi.set(__self__, "port", port) + + @_builtins.property + @pulumi.getter + def host(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The host of the instance. + """ + return pulumi.get(self, "host") + + @host.setter + def host(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "host", value) + + @_builtins.property + @pulumi.getter + def port(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The port of the instance. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "port", value) + + +class PostgresflexInstanceEncryptionArgsDict(TypedDict): + kek_key_id: pulumi.Input[_builtins.str] + """ + The ID of the Key within the STACKIT-KMS to use for the encryption. + """ + kek_key_version: pulumi.Input[_builtins.str] + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + kek_keyring_id: pulumi.Input[_builtins.str] + """ + The ID of the keyring where the key is located within the STACKTI-KMS. + """ + service_account: pulumi.Input[_builtins.str] + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + +@pulumi.input_type +class PostgresflexInstanceEncryptionArgs: + def __init__(__self__, *, + kek_key_id: pulumi.Input[_builtins.str], + kek_key_version: pulumi.Input[_builtins.str], + kek_keyring_id: pulumi.Input[_builtins.str], + service_account: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] kek_key_id: The ID of the Key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] kek_keyring_id: The ID of the keyring where the key is located within the STACKTI-KMS. + :param pulumi.Input[_builtins.str] service_account: Service-Account linked to the Key within the STACKIT-KMS. + """ + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the Key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_id") + + @kek_key_id.setter + def kek_key_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_key_id", value) + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> pulumi.Input[_builtins.str]: + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_version") + + @kek_key_version.setter + def kek_key_version(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_key_version", value) + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the keyring where the key is located within the STACKTI-KMS. + """ + return pulumi.get(self, "kek_keyring_id") + + @kek_keyring_id.setter + def kek_keyring_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_keyring_id", value) + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> pulumi.Input[_builtins.str]: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @service_account.setter + def service_account(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "service_account", value) + + class PostgresflexInstanceFlavorArgsDict(TypedDict): cpu: pulumi.Input[_builtins.int] ram: pulumi.Input[_builtins.int] description: NotRequired[pulumi.Input[Optional[_builtins.str]]] id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`". + """ + node_type: NotRequired[pulumi.Input[Optional[_builtins.str]]] @pulumi.input_type class PostgresflexInstanceFlavorArgs: @@ -7529,49 +8203,142 @@ def __init__(__self__, *, cpu: pulumi.Input[_builtins.int], ram: pulumi.Input[_builtins.int], description: pulumi.Input[Optional[_builtins.str]] = None, - id: pulumi.Input[Optional[_builtins.str]] = None): + id: pulumi.Input[Optional[_builtins.str]] = None, + node_type: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] id: Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`". + """ pulumi.set(__self__, "cpu", cpu) pulumi.set(__self__, "ram", ram) if description is not None: pulumi.set(__self__, "description", description) if id is not None: pulumi.set(__self__, "id", id) + if node_type is not None: + pulumi.set(__self__, "node_type", node_type) + + @_builtins.property + @pulumi.getter + def cpu(self) -> pulumi.Input[_builtins.int]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def ram(self) -> pulumi.Input[_builtins.int]: + return pulumi.get(self, "ram") + + @ram.setter + def ram(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "ram", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`". + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "id", value) + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "node_type") + + @node_type.setter + def node_type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "node_type", value) + + +class PostgresflexInstanceNetworkArgsDict(TypedDict): + access_scope: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + """ + acls: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + The Access Control List (ACL) for the PostgresFlex instance. + """ + instance_address: NotRequired[pulumi.Input[Optional[_builtins.str]]] + router_address: NotRequired[pulumi.Input[Optional[_builtins.str]]] + +@pulumi.input_type +class PostgresflexInstanceNetworkArgs: + def __init__(__self__, *, + access_scope: pulumi.Input[Optional[_builtins.str]] = None, + acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + instance_address: pulumi.Input[Optional[_builtins.str]] = None, + router_address: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the PostgresFlex instance. + """ + if access_scope is not None: + pulumi.set(__self__, "access_scope", access_scope) + if acls is not None: + pulumi.set(__self__, "acls", acls) + if instance_address is not None: + pulumi.set(__self__, "instance_address", instance_address) + if router_address is not None: + pulumi.set(__self__, "router_address", router_address) @_builtins.property - @pulumi.getter - def cpu(self) -> pulumi.Input[_builtins.int]: - return pulumi.get(self, "cpu") + @pulumi.getter(name="accessScope") + def access_scope(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + """ + return pulumi.get(self, "access_scope") - @cpu.setter - def cpu(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "cpu", value) + @access_scope.setter + def access_scope(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_scope", value) @_builtins.property @pulumi.getter - def ram(self) -> pulumi.Input[_builtins.int]: - return pulumi.get(self, "ram") + def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The Access Control List (ACL) for the PostgresFlex instance. + """ + return pulumi.get(self, "acls") - @ram.setter - def ram(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "ram", value) + @acls.setter + def acls(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "acls", value) @_builtins.property - @pulumi.getter - def description(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "description") + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "instance_address") - @description.setter - def description(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "description", value) + @instance_address.setter + def instance_address(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_address", value) @_builtins.property - @pulumi.getter - def id(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "id") + @pulumi.getter(name="routerAddress") + def router_address(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "router_address") - @id.setter - def id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "id", value) + @router_address.setter + def router_address(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "router_address", value) class PostgresflexInstanceStorageArgsDict(TypedDict): @@ -7579,9 +8346,42 @@ class PostgresflexInstanceStorageArgsDict(TypedDict): """ The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): `bash - stackit postgresflex options --storages --flavor-id FLAVOR_ID + stackit postgresflex flavor describe FLAVOR_ID ` - `size` (Number) + \\n\\n\\n\\n + ### Nested Schema for `encryption` + Required: + - `kek_key_id` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + - `kek_key_version` (String) Version of the key within the STACKIT-KMS to use for the encryption. + - `kek_keyring_id` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + - `service_account` (String) Service-Account linked to the Key within the STACKIT-KMS. + \\n\\n\\n\\n + ### Nested Schema for `flavor` + Required: + - `cpu` (Number) + - `ram` (Number) + Read-Only: + - `description` (String) + - `id` (String) + - `node_type` (String) + \\n\\n\\n\\n + ### Nested Schema for `network` + Optional: + - `access_scope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + Read-Only: + - `instance_address` (String) + - `router_address` (String) + \\n\\n\\n\\n + ### Nested Schema for `connection_info` + Read-Only: + - `write` (Attributes) The DNS name and port in the instance overview. + \\n\\n\\n\\n + ### Nested Schema for `connection_info.write` + Read-Only: + - `host` (String) The host of the instance. + - `port` (Number) The port of the instance. """ size: pulumi.Input[_builtins.int] @@ -7593,9 +8393,42 @@ def __init__(__self__, *, """ :param pulumi.Input[_builtins.str] class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): `bash - stackit postgresflex options --storages --flavor-id FLAVOR_ID + stackit postgresflex flavor describe FLAVOR_ID ` - `size` (Number) + \\n\\n\\n\\n + ### Nested Schema for `encryption` + Required: + - `kek_key_id` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + - `kek_key_version` (String) Version of the key within the STACKIT-KMS to use for the encryption. + - `kek_keyring_id` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + - `service_account` (String) Service-Account linked to the Key within the STACKIT-KMS. + \\n\\n\\n\\n + ### Nested Schema for `flavor` + Required: + - `cpu` (Number) + - `ram` (Number) + Read-Only: + - `description` (String) + - `id` (String) + - `node_type` (String) + \\n\\n\\n\\n + ### Nested Schema for `network` + Optional: + - `access_scope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + Read-Only: + - `instance_address` (String) + - `router_address` (String) + \\n\\n\\n\\n + ### Nested Schema for `connection_info` + Read-Only: + - `write` (Attributes) The DNS name and port in the instance overview. + \\n\\n\\n\\n + ### Nested Schema for `connection_info.write` + Read-Only: + - `host` (String) The host of the instance. + - `port` (Number) The port of the instance. """ pulumi.set(__self__, "class_", class_) pulumi.set(__self__, "size", size) @@ -7606,9 +8439,42 @@ def class_(self) -> pulumi.Input[_builtins.str]: """ The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): `bash - stackit postgresflex options --storages --flavor-id FLAVOR_ID + stackit postgresflex flavor describe FLAVOR_ID ` - `size` (Number) + \\n\\n\\n\\n + ### Nested Schema for `encryption` + Required: + - `kek_key_id` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + - `kek_key_version` (String) Version of the key within the STACKIT-KMS to use for the encryption. + - `kek_keyring_id` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + - `service_account` (String) Service-Account linked to the Key within the STACKIT-KMS. + \\n\\n\\n\\n + ### Nested Schema for `flavor` + Required: + - `cpu` (Number) + - `ram` (Number) + Read-Only: + - `description` (String) + - `id` (String) + - `node_type` (String) + \\n\\n\\n\\n + ### Nested Schema for `network` + Optional: + - `access_scope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + Read-Only: + - `instance_address` (String) + - `router_address` (String) + \\n\\n\\n\\n + ### Nested Schema for `connection_info` + Read-Only: + - `write` (Attributes) The DNS name and port in the instance overview. + \\n\\n\\n\\n + ### Nested Schema for `connection_info.write` + Read-Only: + - `host` (String) The host of the instance. + - `port` (Number) The port of the instance. """ return pulumi.get(self, "class_") @@ -9206,11 +10072,44 @@ def type(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "type", value) +class SkeClusterAuditArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enable cluster audit log forwarding to a Telemetry Router. + """ + +@pulumi.input_type +class SkeClusterAuditArgs: + def __init__(__self__, *, + enabled: pulumi.Input[Optional[_builtins.bool]] = None): + """ + :param pulumi.Input[_builtins.bool] enabled: Enable cluster audit log forwarding to a Telemetry Router. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Enable cluster audit log forwarding to a Telemetry Router. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enabled", value) + + class SkeClusterExtensionsArgsDict(TypedDict): acl: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsAclArgsDict']]] """ Cluster access control configuration. """ + application_load_balancer: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsApplicationLoadBalancerArgsDict']]] + """ + Application Load Balancer extension. + """ argus: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsArgusArgsDict']]] """ A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. @@ -9228,17 +10127,21 @@ class SkeClusterExtensionsArgsDict(TypedDict): class SkeClusterExtensionsArgs: def __init__(__self__, *, acl: pulumi.Input[Optional['SkeClusterExtensionsAclArgs']] = None, + application_load_balancer: pulumi.Input[Optional['SkeClusterExtensionsApplicationLoadBalancerArgs']] = None, argus: pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']] = None, dns: pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']] = None, observability: pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']] = None): """ :param pulumi.Input['SkeClusterExtensionsAclArgs'] acl: Cluster access control configuration. + :param pulumi.Input['SkeClusterExtensionsApplicationLoadBalancerArgs'] application_load_balancer: Application Load Balancer extension. :param pulumi.Input['SkeClusterExtensionsArgusArgs'] argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. :param pulumi.Input['SkeClusterExtensionsDnsArgs'] dns: DNS extension configuration :param pulumi.Input['SkeClusterExtensionsObservabilityArgs'] observability: A single observability block as defined below. """ if acl is not None: pulumi.set(__self__, "acl", acl) + if application_load_balancer is not None: + pulumi.set(__self__, "application_load_balancer", application_load_balancer) if argus is not None: warnings.warn("""Use observability instead.""", DeprecationWarning) pulumi.log.warn("""argus is deprecated: Use observability instead.""") @@ -9261,6 +10164,18 @@ def acl(self) -> pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]: def acl(self, value: pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]): pulumi.set(self, "acl", value) + @_builtins.property + @pulumi.getter(name="applicationLoadBalancer") + def application_load_balancer(self) -> pulumi.Input[Optional['SkeClusterExtensionsApplicationLoadBalancerArgs']]: + """ + Application Load Balancer extension. + """ + return pulumi.get(self, "application_load_balancer") + + @application_load_balancer.setter + def application_load_balancer(self, value: pulumi.Input[Optional['SkeClusterExtensionsApplicationLoadBalancerArgs']]): + pulumi.set(self, "application_load_balancer", value) + @_builtins.property @pulumi.getter @_utilities.deprecated("""Use observability instead.""") @@ -9346,6 +10261,35 @@ def enabled(self, value: pulumi.Input[_builtins.bool]): pulumi.set(self, "enabled", value) +class SkeClusterExtensionsApplicationLoadBalancerArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + """ + +@pulumi.input_type +class SkeClusterExtensionsApplicationLoadBalancerArgs: + def __init__(__self__, *, + enabled: pulumi.Input[Optional[_builtins.bool]] = None): + """ + :param pulumi.Input[_builtins.bool] enabled: Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enabled", value) + + class SkeClusterExtensionsArgusArgsDict(TypedDict): enabled: pulumi.Input[_builtins.bool] """ @@ -9399,6 +10343,10 @@ class SkeClusterExtensionsDnsArgsDict(TypedDict): """ Flag to enable/disable DNS extensions """ + gateway_api: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + """ zones: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] """ Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) @@ -9408,12 +10356,16 @@ class SkeClusterExtensionsDnsArgsDict(TypedDict): class SkeClusterExtensionsDnsArgs: def __init__(__self__, *, enabled: pulumi.Input[_builtins.bool], + gateway_api: pulumi.Input[Optional[_builtins.bool]] = None, zones: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): """ :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable DNS extensions + :param pulumi.Input[_builtins.bool] gateway_api: Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ pulumi.set(__self__, "enabled", enabled) + if gateway_api is not None: + pulumi.set(__self__, "gateway_api", gateway_api) if zones is not None: pulumi.set(__self__, "zones", zones) @@ -9429,6 +10381,18 @@ def enabled(self) -> pulumi.Input[_builtins.bool]: def enabled(self, value: pulumi.Input[_builtins.bool]): pulumi.set(self, "enabled", value) + @_builtins.property + @pulumi.getter(name="gatewayApi") + def gateway_api(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + """ + return pulumi.get(self, "gateway_api") + + @gateway_api.setter + def gateway_api(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "gateway_api", value) + @_builtins.property @pulumi.getter def zones(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: @@ -9698,7 +10662,7 @@ def id(self, value: pulumi.Input[Optional[_builtins.str]]): class SkeClusterNetworkControlPlaneArgsDict(TypedDict): access_scope: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ @pulumi.input_type @@ -9706,7 +10670,7 @@ class SkeClusterNetworkControlPlaneArgs: def __init__(__self__, *, access_scope: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.str] access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + :param pulumi.Input[_builtins.str] access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ if access_scope is not None: pulumi.set(__self__, "access_scope", access_scope) @@ -9715,7 +10679,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessScope") def access_scope(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ return pulumi.get(self, "access_scope") @@ -10027,116 +10991,290 @@ def os_version_min(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.getter(name="osVersionUsed") def os_version_used(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + """ + return pulumi.get(self, "os_version_used") + + @os_version_used.setter + def os_version_used(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "os_version_used", value) + + @_builtins.property + @pulumi.getter + def taints(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]: + """ + Specifies a taint list as defined below. + """ + return pulumi.get(self, "taints") + + @taints.setter + def taints(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]): + pulumi.set(self, "taints", value) + + @_builtins.property + @pulumi.getter(name="volumeSize") + def volume_size(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The volume size in GB. Defaults to `20` + """ + return pulumi.get(self, "volume_size") + + @volume_size.setter + def volume_size(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "volume_size", value) + + @_builtins.property + @pulumi.getter(name="volumeType") + def volume_type(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Specifies the volume type. Defaults to `storage_premium_perf1`. + """ + return pulumi.get(self, "volume_type") + + @volume_type.setter + def volume_type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "volume_type", value) + + +class SkeClusterNodePoolTaintArgsDict(TypedDict): + effect: pulumi.Input[_builtins.str] + """ + The taint effect. E.g `PreferNoSchedule`. + """ + key: pulumi.Input[_builtins.str] + """ + Taint key to be applied to a node. + """ + value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Taint value corresponding to the taint key. + """ + +@pulumi.input_type +class SkeClusterNodePoolTaintArgs: + def __init__(__self__, *, + effect: pulumi.Input[_builtins.str], + key: pulumi.Input[_builtins.str], + value: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] effect: The taint effect. E.g `PreferNoSchedule`. + :param pulumi.Input[_builtins.str] key: Taint key to be applied to a node. + :param pulumi.Input[_builtins.str] value: Taint value corresponding to the taint key. + """ + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def effect(self) -> pulumi.Input[_builtins.str]: + """ + The taint effect. E.g `PreferNoSchedule`. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "effect", value) + + @_builtins.property + @pulumi.getter + def key(self) -> pulumi.Input[_builtins.str]: + """ + Taint key to be applied to a node. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "key", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Taint value corresponding to the taint key. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "value", value) + + +class SqlserverflexDatabaseTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + delete: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + read: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + update: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + +@pulumi.input_type +class SqlserverflexDatabaseTimeoutsArgs: + def __init__(__self__, *, + create: pulumi.Input[Optional[_builtins.str]] = None, + delete: pulumi.Input[Optional[_builtins.str]] = None, + read: pulumi.Input[Optional[_builtins.str]] = None, + update: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param pulumi.Input[_builtins.str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[_builtins.str] read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + :param pulumi.Input[_builtins.str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + if update is not None: + pulumi.set(__self__, "update", update) + + @_builtins.property + @pulumi.getter + def create(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). """ - return pulumi.get(self, "os_version_used") + return pulumi.get(self, "create") - @os_version_used.setter - def os_version_used(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "os_version_used", value) + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) @_builtins.property @pulumi.getter - def taints(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]: + def delete(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Specifies a taint list as defined below. + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. """ - return pulumi.get(self, "taints") + return pulumi.get(self, "delete") - @taints.setter - def taints(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]): - pulumi.set(self, "taints", value) + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) @_builtins.property - @pulumi.getter(name="volumeSize") - def volume_size(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def read(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The volume size in GB. Defaults to `20` + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. """ - return pulumi.get(self, "volume_size") + return pulumi.get(self, "read") - @volume_size.setter - def volume_size(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "volume_size", value) + @read.setter + def read(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "read", value) @_builtins.property - @pulumi.getter(name="volumeType") - def volume_type(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def update(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Specifies the volume type. Defaults to `storage_premium_perf1`. + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). """ - return pulumi.get(self, "volume_type") + return pulumi.get(self, "update") - @volume_type.setter - def volume_type(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "volume_type", value) + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) -class SkeClusterNodePoolTaintArgsDict(TypedDict): - effect: pulumi.Input[_builtins.str] +class SqlserverflexInstanceEncryptionArgsDict(TypedDict): + kek_key_id: pulumi.Input[_builtins.str] """ - The taint effect. E.g `PreferNoSchedule`. + UUID of the key within the STACKIT-KMS to use for the encryption. """ - key: pulumi.Input[_builtins.str] + kek_key_version: pulumi.Input[_builtins.str] """ - Taint key to be applied to a node. + Version of the key within the STACKIT-KMS to use for the encryption. """ - value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + kek_keyring_id: pulumi.Input[_builtins.str] """ - Taint value corresponding to the taint key. + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + service_account: pulumi.Input[_builtins.str] + """ + Service-Account linked to the Key within the STACKIT-KMS. """ @pulumi.input_type -class SkeClusterNodePoolTaintArgs: +class SqlserverflexInstanceEncryptionArgs: def __init__(__self__, *, - effect: pulumi.Input[_builtins.str], - key: pulumi.Input[_builtins.str], - value: pulumi.Input[Optional[_builtins.str]] = None): + kek_key_id: pulumi.Input[_builtins.str], + kek_key_version: pulumi.Input[_builtins.str], + kek_keyring_id: pulumi.Input[_builtins.str], + service_account: pulumi.Input[_builtins.str]): """ - :param pulumi.Input[_builtins.str] effect: The taint effect. E.g `PreferNoSchedule`. - :param pulumi.Input[_builtins.str] key: Taint key to be applied to a node. - :param pulumi.Input[_builtins.str] value: Taint value corresponding to the taint key. + :param pulumi.Input[_builtins.str] kek_key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] kek_keyring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param pulumi.Input[_builtins.str] service_account: Service-Account linked to the Key within the STACKIT-KMS. """ - pulumi.set(__self__, "effect", effect) - pulumi.set(__self__, "key", key) - if value is not None: - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) @_builtins.property - @pulumi.getter - def effect(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> pulumi.Input[_builtins.str]: """ - The taint effect. E.g `PreferNoSchedule`. + UUID of the key within the STACKIT-KMS to use for the encryption. """ - return pulumi.get(self, "effect") + return pulumi.get(self, "kek_key_id") - @effect.setter - def effect(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "effect", value) + @kek_key_id.setter + def kek_key_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_key_id", value) @_builtins.property - @pulumi.getter - def key(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> pulumi.Input[_builtins.str]: """ - Taint key to be applied to a node. + Version of the key within the STACKIT-KMS to use for the encryption. """ - return pulumi.get(self, "key") + return pulumi.get(self, "kek_key_version") - @key.setter - def key(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "key", value) + @kek_key_version.setter + def kek_key_version(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_key_version", value) @_builtins.property - @pulumi.getter - def value(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> pulumi.Input[_builtins.str]: """ - Taint value corresponding to the taint key. + UUID of the keyring where the key is located within the STACKTI-KMS. """ - return pulumi.get(self, "value") + return pulumi.get(self, "kek_keyring_id") - @value.setter - def value(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "value", value) + @kek_keyring_id.setter + def kek_keyring_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_keyring_id", value) + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> pulumi.Input[_builtins.str]: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @service_account.setter + def service_account(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "service_account", value) class SqlserverflexInstanceFlavorArgsDict(TypedDict): @@ -10205,20 +11343,36 @@ class SqlserverflexInstanceNetworkArgsDict(TypedDict): """ List of IPV4 cidr. """ + instance_address: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Address of this instance. + """ + router_address: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Address of the router. + """ @pulumi.input_type class SqlserverflexInstanceNetworkArgs: def __init__(__self__, *, access_scope: pulumi.Input[Optional[_builtins.str]] = None, - acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): + acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + instance_address: pulumi.Input[Optional[_builtins.str]] = None, + router_address: pulumi.Input[Optional[_builtins.str]] = None): """ :param pulumi.Input[_builtins.str] access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: List of IPV4 cidr. + :param pulumi.Input[_builtins.str] instance_address: Address of this instance. + :param pulumi.Input[_builtins.str] router_address: Address of the router. """ if access_scope is not None: pulumi.set(__self__, "access_scope", access_scope) if acls is not None: pulumi.set(__self__, "acls", acls) + if instance_address is not None: + pulumi.set(__self__, "instance_address", instance_address) + if router_address is not None: + pulumi.set(__self__, "router_address", router_address) @_builtins.property @pulumi.getter(name="accessScope") @@ -10244,6 +11398,30 @@ def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: def acls(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "acls", value) + @_builtins.property + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Address of this instance. + """ + return pulumi.get(self, "instance_address") + + @instance_address.setter + def instance_address(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_address", value) + + @_builtins.property + @pulumi.getter(name="routerAddress") + def router_address(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Address of the router. + """ + return pulumi.get(self, "router_address") + + @router_address.setter + def router_address(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "router_address", value) + class SqlserverflexInstanceOptionsArgsDict(TypedDict): edition: NotRequired[pulumi.Input[Optional[_builtins.str]]] @@ -10255,19 +11433,19 @@ def __init__(__self__, *, edition: pulumi.Input[Optional[_builtins.str]] = None, retention_days: pulumi.Input[Optional[_builtins.int]] = None): if edition is not None: - warnings.warn("""edition is deprecated and will be removed after January 2027.""", DeprecationWarning) - pulumi.log.warn("""edition is deprecated: edition is deprecated and will be removed after January 2027.""") + warnings.warn("""edition is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""edition is deprecated: edition is deprecated and will be removed after February 2027.""") if edition is not None: pulumi.set(__self__, "edition", edition) if retention_days is not None: - warnings.warn("""retention_days is deprecated and will be removed after January 2027. Use instead `retention_days` from root.""", DeprecationWarning) - pulumi.log.warn("""retention_days is deprecated: retention_days is deprecated and will be removed after January 2027. Use instead `retention_days` from root.""") + warnings.warn("""retention_days is deprecated and will be removed after February 2027. Use instead `retention_days` from root.""", DeprecationWarning) + pulumi.log.warn("""retention_days is deprecated: retention_days is deprecated and will be removed after February 2027. Use instead `retention_days` from root.""") if retention_days is not None: pulumi.set(__self__, "retention_days", retention_days) @_builtins.property @pulumi.getter - @_utilities.deprecated("""edition is deprecated and will be removed after January 2027.""") + @_utilities.deprecated("""edition is deprecated and will be removed after February 2027.""") def edition(self) -> pulumi.Input[Optional[_builtins.str]]: return pulumi.get(self, "edition") @@ -10277,7 +11455,7 @@ def edition(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter(name="retentionDays") - @_utilities.deprecated("""retention_days is deprecated and will be removed after January 2027. Use instead `retention_days` from root.""") + @_utilities.deprecated("""retention_days is deprecated and will be removed after February 2027. Use instead `retention_days` from root.""") def retention_days(self) -> pulumi.Input[Optional[_builtins.int]]: return pulumi.get(self, "retention_days") @@ -10289,10 +11467,7 @@ def retention_days(self, value: pulumi.Input[Optional[_builtins.int]]): class SqlserverflexInstanceStorageArgsDict(TypedDict): class_: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - `bash - stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - ` Will be required in the future. Set a value to prevent breaking changes. + The storage class. You can list available storage classes for a the according flavors using the datasource `get_sqlserverflex_flavors`. Will be required in the future. Set a value to prevent breaking changes. """ size: NotRequired[pulumi.Input[Optional[_builtins.int]]] """ @@ -10305,10 +11480,7 @@ def __init__(__self__, *, class_: pulumi.Input[Optional[_builtins.str]] = None, size: pulumi.Input[Optional[_builtins.int]] = None): """ - :param pulumi.Input[_builtins.str] class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - `bash - stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - ` Will be required in the future. Set a value to prevent breaking changes. + :param pulumi.Input[_builtins.str] class_: The storage class. You can list available storage classes for a the according flavors using the datasource `get_sqlserverflex_flavors`. Will be required in the future. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.int] size: The storage size in Gigabytes. Will be required in the future. Set a value to prevent breaking changes. """ if class_ is not None: @@ -10320,10 +11492,7 @@ def __init__(__self__, *, @pulumi.getter(name="class") def class_(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - `bash - stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - ` Will be required in the future. Set a value to prevent breaking changes. + The storage class. You can list available storage classes for a the according flavors using the datasource `get_sqlserverflex_flavors`. Will be required in the future. Set a value to prevent breaking changes. """ return pulumi.get(self, "class_") @@ -12683,11 +13852,106 @@ def version(self, value: Optional[_builtins.str]): pulumi.set(self, "version", value) +class GetPostgresflexFlavorsTimeoutsArgsDict(TypedDict): + read: NotRequired[_builtins.str] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + +@pulumi.input_type +class GetPostgresflexFlavorsTimeoutsArgs: + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "read") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + +class GetSqlserverflexDatabaseTimeoutsArgsDict(TypedDict): + read: NotRequired[_builtins.str] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + +@pulumi.input_type +class GetSqlserverflexDatabaseTimeoutsArgs: + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "read") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + +class GetSqlserverflexFlavorsTimeoutsArgsDict(TypedDict): + read: NotRequired[_builtins.str] + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + +@pulumi.input_type +class GetSqlserverflexFlavorsTimeoutsArgs: + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "read") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + class GetSqlserverflexInstanceNetworkArgsDict(TypedDict): acls: Sequence[_builtins.str] """ List of IPV4 cidr. """ + instance_address: _builtins.str + """ + Address of this instance. + """ + router_address: _builtins.str + """ + Address of the router. + """ access_scope: NotRequired[_builtins.str] """ The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. @@ -12697,12 +13961,18 @@ class GetSqlserverflexInstanceNetworkArgsDict(TypedDict): class GetSqlserverflexInstanceNetworkArgs: def __init__(__self__, *, acls: Sequence[_builtins.str], + instance_address: _builtins.str, + router_address: _builtins.str, access_scope: Optional[_builtins.str] = None): """ :param Sequence[_builtins.str] acls: List of IPV4 cidr. + :param _builtins.str instance_address: Address of this instance. + :param _builtins.str router_address: Address of the router. :param _builtins.str access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. """ pulumi.set(__self__, "acls", acls) + pulumi.set(__self__, "instance_address", instance_address) + pulumi.set(__self__, "router_address", router_address) if access_scope is not None: pulumi.set(__self__, "access_scope", access_scope) @@ -12718,6 +13988,30 @@ def acls(self) -> Sequence[_builtins.str]: def acls(self, value: Sequence[_builtins.str]): pulumi.set(self, "acls", value) + @_builtins.property + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> _builtins.str: + """ + Address of this instance. + """ + return pulumi.get(self, "instance_address") + + @instance_address.setter + def instance_address(self, value: _builtins.str): + pulumi.set(self, "instance_address", value) + + @_builtins.property + @pulumi.getter(name="routerAddress") + def router_address(self) -> _builtins.str: + """ + Address of the router. + """ + return pulumi.get(self, "router_address") + + @router_address.setter + def router_address(self, value: _builtins.str): + pulumi.set(self, "router_address", value) + @_builtins.property @pulumi.getter(name="accessScope") def access_scope(self) -> Optional[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/alb_waf_configuration.py b/sdk/python/pulumi_stackit/alb_waf_configuration.py new file mode 100644 index 00000000..8ee37b6e --- /dev/null +++ b/sdk/python/pulumi_stackit/alb_waf_configuration.py @@ -0,0 +1,399 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = ['AlbWafConfigurationArgs', 'AlbWafConfiguration'] + +@pulumi.input_type +class AlbWafConfigurationArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + custom_rule_group_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + managed_rule_set_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a AlbWafConfiguration resource. + + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the WAF Configuration is associated. + :param pulumi.Input[_builtins.str] custom_rule_group_name: Name of the custom rule group for this WAF Configuration. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined metadata as key-value pairs. Should not exceed 64 entries. + :param pulumi.Input[_builtins.str] managed_rule_set_name: Name of the managed rule set configuration for this WAF Configuration. + :param pulumi.Input[_builtins.str] name: The name of the WAF Configuration. + :param pulumi.Input[_builtins.str] region: The resource region (e.g. eu01). If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + if custom_rule_group_name is not None: + pulumi.set(__self__, "custom_rule_group_name", custom_rule_group_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if managed_rule_set_name is not None: + pulumi.set(__self__, "managed_rule_set_name", managed_rule_set_name) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the WAF Configuration is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="customRuleGroupName") + def custom_rule_group_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Name of the custom rule group for this WAF Configuration. + """ + return pulumi.get(self, "custom_rule_group_name") + + @custom_rule_group_name.setter + def custom_rule_group_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "custom_rule_group_name", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + User-defined metadata as key-value pairs. Should not exceed 64 entries. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter(name="managedRuleSetName") + def managed_rule_set_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Name of the managed rule set configuration for this WAF Configuration. + """ + return pulumi.get(self, "managed_rule_set_name") + + @managed_rule_set_name.setter + def managed_rule_set_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "managed_rule_set_name", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The name of the WAF Configuration. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region (e.g. eu01). If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _AlbWafConfigurationState: + def __init__(__self__, *, + custom_rule_group_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + managed_rule_set_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering AlbWafConfiguration resources. + + :param pulumi.Input[_builtins.str] custom_rule_group_name: Name of the custom rule group for this WAF Configuration. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined metadata as key-value pairs. Should not exceed 64 entries. + :param pulumi.Input[_builtins.str] managed_rule_set_name: Name of the managed rule set configuration for this WAF Configuration. + :param pulumi.Input[_builtins.str] name: The name of the WAF Configuration. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the WAF Configuration is associated. + :param pulumi.Input[_builtins.str] region: The resource region (e.g. eu01). If not defined, the provider region is used. + """ + if custom_rule_group_name is not None: + pulumi.set(__self__, "custom_rule_group_name", custom_rule_group_name) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if managed_rule_set_name is not None: + pulumi.set(__self__, "managed_rule_set_name", managed_rule_set_name) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="customRuleGroupName") + def custom_rule_group_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Name of the custom rule group for this WAF Configuration. + """ + return pulumi.get(self, "custom_rule_group_name") + + @custom_rule_group_name.setter + def custom_rule_group_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "custom_rule_group_name", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + User-defined metadata as key-value pairs. Should not exceed 64 entries. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter(name="managedRuleSetName") + def managed_rule_set_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Name of the managed rule set configuration for this WAF Configuration. + """ + return pulumi.get(self, "managed_rule_set_name") + + @managed_rule_set_name.setter + def managed_rule_set_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "managed_rule_set_name", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The name of the WAF Configuration. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID to which the WAF Configuration is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region (e.g. eu01). If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.type_token("stackit:index/albWafConfiguration:AlbWafConfiguration") +class AlbWafConfiguration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + custom_rule_group_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + managed_rule_set_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] custom_rule_group_name: Name of the custom rule group for this WAF Configuration. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined metadata as key-value pairs. Should not exceed 64 entries. + :param pulumi.Input[_builtins.str] managed_rule_set_name: Name of the managed rule set configuration for this WAF Configuration. + :param pulumi.Input[_builtins.str] name: The name of the WAF Configuration. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the WAF Configuration is associated. + :param pulumi.Input[_builtins.str] region: The resource region (e.g. eu01). If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlbWafConfigurationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param AlbWafConfigurationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AlbWafConfigurationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + custom_rule_group_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + managed_rule_set_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AlbWafConfigurationArgs.__new__(AlbWafConfigurationArgs) + + __props__.__dict__["custom_rule_group_name"] = custom_rule_group_name + __props__.__dict__["labels"] = labels + __props__.__dict__["managed_rule_set_name"] = managed_rule_set_name + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + super(AlbWafConfiguration, __self__).__init__( + 'stackit:index/albWafConfiguration:AlbWafConfiguration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + custom_rule_group_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + managed_rule_set_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None) -> 'AlbWafConfiguration': + """ + Get an existing AlbWafConfiguration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] custom_rule_group_name: Name of the custom rule group for this WAF Configuration. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined metadata as key-value pairs. Should not exceed 64 entries. + :param pulumi.Input[_builtins.str] managed_rule_set_name: Name of the managed rule set configuration for this WAF Configuration. + :param pulumi.Input[_builtins.str] name: The name of the WAF Configuration. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the WAF Configuration is associated. + :param pulumi.Input[_builtins.str] region: The resource region (e.g. eu01). If not defined, the provider region is used. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlbWafConfigurationState.__new__(_AlbWafConfigurationState) + + __props__.__dict__["custom_rule_group_name"] = custom_rule_group_name + __props__.__dict__["labels"] = labels + __props__.__dict__["managed_rule_set_name"] = managed_rule_set_name + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + return AlbWafConfiguration(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="customRuleGroupName") + def custom_rule_group_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Name of the custom rule group for this WAF Configuration. + """ + return pulumi.get(self, "custom_rule_group_name") + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + User-defined metadata as key-value pairs. Should not exceed 64 entries. + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="managedRuleSetName") + def managed_rule_set_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Name of the managed rule set configuration for this WAF Configuration. + """ + return pulumi.get(self, "managed_rule_set_name") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + The name of the WAF Configuration. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the WAF Configuration is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region (e.g. eu01). If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + diff --git a/sdk/python/pulumi_stackit/alb_waf_custom_rule_group.py b/sdk/python/pulumi_stackit/alb_waf_custom_rule_group.py new file mode 100644 index 00000000..9bd85926 --- /dev/null +++ b/sdk/python/pulumi_stackit/alb_waf_custom_rule_group.py @@ -0,0 +1,308 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AlbWafCustomRuleGroupArgs', 'AlbWafCustomRuleGroup'] + +@pulumi.input_type +class AlbWafCustomRuleGroupArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + rules: pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]], + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a AlbWafCustomRuleGroup resource. + + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Custom Rule Group. + :param pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]] rules: Enriched rules containing auto-generated IDs and computed severity values. + :param pulumi.Input[_builtins.str] name: Custom rule group configuration name. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "rules", rules) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the ALB WAF Custom Rule Group. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def rules(self) -> pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]]: + """ + Enriched rules containing auto-generated IDs and computed severity values. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]]): + pulumi.set(self, "rules", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom rule group configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _AlbWafCustomRuleGroupState: + def __init__(__self__, *, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rules: pulumi.Input[Optional[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]]] = None): + """ + Input properties used for looking up and filtering AlbWafCustomRuleGroup resources. + + :param pulumi.Input[_builtins.str] name: Custom rule group configuration name. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Custom Rule Group. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]] rules: Enriched rules containing auto-generated IDs and computed severity values. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom rule group configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID associated with the ALB WAF Custom Rule Group. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def rules(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]]]: + """ + Enriched rules containing auto-generated IDs and computed severity values. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['AlbWafCustomRuleGroupRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +@pulumi.type_token("stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup") +class AlbWafCustomRuleGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rules: pulumi.Input[Optional[Sequence[pulumi.Input[Union['AlbWafCustomRuleGroupRuleArgs', 'AlbWafCustomRuleGroupRuleArgsDict']]]]] = None, + __props__=None): + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] name: Custom rule group configuration name. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Custom Rule Group. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Sequence[pulumi.Input[Union['AlbWafCustomRuleGroupRuleArgs', 'AlbWafCustomRuleGroupRuleArgsDict']]]] rules: Enriched rules containing auto-generated IDs and computed severity values. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlbWafCustomRuleGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param AlbWafCustomRuleGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AlbWafCustomRuleGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rules: pulumi.Input[Optional[Sequence[pulumi.Input[Union['AlbWafCustomRuleGroupRuleArgs', 'AlbWafCustomRuleGroupRuleArgsDict']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AlbWafCustomRuleGroupArgs.__new__(AlbWafCustomRuleGroupArgs) + + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + if rules is None and not opts.urn: + raise TypeError("Missing required property 'rules'") + __props__.__dict__["rules"] = rules + super(AlbWafCustomRuleGroup, __self__).__init__( + 'stackit:index/albWafCustomRuleGroup:AlbWafCustomRuleGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rules: pulumi.Input[Optional[Sequence[pulumi.Input[Union['AlbWafCustomRuleGroupRuleArgs', 'AlbWafCustomRuleGroupRuleArgsDict']]]]] = None) -> 'AlbWafCustomRuleGroup': + """ + Get an existing AlbWafCustomRuleGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] name: Custom rule group configuration name. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Custom Rule Group. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Sequence[pulumi.Input[Union['AlbWafCustomRuleGroupRuleArgs', 'AlbWafCustomRuleGroupRuleArgsDict']]]] rules: Enriched rules containing auto-generated IDs and computed severity values. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlbWafCustomRuleGroupState.__new__(_AlbWafCustomRuleGroupState) + + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["rules"] = rules + return AlbWafCustomRuleGroup(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Custom rule group configuration name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the ALB WAF Custom Rule Group. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def rules(self) -> pulumi.Output[Sequence['outputs.AlbWafCustomRuleGroupRule']]: + """ + Enriched rules containing auto-generated IDs and computed severity values. + """ + return pulumi.get(self, "rules") + diff --git a/sdk/python/pulumi_stackit/alb_waf_managed_rule_set.py b/sdk/python/pulumi_stackit/alb_waf_managed_rule_set.py new file mode 100644 index 00000000..37ea6ba5 --- /dev/null +++ b/sdk/python/pulumi_stackit/alb_waf_managed_rule_set.py @@ -0,0 +1,364 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AlbWafManagedRuleSetArgs', 'AlbWafManagedRuleSet'] + +@pulumi.input_type +class AlbWafManagedRuleSetArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + type: pulumi.Input[_builtins.str], + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a AlbWafManagedRuleSet resource. + + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Managed Rule Set. + :param pulumi.Input[_builtins.str] type: Type of the Managed Rule Set. + :param pulumi.Input[_builtins.str] name: Managed Rule Set configuration name. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "type", type) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the ALB WAF Managed Rule Set. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + Type of the Managed Rule Set. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Managed Rule Set configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _AlbWafManagedRuleSetState: + def __init__(__self__, *, + groups: pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsArgs']]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + type: pulumi.Input[Optional[_builtins.str]] = None, + version: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering AlbWafManagedRuleSet resources. + + :param pulumi.Input[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsArgs']]] groups: Inventory of all available Managed Rule Set groups and their current configuration. + :param pulumi.Input[_builtins.str] name: Managed Rule Set configuration name. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Managed Rule Set. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] type: Type of the Managed Rule Set. + :param pulumi.Input[_builtins.str] version: Managed Rule Set version. + """ + if groups is not None: + pulumi.set(__self__, "groups", groups) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if type is not None: + pulumi.set(__self__, "type", type) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def groups(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsArgs']]]]: + """ + Inventory of all available Managed Rule Set groups and their current configuration. + """ + return pulumi.get(self, "groups") + + @groups.setter + def groups(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input['AlbWafManagedRuleSetGroupsArgs']]]]): + pulumi.set(self, "groups", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Managed Rule Set configuration name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID associated with the ALB WAF Managed Rule Set. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Type of the Managed Rule Set. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def version(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Managed Rule Set version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "version", value) + + +@pulumi.type_token("stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet") +class AlbWafManagedRuleSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + type: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + ALB WAF Managed Rule Set resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] name: Managed Rule Set configuration name. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Managed Rule Set. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] type: Type of the Managed Rule Set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AlbWafManagedRuleSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ALB WAF Managed Rule Set resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param AlbWafManagedRuleSetArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AlbWafManagedRuleSetArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + type: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AlbWafManagedRuleSetArgs.__new__(AlbWafManagedRuleSetArgs) + + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + __props__.__dict__["groups"] = None + __props__.__dict__["version"] = None + super(AlbWafManagedRuleSet, __self__).__init__( + 'stackit:index/albWafManagedRuleSet:AlbWafManagedRuleSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + groups: pulumi.Input[Optional[Mapping[str, pulumi.Input[Union['AlbWafManagedRuleSetGroupsArgs', 'AlbWafManagedRuleSetGroupsArgsDict']]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + type: pulumi.Input[Optional[_builtins.str]] = None, + version: pulumi.Input[Optional[_builtins.str]] = None) -> 'AlbWafManagedRuleSet': + """ + Get an existing AlbWafManagedRuleSet resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[Union['AlbWafManagedRuleSetGroupsArgs', 'AlbWafManagedRuleSetGroupsArgsDict']]]] groups: Inventory of all available Managed Rule Set groups and their current configuration. + :param pulumi.Input[_builtins.str] name: Managed Rule Set configuration name. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the ALB WAF Managed Rule Set. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] type: Type of the Managed Rule Set. + :param pulumi.Input[_builtins.str] version: Managed Rule Set version. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AlbWafManagedRuleSetState.__new__(_AlbWafManagedRuleSetState) + + __props__.__dict__["groups"] = groups + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["type"] = type + __props__.__dict__["version"] = version + return AlbWafManagedRuleSet(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def groups(self) -> pulumi.Output[Mapping[str, 'outputs.AlbWafManagedRuleSetGroups']]: + """ + Inventory of all available Managed Rule Set groups and their current configuration. + """ + return pulumi.get(self, "groups") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Managed Rule Set configuration name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the ALB WAF Managed Rule Set. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Output[_builtins.str]: + """ + Type of the Managed Rule Set. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def version(self) -> pulumi.Output[_builtins.str]: + """ + Managed Rule Set version. + """ + return pulumi.get(self, "version") + diff --git a/sdk/python/pulumi_stackit/config/__init__.pyi b/sdk/python/pulumi_stackit/config/__init__.pyi index b368b147..c71025ff 100644 --- a/sdk/python/pulumi_stackit/config/__init__.pyi +++ b/sdk/python/pulumi_stackit/config/__init__.pyi @@ -24,6 +24,11 @@ albCustomEndpoint: Optional[str] Custom endpoint for the Application Load Balancer service """ +albWafCustomEndpoint: Optional[str] +""" +Custom endpoint for the Application Load Balancer Web Application Firewall service +""" + authorizationCustomEndpoint: Optional[str] """ Custom endpoint for the Membership service @@ -109,6 +114,11 @@ mariadbCustomEndpoint: Optional[str] Custom endpoint for the MariaDB service """ +modelexperimentsCustomEndpoint: Optional[str] +""" +Custom endpoint for the AI Model Experiments service +""" + modelservingCustomEndpoint: Optional[str] """ Custom endpoint for the AI Model Serving service @@ -169,11 +179,6 @@ redisCustomEndpoint: Optional[str] Custom endpoint for the Redis service """ -region: Optional[str] -""" -Region will be used as the default location for regional services. Not all services require a region, some are global -""" - resourcemanagerCustomEndpoint: Optional[str] """ Custom endpoint for the Resource Manager service diff --git a/sdk/python/pulumi_stackit/config/vars.py b/sdk/python/pulumi_stackit/config/vars.py index 9bd18f10..2f5c2526 100644 --- a/sdk/python/pulumi_stackit/config/vars.py +++ b/sdk/python/pulumi_stackit/config/vars.py @@ -34,6 +34,13 @@ def alb_custom_endpoint(self) -> Optional[str]: """ return __config__.get('albCustomEndpoint') + @_builtins.property + def alb_waf_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Application Load Balancer Web Application Firewall service + """ + return __config__.get('albWafCustomEndpoint') + @_builtins.property def authorization_custom_endpoint(self) -> Optional[str]: """ @@ -153,6 +160,13 @@ def mariadb_custom_endpoint(self) -> Optional[str]: """ return __config__.get('mariadbCustomEndpoint') + @_builtins.property + def modelexperiments_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the AI Model Experiments service + """ + return __config__.get('modelexperimentsCustomEndpoint') + @_builtins.property def modelserving_custom_endpoint(self) -> Optional[str]: """ @@ -237,13 +251,6 @@ def redis_custom_endpoint(self) -> Optional[str]: """ return __config__.get('redisCustomEndpoint') - @_builtins.property - def region(self) -> Optional[str]: - """ - Region will be used as the default location for regional services. Not all services require a region, some are global - """ - return __config__.get('region') - @_builtins.property def resourcemanager_custom_endpoint(self) -> Optional[str]: """ diff --git a/sdk/python/pulumi_stackit/dns_zone.py b/sdk/python/pulumi_stackit/dns_zone.py index c8a90ec8..fe418195 100644 --- a/sdk/python/pulumi_stackit/dns_zone.py +++ b/sdk/python/pulumi_stackit/dns_zone.py @@ -42,7 +42,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] dns_name: The zone name. E.g. `example.com` :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the dns zone is associated. - :param pulumi.Input[_builtins.str] acl: The access control list. E.g. `0.0.0.0/0,::/0` + :param pulumi.Input[_builtins.str] acl: The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. :param pulumi.Input[_builtins.str] contact_email: A contact e-mail for the zone. :param pulumi.Input[_builtins.int] default_ttl: Default time to live. E.g. 3600. :param pulumi.Input[_builtins.str] description: Description of the zone. @@ -114,7 +114,7 @@ def project_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def acl(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The access control list. E.g. `0.0.0.0/0,::/0` + The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. """ return pulumi.get(self, "acl") @@ -301,7 +301,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering DnsZone resources. - :param pulumi.Input[_builtins.str] acl: The access control list. E.g. `0.0.0.0/0,::/0` + :param pulumi.Input[_builtins.str] acl: The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. :param pulumi.Input[_builtins.str] contact_email: A contact e-mail for the zone. :param pulumi.Input[_builtins.int] default_ttl: Default time to live. E.g. 3600. :param pulumi.Input[_builtins.str] description: Description of the zone. @@ -371,7 +371,7 @@ def __init__(__self__, *, @pulumi.getter def acl(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The access control list. E.g. `0.0.0.0/0,::/0` + The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. """ return pulumi.get(self, "acl") @@ -661,7 +661,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] acl: The access control list. E.g. `0.0.0.0/0,::/0` + :param pulumi.Input[_builtins.str] acl: The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. :param pulumi.Input[_builtins.str] contact_email: A contact e-mail for the zone. :param pulumi.Input[_builtins.int] default_ttl: Default time to live. E.g. 3600. :param pulumi.Input[_builtins.str] description: Description of the zone. @@ -797,7 +797,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] acl: The access control list. E.g. `0.0.0.0/0,::/0` + :param pulumi.Input[_builtins.str] acl: The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. :param pulumi.Input[_builtins.str] contact_email: A contact e-mail for the zone. :param pulumi.Input[_builtins.int] default_ttl: Default time to live. E.g. 3600. :param pulumi.Input[_builtins.str] description: Description of the zone. @@ -850,7 +850,7 @@ def get(resource_name: str, @pulumi.getter def acl(self) -> pulumi.Output[_builtins.str]: """ - The access control list. E.g. `0.0.0.0/0,::/0` + The access control list (e.g., 0.0.0.0/0,::/0). Note: This field currently has no effect and does not enforce any access restrictions on the DNS zone. """ return pulumi.get(self, "acl") diff --git a/sdk/python/pulumi_stackit/get_alb_waf_configuration.py b/sdk/python/pulumi_stackit/get_alb_waf_configuration.py new file mode 100644 index 00000000..34b75a7e --- /dev/null +++ b/sdk/python/pulumi_stackit/get_alb_waf_configuration.py @@ -0,0 +1,184 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetAlbWafConfigurationResult', + 'AwaitableGetAlbWafConfigurationResult', + 'get_alb_waf_configuration', + 'get_alb_waf_configuration_output', +] + +@pulumi.output_type +class GetAlbWafConfigurationResult: + """ + A collection of values returned by getAlbWafConfiguration. + """ + def __init__(__self__, custom_rule_group_name=None, id=None, labels=None, managed_rule_set_name=None, name=None, project_id=None, region=None): + if custom_rule_group_name and not isinstance(custom_rule_group_name, str): + raise TypeError("Expected argument 'custom_rule_group_name' to be a str") + pulumi.set(__self__, "custom_rule_group_name", custom_rule_group_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if managed_rule_set_name and not isinstance(managed_rule_set_name, str): + raise TypeError("Expected argument 'managed_rule_set_name' to be a str") + pulumi.set(__self__, "managed_rule_set_name", managed_rule_set_name) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="customRuleGroupName") + def custom_rule_group_name(self) -> _builtins.str: + """ + Name of the custom rule group for this WAF Configuration. + """ + return pulumi.get(self, "custom_rule_group_name") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource ID. It is structured as "`project_id`,`region`,`name`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + User-defined metadata as key-value pairs. Should not exceed 64 entries. + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="managedRuleSetName") + def managed_rule_set_name(self) -> _builtins.str: + """ + Name of the managed rule set configuration for this WAF Configuration. + """ + return pulumi.get(self, "managed_rule_set_name") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the WAF Configuration. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the WAF Configuration is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region (e.g. eu01). If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + +class AwaitableGetAlbWafConfigurationResult(GetAlbWafConfigurationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAlbWafConfigurationResult( + custom_rule_group_name=self.custom_rule_group_name, + id=self.id, + labels=self.labels, + managed_rule_set_name=self.managed_rule_set_name, + name=self.name, + project_id=self.project_id, + region=self.region) + + +def get_alb_waf_configuration(name: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAlbWafConfigurationResult: + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param _builtins.str name: The name of the WAF Configuration. + :param _builtins.str project_id: STACKIT project ID to which the WAF Configuration is associated. + :param _builtins.str region: The resource region (e.g. eu01). If not defined, the provider region is used. + """ + __args__ = dict() + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getAlbWafConfiguration:getAlbWafConfiguration', __args__, opts=opts, typ=GetAlbWafConfigurationResult).value + + return AwaitableGetAlbWafConfigurationResult( + custom_rule_group_name=pulumi.get(__ret__, 'custom_rule_group_name'), + id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), + managed_rule_set_name=pulumi.get(__ret__, 'managed_rule_set_name'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region')) +def get_alb_waf_configuration_output(name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlbWafConfigurationResult]: + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param _builtins.str name: The name of the WAF Configuration. + :param _builtins.str project_id: STACKIT project ID to which the WAF Configuration is associated. + :param _builtins.str region: The resource region (e.g. eu01). If not defined, the provider region is used. + """ + __args__ = dict() + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getAlbWafConfiguration:getAlbWafConfiguration', __args__, opts=opts, typ=GetAlbWafConfigurationResult) + return __ret__.apply(lambda __response__: GetAlbWafConfigurationResult( + custom_rule_group_name=pulumi.get(__response__, 'custom_rule_group_name'), + id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), + managed_rule_set_name=pulumi.get(__response__, 'managed_rule_set_name'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_alb_waf_custom_rule_group.py b/sdk/python/pulumi_stackit/get_alb_waf_custom_rule_group.py new file mode 100644 index 00000000..89a7dd44 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_alb_waf_custom_rule_group.py @@ -0,0 +1,157 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs + +__all__ = [ + 'GetAlbWafCustomRuleGroupResult', + 'AwaitableGetAlbWafCustomRuleGroupResult', + 'get_alb_waf_custom_rule_group', + 'get_alb_waf_custom_rule_group_output', +] + +@pulumi.output_type +class GetAlbWafCustomRuleGroupResult: + """ + A collection of values returned by getAlbWafCustomRuleGroup. + """ + def __init__(__self__, id=None, name=None, project_id=None, region=None, rules=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if rules and not isinstance(rules, list): + raise TypeError("Expected argument 'rules' to be a list") + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. Structured as "`project_id`,`region`,`name`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Custom rule group configuration name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the ALB WAF Custom Rule Group. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def rules(self) -> Sequence['outputs.GetAlbWafCustomRuleGroupRuleResult']: + """ + Enriched rules containing auto-generated IDs and computed severity values. + """ + return pulumi.get(self, "rules") + + +class AwaitableGetAlbWafCustomRuleGroupResult(GetAlbWafCustomRuleGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAlbWafCustomRuleGroupResult( + id=self.id, + name=self.name, + project_id=self.project_id, + region=self.region, + rules=self.rules) + + +def get_alb_waf_custom_rule_group(name: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAlbWafCustomRuleGroupResult: + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param _builtins.str name: Custom rule group configuration name. + :param _builtins.str project_id: STACKIT project ID associated with the ALB WAF Custom Rule Group. + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup', __args__, opts=opts, typ=GetAlbWafCustomRuleGroupResult).value + + return AwaitableGetAlbWafCustomRuleGroupResult( + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + rules=pulumi.get(__ret__, 'rules')) +def get_alb_waf_custom_rule_group_output(name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlbWafCustomRuleGroupResult]: + """ + ALB WAF Custom Rule Group resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param _builtins.str name: Custom rule group configuration name. + :param _builtins.str project_id: STACKIT project ID associated with the ALB WAF Custom Rule Group. + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getAlbWafCustomRuleGroup:getAlbWafCustomRuleGroup', __args__, opts=opts, typ=GetAlbWafCustomRuleGroupResult) + return __ret__.apply(lambda __response__: GetAlbWafCustomRuleGroupResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + rules=pulumi.get(__response__, 'rules'))) diff --git a/sdk/python/pulumi_stackit/get_alb_waf_managed_rule_set.py b/sdk/python/pulumi_stackit/get_alb_waf_managed_rule_set.py new file mode 100644 index 00000000..73713085 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_alb_waf_managed_rule_set.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs + +__all__ = [ + 'GetAlbWafManagedRuleSetResult', + 'AwaitableGetAlbWafManagedRuleSetResult', + 'get_alb_waf_managed_rule_set', + 'get_alb_waf_managed_rule_set_output', +] + +@pulumi.output_type +class GetAlbWafManagedRuleSetResult: + """ + A collection of values returned by getAlbWafManagedRuleSet. + """ + def __init__(__self__, groups=None, id=None, name=None, project_id=None, region=None, type=None, version=None): + if groups and not isinstance(groups, dict): + raise TypeError("Expected argument 'groups' to be a dict") + pulumi.set(__self__, "groups", groups) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + if version and not isinstance(version, str): + raise TypeError("Expected argument 'version' to be a str") + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def groups(self) -> Mapping[str, 'outputs.GetAlbWafManagedRuleSetGroupsResult']: + """ + Inventory of all available Managed Rule Set groups and their current configuration. + """ + return pulumi.get(self, "groups") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. Structured as "`project_id`,`region`,`name`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Managed Rule Set configuration name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the ALB WAF Managed Rule Set. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + Type of the Managed Rule Set. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def version(self) -> _builtins.str: + """ + Managed Rule Set version. + """ + return pulumi.get(self, "version") + + +class AwaitableGetAlbWafManagedRuleSetResult(GetAlbWafManagedRuleSetResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAlbWafManagedRuleSetResult( + groups=self.groups, + id=self.id, + name=self.name, + project_id=self.project_id, + region=self.region, + type=self.type, + version=self.version) + + +def get_alb_waf_managed_rule_set(name: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAlbWafManagedRuleSetResult: + """ + ALB WAF Managed Rule Set DataSource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + + > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param _builtins.str name: Managed Rule Set configuration name. + :param _builtins.str project_id: STACKIT project ID associated with the ALB WAF Managed Rule Set. + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet', __args__, opts=opts, typ=GetAlbWafManagedRuleSetResult).value + + return AwaitableGetAlbWafManagedRuleSetResult( + groups=pulumi.get(__ret__, 'groups'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + type=pulumi.get(__ret__, 'type'), + version=pulumi.get(__ret__, 'version')) +def get_alb_waf_managed_rule_set_output(name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlbWafManagedRuleSetResult]: + """ + ALB WAF Managed Rule Set DataSource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + + > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. + + ## Example Usage + + + :param _builtins.str name: Managed Rule Set configuration name. + :param _builtins.str project_id: STACKIT project ID associated with the ALB WAF Managed Rule Set. + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getAlbWafManagedRuleSet:getAlbWafManagedRuleSet', __args__, opts=opts, typ=GetAlbWafManagedRuleSetResult) + return __ret__.apply(lambda __response__: GetAlbWafManagedRuleSetResult( + groups=pulumi.get(__response__, 'groups'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + type=pulumi.get(__response__, 'type'), + version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_stackit/get_kms_key.py b/sdk/python/pulumi_stackit/get_kms_key.py index 5341b3f2..e9215714 100644 --- a/sdk/python/pulumi_stackit/get_kms_key.py +++ b/sdk/python/pulumi_stackit/get_kms_key.py @@ -140,7 +140,7 @@ def project_id(self) -> _builtins.str: @pulumi.getter def protection(self) -> _builtins.str: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") diff --git a/sdk/python/pulumi_stackit/get_kms_wrapping_key.py b/sdk/python/pulumi_stackit/get_kms_wrapping_key.py index b880587e..eaf93634 100644 --- a/sdk/python/pulumi_stackit/get_kms_wrapping_key.py +++ b/sdk/python/pulumi_stackit/get_kms_wrapping_key.py @@ -146,7 +146,7 @@ def project_id(self) -> _builtins.str: @pulumi.getter def protection(self) -> _builtins.str: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") diff --git a/sdk/python/pulumi_stackit/get_logme_credential.py b/sdk/python/pulumi_stackit/get_logme_credential.py index 72fa8a64..e4dcef4c 100644 --- a/sdk/python/pulumi_stackit/get_logme_credential.py +++ b/sdk/python/pulumi_stackit/get_logme_credential.py @@ -26,7 +26,7 @@ class GetLogmeCredentialResult: """ A collection of values returned by getLogmeCredential. """ - def __init__(__self__, credential_id=None, host=None, id=None, instance_id=None, password=None, port=None, project_id=None, uri=None, username=None): + def __init__(__self__, credential_id=None, host=None, id=None, instance_id=None, password=None, port=None, project_id=None, region=None, uri=None, username=None): if credential_id and not isinstance(credential_id, str): raise TypeError("Expected argument 'credential_id' to be a str") pulumi.set(__self__, "credential_id", credential_id) @@ -48,6 +48,9 @@ def __init__(__self__, credential_id=None, host=None, id=None, instance_id=None, if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if uri and not isinstance(uri, str): raise TypeError("Expected argument 'uri' to be a str") pulumi.set(__self__, "uri", uri) @@ -72,7 +75,7 @@ def host(self) -> _builtins.str: @pulumi.getter def id(self) -> _builtins.str: """ - Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`,`credential_id`". + Terraform's internal data source. identifier. It is structured as "`project_id`,`region`,`instance_id`,`credential_id`". """ return pulumi.get(self, "id") @@ -102,6 +105,14 @@ def project_id(self) -> _builtins.str: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def uri(self) -> _builtins.str: @@ -126,6 +137,7 @@ def __await__(self): password=self.password, port=self.port, project_id=self.project_id, + region=self.region, uri=self.uri, username=self.username) @@ -133,6 +145,7 @@ def __await__(self): def get_logme_credential(credential_id: Optional[_builtins.str] = None, instance_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogmeCredentialResult: """ LogMe credential data source schema. Must have a `region` specified in the provider configuration. @@ -143,11 +156,13 @@ def get_logme_credential(credential_id: Optional[_builtins.str] = None, :param _builtins.str credential_id: The credential's ID. :param _builtins.str instance_id: ID of the LogMe instance. :param _builtins.str project_id: STACKIT project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['credentialId'] = credential_id __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getLogmeCredential:getLogmeCredential', __args__, opts=opts, typ=GetLogmeCredentialResult).value @@ -159,11 +174,13 @@ def get_logme_credential(credential_id: Optional[_builtins.str] = None, password=pulumi.get(__ret__, 'password'), port=pulumi.get(__ret__, 'port'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), uri=pulumi.get(__ret__, 'uri'), username=pulumi.get(__ret__, 'username')) def get_logme_credential_output(credential_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogmeCredentialResult]: """ LogMe credential data source schema. Must have a `region` specified in the provider configuration. @@ -174,11 +191,13 @@ def get_logme_credential_output(credential_id: pulumi.Input[Optional[_builtins.s :param _builtins.str credential_id: The credential's ID. :param _builtins.str instance_id: ID of the LogMe instance. :param _builtins.str project_id: STACKIT project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['credentialId'] = credential_id __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getLogmeCredential:getLogmeCredential', __args__, opts=opts, typ=GetLogmeCredentialResult) return __ret__.apply(lambda __response__: GetLogmeCredentialResult( @@ -189,5 +208,6 @@ def get_logme_credential_output(credential_id: pulumi.Input[Optional[_builtins.s password=pulumi.get(__response__, 'password'), port=pulumi.get(__response__, 'port'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), uri=pulumi.get(__response__, 'uri'), username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_stackit/get_logme_instance.py b/sdk/python/pulumi_stackit/get_logme_instance.py index 567e21c3..43358d79 100644 --- a/sdk/python/pulumi_stackit/get_logme_instance.py +++ b/sdk/python/pulumi_stackit/get_logme_instance.py @@ -27,7 +27,7 @@ class GetLogmeInstanceResult: """ A collection of values returned by getLogmeInstance. """ - def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=None, dashboard_url=None, id=None, image_url=None, instance_id=None, name=None, parameters=None, plan_id=None, plan_name=None, project_id=None, version=None): + def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=None, dashboard_url=None, id=None, image_url=None, instance_id=None, name=None, parameters=None, plan_id=None, plan_name=None, project_id=None, region=None, version=None): if cf_guid and not isinstance(cf_guid, str): raise TypeError("Expected argument 'cf_guid' to be a str") pulumi.set(__self__, "cf_guid", cf_guid) @@ -64,6 +64,9 @@ def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=No if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if version and not isinstance(version, str): raise TypeError("Expected argument 'version' to be a str") pulumi.set(__self__, "version", version) @@ -92,7 +95,7 @@ def dashboard_url(self) -> _builtins.str: @pulumi.getter def id(self) -> _builtins.str: """ - Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`". + Terraform's internal data source. identifier. It is structured as "`project_id`,`region`,`instance_id`". """ return pulumi.get(self, "id") @@ -146,6 +149,14 @@ def project_id(self) -> _builtins.str: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def version(self) -> _builtins.str: @@ -173,11 +184,13 @@ def __await__(self): plan_id=self.plan_id, plan_name=self.plan_name, project_id=self.project_id, + region=self.region, version=self.version) def get_logme_instance(instance_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogmeInstanceResult: """ LogMe instance data source schema. Must have a `region` specified in the provider configuration. @@ -187,10 +200,12 @@ def get_logme_instance(instance_id: Optional[_builtins.str] = None, :param _builtins.str instance_id: ID of the LogMe instance. :param _builtins.str project_id: STACKIT Project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getLogmeInstance:getLogmeInstance', __args__, opts=opts, typ=GetLogmeInstanceResult).value @@ -207,9 +222,11 @@ def get_logme_instance(instance_id: Optional[_builtins.str] = None, plan_id=pulumi.get(__ret__, 'plan_id'), plan_name=pulumi.get(__ret__, 'plan_name'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), version=pulumi.get(__ret__, 'version')) def get_logme_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogmeInstanceResult]: """ LogMe instance data source schema. Must have a `region` specified in the provider configuration. @@ -219,10 +236,12 @@ def get_logme_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] :param _builtins.str instance_id: ID of the LogMe instance. :param _builtins.str project_id: STACKIT Project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getLogmeInstance:getLogmeInstance', __args__, opts=opts, typ=GetLogmeInstanceResult) return __ret__.apply(lambda __response__: GetLogmeInstanceResult( @@ -238,4 +257,5 @@ def get_logme_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] plan_id=pulumi.get(__response__, 'plan_id'), plan_name=pulumi.get(__response__, 'plan_name'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_stackit/get_mariadb_credential.py b/sdk/python/pulumi_stackit/get_mariadb_credential.py index c67f4662..b74623b8 100644 --- a/sdk/python/pulumi_stackit/get_mariadb_credential.py +++ b/sdk/python/pulumi_stackit/get_mariadb_credential.py @@ -26,7 +26,7 @@ class GetMariadbCredentialResult: """ A collection of values returned by getMariadbCredential. """ - def __init__(__self__, credential_id=None, host=None, hosts=None, id=None, instance_id=None, name=None, password=None, port=None, project_id=None, uri=None, username=None): + def __init__(__self__, credential_id=None, host=None, hosts=None, id=None, instance_id=None, name=None, password=None, port=None, project_id=None, region=None, uri=None, username=None): if credential_id and not isinstance(credential_id, str): raise TypeError("Expected argument 'credential_id' to be a str") pulumi.set(__self__, "credential_id", credential_id) @@ -54,6 +54,9 @@ def __init__(__self__, credential_id=None, host=None, hosts=None, id=None, insta if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if uri and not isinstance(uri, str): raise TypeError("Expected argument 'uri' to be a str") pulumi.set(__self__, "uri", uri) @@ -83,7 +86,7 @@ def hosts(self) -> Sequence[_builtins.str]: @pulumi.getter def id(self) -> _builtins.str: """ - Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`,`credential_id`". + Terraform's internal data source. identifier. It is structured as "`project_id`,`region`,`instance_id`,`credential_id`". """ return pulumi.get(self, "id") @@ -118,6 +121,14 @@ def project_id(self) -> _builtins.str: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def uri(self) -> _builtins.str: @@ -144,6 +155,7 @@ def __await__(self): password=self.password, port=self.port, project_id=self.project_id, + region=self.region, uri=self.uri, username=self.username) @@ -151,6 +163,7 @@ def __await__(self): def get_mariadb_credential(credential_id: Optional[_builtins.str] = None, instance_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMariadbCredentialResult: """ MariaDB credential data source schema. Must have a `region` specified in the provider configuration. @@ -161,11 +174,13 @@ def get_mariadb_credential(credential_id: Optional[_builtins.str] = None, :param _builtins.str credential_id: The credential's ID. :param _builtins.str instance_id: ID of the MariaDB instance. :param _builtins.str project_id: STACKIT project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['credentialId'] = credential_id __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getMariadbCredential:getMariadbCredential', __args__, opts=opts, typ=GetMariadbCredentialResult).value @@ -179,11 +194,13 @@ def get_mariadb_credential(credential_id: Optional[_builtins.str] = None, password=pulumi.get(__ret__, 'password'), port=pulumi.get(__ret__, 'port'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), uri=pulumi.get(__ret__, 'uri'), username=pulumi.get(__ret__, 'username')) def get_mariadb_credential_output(credential_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMariadbCredentialResult]: """ MariaDB credential data source schema. Must have a `region` specified in the provider configuration. @@ -194,11 +211,13 @@ def get_mariadb_credential_output(credential_id: pulumi.Input[Optional[_builtins :param _builtins.str credential_id: The credential's ID. :param _builtins.str instance_id: ID of the MariaDB instance. :param _builtins.str project_id: STACKIT project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['credentialId'] = credential_id __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getMariadbCredential:getMariadbCredential', __args__, opts=opts, typ=GetMariadbCredentialResult) return __ret__.apply(lambda __response__: GetMariadbCredentialResult( @@ -211,5 +230,6 @@ def get_mariadb_credential_output(credential_id: pulumi.Input[Optional[_builtins password=pulumi.get(__response__, 'password'), port=pulumi.get(__response__, 'port'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), uri=pulumi.get(__response__, 'uri'), username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_stackit/get_mariadb_instance.py b/sdk/python/pulumi_stackit/get_mariadb_instance.py index d985ddc0..3fffb176 100644 --- a/sdk/python/pulumi_stackit/get_mariadb_instance.py +++ b/sdk/python/pulumi_stackit/get_mariadb_instance.py @@ -27,7 +27,7 @@ class GetMariadbInstanceResult: """ A collection of values returned by getMariadbInstance. """ - def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=None, dashboard_url=None, id=None, image_url=None, instance_id=None, name=None, parameters=None, plan_id=None, plan_name=None, project_id=None, version=None): + def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=None, dashboard_url=None, id=None, image_url=None, instance_id=None, name=None, parameters=None, plan_id=None, plan_name=None, project_id=None, region=None, version=None): if cf_guid and not isinstance(cf_guid, str): raise TypeError("Expected argument 'cf_guid' to be a str") pulumi.set(__self__, "cf_guid", cf_guid) @@ -64,6 +64,9 @@ def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=No if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if version and not isinstance(version, str): raise TypeError("Expected argument 'version' to be a str") pulumi.set(__self__, "version", version) @@ -92,7 +95,7 @@ def dashboard_url(self) -> _builtins.str: @pulumi.getter def id(self) -> _builtins.str: """ - Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`". + Terraform's internal data source. identifier. It is structured as "`project_id`,`region`,`instance_id`". """ return pulumi.get(self, "id") @@ -146,6 +149,14 @@ def project_id(self) -> _builtins.str: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def version(self) -> _builtins.str: @@ -173,11 +184,13 @@ def __await__(self): plan_id=self.plan_id, plan_name=self.plan_name, project_id=self.project_id, + region=self.region, version=self.version) def get_mariadb_instance(instance_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMariadbInstanceResult: """ MariaDB instance data source schema. Must have a `region` specified in the provider configuration. @@ -187,10 +200,12 @@ def get_mariadb_instance(instance_id: Optional[_builtins.str] = None, :param _builtins.str instance_id: ID of the MariaDB instance. :param _builtins.str project_id: STACKIT Project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getMariadbInstance:getMariadbInstance', __args__, opts=opts, typ=GetMariadbInstanceResult).value @@ -207,9 +222,11 @@ def get_mariadb_instance(instance_id: Optional[_builtins.str] = None, plan_id=pulumi.get(__ret__, 'plan_id'), plan_name=pulumi.get(__ret__, 'plan_name'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), version=pulumi.get(__ret__, 'version')) def get_mariadb_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMariadbInstanceResult]: """ MariaDB instance data source schema. Must have a `region` specified in the provider configuration. @@ -219,10 +236,12 @@ def get_mariadb_instance_output(instance_id: pulumi.Input[Optional[_builtins.str :param _builtins.str instance_id: ID of the MariaDB instance. :param _builtins.str project_id: STACKIT Project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getMariadbInstance:getMariadbInstance', __args__, opts=opts, typ=GetMariadbInstanceResult) return __ret__.apply(lambda __response__: GetMariadbInstanceResult( @@ -238,4 +257,5 @@ def get_mariadb_instance_output(instance_id: pulumi.Input[Optional[_builtins.str plan_id=pulumi.get(__response__, 'plan_id'), plan_name=pulumi.get(__response__, 'plan_name'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_stackit/get_modelexperiments_instance.py b/sdk/python/pulumi_stackit/get_modelexperiments_instance.py new file mode 100644 index 00000000..66693041 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_modelexperiments_instance.py @@ -0,0 +1,222 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetModelexperimentsInstanceResult', + 'AwaitableGetModelexperimentsInstanceResult', + 'get_modelexperiments_instance', + 'get_modelexperiments_instance_output', +] + +@pulumi.output_type +class GetModelexperimentsInstanceResult: + """ + A collection of values returned by getModelexperimentsInstance. + """ + def __init__(__self__, bucket_name=None, deleted_experiment_retention=None, description=None, id=None, instance_id=None, labels=None, name=None, project_id=None, region=None, url=None): + if bucket_name and not isinstance(bucket_name, str): + raise TypeError("Expected argument 'bucket_name' to be a str") + pulumi.set(__self__, "bucket_name", bucket_name) + if deleted_experiment_retention and not isinstance(deleted_experiment_retention, str): + raise TypeError("Expected argument 'deleted_experiment_retention' to be a str") + pulumi.set(__self__, "deleted_experiment_retention", deleted_experiment_retention) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if url and not isinstance(url, str): + raise TypeError("Expected argument 'url' to be a str") + pulumi.set(__self__, "url", url) + + @_builtins.property + @pulumi.getter(name="bucketName") + def bucket_name(self) -> _builtins.str: + """ + The object storage bucket name of the AI Model Experiments instance. + """ + return pulumi.get(self, "bucket_name") + + @_builtins.property + @pulumi.getter(name="deletedExperimentRetention") + def deleted_experiment_retention(self) -> _builtins.str: + """ + The deleted experiment retention time of the AI Model Experiments instance. + """ + return pulumi.get(self, "deleted_experiment_retention") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`instance_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def url(self) -> _builtins.str: + """ + The Dashboard URL of the AI Model Experiments instance. + """ + return pulumi.get(self, "url") + + +class AwaitableGetModelexperimentsInstanceResult(GetModelexperimentsInstanceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetModelexperimentsInstanceResult( + bucket_name=self.bucket_name, + deleted_experiment_retention=self.deleted_experiment_retention, + description=self.description, + id=self.id, + instance_id=self.instance_id, + labels=self.labels, + name=self.name, + project_id=self.project_id, + region=self.region, + url=self.url) + + +def get_modelexperiments_instance(instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetModelexperimentsInstanceResult: + """ + Datasource scheme for a STACKIT AI Model Experiments instance. + + ## Example Usage + + + :param _builtins.str instance_id: The AI Model Experiments instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getModelexperimentsInstance:getModelexperimentsInstance', __args__, opts=opts, typ=GetModelexperimentsInstanceResult).value + + return AwaitableGetModelexperimentsInstanceResult( + bucket_name=pulumi.get(__ret__, 'bucket_name'), + deleted_experiment_retention=pulumi.get(__ret__, 'deleted_experiment_retention'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + labels=pulumi.get(__ret__, 'labels'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + url=pulumi.get(__ret__, 'url')) +def get_modelexperiments_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetModelexperimentsInstanceResult]: + """ + Datasource scheme for a STACKIT AI Model Experiments instance. + + ## Example Usage + + + :param _builtins.str instance_id: The AI Model Experiments instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getModelexperimentsInstance:getModelexperimentsInstance', __args__, opts=opts, typ=GetModelexperimentsInstanceResult) + return __ret__.apply(lambda __response__: GetModelexperimentsInstanceResult( + bucket_name=pulumi.get(__response__, 'bucket_name'), + deleted_experiment_retention=pulumi.get(__response__, 'deleted_experiment_retention'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + labels=pulumi.get(__response__, 'labels'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + url=pulumi.get(__response__, 'url'))) diff --git a/sdk/python/pulumi_stackit/get_modelexperiments_token.py b/sdk/python/pulumi_stackit/get_modelexperiments_token.py new file mode 100644 index 00000000..f45a93d7 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_modelexperiments_token.py @@ -0,0 +1,214 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetModelexperimentsTokenResult', + 'AwaitableGetModelexperimentsTokenResult', + 'get_modelexperiments_token', + 'get_modelexperiments_token_output', +] + +@pulumi.output_type +class GetModelexperimentsTokenResult: + """ + A collection of values returned by getModelexperimentsToken. + """ + def __init__(__self__, description=None, id=None, instance_id=None, labels=None, name=None, project_id=None, region=None, token_id=None, valid_until=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if token_id and not isinstance(token_id, str): + raise TypeError("Expected argument 'token_id' to be a str") + pulumi.set(__self__, "token_id", token_id) + if valid_until and not isinstance(valid_until, str): + raise TypeError("Expected argument 'valid_until' to be a str") + pulumi.set(__self__, "valid_until", valid_until) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`token_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="tokenId") + def token_id(self) -> _builtins.str: + """ + The AI Model Experiments instance token ID. + """ + return pulumi.get(self, "token_id") + + @_builtins.property + @pulumi.getter(name="validUntil") + def valid_until(self) -> _builtins.str: + """ + The time until the AI Model Experiments instance token is valid. + """ + return pulumi.get(self, "valid_until") + + +class AwaitableGetModelexperimentsTokenResult(GetModelexperimentsTokenResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetModelexperimentsTokenResult( + description=self.description, + id=self.id, + instance_id=self.instance_id, + labels=self.labels, + name=self.name, + project_id=self.project_id, + region=self.region, + token_id=self.token_id, + valid_until=self.valid_until) + + +def get_modelexperiments_token(instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + token_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetModelexperimentsTokenResult: + """ + Datasource scheme for a STACKIT AI Model Experiments instance tokens. + + ## Example Usage + + + :param _builtins.str instance_id: The AI Model Experiments instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param _builtins.str token_id: The AI Model Experiments instance token ID. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + __args__['tokenId'] = token_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getModelexperimentsToken:getModelexperimentsToken', __args__, opts=opts, typ=GetModelexperimentsTokenResult).value + + return AwaitableGetModelexperimentsTokenResult( + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + labels=pulumi.get(__ret__, 'labels'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + token_id=pulumi.get(__ret__, 'token_id'), + valid_until=pulumi.get(__ret__, 'valid_until')) +def get_modelexperiments_token_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + token_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetModelexperimentsTokenResult]: + """ + Datasource scheme for a STACKIT AI Model Experiments instance tokens. + + ## Example Usage + + + :param _builtins.str instance_id: The AI Model Experiments instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param _builtins.str token_id: The AI Model Experiments instance token ID. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + __args__['tokenId'] = token_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getModelexperimentsToken:getModelexperimentsToken', __args__, opts=opts, typ=GetModelexperimentsTokenResult) + return __ret__.apply(lambda __response__: GetModelexperimentsTokenResult( + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + labels=pulumi.get(__response__, 'labels'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + token_id=pulumi.get(__response__, 'token_id'), + valid_until=pulumi.get(__response__, 'valid_until'))) diff --git a/sdk/python/pulumi_stackit/get_network.py b/sdk/python/pulumi_stackit/get_network.py index b4b76984..821c04ea 100644 --- a/sdk/python/pulumi_stackit/get_network.py +++ b/sdk/python/pulumi_stackit/get_network.py @@ -26,7 +26,7 @@ class GetNetworkResult: """ A collection of values returned by getNetwork. """ - def __init__(__self__, dhcp=None, id=None, ipv4_gateway=None, ipv4_nameservers=None, ipv4_prefix=None, ipv4_prefix_length=None, ipv4_prefixes=None, ipv6_gateway=None, ipv6_nameservers=None, ipv6_prefix=None, ipv6_prefix_length=None, ipv6_prefixes=None, labels=None, name=None, network_id=None, project_id=None, public_ip=None, region=None, routed=None, routing_table_id=None): + def __init__(__self__, dhcp=None, id=None, ipv4_gateway=None, ipv4_nameservers=None, ipv4_prefix=None, ipv4_prefix_length=None, ipv4_prefixes=None, ipv4_vpc_network_range_id=None, ipv6_gateway=None, ipv6_nameservers=None, ipv6_prefix=None, ipv6_prefix_length=None, ipv6_prefixes=None, ipv6_vpc_network_range_id=None, labels=None, name=None, network_id=None, project_id=None, public_ip=None, region=None, routed=None, routing_table_id=None, vpc_id=None): if dhcp and not isinstance(dhcp, bool): raise TypeError("Expected argument 'dhcp' to be a bool") pulumi.set(__self__, "dhcp", dhcp) @@ -48,6 +48,9 @@ def __init__(__self__, dhcp=None, id=None, ipv4_gateway=None, ipv4_nameservers=N if ipv4_prefixes and not isinstance(ipv4_prefixes, list): raise TypeError("Expected argument 'ipv4_prefixes' to be a list") pulumi.set(__self__, "ipv4_prefixes", ipv4_prefixes) + if ipv4_vpc_network_range_id and not isinstance(ipv4_vpc_network_range_id, str): + raise TypeError("Expected argument 'ipv4_vpc_network_range_id' to be a str") + pulumi.set(__self__, "ipv4_vpc_network_range_id", ipv4_vpc_network_range_id) if ipv6_gateway and not isinstance(ipv6_gateway, str): raise TypeError("Expected argument 'ipv6_gateway' to be a str") pulumi.set(__self__, "ipv6_gateway", ipv6_gateway) @@ -63,6 +66,9 @@ def __init__(__self__, dhcp=None, id=None, ipv4_gateway=None, ipv4_nameservers=N if ipv6_prefixes and not isinstance(ipv6_prefixes, list): raise TypeError("Expected argument 'ipv6_prefixes' to be a list") pulumi.set(__self__, "ipv6_prefixes", ipv6_prefixes) + if ipv6_vpc_network_range_id and not isinstance(ipv6_vpc_network_range_id, str): + raise TypeError("Expected argument 'ipv6_vpc_network_range_id' to be a str") + pulumi.set(__self__, "ipv6_vpc_network_range_id", ipv6_vpc_network_range_id) if labels and not isinstance(labels, dict): raise TypeError("Expected argument 'labels' to be a dict") pulumi.set(__self__, "labels", labels) @@ -87,6 +93,9 @@ def __init__(__self__, dhcp=None, id=None, ipv4_gateway=None, ipv4_nameservers=N if routing_table_id and not isinstance(routing_table_id, str): raise TypeError("Expected argument 'routing_table_id' to be a str") pulumi.set(__self__, "routing_table_id", routing_table_id) + if vpc_id and not isinstance(vpc_id, str): + raise TypeError("Expected argument 'vpc_id' to be a str") + pulumi.set(__self__, "vpc_id", vpc_id) @_builtins.property @pulumi.getter @@ -145,6 +154,14 @@ def ipv4_prefixes(self) -> Sequence[_builtins.str]: """ return pulumi.get(self, "ipv4_prefixes") + @_builtins.property + @pulumi.getter(name="ipv4VpcNetworkRangeId") + def ipv4_vpc_network_range_id(self) -> Optional[_builtins.str]: + """ + The IPv4 VPC network range ID. + """ + return pulumi.get(self, "ipv4_vpc_network_range_id") + @_builtins.property @pulumi.getter(name="ipv6Gateway") def ipv6_gateway(self) -> _builtins.str: @@ -186,6 +203,14 @@ def ipv6_prefixes(self) -> Sequence[_builtins.str]: """ return pulumi.get(self, "ipv6_prefixes") + @_builtins.property + @pulumi.getter(name="ipv6VpcNetworkRangeId") + def ipv6_vpc_network_range_id(self) -> Optional[_builtins.str]: + """ + The IPv6 VPC network range ID. + """ + return pulumi.get(self, "ipv6_vpc_network_range_id") + @_builtins.property @pulumi.getter def labels(self) -> Mapping[str, _builtins.str]: @@ -250,6 +275,14 @@ def routing_table_id(self) -> _builtins.str: """ return pulumi.get(self, "routing_table_id") + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> Optional[_builtins.str]: + """ + The ID of the VPC the network is associated with. + """ + return pulumi.get(self, "vpc_id") + class AwaitableGetNetworkResult(GetNetworkResult): # pylint: disable=using-constant-test @@ -264,11 +297,13 @@ def __await__(self): ipv4_prefix=self.ipv4_prefix, ipv4_prefix_length=self.ipv4_prefix_length, ipv4_prefixes=self.ipv4_prefixes, + ipv4_vpc_network_range_id=self.ipv4_vpc_network_range_id, ipv6_gateway=self.ipv6_gateway, ipv6_nameservers=self.ipv6_nameservers, ipv6_prefix=self.ipv6_prefix, ipv6_prefix_length=self.ipv6_prefix_length, ipv6_prefixes=self.ipv6_prefixes, + ipv6_vpc_network_range_id=self.ipv6_vpc_network_range_id, labels=self.labels, name=self.name, network_id=self.network_id, @@ -276,12 +311,16 @@ def __await__(self): public_ip=self.public_ip, region=self.region, routed=self.routed, - routing_table_id=self.routing_table_id) + routing_table_id=self.routing_table_id, + vpc_id=self.vpc_id) -def get_network(network_id: Optional[_builtins.str] = None, +def get_network(ipv4_vpc_network_range_id: Optional[_builtins.str] = None, + ipv6_vpc_network_range_id: Optional[_builtins.str] = None, + network_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, region: Optional[_builtins.str] = None, + vpc_id: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkResult: """ Network resource schema. Must have a `region` specified in the provider configuration. @@ -289,14 +328,20 @@ def get_network(network_id: Optional[_builtins.str] = None, ## Example Usage + :param _builtins.str ipv4_vpc_network_range_id: The IPv4 VPC network range ID. + :param _builtins.str ipv6_vpc_network_range_id: The IPv6 VPC network range ID. :param _builtins.str network_id: The network ID. :param _builtins.str project_id: STACKIT project ID to which the network is associated. :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str vpc_id: The ID of the VPC the network is associated with. """ __args__ = dict() + __args__['ipv4VpcNetworkRangeId'] = ipv4_vpc_network_range_id + __args__['ipv6VpcNetworkRangeId'] = ipv6_vpc_network_range_id __args__['networkId'] = network_id __args__['projectId'] = project_id __args__['region'] = region + __args__['vpcId'] = vpc_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getNetwork:getNetwork', __args__, opts=opts, typ=GetNetworkResult).value @@ -308,11 +353,13 @@ def get_network(network_id: Optional[_builtins.str] = None, ipv4_prefix=pulumi.get(__ret__, 'ipv4_prefix'), ipv4_prefix_length=pulumi.get(__ret__, 'ipv4_prefix_length'), ipv4_prefixes=pulumi.get(__ret__, 'ipv4_prefixes'), + ipv4_vpc_network_range_id=pulumi.get(__ret__, 'ipv4_vpc_network_range_id'), ipv6_gateway=pulumi.get(__ret__, 'ipv6_gateway'), ipv6_nameservers=pulumi.get(__ret__, 'ipv6_nameservers'), ipv6_prefix=pulumi.get(__ret__, 'ipv6_prefix'), ipv6_prefix_length=pulumi.get(__ret__, 'ipv6_prefix_length'), ipv6_prefixes=pulumi.get(__ret__, 'ipv6_prefixes'), + ipv6_vpc_network_range_id=pulumi.get(__ret__, 'ipv6_vpc_network_range_id'), labels=pulumi.get(__ret__, 'labels'), name=pulumi.get(__ret__, 'name'), network_id=pulumi.get(__ret__, 'network_id'), @@ -320,10 +367,14 @@ def get_network(network_id: Optional[_builtins.str] = None, public_ip=pulumi.get(__ret__, 'public_ip'), region=pulumi.get(__ret__, 'region'), routed=pulumi.get(__ret__, 'routed'), - routing_table_id=pulumi.get(__ret__, 'routing_table_id')) -def get_network_output(network_id: pulumi.Input[Optional[_builtins.str]] = None, + routing_table_id=pulumi.get(__ret__, 'routing_table_id'), + vpc_id=pulumi.get(__ret__, 'vpc_id')) +def get_network_output(ipv4_vpc_network_range_id: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + ipv6_vpc_network_range_id: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + network_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + vpc_id: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkResult]: """ Network resource schema. Must have a `region` specified in the provider configuration. @@ -331,14 +382,20 @@ def get_network_output(network_id: pulumi.Input[Optional[_builtins.str]] = None, ## Example Usage + :param _builtins.str ipv4_vpc_network_range_id: The IPv4 VPC network range ID. + :param _builtins.str ipv6_vpc_network_range_id: The IPv6 VPC network range ID. :param _builtins.str network_id: The network ID. :param _builtins.str project_id: STACKIT project ID to which the network is associated. :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str vpc_id: The ID of the VPC the network is associated with. """ __args__ = dict() + __args__['ipv4VpcNetworkRangeId'] = ipv4_vpc_network_range_id + __args__['ipv6VpcNetworkRangeId'] = ipv6_vpc_network_range_id __args__['networkId'] = network_id __args__['projectId'] = project_id __args__['region'] = region + __args__['vpcId'] = vpc_id opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getNetwork:getNetwork', __args__, opts=opts, typ=GetNetworkResult) return __ret__.apply(lambda __response__: GetNetworkResult( @@ -349,11 +406,13 @@ def get_network_output(network_id: pulumi.Input[Optional[_builtins.str]] = None, ipv4_prefix=pulumi.get(__response__, 'ipv4_prefix'), ipv4_prefix_length=pulumi.get(__response__, 'ipv4_prefix_length'), ipv4_prefixes=pulumi.get(__response__, 'ipv4_prefixes'), + ipv4_vpc_network_range_id=pulumi.get(__response__, 'ipv4_vpc_network_range_id'), ipv6_gateway=pulumi.get(__response__, 'ipv6_gateway'), ipv6_nameservers=pulumi.get(__response__, 'ipv6_nameservers'), ipv6_prefix=pulumi.get(__response__, 'ipv6_prefix'), ipv6_prefix_length=pulumi.get(__response__, 'ipv6_prefix_length'), ipv6_prefixes=pulumi.get(__response__, 'ipv6_prefixes'), + ipv6_vpc_network_range_id=pulumi.get(__response__, 'ipv6_vpc_network_range_id'), labels=pulumi.get(__response__, 'labels'), name=pulumi.get(__response__, 'name'), network_id=pulumi.get(__response__, 'network_id'), @@ -361,4 +420,5 @@ def get_network_output(network_id: pulumi.Input[Optional[_builtins.str]] = None, public_ip=pulumi.get(__response__, 'public_ip'), region=pulumi.get(__response__, 'region'), routed=pulumi.get(__response__, 'routed'), - routing_table_id=pulumi.get(__response__, 'routing_table_id'))) + routing_table_id=pulumi.get(__response__, 'routing_table_id'), + vpc_id=pulumi.get(__response__, 'vpc_id'))) diff --git a/sdk/python/pulumi_stackit/get_network_area.py b/sdk/python/pulumi_stackit/get_network_area.py index 57526dfc..56c92e2e 100644 --- a/sdk/python/pulumi_stackit/get_network_area.py +++ b/sdk/python/pulumi_stackit/get_network_area.py @@ -13,7 +13,6 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities -from . import outputs __all__ = [ 'GetNetworkAreaResult', @@ -27,61 +26,25 @@ class GetNetworkAreaResult: """ A collection of values returned by getNetworkArea. """ - def __init__(__self__, default_nameservers=None, default_prefix_length=None, id=None, labels=None, max_prefix_length=None, min_prefix_length=None, name=None, network_area_id=None, network_ranges=None, organization_id=None, project_count=None, transfer_network=None): - if default_nameservers and not isinstance(default_nameservers, list): - raise TypeError("Expected argument 'default_nameservers' to be a list") - pulumi.set(__self__, "default_nameservers", default_nameservers) - if default_prefix_length and not isinstance(default_prefix_length, int): - raise TypeError("Expected argument 'default_prefix_length' to be a int") - pulumi.set(__self__, "default_prefix_length", default_prefix_length) + def __init__(__self__, id=None, labels=None, name=None, network_area_id=None, organization_id=None, project_count=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if labels and not isinstance(labels, dict): raise TypeError("Expected argument 'labels' to be a dict") pulumi.set(__self__, "labels", labels) - if max_prefix_length and not isinstance(max_prefix_length, int): - raise TypeError("Expected argument 'max_prefix_length' to be a int") - pulumi.set(__self__, "max_prefix_length", max_prefix_length) - if min_prefix_length and not isinstance(min_prefix_length, int): - raise TypeError("Expected argument 'min_prefix_length' to be a int") - pulumi.set(__self__, "min_prefix_length", min_prefix_length) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) if network_area_id and not isinstance(network_area_id, str): raise TypeError("Expected argument 'network_area_id' to be a str") pulumi.set(__self__, "network_area_id", network_area_id) - if network_ranges and not isinstance(network_ranges, list): - raise TypeError("Expected argument 'network_ranges' to be a list") - pulumi.set(__self__, "network_ranges", network_ranges) if organization_id and not isinstance(organization_id, str): raise TypeError("Expected argument 'organization_id' to be a str") pulumi.set(__self__, "organization_id", organization_id) if project_count and not isinstance(project_count, int): raise TypeError("Expected argument 'project_count' to be a int") pulumi.set(__self__, "project_count", project_count) - if transfer_network and not isinstance(transfer_network, str): - raise TypeError("Expected argument 'transfer_network' to be a str") - pulumi.set(__self__, "transfer_network", transfer_network) - - @_builtins.property - @pulumi.getter(name="defaultNameservers") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") - def default_nameservers(self) -> Sequence[_builtins.str]: - """ - List of DNS Servers/Nameservers. - """ - return pulumi.get(self, "default_nameservers") - - @_builtins.property - @pulumi.getter(name="defaultPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") - def default_prefix_length(self) -> _builtins.int: - """ - The default prefix length for networks in the network area. - """ - return pulumi.get(self, "default_prefix_length") @_builtins.property @pulumi.getter @@ -99,24 +62,6 @@ def labels(self) -> Mapping[str, _builtins.str]: """ return pulumi.get(self, "labels") - @_builtins.property - @pulumi.getter(name="maxPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") - def max_prefix_length(self) -> _builtins.int: - """ - The maximal prefix length for networks in the network area. - """ - return pulumi.get(self, "max_prefix_length") - - @_builtins.property - @pulumi.getter(name="minPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") - def min_prefix_length(self) -> _builtins.int: - """ - The minimal prefix length for networks in the network area. - """ - return pulumi.get(self, "min_prefix_length") - @_builtins.property @pulumi.getter def name(self) -> _builtins.str: @@ -133,15 +78,6 @@ def network_area_id(self) -> _builtins.str: """ return pulumi.get(self, "network_area_id") - @_builtins.property - @pulumi.getter(name="networkRanges") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") - def network_ranges(self) -> Sequence['outputs.GetNetworkAreaNetworkRangeResult']: - """ - List of Network ranges. - """ - return pulumi.get(self, "network_ranges") - @_builtins.property @pulumi.getter(name="organizationId") def organization_id(self) -> _builtins.str: @@ -158,15 +94,6 @@ def project_count(self) -> _builtins.int: """ return pulumi.get(self, "project_count") - @_builtins.property - @pulumi.getter(name="transferNetwork") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") - def transfer_network(self) -> _builtins.str: - """ - Classless Inter-Domain Routing (CIDR). - """ - return pulumi.get(self, "transfer_network") - class AwaitableGetNetworkAreaResult(GetNetworkAreaResult): # pylint: disable=using-constant-test @@ -174,18 +101,12 @@ def __await__(self): if False: yield self return GetNetworkAreaResult( - default_nameservers=self.default_nameservers, - default_prefix_length=self.default_prefix_length, id=self.id, labels=self.labels, - max_prefix_length=self.max_prefix_length, - min_prefix_length=self.min_prefix_length, name=self.name, network_area_id=self.network_area_id, - network_ranges=self.network_ranges, organization_id=self.organization_id, - project_count=self.project_count, - transfer_network=self.transfer_network) + project_count=self.project_count) def get_network_area(network_area_id: Optional[_builtins.str] = None, @@ -209,18 +130,12 @@ def get_network_area(network_area_id: Optional[_builtins.str] = None, __ret__ = pulumi.runtime.invoke('stackit:index/getNetworkArea:getNetworkArea', __args__, opts=opts, typ=GetNetworkAreaResult).value return AwaitableGetNetworkAreaResult( - default_nameservers=pulumi.get(__ret__, 'default_nameservers'), - default_prefix_length=pulumi.get(__ret__, 'default_prefix_length'), id=pulumi.get(__ret__, 'id'), labels=pulumi.get(__ret__, 'labels'), - max_prefix_length=pulumi.get(__ret__, 'max_prefix_length'), - min_prefix_length=pulumi.get(__ret__, 'min_prefix_length'), name=pulumi.get(__ret__, 'name'), network_area_id=pulumi.get(__ret__, 'network_area_id'), - network_ranges=pulumi.get(__ret__, 'network_ranges'), organization_id=pulumi.get(__ret__, 'organization_id'), - project_count=pulumi.get(__ret__, 'project_count'), - transfer_network=pulumi.get(__ret__, 'transfer_network')) + project_count=pulumi.get(__ret__, 'project_count')) def get_network_area_output(network_area_id: pulumi.Input[Optional[_builtins.str]] = None, organization_id: pulumi.Input[Optional[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkAreaResult]: @@ -241,15 +156,9 @@ def get_network_area_output(network_area_id: pulumi.Input[Optional[_builtins.str opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getNetworkArea:getNetworkArea', __args__, opts=opts, typ=GetNetworkAreaResult) return __ret__.apply(lambda __response__: GetNetworkAreaResult( - default_nameservers=pulumi.get(__response__, 'default_nameservers'), - default_prefix_length=pulumi.get(__response__, 'default_prefix_length'), id=pulumi.get(__response__, 'id'), labels=pulumi.get(__response__, 'labels'), - max_prefix_length=pulumi.get(__response__, 'max_prefix_length'), - min_prefix_length=pulumi.get(__response__, 'min_prefix_length'), name=pulumi.get(__response__, 'name'), network_area_id=pulumi.get(__response__, 'network_area_id'), - network_ranges=pulumi.get(__response__, 'network_ranges'), organization_id=pulumi.get(__response__, 'organization_id'), - project_count=pulumi.get(__response__, 'project_count'), - transfer_network=pulumi.get(__response__, 'transfer_network'))) + project_count=pulumi.get(__response__, 'project_count'))) diff --git a/sdk/python/pulumi_stackit/get_opensearch_credential.py b/sdk/python/pulumi_stackit/get_opensearch_credential.py index 49d10be9..5f4ffbd8 100644 --- a/sdk/python/pulumi_stackit/get_opensearch_credential.py +++ b/sdk/python/pulumi_stackit/get_opensearch_credential.py @@ -26,7 +26,7 @@ class GetOpensearchCredentialResult: """ A collection of values returned by getOpensearchCredential. """ - def __init__(__self__, credential_id=None, host=None, hosts=None, id=None, instance_id=None, password=None, port=None, project_id=None, scheme=None, uri=None, username=None): + def __init__(__self__, credential_id=None, host=None, hosts=None, id=None, instance_id=None, password=None, port=None, project_id=None, region=None, scheme=None, uri=None, username=None): if credential_id and not isinstance(credential_id, str): raise TypeError("Expected argument 'credential_id' to be a str") pulumi.set(__self__, "credential_id", credential_id) @@ -51,6 +51,9 @@ def __init__(__self__, credential_id=None, host=None, hosts=None, id=None, insta if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if scheme and not isinstance(scheme, str): raise TypeError("Expected argument 'scheme' to be a str") pulumi.set(__self__, "scheme", scheme) @@ -83,7 +86,7 @@ def hosts(self) -> Sequence[_builtins.str]: @pulumi.getter def id(self) -> _builtins.str: """ - Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`,`credential_id`". + Terraform's internal data source. identifier. It is structured as "`project_id`,`region`,`instance_id`,`credential_id`". """ return pulumi.get(self, "id") @@ -113,6 +116,14 @@ def project_id(self) -> _builtins.str: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def scheme(self) -> _builtins.str: @@ -143,6 +154,7 @@ def __await__(self): password=self.password, port=self.port, project_id=self.project_id, + region=self.region, scheme=self.scheme, uri=self.uri, username=self.username) @@ -151,6 +163,7 @@ def __await__(self): def get_opensearch_credential(credential_id: Optional[_builtins.str] = None, instance_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOpensearchCredentialResult: """ OpenSearch credential data source schema. Must have a `region` specified in the provider configuration. @@ -161,11 +174,13 @@ def get_opensearch_credential(credential_id: Optional[_builtins.str] = None, :param _builtins.str credential_id: The credential's ID. :param _builtins.str instance_id: ID of the OpenSearch instance. :param _builtins.str project_id: STACKIT project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['credentialId'] = credential_id __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getOpensearchCredential:getOpensearchCredential', __args__, opts=opts, typ=GetOpensearchCredentialResult).value @@ -178,12 +193,14 @@ def get_opensearch_credential(credential_id: Optional[_builtins.str] = None, password=pulumi.get(__ret__, 'password'), port=pulumi.get(__ret__, 'port'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), scheme=pulumi.get(__ret__, 'scheme'), uri=pulumi.get(__ret__, 'uri'), username=pulumi.get(__ret__, 'username')) def get_opensearch_credential_output(credential_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOpensearchCredentialResult]: """ OpenSearch credential data source schema. Must have a `region` specified in the provider configuration. @@ -194,11 +211,13 @@ def get_opensearch_credential_output(credential_id: pulumi.Input[Optional[_built :param _builtins.str credential_id: The credential's ID. :param _builtins.str instance_id: ID of the OpenSearch instance. :param _builtins.str project_id: STACKIT project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['credentialId'] = credential_id __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getOpensearchCredential:getOpensearchCredential', __args__, opts=opts, typ=GetOpensearchCredentialResult) return __ret__.apply(lambda __response__: GetOpensearchCredentialResult( @@ -210,6 +229,7 @@ def get_opensearch_credential_output(credential_id: pulumi.Input[Optional[_built password=pulumi.get(__response__, 'password'), port=pulumi.get(__response__, 'port'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), scheme=pulumi.get(__response__, 'scheme'), uri=pulumi.get(__response__, 'uri'), username=pulumi.get(__response__, 'username'))) diff --git a/sdk/python/pulumi_stackit/get_opensearch_instance.py b/sdk/python/pulumi_stackit/get_opensearch_instance.py index c6b6802e..d56eba1b 100644 --- a/sdk/python/pulumi_stackit/get_opensearch_instance.py +++ b/sdk/python/pulumi_stackit/get_opensearch_instance.py @@ -27,7 +27,7 @@ class GetOpensearchInstanceResult: """ A collection of values returned by getOpensearchInstance. """ - def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=None, dashboard_url=None, id=None, image_url=None, instance_id=None, name=None, parameters=None, plan_id=None, plan_name=None, project_id=None, version=None): + def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=None, dashboard_url=None, id=None, image_url=None, instance_id=None, name=None, parameters=None, plan_id=None, plan_name=None, project_id=None, region=None, version=None): if cf_guid and not isinstance(cf_guid, str): raise TypeError("Expected argument 'cf_guid' to be a str") pulumi.set(__self__, "cf_guid", cf_guid) @@ -64,6 +64,9 @@ def __init__(__self__, cf_guid=None, cf_organization_guid=None, cf_space_guid=No if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if version and not isinstance(version, str): raise TypeError("Expected argument 'version' to be a str") pulumi.set(__self__, "version", version) @@ -92,7 +95,7 @@ def dashboard_url(self) -> _builtins.str: @pulumi.getter def id(self) -> _builtins.str: """ - Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`". + Terraform's internal data source. identifier. It is structured as "`project_id`,`region`,`instance_id`". """ return pulumi.get(self, "id") @@ -146,6 +149,14 @@ def project_id(self) -> _builtins.str: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def version(self) -> _builtins.str: @@ -173,11 +184,13 @@ def __await__(self): plan_id=self.plan_id, plan_name=self.plan_name, project_id=self.project_id, + region=self.region, version=self.version) def get_opensearch_instance(instance_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOpensearchInstanceResult: """ OpenSearch instance data source schema. Must have a `region` specified in the provider configuration. @@ -187,10 +200,12 @@ def get_opensearch_instance(instance_id: Optional[_builtins.str] = None, :param _builtins.str instance_id: ID of the OpenSearch instance. :param _builtins.str project_id: STACKIT Project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getOpensearchInstance:getOpensearchInstance', __args__, opts=opts, typ=GetOpensearchInstanceResult).value @@ -207,9 +222,11 @@ def get_opensearch_instance(instance_id: Optional[_builtins.str] = None, plan_id=pulumi.get(__ret__, 'plan_id'), plan_name=pulumi.get(__ret__, 'plan_name'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), version=pulumi.get(__ret__, 'version')) def get_opensearch_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOpensearchInstanceResult]: """ OpenSearch instance data source schema. Must have a `region` specified in the provider configuration. @@ -219,10 +236,12 @@ def get_opensearch_instance_output(instance_id: pulumi.Input[Optional[_builtins. :param _builtins.str instance_id: ID of the OpenSearch instance. :param _builtins.str project_id: STACKIT Project ID to which the instance is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['instanceId'] = instance_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getOpensearchInstance:getOpensearchInstance', __args__, opts=opts, typ=GetOpensearchInstanceResult) return __ret__.apply(lambda __response__: GetOpensearchInstanceResult( @@ -238,4 +257,5 @@ def get_opensearch_instance_output(instance_id: pulumi.Input[Optional[_builtins. plan_id=pulumi.get(__response__, 'plan_id'), plan_name=pulumi.get(__response__, 'plan_name'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_stackit/get_postgresflex_flavors.py b/sdk/python/pulumi_stackit/get_postgresflex_flavors.py new file mode 100644 index 00000000..273fb182 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_postgresflex_flavors.py @@ -0,0 +1,149 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetPostgresflexFlavorsResult', + 'AwaitableGetPostgresflexFlavorsResult', + 'get_postgresflex_flavors', + 'get_postgresflex_flavors_output', +] + +@pulumi.output_type +class GetPostgresflexFlavorsResult: + """ + A collection of values returned by getPostgresflexFlavors. + """ + def __init__(__self__, flavors=None, id=None, project_id=None, region=None, timeouts=None): + if flavors and not isinstance(flavors, list): + raise TypeError("Expected argument 'flavors' to be a list") + pulumi.set(__self__, "flavors", flavors) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def flavors(self) -> Sequence['outputs.GetPostgresflexFlavorsFlavorResult']: + """ + List of flavors available for the project. + """ + return pulumi.get(self, "flavors") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal data source ID, structured as "`project_id`,`region`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + Postgres Flex flavors data source region. If undefined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetPostgresflexFlavorsTimeoutsResult']: + return pulumi.get(self, "timeouts") + + +class AwaitableGetPostgresflexFlavorsResult(GetPostgresflexFlavorsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetPostgresflexFlavorsResult( + flavors=self.flavors, + id=self.id, + project_id=self.project_id, + region=self.region, + timeouts=self.timeouts) + + +def get_postgresflex_flavors(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetPostgresflexFlavorsTimeoutsArgs', 'GetPostgresflexFlavorsTimeoutsArgsDict']] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPostgresflexFlavorsResult: + """ + Postgres Flex flavors data source schema. + + ## Example Usage + + + :param _builtins.str project_id: STACKIT project ID. + :param _builtins.str region: Postgres Flex flavors data source region. If undefined, the provider region is used. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getPostgresflexFlavors:getPostgresflexFlavors', __args__, opts=opts, typ=GetPostgresflexFlavorsResult).value + + return AwaitableGetPostgresflexFlavorsResult( + flavors=pulumi.get(__ret__, 'flavors'), + id=pulumi.get(__ret__, 'id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + timeouts=pulumi.get(__ret__, 'timeouts')) +def get_postgresflex_flavors_output(project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetPostgresflexFlavorsTimeoutsArgs', 'GetPostgresflexFlavorsTimeoutsArgsDict']]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetPostgresflexFlavorsResult]: + """ + Postgres Flex flavors data source schema. + + ## Example Usage + + + :param _builtins.str project_id: STACKIT project ID. + :param _builtins.str region: Postgres Flex flavors data source region. If undefined, the provider region is used. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getPostgresflexFlavors:getPostgresflexFlavors', __args__, opts=opts, typ=GetPostgresflexFlavorsResult) + return __ret__.apply(lambda __response__: GetPostgresflexFlavorsResult( + flavors=pulumi.get(__response__, 'flavors'), + id=pulumi.get(__response__, 'id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + timeouts=pulumi.get(__response__, 'timeouts'))) diff --git a/sdk/python/pulumi_stackit/get_postgresflex_instance.py b/sdk/python/pulumi_stackit/get_postgresflex_instance.py index e2d22a98..9b040bf4 100644 --- a/sdk/python/pulumi_stackit/get_postgresflex_instance.py +++ b/sdk/python/pulumi_stackit/get_postgresflex_instance.py @@ -27,16 +27,25 @@ class GetPostgresflexInstanceResult: """ A collection of values returned by getPostgresflexInstance. """ - def __init__(__self__, acls=None, backup_schedule=None, flavor=None, id=None, instance_id=None, name=None, project_id=None, region=None, replicas=None, storage=None, version=None): + def __init__(__self__, acls=None, backup_schedule=None, connection_info=None, encryption=None, flavor=None, flavor_id=None, id=None, instance_id=None, name=None, network=None, project_id=None, region=None, replicas=None, retention_days=None, storage=None, version=None): if acls and not isinstance(acls, list): raise TypeError("Expected argument 'acls' to be a list") pulumi.set(__self__, "acls", acls) if backup_schedule and not isinstance(backup_schedule, str): raise TypeError("Expected argument 'backup_schedule' to be a str") pulumi.set(__self__, "backup_schedule", backup_schedule) + if connection_info and not isinstance(connection_info, dict): + raise TypeError("Expected argument 'connection_info' to be a dict") + pulumi.set(__self__, "connection_info", connection_info) + if encryption and not isinstance(encryption, dict): + raise TypeError("Expected argument 'encryption' to be a dict") + pulumi.set(__self__, "encryption", encryption) if flavor and not isinstance(flavor, dict): raise TypeError("Expected argument 'flavor' to be a dict") pulumi.set(__self__, "flavor", flavor) + if flavor_id and not isinstance(flavor_id, str): + raise TypeError("Expected argument 'flavor_id' to be a str") + pulumi.set(__self__, "flavor_id", flavor_id) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -46,6 +55,9 @@ def __init__(__self__, acls=None, backup_schedule=None, flavor=None, id=None, in if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) + if network and not isinstance(network, dict): + raise TypeError("Expected argument 'network' to be a dict") + pulumi.set(__self__, "network", network) if project_id and not isinstance(project_id, str): raise TypeError("Expected argument 'project_id' to be a str") pulumi.set(__self__, "project_id", project_id) @@ -55,6 +67,9 @@ def __init__(__self__, acls=None, backup_schedule=None, flavor=None, id=None, in if replicas and not isinstance(replicas, int): raise TypeError("Expected argument 'replicas' to be a int") pulumi.set(__self__, "replicas", replicas) + if retention_days and not isinstance(retention_days, int): + raise TypeError("Expected argument 'retention_days' to be a int") + pulumi.set(__self__, "retention_days", retention_days) if storage and not isinstance(storage, dict): raise TypeError("Expected argument 'storage' to be a dict") pulumi.set(__self__, "storage", storage) @@ -64,6 +79,7 @@ def __init__(__self__, acls=None, backup_schedule=None, flavor=None, id=None, in @_builtins.property @pulumi.getter + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> Sequence[_builtins.str]: """ The Access Control List (ACL) for the PostgresFlex instance. @@ -73,13 +89,35 @@ def acls(self) -> Sequence[_builtins.str]: @_builtins.property @pulumi.getter(name="backupSchedule") def backup_schedule(self) -> _builtins.str: + """ + The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + """ return pulumi.get(self, "backup_schedule") + @_builtins.property + @pulumi.getter(name="connectionInfo") + def connection_info(self) -> 'outputs.GetPostgresflexInstanceConnectionInfoResult': + """ + The connection info for the PostgresFlex instance. + """ + return pulumi.get(self, "connection_info") + + @_builtins.property + @pulumi.getter + def encryption(self) -> 'outputs.GetPostgresflexInstanceEncryptionResult': + return pulumi.get(self, "encryption") + @_builtins.property @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`..""") def flavor(self) -> 'outputs.GetPostgresflexInstanceFlavorResult': return pulumi.get(self, "flavor") + @_builtins.property + @pulumi.getter(name="flavorId") + def flavor_id(self) -> _builtins.str: + return pulumi.get(self, "flavor_id") + @_builtins.property @pulumi.getter def id(self) -> _builtins.str: @@ -104,6 +142,11 @@ def name(self) -> _builtins.str: """ return pulumi.get(self, "name") + @_builtins.property + @pulumi.getter + def network(self) -> 'outputs.GetPostgresflexInstanceNetworkResult': + return pulumi.get(self, "network") + @_builtins.property @pulumi.getter(name="projectId") def project_id(self) -> _builtins.str: @@ -122,9 +165,15 @@ def region(self) -> Optional[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""") def replicas(self) -> _builtins.int: return pulumi.get(self, "replicas") + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> _builtins.int: + return pulumi.get(self, "retention_days") + @_builtins.property @pulumi.getter def storage(self) -> 'outputs.GetPostgresflexInstanceStorageResult': @@ -144,13 +193,18 @@ def __await__(self): return GetPostgresflexInstanceResult( acls=self.acls, backup_schedule=self.backup_schedule, + connection_info=self.connection_info, + encryption=self.encryption, flavor=self.flavor, + flavor_id=self.flavor_id, id=self.id, instance_id=self.instance_id, name=self.name, + network=self.network, project_id=self.project_id, region=self.region, replicas=self.replicas, + retention_days=self.retention_days, storage=self.storage, version=self.version) @@ -179,13 +233,18 @@ def get_postgresflex_instance(instance_id: Optional[_builtins.str] = None, return AwaitableGetPostgresflexInstanceResult( acls=pulumi.get(__ret__, 'acls'), backup_schedule=pulumi.get(__ret__, 'backup_schedule'), + connection_info=pulumi.get(__ret__, 'connection_info'), + encryption=pulumi.get(__ret__, 'encryption'), flavor=pulumi.get(__ret__, 'flavor'), + flavor_id=pulumi.get(__ret__, 'flavor_id'), id=pulumi.get(__ret__, 'id'), instance_id=pulumi.get(__ret__, 'instance_id'), name=pulumi.get(__ret__, 'name'), + network=pulumi.get(__ret__, 'network'), project_id=pulumi.get(__ret__, 'project_id'), region=pulumi.get(__ret__, 'region'), replicas=pulumi.get(__ret__, 'replicas'), + retention_days=pulumi.get(__ret__, 'retention_days'), storage=pulumi.get(__ret__, 'storage'), version=pulumi.get(__ret__, 'version')) def get_postgresflex_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -211,12 +270,17 @@ def get_postgresflex_instance_output(instance_id: pulumi.Input[Optional[_builtin return __ret__.apply(lambda __response__: GetPostgresflexInstanceResult( acls=pulumi.get(__response__, 'acls'), backup_schedule=pulumi.get(__response__, 'backup_schedule'), + connection_info=pulumi.get(__response__, 'connection_info'), + encryption=pulumi.get(__response__, 'encryption'), flavor=pulumi.get(__response__, 'flavor'), + flavor_id=pulumi.get(__response__, 'flavor_id'), id=pulumi.get(__response__, 'id'), instance_id=pulumi.get(__response__, 'instance_id'), name=pulumi.get(__response__, 'name'), + network=pulumi.get(__response__, 'network'), project_id=pulumi.get(__response__, 'project_id'), region=pulumi.get(__response__, 'region'), replicas=pulumi.get(__response__, 'replicas'), + retention_days=pulumi.get(__response__, 'retention_days'), storage=pulumi.get(__response__, 'storage'), version=pulumi.get(__response__, 'version'))) diff --git a/sdk/python/pulumi_stackit/get_postgresflex_user.py b/sdk/python/pulumi_stackit/get_postgresflex_user.py index 4527c2aa..521428e3 100644 --- a/sdk/python/pulumi_stackit/get_postgresflex_user.py +++ b/sdk/python/pulumi_stackit/get_postgresflex_user.py @@ -57,6 +57,7 @@ def __init__(__self__, host=None, id=None, instance_id=None, port=None, project_ @_builtins.property @pulumi.getter + @_utilities.deprecated("""host is deprecated and will be removed after February 2027. The host can be retrieved from the instance `connection_info.write.host`.""") def host(self) -> _builtins.str: return pulumi.get(self, "host") @@ -78,6 +79,7 @@ def instance_id(self) -> _builtins.str: @_builtins.property @pulumi.getter + @_utilities.deprecated("""port is deprecated and will be removed after February 2027. The port can be retrieved from the instance `connection_info.write.port`.""") def port(self) -> _builtins.int: return pulumi.get(self, "port") diff --git a/sdk/python/pulumi_stackit/get_ske_cluster.py b/sdk/python/pulumi_stackit/get_ske_cluster.py index 4efd2ab1..847582e2 100644 --- a/sdk/python/pulumi_stackit/get_ske_cluster.py +++ b/sdk/python/pulumi_stackit/get_ske_cluster.py @@ -27,10 +27,13 @@ class GetSkeClusterResult: """ A collection of values returned by getSkeCluster. """ - def __init__(__self__, access=None, egress_address_ranges=None, extensions=None, hibernations=None, id=None, kubernetes_version_min=None, kubernetes_version_used=None, maintenance=None, name=None, network=None, node_pools=None, pod_address_ranges=None, project_id=None, region=None, service_account_issuer=None): + def __init__(__self__, access=None, audit=None, egress_address_ranges=None, extensions=None, hibernations=None, id=None, kubernetes_version_min=None, kubernetes_version_used=None, maintenance=None, name=None, network=None, node_pools=None, pod_address_ranges=None, project_id=None, region=None, service_account_issuer=None): if access and not isinstance(access, dict): raise TypeError("Expected argument 'access' to be a dict") pulumi.set(__self__, "access", access) + if audit and not isinstance(audit, dict): + raise TypeError("Expected argument 'audit' to be a dict") + pulumi.set(__self__, "audit", audit) if egress_address_ranges and not isinstance(egress_address_ranges, list): raise TypeError("Expected argument 'egress_address_ranges' to be a list") pulumi.set(__self__, "egress_address_ranges", egress_address_ranges) @@ -82,6 +85,14 @@ def access(self) -> 'outputs.GetSkeClusterAccessResult': """ return pulumi.get(self, "access") + @_builtins.property + @pulumi.getter + def audit(self) -> 'outputs.GetSkeClusterAuditResult': + """ + Cluster audit log forwarding configuration. + """ + return pulumi.get(self, "audit") + @_builtins.property @pulumi.getter(name="egressAddressRanges") def egress_address_ranges(self) -> Sequence[_builtins.str]: @@ -202,6 +213,7 @@ def __await__(self): yield self return GetSkeClusterResult( access=self.access, + audit=self.audit, egress_address_ranges=self.egress_address_ranges, extensions=self.extensions, hibernations=self.hibernations, @@ -241,6 +253,7 @@ def get_ske_cluster(name: Optional[_builtins.str] = None, return AwaitableGetSkeClusterResult( access=pulumi.get(__ret__, 'access'), + audit=pulumi.get(__ret__, 'audit'), egress_address_ranges=pulumi.get(__ret__, 'egress_address_ranges'), extensions=pulumi.get(__ret__, 'extensions'), hibernations=pulumi.get(__ret__, 'hibernations'), @@ -277,6 +290,7 @@ def get_ske_cluster_output(name: pulumi.Input[Optional[_builtins.str]] = None, __ret__ = pulumi.runtime.invoke_output('stackit:index/getSkeCluster:getSkeCluster', __args__, opts=opts, typ=GetSkeClusterResult) return __ret__.apply(lambda __response__: GetSkeClusterResult( access=pulumi.get(__response__, 'access'), + audit=pulumi.get(__response__, 'audit'), egress_address_ranges=pulumi.get(__response__, 'egress_address_ranges'), extensions=pulumi.get(__response__, 'extensions'), hibernations=pulumi.get(__response__, 'hibernations'), diff --git a/sdk/python/pulumi_stackit/get_sqlserverflex_database.py b/sdk/python/pulumi_stackit/get_sqlserverflex_database.py new file mode 100644 index 00000000..cc38ac6a --- /dev/null +++ b/sdk/python/pulumi_stackit/get_sqlserverflex_database.py @@ -0,0 +1,231 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetSqlserverflexDatabaseResult', + 'AwaitableGetSqlserverflexDatabaseResult', + 'get_sqlserverflex_database', + 'get_sqlserverflex_database_output', +] + +@pulumi.output_type +class GetSqlserverflexDatabaseResult: + """ + A collection of values returned by getSqlserverflexDatabase. + """ + def __init__(__self__, collation=None, compatibility=None, database_id=None, id=None, instance_id=None, name=None, owner=None, project_id=None, region=None, timeouts=None): + if collation and not isinstance(collation, str): + raise TypeError("Expected argument 'collation' to be a str") + pulumi.set(__self__, "collation", collation) + if compatibility and not isinstance(compatibility, int): + raise TypeError("Expected argument 'compatibility' to be a int") + pulumi.set(__self__, "compatibility", compatibility) + if database_id and not isinstance(database_id, int): + raise TypeError("Expected argument 'database_id' to be a int") + pulumi.set(__self__, "database_id", database_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if owner and not isinstance(owner, str): + raise TypeError("Expected argument 'owner' to be a str") + pulumi.set(__self__, "owner", owner) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def collation(self) -> _builtins.str: + """ + The collation of the database. + """ + return pulumi.get(self, "collation") + + @_builtins.property + @pulumi.getter + def compatibility(self) -> _builtins.int: + """ + Compatibility level of the database. + """ + return pulumi.get(self, "compatibility") + + @_builtins.property + @pulumi.getter(name="databaseId") + def database_id(self) -> _builtins.int: + """ + The id of the database. + """ + return pulumi.get(self, "database_id") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform internal ID, structured as "`project_id`,`region`,`instance_id`,`name`" + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + ID of the SQLServer Flex instance. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the database. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def owner(self) -> _builtins.str: + """ + The owner of the database. + """ + return pulumi.get(self, "owner") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetSqlserverflexDatabaseTimeoutsResult']: + return pulumi.get(self, "timeouts") + + +class AwaitableGetSqlserverflexDatabaseResult(GetSqlserverflexDatabaseResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSqlserverflexDatabaseResult( + collation=self.collation, + compatibility=self.compatibility, + database_id=self.database_id, + id=self.id, + instance_id=self.instance_id, + name=self.name, + owner=self.owner, + project_id=self.project_id, + region=self.region, + timeouts=self.timeouts) + + +def get_sqlserverflex_database(instance_id: Optional[_builtins.str] = None, + name: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetSqlserverflexDatabaseTimeoutsArgs', 'GetSqlserverflexDatabaseTimeoutsArgsDict']] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSqlserverflexDatabaseResult: + """ + SQLServer Flex database data source schema. + + ## Example Usage + + + :param _builtins.str instance_id: ID of the SQLServer Flex instance. + :param _builtins.str name: Name of the database. + :param _builtins.str project_id: STACKIT project ID. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase', __args__, opts=opts, typ=GetSqlserverflexDatabaseResult).value + + return AwaitableGetSqlserverflexDatabaseResult( + collation=pulumi.get(__ret__, 'collation'), + compatibility=pulumi.get(__ret__, 'compatibility'), + database_id=pulumi.get(__ret__, 'database_id'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + name=pulumi.get(__ret__, 'name'), + owner=pulumi.get(__ret__, 'owner'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + timeouts=pulumi.get(__ret__, 'timeouts')) +def get_sqlserverflex_database_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetSqlserverflexDatabaseTimeoutsArgs', 'GetSqlserverflexDatabaseTimeoutsArgsDict']]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSqlserverflexDatabaseResult]: + """ + SQLServer Flex database data source schema. + + ## Example Usage + + + :param _builtins.str instance_id: ID of the SQLServer Flex instance. + :param _builtins.str name: Name of the database. + :param _builtins.str project_id: STACKIT project ID. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['name'] = name + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSqlserverflexDatabase:getSqlserverflexDatabase', __args__, opts=opts, typ=GetSqlserverflexDatabaseResult) + return __ret__.apply(lambda __response__: GetSqlserverflexDatabaseResult( + collation=pulumi.get(__response__, 'collation'), + compatibility=pulumi.get(__response__, 'compatibility'), + database_id=pulumi.get(__response__, 'database_id'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + name=pulumi.get(__response__, 'name'), + owner=pulumi.get(__response__, 'owner'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + timeouts=pulumi.get(__response__, 'timeouts'))) diff --git a/sdk/python/pulumi_stackit/get_sqlserverflex_flavors.py b/sdk/python/pulumi_stackit/get_sqlserverflex_flavors.py new file mode 100644 index 00000000..5c769d03 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_sqlserverflex_flavors.py @@ -0,0 +1,149 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = [ + 'GetSqlserverflexFlavorsResult', + 'AwaitableGetSqlserverflexFlavorsResult', + 'get_sqlserverflex_flavors', + 'get_sqlserverflex_flavors_output', +] + +@pulumi.output_type +class GetSqlserverflexFlavorsResult: + """ + A collection of values returned by getSqlserverflexFlavors. + """ + def __init__(__self__, flavors=None, id=None, project_id=None, region=None, timeouts=None): + if flavors and not isinstance(flavors, list): + raise TypeError("Expected argument 'flavors' to be a list") + pulumi.set(__self__, "flavors", flavors) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def flavors(self) -> Sequence['outputs.GetSqlserverflexFlavorsFlavorResult']: + """ + A list of available flavors. + """ + return pulumi.get(self, "flavors") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal data source ID, structured as "`project_id`,`region`" + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + The project ID. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + SqlserverFlex flavors data source region. If undefined the providers region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetSqlserverflexFlavorsTimeoutsResult']: + return pulumi.get(self, "timeouts") + + +class AwaitableGetSqlserverflexFlavorsResult(GetSqlserverflexFlavorsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSqlserverflexFlavorsResult( + flavors=self.flavors, + id=self.id, + project_id=self.project_id, + region=self.region, + timeouts=self.timeouts) + + +def get_sqlserverflex_flavors(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetSqlserverflexFlavorsTimeoutsArgs', 'GetSqlserverflexFlavorsTimeoutsArgsDict']] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSqlserverflexFlavorsResult: + """ + SqlserverFlex flavors data source schema + + ## Example Usage + + + :param _builtins.str project_id: The project ID. + :param _builtins.str region: SqlserverFlex flavors data source region. If undefined the providers region is used. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors', __args__, opts=opts, typ=GetSqlserverflexFlavorsResult).value + + return AwaitableGetSqlserverflexFlavorsResult( + flavors=pulumi.get(__ret__, 'flavors'), + id=pulumi.get(__ret__, 'id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + timeouts=pulumi.get(__ret__, 'timeouts')) +def get_sqlserverflex_flavors_output(project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetSqlserverflexFlavorsTimeoutsArgs', 'GetSqlserverflexFlavorsTimeoutsArgsDict']]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSqlserverflexFlavorsResult]: + """ + SqlserverFlex flavors data source schema + + ## Example Usage + + + :param _builtins.str project_id: The project ID. + :param _builtins.str region: SqlserverFlex flavors data source region. If undefined the providers region is used. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSqlserverflexFlavors:getSqlserverflexFlavors', __args__, opts=opts, typ=GetSqlserverflexFlavorsResult) + return __ret__.apply(lambda __response__: GetSqlserverflexFlavorsResult( + flavors=pulumi.get(__response__, 'flavors'), + id=pulumi.get(__response__, 'id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + timeouts=pulumi.get(__response__, 'timeouts'))) diff --git a/sdk/python/pulumi_stackit/get_sqlserverflex_instance.py b/sdk/python/pulumi_stackit/get_sqlserverflex_instance.py index 6e69f40c..b812bf1e 100644 --- a/sdk/python/pulumi_stackit/get_sqlserverflex_instance.py +++ b/sdk/python/pulumi_stackit/get_sqlserverflex_instance.py @@ -28,7 +28,7 @@ class GetSqlserverflexInstanceResult: """ A collection of values returned by getSqlserverflexInstance. """ - def __init__(__self__, acls=None, backup_schedule=None, edition=None, flavor=None, flavor_id=None, id=None, instance_id=None, name=None, network=None, options=None, project_id=None, region=None, replicas=None, retention_days=None, storage=None, version=None): + def __init__(__self__, acls=None, backup_schedule=None, edition=None, encryption=None, flavor=None, flavor_id=None, id=None, instance_id=None, name=None, network=None, options=None, project_id=None, region=None, replicas=None, retention_days=None, storage=None, version=None): if acls and not isinstance(acls, list): raise TypeError("Expected argument 'acls' to be a list") pulumi.set(__self__, "acls", acls) @@ -38,6 +38,9 @@ def __init__(__self__, acls=None, backup_schedule=None, edition=None, flavor=Non if edition and not isinstance(edition, str): raise TypeError("Expected argument 'edition' to be a str") pulumi.set(__self__, "edition", edition) + if encryption and not isinstance(encryption, dict): + raise TypeError("Expected argument 'encryption' to be a dict") + pulumi.set(__self__, "encryption", encryption) if flavor and not isinstance(flavor, dict): raise TypeError("Expected argument 'flavor' to be a dict") pulumi.set(__self__, "flavor", flavor) @@ -80,6 +83,7 @@ def __init__(__self__, acls=None, backup_schedule=None, edition=None, flavor=Non @_builtins.property @pulumi.getter + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> Sequence[_builtins.str]: """ The Access Control List (ACL) for the SQLServer Flex instance. @@ -104,6 +108,15 @@ def edition(self) -> _builtins.str: @_builtins.property @pulumi.getter + def encryption(self) -> 'outputs.GetSqlserverflexInstanceEncryptionResult': + """ + Parameter to define which key to use for storage encryption. + """ + return pulumi.get(self, "encryption") + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""") def flavor(self) -> 'outputs.GetSqlserverflexInstanceFlavorResult': return pulumi.get(self, "flavor") @@ -149,6 +162,7 @@ def network(self) -> Optional['outputs.GetSqlserverflexInstanceNetworkResult']: @_builtins.property @pulumi.getter + @_utilities.deprecated("""option is deprecated and will be removed after February 2027.""") def options(self) -> 'outputs.GetSqlserverflexInstanceOptionsResult': """ Custom parameters for the SQLServer Flex instance. @@ -204,6 +218,7 @@ def __await__(self): acls=self.acls, backup_schedule=self.backup_schedule, edition=self.edition, + encryption=self.encryption, flavor=self.flavor, flavor_id=self.flavor_id, id=self.id, @@ -247,6 +262,7 @@ def get_sqlserverflex_instance(instance_id: Optional[_builtins.str] = None, acls=pulumi.get(__ret__, 'acls'), backup_schedule=pulumi.get(__ret__, 'backup_schedule'), edition=pulumi.get(__ret__, 'edition'), + encryption=pulumi.get(__ret__, 'encryption'), flavor=pulumi.get(__ret__, 'flavor'), flavor_id=pulumi.get(__ret__, 'flavor_id'), id=pulumi.get(__ret__, 'id'), @@ -287,6 +303,7 @@ def get_sqlserverflex_instance_output(instance_id: pulumi.Input[Optional[_builti acls=pulumi.get(__response__, 'acls'), backup_schedule=pulumi.get(__response__, 'backup_schedule'), edition=pulumi.get(__response__, 'edition'), + encryption=pulumi.get(__response__, 'encryption'), flavor=pulumi.get(__response__, 'flavor'), flavor_id=pulumi.get(__response__, 'flavor_id'), id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_stackit/get_telemetrylink.py b/sdk/python/pulumi_stackit/get_telemetrylink.py index 4622eee0..dc3620ac 100644 --- a/sdk/python/pulumi_stackit/get_telemetrylink.py +++ b/sdk/python/pulumi_stackit/get_telemetrylink.py @@ -113,6 +113,7 @@ def resource_type(self) -> _builtins.str: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> _builtins.str: """ The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. diff --git a/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py b/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py index e5dbaf28..c2651280 100644 --- a/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py +++ b/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py @@ -132,6 +132,7 @@ def region(self) -> Optional[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> _builtins.str: """ The status of the access token. Possible values are: `active`, `expired`, `deleting`. diff --git a/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py b/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py index cee5aa20..4f023003 100644 --- a/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py +++ b/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py @@ -144,6 +144,7 @@ def region(self) -> _builtins.str: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> _builtins.str: """ The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. diff --git a/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py b/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py index 6f54eb9a..f0411251 100644 --- a/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py +++ b/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py @@ -125,6 +125,7 @@ def region(self) -> Optional[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> _builtins.str: """ The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. diff --git a/sdk/python/pulumi_stackit/kms_key.py b/sdk/python/pulumi_stackit/kms_key.py index ee4e633b..d58a38ae 100644 --- a/sdk/python/pulumi_stackit/kms_key.py +++ b/sdk/python/pulumi_stackit/kms_key.py @@ -36,7 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] display_name: The display name to distinguish multiple keys :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the key is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `symmetric_encrypt_decrypt`, `asymmetric_encrypt_decrypt`, `message_authentication_code`, `asymmetric_sign_verify`. :param pulumi.Input[_builtins.str] access_scope: The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`. :param pulumi.Input[_builtins.str] description: A user chosen description to distinguish multiple keys @@ -110,7 +110,7 @@ def project_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def protection(self) -> pulumi.Input[_builtins.str]: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") @@ -204,7 +204,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] key_id: The ID of the key :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the key is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `symmetric_encrypt_decrypt`, `asymmetric_encrypt_decrypt`, `message_authentication_code`, `asymmetric_sign_verify`. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ @@ -331,7 +331,7 @@ def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.getter def protection(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") @@ -398,7 +398,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.bool] import_only: States whether versions can be created or only imported. :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the key is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `symmetric_encrypt_decrypt`, `asymmetric_encrypt_decrypt`, `message_authentication_code`, `asymmetric_sign_verify`. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ @@ -509,7 +509,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] key_id: The ID of the key :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the key is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `symmetric_encrypt_decrypt`, `asymmetric_encrypt_decrypt`, `message_authentication_code`, `asymmetric_sign_verify`. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ @@ -598,7 +598,7 @@ def project_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def protection(self) -> pulumi.Output[_builtins.str]: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") diff --git a/sdk/python/pulumi_stackit/kms_wrapping_key.py b/sdk/python/pulumi_stackit/kms_wrapping_key.py index 47e124fd..a2facd61 100644 --- a/sdk/python/pulumi_stackit/kms_wrapping_key.py +++ b/sdk/python/pulumi_stackit/kms_wrapping_key.py @@ -35,7 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] display_name: The display name to distinguish multiple wrapping keys. :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the keyring is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `wrap_symmetric_key`, `wrap_asymmetric_key`. :param pulumi.Input[_builtins.str] access_scope: The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`. :param pulumi.Input[_builtins.str] description: A user chosen description to distinguish multiple wrapping keys. @@ -106,7 +106,7 @@ def project_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def protection(self) -> pulumi.Input[_builtins.str]: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") @@ -190,7 +190,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] expires_at: The date and time the wrapping key will expire. :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the keyring is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] public_key: The public key of the wrapping key. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `wrap_symmetric_key`, `wrap_asymmetric_key`. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. @@ -323,7 +323,7 @@ def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.getter def protection(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") @@ -410,7 +410,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] display_name: The display name to distinguish multiple wrapping keys. :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the keyring is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `wrap_symmetric_key`, `wrap_asymmetric_key`. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ @@ -522,7 +522,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] expires_at: The date and time the wrapping key will expire. :param pulumi.Input[_builtins.str] keyring_id: The ID of the associated keyring :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the keyring is associated. - :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + :param pulumi.Input[_builtins.str] protection: The underlying system that is responsible for protecting the key material. :param pulumi.Input[_builtins.str] public_key: The public key of the wrapping key. :param pulumi.Input[_builtins.str] purpose: The purpose for which the key will be used. Possible values are: `wrap_symmetric_key`, `wrap_asymmetric_key`. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. @@ -615,7 +615,7 @@ def project_id(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def protection(self) -> pulumi.Output[_builtins.str]: """ - The underlying system that is responsible for protecting the key material. Possible values are: `software`, `hsm`. + The underlying system that is responsible for protecting the key material. """ return pulumi.get(self, "protection") diff --git a/sdk/python/pulumi_stackit/logme_credential.py b/sdk/python/pulumi_stackit/logme_credential.py index a258d6bc..7c43a424 100644 --- a/sdk/python/pulumi_stackit/logme_credential.py +++ b/sdk/python/pulumi_stackit/logme_credential.py @@ -20,15 +20,19 @@ class LogmeCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], - project_id: pulumi.Input[_builtins.str]): + project_id: pulumi.Input[_builtins.str], + region: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a LogmeCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the LogMe instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="instanceId") @@ -54,6 +58,18 @@ def project_id(self) -> pulumi.Input[_builtins.str]: def project_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @pulumi.input_type class _LogmeCredentialState: @@ -64,6 +80,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -72,6 +89,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the LogMe instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ if credential_id is not None: pulumi.set(__self__, "credential_id", credential_id) @@ -85,6 +103,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if uri is not None: pulumi.set(__self__, "uri", uri) if username is not None: @@ -153,6 +173,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -180,6 +212,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ LogMe credential resource schema. Must have a `region` specified in the provider configuration. @@ -195,6 +228,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the LogMe instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ ... @overload @@ -229,6 +263,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -244,6 +279,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None __props__.__dict__["password"] = None @@ -268,6 +304,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'LogmeCredential': """ @@ -280,6 +317,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the LogMe instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -291,6 +329,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["uri"] = uri __props__.__dict__["username"] = username return LogmeCredential(resource_name, opts=opts, __props__=__props__) @@ -334,6 +373,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/logme_instance.py b/sdk/python/pulumi_stackit/logme_instance.py index 166b5ffb..a8a3d477 100644 --- a/sdk/python/pulumi_stackit/logme_instance.py +++ b/sdk/python/pulumi_stackit/logme_instance.py @@ -25,7 +25,8 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], version: pulumi.Input[_builtins.str], name: pulumi.Input[Optional[_builtins.str]] = None, - parameters: pulumi.Input[Optional['LogmeInstanceParametersArgs']] = None): + parameters: pulumi.Input[Optional['LogmeInstanceParametersArgs']] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a LogmeInstance resource. @@ -34,6 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] version: The service version. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input['LogmeInstanceParametersArgs'] parameters: Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "plan_name", plan_name) pulumi.set(__self__, "project_id", project_id) @@ -42,6 +44,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="planName") @@ -103,6 +107,18 @@ def parameters(self) -> pulumi.Input[Optional['LogmeInstanceParametersArgs']]: def parameters(self, value: pulumi.Input[Optional['LogmeInstanceParametersArgs']]): pulumi.set(self, "parameters", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @pulumi.input_type class _LogmeInstanceState: @@ -118,6 +134,7 @@ def __init__(__self__, *, plan_id: pulumi.Input[Optional[_builtins.str]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering LogmeInstance resources. @@ -128,6 +145,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] plan_id: The selected plan ID. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ if cf_guid is not None: @@ -152,6 +170,8 @@ def __init__(__self__, *, pulumi.set(__self__, "plan_name", plan_name) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if version is not None: pulumi.set(__self__, "version", version) @@ -272,6 +292,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter def version(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -295,6 +327,7 @@ def __init__(__self__, parameters: pulumi.Input[Optional[Union['LogmeInstanceParametersArgs', 'LogmeInstanceParametersArgsDict']]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ @@ -313,6 +346,7 @@ def __init__(__self__, :param pulumi.Input[Union['LogmeInstanceParametersArgs', 'LogmeInstanceParametersArgsDict']] parameters: Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ ... @@ -350,6 +384,7 @@ def _internal_init(__self__, parameters: pulumi.Input[Optional[Union['LogmeInstanceParametersArgs', 'LogmeInstanceParametersArgsDict']]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -368,6 +403,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region if version is None and not opts.urn: raise TypeError("Missing required property 'version'") __props__.__dict__["version"] = version @@ -399,6 +435,7 @@ def get(resource_name: str, plan_id: pulumi.Input[Optional[_builtins.str]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None) -> 'LogmeInstance': """ Get an existing LogmeInstance resource's state with the given name, id, and optional extra @@ -413,6 +450,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] plan_id: The selected plan ID. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -430,6 +468,7 @@ def get(resource_name: str, __props__.__dict__["plan_id"] = plan_id __props__.__dict__["plan_name"] = plan_name __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["version"] = version return LogmeInstance(resource_name, opts=opts, __props__=__props__) @@ -506,6 +545,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def version(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/mariadb_credential.py b/sdk/python/pulumi_stackit/mariadb_credential.py index 8238b0a2..93906474 100644 --- a/sdk/python/pulumi_stackit/mariadb_credential.py +++ b/sdk/python/pulumi_stackit/mariadb_credential.py @@ -21,16 +21,20 @@ class MariadbCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a MariadbCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if rotate_when_changed is not None: pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @@ -58,6 +62,18 @@ def project_id(self) -> pulumi.Input[_builtins.str]: def project_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter(name="rotateWhenChanged") def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -82,6 +98,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): @@ -91,6 +108,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ if credential_id is not None: @@ -109,6 +127,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if rotate_when_changed is not None: pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if uri is not None: @@ -197,6 +217,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter(name="rotateWhenChanged") def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -236,6 +268,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ @@ -252,6 +285,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @@ -287,6 +321,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -303,6 +338,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None @@ -332,6 +368,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'MariadbCredential': @@ -345,6 +382,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -359,6 +397,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["uri"] = uri __props__.__dict__["username"] = username @@ -413,6 +452,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter(name="rotateWhenChanged") def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: diff --git a/sdk/python/pulumi_stackit/mariadb_instance.py b/sdk/python/pulumi_stackit/mariadb_instance.py index 8dc1b2b7..e623f7c9 100644 --- a/sdk/python/pulumi_stackit/mariadb_instance.py +++ b/sdk/python/pulumi_stackit/mariadb_instance.py @@ -25,7 +25,8 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], version: pulumi.Input[_builtins.str], name: pulumi.Input[Optional[_builtins.str]] = None, - parameters: pulumi.Input[Optional['MariadbInstanceParametersArgs']] = None): + parameters: pulumi.Input[Optional['MariadbInstanceParametersArgs']] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a MariadbInstance resource. @@ -34,6 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] version: The service version. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input['MariadbInstanceParametersArgs'] parameters: Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "plan_name", plan_name) pulumi.set(__self__, "project_id", project_id) @@ -42,6 +44,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="planName") @@ -103,6 +107,18 @@ def parameters(self) -> pulumi.Input[Optional['MariadbInstanceParametersArgs']]: def parameters(self, value: pulumi.Input[Optional['MariadbInstanceParametersArgs']]): pulumi.set(self, "parameters", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @pulumi.input_type class _MariadbInstanceState: @@ -118,6 +134,7 @@ def __init__(__self__, *, plan_id: pulumi.Input[Optional[_builtins.str]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering MariadbInstance resources. @@ -128,6 +145,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] plan_id: The selected plan ID. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ if cf_guid is not None: @@ -152,6 +170,8 @@ def __init__(__self__, *, pulumi.set(__self__, "plan_name", plan_name) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if version is not None: pulumi.set(__self__, "version", version) @@ -272,6 +292,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter def version(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -295,6 +327,7 @@ def __init__(__self__, parameters: pulumi.Input[Optional[Union['MariadbInstanceParametersArgs', 'MariadbInstanceParametersArgsDict']]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ @@ -313,6 +346,7 @@ def __init__(__self__, :param pulumi.Input[Union['MariadbInstanceParametersArgs', 'MariadbInstanceParametersArgsDict']] parameters: Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ ... @@ -350,6 +384,7 @@ def _internal_init(__self__, parameters: pulumi.Input[Optional[Union['MariadbInstanceParametersArgs', 'MariadbInstanceParametersArgsDict']]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -368,6 +403,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region if version is None and not opts.urn: raise TypeError("Missing required property 'version'") __props__.__dict__["version"] = version @@ -399,6 +435,7 @@ def get(resource_name: str, plan_id: pulumi.Input[Optional[_builtins.str]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None) -> 'MariadbInstance': """ Get an existing MariadbInstance resource's state with the given name, id, and optional extra @@ -413,6 +450,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] plan_id: The selected plan ID. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -430,6 +468,7 @@ def get(resource_name: str, __props__.__dict__["plan_id"] = plan_id __props__.__dict__["plan_name"] = plan_name __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["version"] = version return MariadbInstance(resource_name, opts=opts, __props__=__props__) @@ -506,6 +545,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def version(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/modelexperiments_instance.py b/sdk/python/pulumi_stackit/modelexperiments_instance.py new file mode 100644 index 00000000..f049810e --- /dev/null +++ b/sdk/python/pulumi_stackit/modelexperiments_instance.py @@ -0,0 +1,487 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = ['ModelexperimentsInstanceArgs', 'ModelexperimentsInstance'] + +@pulumi.input_type +class ModelexperimentsInstanceArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + deleted_experiment_retention: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a ModelexperimentsInstance resource. + + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] deleted_experiment_retention: The deleted experiment retention time of the AI Model Experiments instance. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + if deleted_experiment_retention is not None: + pulumi.set(__self__, "deleted_experiment_retention", deleted_experiment_retention) + if description is not None: + pulumi.set(__self__, "description", description) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="deletedExperimentRetention") + def deleted_experiment_retention(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The deleted experiment retention time of the AI Model Experiments instance. + """ + return pulumi.get(self, "deleted_experiment_retention") + + @deleted_experiment_retention.setter + def deleted_experiment_retention(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "deleted_experiment_retention", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _ModelexperimentsInstanceState: + def __init__(__self__, *, + bucket_name: pulumi.Input[Optional[_builtins.str]] = None, + deleted_experiment_retention: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + url: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering ModelexperimentsInstance resources. + + :param pulumi.Input[_builtins.str] bucket_name: The object storage bucket name of the AI Model Experiments instance. + :param pulumi.Input[_builtins.str] deleted_experiment_retention: The deleted experiment retention time of the AI Model Experiments instance. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] instance_id: The AI Model Experiments instance ID. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] url: The Dashboard URL of the AI Model Experiments instance. + """ + if bucket_name is not None: + pulumi.set(__self__, "bucket_name", bucket_name) + if deleted_experiment_retention is not None: + pulumi.set(__self__, "deleted_experiment_retention", deleted_experiment_retention) + if description is not None: + pulumi.set(__self__, "description", description) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if url is not None: + pulumi.set(__self__, "url", url) + + @_builtins.property + @pulumi.getter(name="bucketName") + def bucket_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The object storage bucket name of the AI Model Experiments instance. + """ + return pulumi.get(self, "bucket_name") + + @bucket_name.setter + def bucket_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "bucket_name", value) + + @_builtins.property + @pulumi.getter(name="deletedExperimentRetention") + def deleted_experiment_retention(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The deleted experiment retention time of the AI Model Experiments instance. + """ + return pulumi.get(self, "deleted_experiment_retention") + + @deleted_experiment_retention.setter + def deleted_experiment_retention(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "deleted_experiment_retention", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def url(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The Dashboard URL of the AI Model Experiments instance. + """ + return pulumi.get(self, "url") + + @url.setter + def url(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "url", value) + + +@pulumi.type_token("stackit:index/modelexperimentsInstance:ModelexperimentsInstance") +class ModelexperimentsInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deleted_experiment_retention: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + Manages a STACKIT AI Model Experiments instance. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] deleted_experiment_retention: The deleted experiment retention time of the AI Model Experiments instance. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ModelexperimentsInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a STACKIT AI Model Experiments instance. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param ModelexperimentsInstanceArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ModelexperimentsInstanceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + deleted_experiment_retention: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ModelexperimentsInstanceArgs.__new__(ModelexperimentsInstanceArgs) + + __props__.__dict__["deleted_experiment_retention"] = deleted_experiment_retention + __props__.__dict__["description"] = description + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["bucket_name"] = None + __props__.__dict__["instance_id"] = None + __props__.__dict__["url"] = None + super(ModelexperimentsInstance, __self__).__init__( + 'stackit:index/modelexperimentsInstance:ModelexperimentsInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + bucket_name: pulumi.Input[Optional[_builtins.str]] = None, + deleted_experiment_retention: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + url: pulumi.Input[Optional[_builtins.str]] = None) -> 'ModelexperimentsInstance': + """ + Get an existing ModelexperimentsInstance resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] bucket_name: The object storage bucket name of the AI Model Experiments instance. + :param pulumi.Input[_builtins.str] deleted_experiment_retention: The deleted experiment retention time of the AI Model Experiments instance. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] instance_id: The AI Model Experiments instance ID. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] url: The Dashboard URL of the AI Model Experiments instance. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ModelexperimentsInstanceState.__new__(_ModelexperimentsInstanceState) + + __props__.__dict__["bucket_name"] = bucket_name + __props__.__dict__["deleted_experiment_retention"] = deleted_experiment_retention + __props__.__dict__["description"] = description + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["url"] = url + return ModelexperimentsInstance(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="bucketName") + def bucket_name(self) -> pulumi.Output[_builtins.str]: + """ + The object storage bucket name of the AI Model Experiments instance. + """ + return pulumi.get(self, "bucket_name") + + @_builtins.property + @pulumi.getter(name="deletedExperimentRetention") + def deleted_experiment_retention(self) -> pulumi.Output[_builtins.str]: + """ + The deleted experiment retention time of the AI Model Experiments instance. + """ + return pulumi.get(self, "deleted_experiment_retention") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def url(self) -> pulumi.Output[_builtins.str]: + """ + The Dashboard URL of the AI Model Experiments instance. + """ + return pulumi.get(self, "url") + diff --git a/sdk/python/pulumi_stackit/modelexperiments_token.py b/sdk/python/pulumi_stackit/modelexperiments_token.py new file mode 100644 index 00000000..f94a431f --- /dev/null +++ b/sdk/python/pulumi_stackit/modelexperiments_token.py @@ -0,0 +1,584 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = ['ModelexperimentsTokenArgs', 'ModelexperimentsToken'] + +@pulumi.input_type +class ModelexperimentsTokenArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + ttl_duration: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a ModelexperimentsToken resource. + + :param pulumi.Input[_builtins.str] instance_id: The AI Model Experiments instance ID. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + :param pulumi.Input[_builtins.str] ttl_duration: The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) + if ttl_duration is not None: + pulumi.set(__self__, "ttl_duration", ttl_duration) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + + @_builtins.property + @pulumi.getter(name="ttlDuration") + def ttl_duration(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + """ + return pulumi.get(self, "ttl_duration") + + @ttl_duration.setter + def ttl_duration(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ttl_duration", value) + + +@pulumi.input_type +class _ModelexperimentsTokenState: + def __init__(__self__, *, + description: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + token: pulumi.Input[Optional[_builtins.str]] = None, + token_id: pulumi.Input[Optional[_builtins.str]] = None, + ttl_duration: pulumi.Input[Optional[_builtins.str]] = None, + valid_until: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering ModelexperimentsToken resources. + + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] instance_id: The AI Model Experiments instance ID. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + :param pulumi.Input[_builtins.str] token: The content of the AI Model Experiments instance token. + :param pulumi.Input[_builtins.str] token_id: The AI Model Experiments instance token ID. + :param pulumi.Input[_builtins.str] ttl_duration: The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + :param pulumi.Input[_builtins.str] valid_until: The time until the AI Model Experiments instance token is valid. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) + if token is not None: + pulumi.set(__self__, "token", token) + if token_id is not None: + pulumi.set(__self__, "token_id", token_id) + if ttl_duration is not None: + pulumi.set(__self__, "ttl_duration", ttl_duration) + if valid_until is not None: + pulumi.set(__self__, "valid_until", valid_until) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + + @_builtins.property + @pulumi.getter + def token(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The content of the AI Model Experiments instance token. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "token", value) + + @_builtins.property + @pulumi.getter(name="tokenId") + def token_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The AI Model Experiments instance token ID. + """ + return pulumi.get(self, "token_id") + + @token_id.setter + def token_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "token_id", value) + + @_builtins.property + @pulumi.getter(name="ttlDuration") + def ttl_duration(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + """ + return pulumi.get(self, "ttl_duration") + + @ttl_duration.setter + def ttl_duration(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ttl_duration", value) + + @_builtins.property + @pulumi.getter(name="validUntil") + def valid_until(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The time until the AI Model Experiments instance token is valid. + """ + return pulumi.get(self, "valid_until") + + @valid_until.setter + def valid_until(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "valid_until", value) + + +@pulumi.type_token("stackit:index/modelexperimentsToken:ModelexperimentsToken") +class ModelexperimentsToken(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + ttl_duration: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + Manages a STACKIT AI Model Experiments instance tokens. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] instance_id: The AI Model Experiments instance ID. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + :param pulumi.Input[_builtins.str] ttl_duration: The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ModelexperimentsTokenArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a STACKIT AI Model Experiments instance tokens. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param ModelexperimentsTokenArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ModelexperimentsTokenArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + ttl_duration: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ModelexperimentsTokenArgs.__new__(ModelexperimentsTokenArgs) + + __props__.__dict__["description"] = description + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["rotate_when_changed"] = rotate_when_changed + __props__.__dict__["ttl_duration"] = ttl_duration + __props__.__dict__["token"] = None + __props__.__dict__["token_id"] = None + __props__.__dict__["valid_until"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(ModelexperimentsToken, __self__).__init__( + 'stackit:index/modelexperimentsToken:ModelexperimentsToken', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + token: pulumi.Input[Optional[_builtins.str]] = None, + token_id: pulumi.Input[Optional[_builtins.str]] = None, + ttl_duration: pulumi.Input[Optional[_builtins.str]] = None, + valid_until: pulumi.Input[Optional[_builtins.str]] = None) -> 'ModelexperimentsToken': + """ + Get an existing ModelexperimentsToken resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] instance_id: The AI Model Experiments instance ID. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: A map of arbitrary key/value pairs that can be attached to the resource + :param pulumi.Input[_builtins.str] name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + :param pulumi.Input[_builtins.str] token: The content of the AI Model Experiments instance token. + :param pulumi.Input[_builtins.str] token_id: The AI Model Experiments instance token ID. + :param pulumi.Input[_builtins.str] ttl_duration: The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + :param pulumi.Input[_builtins.str] valid_until: The time until the AI Model Experiments instance token is valid. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ModelexperimentsTokenState.__new__(_ModelexperimentsTokenState) + + __props__.__dict__["description"] = description + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["rotate_when_changed"] = rotate_when_changed + __props__.__dict__["token"] = token + __props__.__dict__["token_id"] = token_id + __props__.__dict__["ttl_duration"] = ttl_duration + __props__.__dict__["valid_until"] = valid_until + return ModelexperimentsToken(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The AI Model Experiments instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that can be attached to the resource + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @_builtins.property + @pulumi.getter + def token(self) -> pulumi.Output[_builtins.str]: + """ + The content of the AI Model Experiments instance token. + """ + return pulumi.get(self, "token") + + @_builtins.property + @pulumi.getter(name="tokenId") + def token_id(self) -> pulumi.Output[_builtins.str]: + """ + The AI Model Experiments instance token ID. + """ + return pulumi.get(self, "token_id") + + @_builtins.property + @pulumi.getter(name="ttlDuration") + def ttl_duration(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The TTL duration of the AI Model Experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s + """ + return pulumi.get(self, "ttl_duration") + + @_builtins.property + @pulumi.getter(name="validUntil") + def valid_until(self) -> pulumi.Output[_builtins.str]: + """ + The time until the AI Model Experiments instance token is valid. + """ + return pulumi.get(self, "valid_until") + diff --git a/sdk/python/pulumi_stackit/network.py b/sdk/python/pulumi_stackit/network.py index 9f9f1d04..9527c3af 100644 --- a/sdk/python/pulumi_stackit/network.py +++ b/sdk/python/pulumi_stackit/network.py @@ -25,17 +25,20 @@ def __init__(__self__, *, ipv4_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv4_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv4_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + ipv4_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, ipv6_gateway: pulumi.Input[Optional[_builtins.str]] = None, ipv6_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv6_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv6_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + ipv6_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, no_ipv4_gateway: pulumi.Input[Optional[_builtins.bool]] = None, no_ipv6_gateway: pulumi.Input[Optional[_builtins.bool]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, routed: pulumi.Input[Optional[_builtins.bool]] = None, - routing_table_id: pulumi.Input[Optional[_builtins.str]] = None): + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a Network resource. @@ -45,10 +48,12 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv4_nameservers: The IPv4 nameservers of the network. If not specified on creation, it will be set with the default nameservers from the network area. If not specified on update, it will remain unchanged. :param pulumi.Input[_builtins.str] ipv4_prefix: The IPv4 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv4_prefix_length: The IPv4 prefix length of the network. + :param pulumi.Input[_builtins.str] ipv4_vpc_network_range_id: The IPv4 VPC network range ID. :param pulumi.Input[_builtins.str] ipv6_gateway: The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv6_nameservers: The IPv6 nameservers of the network. :param pulumi.Input[_builtins.str] ipv6_prefix: The IPv6 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv6_prefix_length: The IPv6 prefix length of the network. + :param pulumi.Input[_builtins.str] ipv6_vpc_network_range_id: The IPv6 VPC network range ID. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the network. :param pulumi.Input[_builtins.bool] no_ipv4_gateway: If set to `true`, the network doesn't have a gateway. @@ -56,6 +61,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC the network is associated with. """ pulumi.set(__self__, "project_id", project_id) if dhcp is not None: @@ -68,6 +74,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ipv4_prefix", ipv4_prefix) if ipv4_prefix_length is not None: pulumi.set(__self__, "ipv4_prefix_length", ipv4_prefix_length) + if ipv4_vpc_network_range_id is not None: + pulumi.set(__self__, "ipv4_vpc_network_range_id", ipv4_vpc_network_range_id) if ipv6_gateway is not None: pulumi.set(__self__, "ipv6_gateway", ipv6_gateway) if ipv6_nameservers is not None: @@ -76,6 +84,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ipv6_prefix", ipv6_prefix) if ipv6_prefix_length is not None: pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length) + if ipv6_vpc_network_range_id is not None: + pulumi.set(__self__, "ipv6_vpc_network_range_id", ipv6_vpc_network_range_id) if labels is not None: pulumi.set(__self__, "labels", labels) if name is not None: @@ -90,6 +100,8 @@ def __init__(__self__, *, pulumi.set(__self__, "routed", routed) if routing_table_id is not None: pulumi.set(__self__, "routing_table_id", routing_table_id) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) @_builtins.property @pulumi.getter(name="projectId") @@ -163,6 +175,18 @@ def ipv4_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: def ipv4_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): pulumi.set(self, "ipv4_prefix_length", value) + @_builtins.property + @pulumi.getter(name="ipv4VpcNetworkRangeId") + def ipv4_vpc_network_range_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The IPv4 VPC network range ID. + """ + return pulumi.get(self, "ipv4_vpc_network_range_id") + + @ipv4_vpc_network_range_id.setter + def ipv4_vpc_network_range_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ipv4_vpc_network_range_id", value) + @_builtins.property @pulumi.getter(name="ipv6Gateway") def ipv6_gateway(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -211,6 +235,18 @@ def ipv6_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: def ipv6_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): pulumi.set(self, "ipv6_prefix_length", value) + @_builtins.property + @pulumi.getter(name="ipv6VpcNetworkRangeId") + def ipv6_vpc_network_range_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The IPv6 VPC network range ID. + """ + return pulumi.get(self, "ipv6_vpc_network_range_id") + + @ipv6_vpc_network_range_id.setter + def ipv6_vpc_network_range_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ipv6_vpc_network_range_id", value) + @_builtins.property @pulumi.getter def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -295,6 +331,18 @@ def routing_table_id(self) -> pulumi.Input[Optional[_builtins.str]]: def routing_table_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "routing_table_id", value) + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The ID of the VPC the network is associated with. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + @pulumi.input_type class _NetworkState: @@ -305,11 +353,13 @@ def __init__(__self__, *, ipv4_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv4_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, ipv4_prefixes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + ipv4_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, ipv6_gateway: pulumi.Input[Optional[_builtins.str]] = None, ipv6_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv6_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv6_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, ipv6_prefixes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + ipv6_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, network_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -319,7 +369,8 @@ def __init__(__self__, *, public_ip: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, routed: pulumi.Input[Optional[_builtins.bool]] = None, - routing_table_id: pulumi.Input[Optional[_builtins.str]] = None): + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering Network resources. @@ -329,11 +380,13 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] ipv4_prefix: The IPv4 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv4_prefix_length: The IPv4 prefix length of the network. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv4_prefixes: The IPv4 prefixes of the network. + :param pulumi.Input[_builtins.str] ipv4_vpc_network_range_id: The IPv4 VPC network range ID. :param pulumi.Input[_builtins.str] ipv6_gateway: The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv6_nameservers: The IPv6 nameservers of the network. :param pulumi.Input[_builtins.str] ipv6_prefix: The IPv6 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv6_prefix_length: The IPv6 prefix length of the network. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv6_prefixes: The IPv6 prefixes of the network. + :param pulumi.Input[_builtins.str] ipv6_vpc_network_range_id: The IPv6 VPC network range ID. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the network. :param pulumi.Input[_builtins.str] network_id: The network ID. @@ -344,6 +397,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC the network is associated with. """ if dhcp is not None: pulumi.set(__self__, "dhcp", dhcp) @@ -357,6 +411,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ipv4_prefix_length", ipv4_prefix_length) if ipv4_prefixes is not None: pulumi.set(__self__, "ipv4_prefixes", ipv4_prefixes) + if ipv4_vpc_network_range_id is not None: + pulumi.set(__self__, "ipv4_vpc_network_range_id", ipv4_vpc_network_range_id) if ipv6_gateway is not None: pulumi.set(__self__, "ipv6_gateway", ipv6_gateway) if ipv6_nameservers is not None: @@ -367,6 +423,8 @@ def __init__(__self__, *, pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length) if ipv6_prefixes is not None: pulumi.set(__self__, "ipv6_prefixes", ipv6_prefixes) + if ipv6_vpc_network_range_id is not None: + pulumi.set(__self__, "ipv6_vpc_network_range_id", ipv6_vpc_network_range_id) if labels is not None: pulumi.set(__self__, "labels", labels) if name is not None: @@ -387,6 +445,8 @@ def __init__(__self__, *, pulumi.set(__self__, "routed", routed) if routing_table_id is not None: pulumi.set(__self__, "routing_table_id", routing_table_id) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) @_builtins.property @pulumi.getter @@ -460,6 +520,18 @@ def ipv4_prefixes(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins def ipv4_prefixes(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "ipv4_prefixes", value) + @_builtins.property + @pulumi.getter(name="ipv4VpcNetworkRangeId") + def ipv4_vpc_network_range_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The IPv4 VPC network range ID. + """ + return pulumi.get(self, "ipv4_vpc_network_range_id") + + @ipv4_vpc_network_range_id.setter + def ipv4_vpc_network_range_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ipv4_vpc_network_range_id", value) + @_builtins.property @pulumi.getter(name="ipv6Gateway") def ipv6_gateway(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -520,6 +592,18 @@ def ipv6_prefixes(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins def ipv6_prefixes(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "ipv6_prefixes", value) + @_builtins.property + @pulumi.getter(name="ipv6VpcNetworkRangeId") + def ipv6_vpc_network_range_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The IPv6 VPC network range ID. + """ + return pulumi.get(self, "ipv6_vpc_network_range_id") + + @ipv6_vpc_network_range_id.setter + def ipv6_vpc_network_range_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ipv6_vpc_network_range_id", value) + @_builtins.property @pulumi.getter def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -640,6 +724,18 @@ def routing_table_id(self) -> pulumi.Input[Optional[_builtins.str]]: def routing_table_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "routing_table_id", value) + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The ID of the VPC the network is associated with. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + @pulumi.type_token("stackit:index/network:Network") class Network(pulumi.CustomResource): @@ -652,10 +748,12 @@ def __init__(__self__, ipv4_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv4_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv4_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + ipv4_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, ipv6_gateway: pulumi.Input[Optional[_builtins.str]] = None, ipv6_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv6_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv6_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + ipv6_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, no_ipv4_gateway: pulumi.Input[Optional[_builtins.bool]] = None, @@ -664,6 +762,7 @@ def __init__(__self__, region: pulumi.Input[Optional[_builtins.str]] = None, routed: pulumi.Input[Optional[_builtins.bool]] = None, routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ Network resource schema. Must have a `region` specified in the provider configuration. @@ -685,10 +784,12 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv4_nameservers: The IPv4 nameservers of the network. If not specified on creation, it will be set with the default nameservers from the network area. If not specified on update, it will remain unchanged. :param pulumi.Input[_builtins.str] ipv4_prefix: The IPv4 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv4_prefix_length: The IPv4 prefix length of the network. + :param pulumi.Input[_builtins.str] ipv4_vpc_network_range_id: The IPv4 VPC network range ID. :param pulumi.Input[_builtins.str] ipv6_gateway: The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv6_nameservers: The IPv6 nameservers of the network. :param pulumi.Input[_builtins.str] ipv6_prefix: The IPv6 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv6_prefix_length: The IPv6 prefix length of the network. + :param pulumi.Input[_builtins.str] ipv6_vpc_network_range_id: The IPv6 VPC network range ID. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the network. :param pulumi.Input[_builtins.bool] no_ipv4_gateway: If set to `true`, the network doesn't have a gateway. @@ -697,6 +798,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC the network is associated with. """ ... @overload @@ -737,10 +839,12 @@ def _internal_init(__self__, ipv4_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv4_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv4_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + ipv4_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, ipv6_gateway: pulumi.Input[Optional[_builtins.str]] = None, ipv6_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv6_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv6_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + ipv6_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, no_ipv4_gateway: pulumi.Input[Optional[_builtins.bool]] = None, @@ -749,6 +853,7 @@ def _internal_init(__self__, region: pulumi.Input[Optional[_builtins.str]] = None, routed: pulumi.Input[Optional[_builtins.bool]] = None, routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -763,10 +868,12 @@ def _internal_init(__self__, __props__.__dict__["ipv4_nameservers"] = ipv4_nameservers __props__.__dict__["ipv4_prefix"] = ipv4_prefix __props__.__dict__["ipv4_prefix_length"] = ipv4_prefix_length + __props__.__dict__["ipv4_vpc_network_range_id"] = ipv4_vpc_network_range_id __props__.__dict__["ipv6_gateway"] = ipv6_gateway __props__.__dict__["ipv6_nameservers"] = ipv6_nameservers __props__.__dict__["ipv6_prefix"] = ipv6_prefix __props__.__dict__["ipv6_prefix_length"] = ipv6_prefix_length + __props__.__dict__["ipv6_vpc_network_range_id"] = ipv6_vpc_network_range_id __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["no_ipv4_gateway"] = no_ipv4_gateway @@ -777,6 +884,7 @@ def _internal_init(__self__, __props__.__dict__["region"] = region __props__.__dict__["routed"] = routed __props__.__dict__["routing_table_id"] = routing_table_id + __props__.__dict__["vpc_id"] = vpc_id __props__.__dict__["ipv4_prefixes"] = None __props__.__dict__["ipv6_prefixes"] = None __props__.__dict__["network_id"] = None @@ -797,11 +905,13 @@ def get(resource_name: str, ipv4_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv4_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, ipv4_prefixes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + ipv4_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, ipv6_gateway: pulumi.Input[Optional[_builtins.str]] = None, ipv6_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, ipv6_prefix: pulumi.Input[Optional[_builtins.str]] = None, ipv6_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, ipv6_prefixes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + ipv6_vpc_network_range_id: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, network_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -811,7 +921,8 @@ def get(resource_name: str, public_ip: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, routed: pulumi.Input[Optional[_builtins.bool]] = None, - routing_table_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Network': + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Network': """ Get an existing Network resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -825,11 +936,13 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] ipv4_prefix: The IPv4 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv4_prefix_length: The IPv4 prefix length of the network. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv4_prefixes: The IPv4 prefixes of the network. + :param pulumi.Input[_builtins.str] ipv4_vpc_network_range_id: The IPv4 VPC network range ID. :param pulumi.Input[_builtins.str] ipv6_gateway: The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv6_nameservers: The IPv6 nameservers of the network. :param pulumi.Input[_builtins.str] ipv6_prefix: The IPv6 prefix of the network (CIDR). :param pulumi.Input[_builtins.int] ipv6_prefix_length: The IPv6 prefix length of the network. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ipv6_prefixes: The IPv6 prefixes of the network. + :param pulumi.Input[_builtins.str] ipv6_vpc_network_range_id: The IPv6 VPC network range ID. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the network. :param pulumi.Input[_builtins.str] network_id: The network ID. @@ -840,6 +953,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] vpc_id: The ID of the VPC the network is associated with. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -851,11 +965,13 @@ def get(resource_name: str, __props__.__dict__["ipv4_prefix"] = ipv4_prefix __props__.__dict__["ipv4_prefix_length"] = ipv4_prefix_length __props__.__dict__["ipv4_prefixes"] = ipv4_prefixes + __props__.__dict__["ipv4_vpc_network_range_id"] = ipv4_vpc_network_range_id __props__.__dict__["ipv6_gateway"] = ipv6_gateway __props__.__dict__["ipv6_nameservers"] = ipv6_nameservers __props__.__dict__["ipv6_prefix"] = ipv6_prefix __props__.__dict__["ipv6_prefix_length"] = ipv6_prefix_length __props__.__dict__["ipv6_prefixes"] = ipv6_prefixes + __props__.__dict__["ipv6_vpc_network_range_id"] = ipv6_vpc_network_range_id __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["network_id"] = network_id @@ -866,6 +982,7 @@ def get(resource_name: str, __props__.__dict__["region"] = region __props__.__dict__["routed"] = routed __props__.__dict__["routing_table_id"] = routing_table_id + __props__.__dict__["vpc_id"] = vpc_id return Network(resource_name, opts=opts, __props__=__props__) @_builtins.property @@ -916,6 +1033,14 @@ def ipv4_prefixes(self) -> pulumi.Output[Sequence[_builtins.str]]: """ return pulumi.get(self, "ipv4_prefixes") + @_builtins.property + @pulumi.getter(name="ipv4VpcNetworkRangeId") + def ipv4_vpc_network_range_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The IPv4 VPC network range ID. + """ + return pulumi.get(self, "ipv4_vpc_network_range_id") + @_builtins.property @pulumi.getter(name="ipv6Gateway") def ipv6_gateway(self) -> pulumi.Output[_builtins.str]: @@ -956,6 +1081,14 @@ def ipv6_prefixes(self) -> pulumi.Output[Sequence[_builtins.str]]: """ return pulumi.get(self, "ipv6_prefixes") + @_builtins.property + @pulumi.getter(name="ipv6VpcNetworkRangeId") + def ipv6_vpc_network_range_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The IPv6 VPC network range ID. + """ + return pulumi.get(self, "ipv6_vpc_network_range_id") + @_builtins.property @pulumi.getter def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: @@ -1036,3 +1169,11 @@ def routing_table_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "routing_table_id") + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The ID of the VPC the network is associated with. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_stackit/network_area.py b/sdk/python/pulumi_stackit/network_area.py index 555d5478..c09ff4a6 100644 --- a/sdk/python/pulumi_stackit/network_area.py +++ b/sdk/python/pulumi_stackit/network_area.py @@ -13,8 +13,6 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities -from . import outputs -from ._inputs import * __all__ = ['NetworkAreaArgs', 'NetworkArea'] @@ -22,62 +20,20 @@ class NetworkAreaArgs: def __init__(__self__, *, organization_id: pulumi.Input[_builtins.str], - default_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, - default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, - min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, - name: pulumi.Input[Optional[_builtins.str]] = None, - network_ranges: pulumi.Input[Optional[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]] = None, - transfer_network: pulumi.Input[Optional[_builtins.str]] = None): + name: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a NetworkArea resource. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container - :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. - :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ pulumi.set(__self__, "organization_id", organization_id) - if default_nameservers is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""default_nameservers is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if default_nameservers is not None: - pulumi.set(__self__, "default_nameservers", default_nameservers) - if default_prefix_length is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""default_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if default_prefix_length is not None: - pulumi.set(__self__, "default_prefix_length", default_prefix_length) if labels is not None: pulumi.set(__self__, "labels", labels) - if max_prefix_length is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""max_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if max_prefix_length is not None: - pulumi.set(__self__, "max_prefix_length", max_prefix_length) - if min_prefix_length is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""min_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if min_prefix_length is not None: - pulumi.set(__self__, "min_prefix_length", min_prefix_length) if name is not None: pulumi.set(__self__, "name", name) - if network_ranges is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""network_ranges is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if network_ranges is not None: - pulumi.set(__self__, "network_ranges", network_ranges) - if transfer_network is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""transfer_network is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if transfer_network is not None: - pulumi.set(__self__, "transfer_network", transfer_network) @_builtins.property @pulumi.getter(name="organizationId") @@ -91,32 +47,6 @@ def organization_id(self) -> pulumi.Input[_builtins.str]: def organization_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "organization_id", value) - @_builtins.property - @pulumi.getter(name="defaultNameservers") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def default_nameservers(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: - """ - List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "default_nameservers") - - @default_nameservers.setter - def default_nameservers(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "default_nameservers", value) - - @_builtins.property - @pulumi.getter(name="defaultPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def default_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: - """ - The default prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "default_prefix_length") - - @default_prefix_length.setter - def default_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "default_prefix_length", value) - @_builtins.property @pulumi.getter def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -129,32 +59,6 @@ def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.st def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "labels", value) - @_builtins.property - @pulumi.getter(name="maxPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def max_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: - """ - The maximal prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "max_prefix_length") - - @max_prefix_length.setter - def max_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "max_prefix_length", value) - - @_builtins.property - @pulumi.getter(name="minPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def min_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: - """ - The minimal prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "min_prefix_length") - - @min_prefix_length.setter - def min_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "min_prefix_length", value) - @_builtins.property @pulumi.getter def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -167,128 +71,34 @@ def name(self) -> pulumi.Input[Optional[_builtins.str]]: def name(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "name", value) - @_builtins.property - @pulumi.getter(name="networkRanges") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def network_ranges(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]: - """ - List of Network ranges for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "network_ranges") - - @network_ranges.setter - def network_ranges(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]): - pulumi.set(self, "network_ranges", value) - - @_builtins.property - @pulumi.getter(name="transferNetwork") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def transfer_network(self) -> pulumi.Input[Optional[_builtins.str]]: - """ - Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "transfer_network") - - @transfer_network.setter - def transfer_network(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "transfer_network", value) - @pulumi.input_type class _NetworkAreaState: def __init__(__self__, *, - default_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, - default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, - min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, network_area_id: pulumi.Input[Optional[_builtins.str]] = None, - network_ranges: pulumi.Input[Optional[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]] = None, organization_id: pulumi.Input[Optional[_builtins.str]] = None, - project_count: pulumi.Input[Optional[_builtins.int]] = None, - transfer_network: pulumi.Input[Optional[_builtins.str]] = None): + project_count: pulumi.Input[Optional[_builtins.int]] = None): """ Input properties used for looking up and filtering NetworkArea resources. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container - :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. :param pulumi.Input[_builtins.str] network_area_id: The network area ID. - :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. :param pulumi.Input[_builtins.int] project_count: The amount of projects currently referencing this area. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - """ - if default_nameservers is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""default_nameservers is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if default_nameservers is not None: - pulumi.set(__self__, "default_nameservers", default_nameservers) - if default_prefix_length is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""default_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if default_prefix_length is not None: - pulumi.set(__self__, "default_prefix_length", default_prefix_length) + """ if labels is not None: pulumi.set(__self__, "labels", labels) - if max_prefix_length is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""max_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if max_prefix_length is not None: - pulumi.set(__self__, "max_prefix_length", max_prefix_length) - if min_prefix_length is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""min_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if min_prefix_length is not None: - pulumi.set(__self__, "min_prefix_length", min_prefix_length) if name is not None: pulumi.set(__self__, "name", name) if network_area_id is not None: pulumi.set(__self__, "network_area_id", network_area_id) - if network_ranges is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""network_ranges is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if network_ranges is not None: - pulumi.set(__self__, "network_ranges", network_ranges) if organization_id is not None: pulumi.set(__self__, "organization_id", organization_id) if project_count is not None: pulumi.set(__self__, "project_count", project_count) - if transfer_network is not None: - warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) - pulumi.log.warn("""transfer_network is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - if transfer_network is not None: - pulumi.set(__self__, "transfer_network", transfer_network) - - @_builtins.property - @pulumi.getter(name="defaultNameservers") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def default_nameservers(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: - """ - List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "default_nameservers") - - @default_nameservers.setter - def default_nameservers(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "default_nameservers", value) - - @_builtins.property - @pulumi.getter(name="defaultPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def default_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: - """ - The default prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "default_prefix_length") - - @default_prefix_length.setter - def default_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "default_prefix_length", value) @_builtins.property @pulumi.getter @@ -302,32 +112,6 @@ def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.st def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "labels", value) - @_builtins.property - @pulumi.getter(name="maxPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def max_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: - """ - The maximal prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "max_prefix_length") - - @max_prefix_length.setter - def max_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "max_prefix_length", value) - - @_builtins.property - @pulumi.getter(name="minPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def min_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: - """ - The minimal prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "min_prefix_length") - - @min_prefix_length.setter - def min_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "min_prefix_length", value) - @_builtins.property @pulumi.getter def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -352,19 +136,6 @@ def network_area_id(self) -> pulumi.Input[Optional[_builtins.str]]: def network_area_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "network_area_id", value) - @_builtins.property - @pulumi.getter(name="networkRanges") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def network_ranges(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]: - """ - List of Network ranges for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "network_ranges") - - @network_ranges.setter - def network_ranges(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]): - pulumi.set(self, "network_ranges", value) - @_builtins.property @pulumi.getter(name="organizationId") def organization_id(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -389,19 +160,6 @@ def project_count(self) -> pulumi.Input[Optional[_builtins.int]]: def project_count(self, value: pulumi.Input[Optional[_builtins.int]]): pulumi.set(self, "project_count", value) - @_builtins.property - @pulumi.getter(name="transferNetwork") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def transfer_network(self) -> pulumi.Input[Optional[_builtins.str]]: - """ - Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "transfer_network") - - @transfer_network.setter - def transfer_network(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "transfer_network", value) - @pulumi.type_token("stackit:index/networkArea:NetworkArea") class NetworkArea(pulumi.CustomResource): @@ -409,15 +167,9 @@ class NetworkArea(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - default_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, - default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, - min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, - network_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]]] = None, organization_id: pulumi.Input[Optional[_builtins.str]] = None, - transfer_network: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ Network area resource schema. @@ -452,15 +204,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container - :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. - :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ ... @overload @@ -514,15 +260,9 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - default_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, - default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, - min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, - network_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]]] = None, organization_id: pulumi.Input[Optional[_builtins.str]] = None, - transfer_network: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -532,17 +272,11 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = NetworkAreaArgs.__new__(NetworkAreaArgs) - __props__.__dict__["default_nameservers"] = default_nameservers - __props__.__dict__["default_prefix_length"] = default_prefix_length __props__.__dict__["labels"] = labels - __props__.__dict__["max_prefix_length"] = max_prefix_length - __props__.__dict__["min_prefix_length"] = min_prefix_length __props__.__dict__["name"] = name - __props__.__dict__["network_ranges"] = network_ranges if organization_id is None and not opts.urn: raise TypeError("Missing required property 'organization_id'") __props__.__dict__["organization_id"] = organization_id - __props__.__dict__["transfer_network"] = transfer_network __props__.__dict__["network_area_id"] = None __props__.__dict__["project_count"] = None super(NetworkArea, __self__).__init__( @@ -555,17 +289,11 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - default_nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, - default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, - min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, network_area_id: pulumi.Input[Optional[_builtins.str]] = None, - network_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]]] = None, organization_id: pulumi.Input[Optional[_builtins.str]] = None, - project_count: pulumi.Input[Optional[_builtins.int]] = None, - transfer_network: pulumi.Input[Optional[_builtins.str]] = None) -> 'NetworkArea': + project_count: pulumi.Input[Optional[_builtins.int]] = None) -> 'NetworkArea': """ Get an existing NetworkArea resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -573,53 +301,23 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container - :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. :param pulumi.Input[_builtins.str] network_area_id: The network area ID. - :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. :param pulumi.Input[_builtins.int] project_count: The amount of projects currently referencing this area. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _NetworkAreaState.__new__(_NetworkAreaState) - __props__.__dict__["default_nameservers"] = default_nameservers - __props__.__dict__["default_prefix_length"] = default_prefix_length __props__.__dict__["labels"] = labels - __props__.__dict__["max_prefix_length"] = max_prefix_length - __props__.__dict__["min_prefix_length"] = min_prefix_length __props__.__dict__["name"] = name __props__.__dict__["network_area_id"] = network_area_id - __props__.__dict__["network_ranges"] = network_ranges __props__.__dict__["organization_id"] = organization_id __props__.__dict__["project_count"] = project_count - __props__.__dict__["transfer_network"] = transfer_network return NetworkArea(resource_name, opts=opts, __props__=__props__) - @_builtins.property - @pulumi.getter(name="defaultNameservers") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def default_nameservers(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: - """ - List of DNS Servers/Nameservers for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "default_nameservers") - - @_builtins.property - @pulumi.getter(name="defaultPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def default_prefix_length(self) -> pulumi.Output[_builtins.int]: - """ - The default prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "default_prefix_length") - @_builtins.property @pulumi.getter def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: @@ -628,24 +326,6 @@ def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: """ return pulumi.get(self, "labels") - @_builtins.property - @pulumi.getter(name="maxPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def max_prefix_length(self) -> pulumi.Output[_builtins.int]: - """ - The maximal prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "max_prefix_length") - - @_builtins.property - @pulumi.getter(name="minPrefixLength") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def min_prefix_length(self) -> pulumi.Output[_builtins.int]: - """ - The minimal prefix length for networks in the network area for region `eu01`. - """ - return pulumi.get(self, "min_prefix_length") - @_builtins.property @pulumi.getter def name(self) -> pulumi.Output[_builtins.str]: @@ -662,15 +342,6 @@ def network_area_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "network_area_id") - @_builtins.property - @pulumi.getter(name="networkRanges") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def network_ranges(self) -> pulumi.Output[Optional[Sequence['outputs.NetworkAreaNetworkRange']]]: - """ - List of Network ranges for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "network_ranges") - @_builtins.property @pulumi.getter(name="organizationId") def organization_id(self) -> pulumi.Output[_builtins.str]: @@ -687,12 +358,3 @@ def project_count(self) -> pulumi.Output[_builtins.int]: """ return pulumi.get(self, "project_count") - @_builtins.property - @pulumi.getter(name="transferNetwork") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def transfer_network(self) -> pulumi.Output[Optional[_builtins.str]]: - """ - Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. - """ - return pulumi.get(self, "transfer_network") - diff --git a/sdk/python/pulumi_stackit/opensearch_credential.py b/sdk/python/pulumi_stackit/opensearch_credential.py index 388ffbc0..667c75e5 100644 --- a/sdk/python/pulumi_stackit/opensearch_credential.py +++ b/sdk/python/pulumi_stackit/opensearch_credential.py @@ -21,16 +21,20 @@ class OpensearchCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a OpensearchCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if rotate_when_changed is not None: pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @@ -58,6 +62,18 @@ def project_id(self) -> pulumi.Input[_builtins.str]: def project_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter(name="rotateWhenChanged") def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -81,6 +97,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, scheme: pulumi.Input[Optional[_builtins.str]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, @@ -91,6 +108,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ if credential_id is not None: @@ -107,6 +125,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if rotate_when_changed is not None: pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if scheme is not None: @@ -188,6 +208,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter(name="rotateWhenChanged") def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -236,6 +268,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ @@ -252,6 +285,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @@ -287,6 +321,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -303,6 +338,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None @@ -331,6 +367,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, scheme: pulumi.Input[Optional[_builtins.str]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, @@ -345,6 +382,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -358,6 +396,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["scheme"] = scheme __props__.__dict__["uri"] = uri @@ -408,6 +447,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter(name="rotateWhenChanged") def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: diff --git a/sdk/python/pulumi_stackit/opensearch_instance.py b/sdk/python/pulumi_stackit/opensearch_instance.py index e76be1fa..a57565a0 100644 --- a/sdk/python/pulumi_stackit/opensearch_instance.py +++ b/sdk/python/pulumi_stackit/opensearch_instance.py @@ -25,7 +25,8 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], version: pulumi.Input[_builtins.str], name: pulumi.Input[Optional[_builtins.str]] = None, - parameters: pulumi.Input[Optional['OpensearchInstanceParametersArgs']] = None): + parameters: pulumi.Input[Optional['OpensearchInstanceParametersArgs']] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a OpensearchInstance resource. @@ -34,6 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] version: The service version. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input['OpensearchInstanceParametersArgs'] parameters: Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "plan_name", plan_name) pulumi.set(__self__, "project_id", project_id) @@ -42,6 +44,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="planName") @@ -103,6 +107,18 @@ def parameters(self) -> pulumi.Input[Optional['OpensearchInstanceParametersArgs' def parameters(self, value: pulumi.Input[Optional['OpensearchInstanceParametersArgs']]): pulumi.set(self, "parameters", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @pulumi.input_type class _OpensearchInstanceState: @@ -118,6 +134,7 @@ def __init__(__self__, *, plan_id: pulumi.Input[Optional[_builtins.str]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering OpensearchInstance resources. @@ -128,6 +145,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] plan_id: The selected plan ID. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ if cf_guid is not None: @@ -152,6 +170,8 @@ def __init__(__self__, *, pulumi.set(__self__, "plan_name", plan_name) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if version is not None: pulumi.set(__self__, "version", version) @@ -272,6 +292,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + @_builtins.property @pulumi.getter def version(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -295,6 +327,7 @@ def __init__(__self__, parameters: pulumi.Input[Optional[Union['OpensearchInstanceParametersArgs', 'OpensearchInstanceParametersArgsDict']]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ @@ -313,6 +346,7 @@ def __init__(__self__, :param pulumi.Input[Union['OpensearchInstanceParametersArgs', 'OpensearchInstanceParametersArgsDict']] parameters: Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ ... @@ -350,6 +384,7 @@ def _internal_init(__self__, parameters: pulumi.Input[Optional[Union['OpensearchInstanceParametersArgs', 'OpensearchInstanceParametersArgsDict']]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -368,6 +403,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region if version is None and not opts.urn: raise TypeError("Missing required property 'version'") __props__.__dict__["version"] = version @@ -399,6 +435,7 @@ def get(resource_name: str, plan_id: pulumi.Input[Optional[_builtins.str]] = None, plan_name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, version: pulumi.Input[Optional[_builtins.str]] = None) -> 'OpensearchInstance': """ Get an existing OpensearchInstance resource's state with the given name, id, and optional extra @@ -413,6 +450,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] plan_id: The selected plan ID. :param pulumi.Input[_builtins.str] plan_name: The selected plan name. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] version: The service version. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -430,6 +468,7 @@ def get(resource_name: str, __props__.__dict__["plan_id"] = plan_id __props__.__dict__["plan_name"] = plan_name __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["version"] = version return OpensearchInstance(resource_name, opts=opts, __props__=__props__) @@ -506,6 +545,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter def version(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index 995e75b9..5fa18bb5 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -16,6 +16,13 @@ from . import outputs __all__ = [ + 'AlbWafCustomRuleGroupRule', + 'AlbWafCustomRuleGroupRuleBehavior', + 'AlbWafCustomRuleGroupRuleCondition', + 'AlbWafCustomRuleGroupRuleConditionOperator', + 'AlbWafCustomRuleGroupRuleConditionVariable', + 'AlbWafManagedRuleSetGroups', + 'AlbWafManagedRuleSetGroupsRules', 'ApplicationLoadBalancerError', 'ApplicationLoadBalancerListener', 'ApplicationLoadBalancerListenerHttp', @@ -81,7 +88,6 @@ 'MongodbflexInstanceFlavor', 'MongodbflexInstanceOptions', 'MongodbflexInstanceStorage', - 'NetworkAreaNetworkRange', 'NetworkAreaRegionIpv4', 'NetworkAreaRegionIpv4NetworkRange', 'NetworkAreaRouteDestination', @@ -100,7 +106,11 @@ 'ObservabilityScrapeconfigSaml2', 'ObservabilityScrapeconfigTarget', 'OpensearchInstanceParameters', + 'PostgresflexInstanceConnectionInfo', + 'PostgresflexInstanceConnectionInfoWrite', + 'PostgresflexInstanceEncryption', 'PostgresflexInstanceFlavor', + 'PostgresflexInstanceNetwork', 'PostgresflexInstanceStorage', 'RabbitmqInstanceParameters', 'RedisInstanceParameters', @@ -118,8 +128,10 @@ 'SfsResourcePoolSnapshotPolicy', 'SkeClusterAccess', 'SkeClusterAccessIdp', + 'SkeClusterAudit', 'SkeClusterExtensions', 'SkeClusterExtensionsAcl', + 'SkeClusterExtensionsApplicationLoadBalancer', 'SkeClusterExtensionsArgus', 'SkeClusterExtensionsDns', 'SkeClusterExtensionsObservability', @@ -129,6 +141,8 @@ 'SkeClusterNetworkControlPlane', 'SkeClusterNodePool', 'SkeClusterNodePoolTaint', + 'SqlserverflexDatabaseTimeouts', + 'SqlserverflexInstanceEncryption', 'SqlserverflexInstanceFlavor', 'SqlserverflexInstanceNetwork', 'SqlserverflexInstanceOptions', @@ -162,6 +176,13 @@ 'VpnConnectionTunnel2Phase2', 'VpnGatewayAvailabilityZones', 'VpnGatewayBgp', + 'GetAlbWafCustomRuleGroupRuleResult', + 'GetAlbWafCustomRuleGroupRuleBehaviorResult', + 'GetAlbWafCustomRuleGroupRuleConditionResult', + 'GetAlbWafCustomRuleGroupRuleConditionOperatorResult', + 'GetAlbWafCustomRuleGroupRuleConditionVariableResult', + 'GetAlbWafManagedRuleSetGroupsResult', + 'GetAlbWafManagedRuleSetGroupsRulesResult', 'GetApplicationLoadBalancerErrorResult', 'GetApplicationLoadBalancerListenerResult', 'GetApplicationLoadBalancerListenerHttpResult', @@ -229,7 +250,6 @@ 'GetMongodbflexInstanceFlavorResult', 'GetMongodbflexInstanceOptionsResult', 'GetMongodbflexInstanceStorageResult', - 'GetNetworkAreaNetworkRangeResult', 'GetNetworkAreaRegionIpv4Result', 'GetNetworkAreaRegionIpv4NetworkRangeResult', 'GetNetworkAreaRouteDestinationResult', @@ -248,7 +268,14 @@ 'GetObservabilityScrapeconfigSaml2Result', 'GetObservabilityScrapeconfigTargetResult', 'GetOpensearchInstanceParametersResult', + 'GetPostgresflexFlavorsFlavorResult', + 'GetPostgresflexFlavorsFlavorStorageClassResult', + 'GetPostgresflexFlavorsTimeoutsResult', + 'GetPostgresflexInstanceConnectionInfoResult', + 'GetPostgresflexInstanceConnectionInfoWriteResult', + 'GetPostgresflexInstanceEncryptionResult', 'GetPostgresflexInstanceFlavorResult', + 'GetPostgresflexInstanceNetworkResult', 'GetPostgresflexInstanceStorageResult', 'GetPublicIpRangesPublicIpRangeResult', 'GetRabbitmqInstanceParametersResult', @@ -280,8 +307,10 @@ 'GetSfsSnapshotPoliciesItemSnapshotScheduleResult', 'GetSkeClusterAccessResult', 'GetSkeClusterAccessIdpResult', + 'GetSkeClusterAuditResult', 'GetSkeClusterExtensionsResult', 'GetSkeClusterExtensionsAclResult', + 'GetSkeClusterExtensionsApplicationLoadBalancerResult', 'GetSkeClusterExtensionsArgusResult', 'GetSkeClusterExtensionsDnsResult', 'GetSkeClusterExtensionsObservabilityResult', @@ -294,6 +323,11 @@ 'GetSkeKubernetesVersionsKubernetesVersionResult', 'GetSkeMachineImageVersionsMachineImageResult', 'GetSkeMachineImageVersionsMachineImageVersionResult', + 'GetSqlserverflexDatabaseTimeoutsResult', + 'GetSqlserverflexFlavorsFlavorResult', + 'GetSqlserverflexFlavorsFlavorStorageClassResult', + 'GetSqlserverflexFlavorsTimeoutsResult', + 'GetSqlserverflexInstanceEncryptionResult', 'GetSqlserverflexInstanceFlavorResult', 'GetSqlserverflexInstanceNetworkResult', 'GetSqlserverflexInstanceOptionsResult', @@ -328,6 +362,326 @@ 'GetVpnGatewayStatusTunnelResult', ] +@pulumi.output_type +class AlbWafCustomRuleGroupRule(dict): + def __init__(__self__, *, + behavior: 'outputs.AlbWafCustomRuleGroupRuleBehavior', + conditions: Sequence['outputs.AlbWafCustomRuleGroupRuleCondition'], + description: Optional[_builtins.str] = None, + id: Optional[_builtins.int] = None): + """ + :param _builtins.str description: A clear description explaining the threat vector or criteria addressed by this rule. + :param _builtins.int id: Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + """ + pulumi.set(__self__, "behavior", behavior) + pulumi.set(__self__, "conditions", conditions) + if description is not None: + pulumi.set(__self__, "description", description) + if id is not None: + pulumi.set(__self__, "id", id) + + @_builtins.property + @pulumi.getter + def behavior(self) -> 'outputs.AlbWafCustomRuleGroupRuleBehavior': + return pulumi.get(self, "behavior") + + @_builtins.property + @pulumi.getter + def conditions(self) -> Sequence['outputs.AlbWafCustomRuleGroupRuleCondition']: + return pulumi.get(self, "conditions") + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + A clear description explaining the threat vector or criteria addressed by this rule. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> Optional[_builtins.int]: + """ + Backend auto-allocated unique rule ID within the valid 1-99999 threshold. + """ + return pulumi.get(self, "id") + + +@pulumi.output_type +class AlbWafCustomRuleGroupRuleBehavior(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logMsg": + suggest = "log_msg" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AlbWafCustomRuleGroupRuleBehavior. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AlbWafCustomRuleGroupRuleBehavior.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AlbWafCustomRuleGroupRuleBehavior.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action: _builtins.str, + log: Optional[_builtins.bool] = None, + log_msg: Optional[_builtins.str] = None, + severity: Optional[_builtins.str] = None): + """ + :param _builtins.str action: The protective stance action. ACTION_DENY forces a 403 status response code. + :param _builtins.bool log: Determines whether an entry should be generated in the security ledger upon a rule hit. + :param _builtins.str log_msg: Custom notification message string mapped to underlying logdata contexts. Required if log is true. + :param _builtins.str severity: Severity classification metric used by internal analytics graphs. + """ + pulumi.set(__self__, "action", action) + if log is not None: + pulumi.set(__self__, "log", log) + if log_msg is not None: + pulumi.set(__self__, "log_msg", log_msg) + if severity is not None: + pulumi.set(__self__, "severity", severity) + + @_builtins.property + @pulumi.getter + def action(self) -> _builtins.str: + """ + The protective stance action. ACTION_DENY forces a 403 status response code. + """ + return pulumi.get(self, "action") + + @_builtins.property + @pulumi.getter + def log(self) -> Optional[_builtins.bool]: + """ + Determines whether an entry should be generated in the security ledger upon a rule hit. + """ + return pulumi.get(self, "log") + + @_builtins.property + @pulumi.getter(name="logMsg") + def log_msg(self) -> Optional[_builtins.str]: + """ + Custom notification message string mapped to underlying logdata contexts. Required if log is true. + """ + return pulumi.get(self, "log_msg") + + @_builtins.property + @pulumi.getter + def severity(self) -> Optional[_builtins.str]: + """ + Severity classification metric used by internal analytics graphs. + """ + return pulumi.get(self, "severity") + + +@pulumi.output_type +class AlbWafCustomRuleGroupRuleCondition(dict): + def __init__(__self__, *, + operator: 'outputs.AlbWafCustomRuleGroupRuleConditionOperator', + variable: 'outputs.AlbWafCustomRuleGroupRuleConditionVariable', + transformations: Optional[Sequence[_builtins.str]] = None): + """ + :param 'AlbWafCustomRuleGroupRuleConditionOperatorArgs' operator: The comparison logic executed against the transformed variable. + :param 'AlbWafCustomRuleGroupRuleConditionVariableArgs' variable: The part of the HTTP transaction to inspect. + :param Sequence[_builtins.str] transformations: Ordered normalization steps applied before the operator runs. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "variable", variable) + if transformations is not None: + pulumi.set(__self__, "transformations", transformations) + + @_builtins.property + @pulumi.getter + def operator(self) -> 'outputs.AlbWafCustomRuleGroupRuleConditionOperator': + """ + The comparison logic executed against the transformed variable. + """ + return pulumi.get(self, "operator") + + @_builtins.property + @pulumi.getter + def variable(self) -> 'outputs.AlbWafCustomRuleGroupRuleConditionVariable': + """ + The part of the HTTP transaction to inspect. + """ + return pulumi.get(self, "variable") + + @_builtins.property + @pulumi.getter + def transformations(self) -> Optional[Sequence[_builtins.str]]: + """ + Ordered normalization steps applied before the operator runs. + """ + return pulumi.get(self, "transformations") + + +@pulumi.output_type +class AlbWafCustomRuleGroupRuleConditionOperator(dict): + def __init__(__self__, *, + type: _builtins.str, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str type: The operational evaluation type definition macro. + :param _builtins.str value: The text or rule regex pattern arguments applied inside the operator execution loop. + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + The operational evaluation type definition macro. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + The text or rule regex pattern arguments applied inside the operator execution loop. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class AlbWafCustomRuleGroupRuleConditionVariable(dict): + def __init__(__self__, *, + type: _builtins.str, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str type: The targeted validation engine variable macro. + :param _builtins.str value: Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + The targeted validation engine variable macro. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class AlbWafManagedRuleSetGroups(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "groupName": + suggest = "group_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AlbWafManagedRuleSetGroups. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AlbWafManagedRuleSetGroups.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AlbWafManagedRuleSetGroups.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: Optional[_builtins.str] = None, + group_name: Optional[_builtins.str] = None, + rules: Optional[Mapping[str, 'outputs.AlbWafManagedRuleSetGroupsRules']] = None): + """ + :param _builtins.str description: A description of what this group covers. + :param _builtins.str group_name: The name for the rule group. + :param Mapping[str, 'AlbWafManagedRuleSetGroupsRulesArgs'] rules: Rules of the rule group. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + A description of what this group covers. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[_builtins.str]: + """ + The name for the rule group. + """ + return pulumi.get(self, "group_name") + + @_builtins.property + @pulumi.getter + def rules(self) -> Optional[Mapping[str, 'outputs.AlbWafManagedRuleSetGroupsRules']]: + """ + Rules of the rule group. + """ + return pulumi.get(self, "rules") + + +@pulumi.output_type +class AlbWafManagedRuleSetGroupsRules(dict): + def __init__(__self__, *, + description: Optional[_builtins.str] = None, + mode: Optional[_builtins.str] = None, + severity: Optional[_builtins.str] = None): + """ + :param _builtins.str description: A description of what this rule does. + :param _builtins.str mode: The current mode of the rule. + :param _builtins.str severity: Impact level. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if severity is not None: + pulumi.set(__self__, "severity", severity) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + A description of what this rule does. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def mode(self) -> Optional[_builtins.str]: + """ + The current mode of the rule. + """ + return pulumi.get(self, "mode") + + @_builtins.property + @pulumi.getter + def severity(self) -> Optional[_builtins.str]: + """ + Impact level. + """ + return pulumi.get(self, "severity") + + @pulumi.output_type class ApplicationLoadBalancerError(dict): def __init__(__self__, *, @@ -1586,8 +1940,14 @@ def __key_warning(key: str): suggest = None if key == "blockedCountries": suggest = "blocked_countries" + elif key == "blockedIps": + suggest = "blocked_ips" + elif key == "defaultCacheDuration": + suggest = "default_cache_duration" elif key == "forwardHostHeader": suggest = "forward_host_header" + elif key == "monthlyLimitBytes": + suggest = "monthly_limit_bytes" elif key == "stripResponseCookies": suggest = "strip_response_cookies" @@ -1606,7 +1966,10 @@ def __init__(__self__, *, backend: 'outputs.CdnDistributionConfigBackend', regions: Sequence[_builtins.str], blocked_countries: Optional[Sequence[_builtins.str]] = None, + blocked_ips: Optional[Sequence[_builtins.str]] = None, + default_cache_duration: Optional[_builtins.str] = None, forward_host_header: Optional[_builtins.bool] = None, + monthly_limit_bytes: Optional[_builtins.int] = None, optimizer: Optional['outputs.CdnDistributionConfigOptimizer'] = None, redirects: Optional['outputs.CdnDistributionConfigRedirects'] = None, strip_response_cookies: Optional[_builtins.bool] = None, @@ -1616,7 +1979,10 @@ def __init__(__self__, *, :param 'CdnDistributionConfigBackendArgs' backend: The configured backend for the distribution :param Sequence[_builtins.str] regions: The configured regions where content will be hosted :param Sequence[_builtins.str] blocked_countries: The configured countries where distribution of content is blocked + :param Sequence[_builtins.str] blocked_ips: Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + :param _builtins.str default_cache_duration: Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. :param _builtins.bool forward_host_header: Enable this allows the 'Host' header to be passed through to the origin. + :param _builtins.int monthly_limit_bytes: Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. :param 'CdnDistributionConfigOptimizerArgs' optimizer: Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. :param 'CdnDistributionConfigRedirectsArgs' redirects: A wrapper for a list of redirect rules that allows for redirect settings on a distribution :param _builtins.bool strip_response_cookies: Enable this to prevent origin-level cookies from being forwarded to the end user. @@ -1627,8 +1993,14 @@ def __init__(__self__, *, pulumi.set(__self__, "regions", regions) if blocked_countries is not None: pulumi.set(__self__, "blocked_countries", blocked_countries) + if blocked_ips is not None: + pulumi.set(__self__, "blocked_ips", blocked_ips) + if default_cache_duration is not None: + pulumi.set(__self__, "default_cache_duration", default_cache_duration) if forward_host_header is not None: pulumi.set(__self__, "forward_host_header", forward_host_header) + if monthly_limit_bytes is not None: + pulumi.set(__self__, "monthly_limit_bytes", monthly_limit_bytes) if optimizer is not None: pulumi.set(__self__, "optimizer", optimizer) if redirects is not None: @@ -1664,6 +2036,22 @@ def blocked_countries(self) -> Optional[Sequence[_builtins.str]]: """ return pulumi.get(self, "blocked_countries") + @_builtins.property + @pulumi.getter(name="blockedIps") + def blocked_ips(self) -> Optional[Sequence[_builtins.str]]: + """ + Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + """ + return pulumi.get(self, "blocked_ips") + + @_builtins.property + @pulumi.getter(name="defaultCacheDuration") + def default_cache_duration(self) -> Optional[_builtins.str]: + """ + Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ + return pulumi.get(self, "default_cache_duration") + @_builtins.property @pulumi.getter(name="forwardHostHeader") def forward_host_header(self) -> Optional[_builtins.bool]: @@ -1672,6 +2060,14 @@ def forward_host_header(self) -> Optional[_builtins.bool]: """ return pulumi.get(self, "forward_host_header") + @_builtins.property + @pulumi.getter(name="monthlyLimitBytes") + def monthly_limit_bytes(self) -> Optional[_builtins.int]: + """ + Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ + return pulumi.get(self, "monthly_limit_bytes") + @_builtins.property @pulumi.getter def optimizer(self) -> Optional['outputs.CdnDistributionConfigOptimizer']: @@ -4475,93 +4871,48 @@ def size(self) -> _builtins.int: @pulumi.output_type -class NetworkAreaNetworkRange(dict): +class NetworkAreaRegionIpv4(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "networkRangeId": - suggest = "network_range_id" + if key == "networkRanges": + suggest = "network_ranges" + elif key == "transferNetwork": + suggest = "transfer_network" + elif key == "defaultNameservers": + suggest = "default_nameservers" + elif key == "defaultPrefixLength": + suggest = "default_prefix_length" + elif key == "maxPrefixLength": + suggest = "max_prefix_length" + elif key == "minPrefixLength": + suggest = "min_prefix_length" if suggest: - pulumi.log.warn(f"Key '{key}' not found in NetworkAreaNetworkRange. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in NetworkAreaRegionIpv4. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - NetworkAreaNetworkRange.__key_warning(key) + NetworkAreaRegionIpv4.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - NetworkAreaNetworkRange.__key_warning(key) + NetworkAreaRegionIpv4.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - prefix: _builtins.str, - network_range_id: Optional[_builtins.str] = None): + network_ranges: Sequence['outputs.NetworkAreaRegionIpv4NetworkRange'], + transfer_network: _builtins.str, + default_nameservers: Optional[Sequence[_builtins.str]] = None, + default_prefix_length: Optional[_builtins.int] = None, + max_prefix_length: Optional[_builtins.int] = None, + min_prefix_length: Optional[_builtins.int] = None): """ - :param _builtins.str prefix: Classless Inter-Domain Routing (CIDR). - """ - pulumi.set(__self__, "prefix", prefix) - if network_range_id is not None: - pulumi.set(__self__, "network_range_id", network_range_id) - - @_builtins.property - @pulumi.getter - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def prefix(self) -> _builtins.str: - """ - Classless Inter-Domain Routing (CIDR). - """ - return pulumi.get(self, "prefix") - - @_builtins.property - @pulumi.getter(name="networkRangeId") - @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") - def network_range_id(self) -> Optional[_builtins.str]: - return pulumi.get(self, "network_range_id") - - -@pulumi.output_type -class NetworkAreaRegionIpv4(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "networkRanges": - suggest = "network_ranges" - elif key == "transferNetwork": - suggest = "transfer_network" - elif key == "defaultNameservers": - suggest = "default_nameservers" - elif key == "defaultPrefixLength": - suggest = "default_prefix_length" - elif key == "maxPrefixLength": - suggest = "max_prefix_length" - elif key == "minPrefixLength": - suggest = "min_prefix_length" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in NetworkAreaRegionIpv4. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - NetworkAreaRegionIpv4.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - NetworkAreaRegionIpv4.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - network_ranges: Sequence['outputs.NetworkAreaRegionIpv4NetworkRange'], - transfer_network: _builtins.str, - default_nameservers: Optional[Sequence[_builtins.str]] = None, - default_prefix_length: Optional[_builtins.int] = None, - max_prefix_length: Optional[_builtins.int] = None, - min_prefix_length: Optional[_builtins.int] = None): - """ - :param Sequence['NetworkAreaRegionIpv4NetworkRangeArgs'] network_ranges: List of Network ranges. - :param _builtins.str transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). - :param Sequence[_builtins.str] default_nameservers: List of DNS Servers/Nameservers. - :param _builtins.int default_prefix_length: The default prefix length for networks in the network area. - :param _builtins.int max_prefix_length: The maximal prefix length for networks in the network area. - :param _builtins.int min_prefix_length: The minimal prefix length for networks in the network area. + :param Sequence['NetworkAreaRegionIpv4NetworkRangeArgs'] network_ranges: List of Network ranges. + :param _builtins.str transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). + :param Sequence[_builtins.str] default_nameservers: List of DNS Servers/Nameservers. + :param _builtins.int default_prefix_length: The default prefix length for networks in the network area. + :param _builtins.int max_prefix_length: The maximal prefix length for networks in the network area. + :param _builtins.int min_prefix_length: The minimal prefix length for networks in the network area. """ pulumi.set(__self__, "network_ranges", network_ranges) pulumi.set(__self__, "transfer_network", transfer_network) @@ -6016,19 +6367,166 @@ def tls_protocols(self) -> Optional[Sequence[_builtins.str]]: return pulumi.get(self, "tls_protocols") +@pulumi.output_type +class PostgresflexInstanceConnectionInfo(dict): + def __init__(__self__, *, + write: Optional['outputs.PostgresflexInstanceConnectionInfoWrite'] = None): + """ + :param 'PostgresflexInstanceConnectionInfoWriteArgs' write: The DNS name and port in the instance overview. + """ + if write is not None: + pulumi.set(__self__, "write", write) + + @_builtins.property + @pulumi.getter + def write(self) -> Optional['outputs.PostgresflexInstanceConnectionInfoWrite']: + """ + The DNS name and port in the instance overview. + """ + return pulumi.get(self, "write") + + +@pulumi.output_type +class PostgresflexInstanceConnectionInfoWrite(dict): + def __init__(__self__, *, + host: Optional[_builtins.str] = None, + port: Optional[_builtins.int] = None): + """ + :param _builtins.str host: The host of the instance. + :param _builtins.int port: The port of the instance. + """ + if host is not None: + pulumi.set(__self__, "host", host) + if port is not None: + pulumi.set(__self__, "port", port) + + @_builtins.property + @pulumi.getter + def host(self) -> Optional[_builtins.str]: + """ + The host of the instance. + """ + return pulumi.get(self, "host") + + @_builtins.property + @pulumi.getter + def port(self) -> Optional[_builtins.int]: + """ + The port of the instance. + """ + return pulumi.get(self, "port") + + +@pulumi.output_type +class PostgresflexInstanceEncryption(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kekKeyId": + suggest = "kek_key_id" + elif key == "kekKeyVersion": + suggest = "kek_key_version" + elif key == "kekKeyringId": + suggest = "kek_keyring_id" + elif key == "serviceAccount": + suggest = "service_account" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PostgresflexInstanceEncryption. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PostgresflexInstanceEncryption.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PostgresflexInstanceEncryption.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kek_key_id: _builtins.str, + kek_key_version: _builtins.str, + kek_keyring_id: _builtins.str, + service_account: _builtins.str): + """ + :param _builtins.str kek_key_id: The ID of the Key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_keyring_id: The ID of the keyring where the key is located within the STACKTI-KMS. + :param _builtins.str service_account: Service-Account linked to the Key within the STACKIT-KMS. + """ + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> _builtins.str: + """ + The ID of the Key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_id") + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> _builtins.str: + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_version") + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> _builtins.str: + """ + The ID of the keyring where the key is located within the STACKTI-KMS. + """ + return pulumi.get(self, "kek_keyring_id") + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> _builtins.str: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @pulumi.output_type class PostgresflexInstanceFlavor(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "nodeType": + suggest = "node_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PostgresflexInstanceFlavor. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PostgresflexInstanceFlavor.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PostgresflexInstanceFlavor.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, cpu: _builtins.int, ram: _builtins.int, description: Optional[_builtins.str] = None, - id: Optional[_builtins.str] = None): + id: Optional[_builtins.str] = None, + node_type: Optional[_builtins.str] = None): + """ + :param _builtins.str id: Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`". + """ pulumi.set(__self__, "cpu", cpu) pulumi.set(__self__, "ram", ram) if description is not None: pulumi.set(__self__, "description", description) if id is not None: pulumi.set(__self__, "id", id) + if node_type is not None: + pulumi.set(__self__, "node_type", node_type) @_builtins.property @pulumi.getter @@ -6048,8 +6546,84 @@ def description(self) -> Optional[_builtins.str]: @_builtins.property @pulumi.getter def id(self) -> Optional[_builtins.str]: + """ + Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`". + """ return pulumi.get(self, "id") + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> Optional[_builtins.str]: + return pulumi.get(self, "node_type") + + +@pulumi.output_type +class PostgresflexInstanceNetwork(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessScope": + suggest = "access_scope" + elif key == "instanceAddress": + suggest = "instance_address" + elif key == "routerAddress": + suggest = "router_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PostgresflexInstanceNetwork. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PostgresflexInstanceNetwork.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PostgresflexInstanceNetwork.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_scope: Optional[_builtins.str] = None, + acls: Optional[Sequence[_builtins.str]] = None, + instance_address: Optional[_builtins.str] = None, + router_address: Optional[_builtins.str] = None): + """ + :param _builtins.str access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + :param Sequence[_builtins.str] acls: The Access Control List (ACL) for the PostgresFlex instance. + """ + if access_scope is not None: + pulumi.set(__self__, "access_scope", access_scope) + if acls is not None: + pulumi.set(__self__, "acls", acls) + if instance_address is not None: + pulumi.set(__self__, "instance_address", instance_address) + if router_address is not None: + pulumi.set(__self__, "router_address", router_address) + + @_builtins.property + @pulumi.getter(name="accessScope") + def access_scope(self) -> Optional[_builtins.str]: + """ + The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + """ + return pulumi.get(self, "access_scope") + + @_builtins.property + @pulumi.getter + def acls(self) -> Optional[Sequence[_builtins.str]]: + """ + The Access Control List (ACL) for the PostgresFlex instance. + """ + return pulumi.get(self, "acls") + + @_builtins.property + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> Optional[_builtins.str]: + return pulumi.get(self, "instance_address") + + @_builtins.property + @pulumi.getter(name="routerAddress") + def router_address(self) -> Optional[_builtins.str]: + return pulumi.get(self, "router_address") + @pulumi.output_type class PostgresflexInstanceStorage(dict): @@ -6076,9 +6650,42 @@ def __init__(__self__, *, """ :param _builtins.str class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): `bash - stackit postgresflex options --storages --flavor-id FLAVOR_ID + stackit postgresflex flavor describe FLAVOR_ID ` - `size` (Number) + \\n\\n\\n\\n + ### Nested Schema for `encryption` + Required: + - `kek_key_id` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + - `kek_key_version` (String) Version of the key within the STACKIT-KMS to use for the encryption. + - `kek_keyring_id` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + - `service_account` (String) Service-Account linked to the Key within the STACKIT-KMS. + \\n\\n\\n\\n + ### Nested Schema for `flavor` + Required: + - `cpu` (Number) + - `ram` (Number) + Read-Only: + - `description` (String) + - `id` (String) + - `node_type` (String) + \\n\\n\\n\\n + ### Nested Schema for `network` + Optional: + - `access_scope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + Read-Only: + - `instance_address` (String) + - `router_address` (String) + \\n\\n\\n\\n + ### Nested Schema for `connection_info` + Read-Only: + - `write` (Attributes) The DNS name and port in the instance overview. + \\n\\n\\n\\n + ### Nested Schema for `connection_info.write` + Read-Only: + - `host` (String) The host of the instance. + - `port` (Number) The port of the instance. """ pulumi.set(__self__, "class_", class_) pulumi.set(__self__, "size", size) @@ -6089,9 +6696,42 @@ def class_(self) -> _builtins.str: """ The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): `bash - stackit postgresflex options --storages --flavor-id FLAVOR_ID + stackit postgresflex flavor describe FLAVOR_ID ` - `size` (Number) + \\n\\n\\n\\n + ### Nested Schema for `encryption` + Required: + - `kek_key_id` (String) The ID of the Key within the STACKIT-KMS to use for the encryption. + - `kek_key_version` (String) Version of the key within the STACKIT-KMS to use for the encryption. + - `kek_keyring_id` (String) The ID of the keyring where the key is located within the STACKTI-KMS. + - `service_account` (String) Service-Account linked to the Key within the STACKIT-KMS. + \\n\\n\\n\\n + ### Nested Schema for `flavor` + Required: + - `cpu` (Number) + - `ram` (Number) + Read-Only: + - `description` (String) + - `id` (String) + - `node_type` (String) + \\n\\n\\n\\n + ### Nested Schema for `network` + Optional: + - `access_scope` (String) The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + - `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance. + Read-Only: + - `instance_address` (String) + - `router_address` (String) + \\n\\n\\n\\n + ### Nested Schema for `connection_info` + Read-Only: + - `write` (Attributes) The DNS name and port in the instance overview. + \\n\\n\\n\\n + ### Nested Schema for `connection_info.write` + Read-Only: + - `host` (String) The host of the instance. + - `port` (Number) The port of the instance. """ return pulumi.get(self, "class_") @@ -7255,21 +7895,61 @@ def type(self) -> Optional[_builtins.str]: return pulumi.get(self, "type") +@pulumi.output_type +class SkeClusterAudit(dict): + def __init__(__self__, *, + enabled: Optional[_builtins.bool] = None): + """ + :param _builtins.bool enabled: Enable cluster audit log forwarding to a Telemetry Router. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> Optional[_builtins.bool]: + """ + Enable cluster audit log forwarding to a Telemetry Router. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class SkeClusterExtensions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationLoadBalancer": + suggest = "application_load_balancer" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SkeClusterExtensions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SkeClusterExtensions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SkeClusterExtensions.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, acl: Optional['outputs.SkeClusterExtensionsAcl'] = None, + application_load_balancer: Optional['outputs.SkeClusterExtensionsApplicationLoadBalancer'] = None, argus: Optional['outputs.SkeClusterExtensionsArgus'] = None, dns: Optional['outputs.SkeClusterExtensionsDns'] = None, observability: Optional['outputs.SkeClusterExtensionsObservability'] = None): """ :param 'SkeClusterExtensionsAclArgs' acl: Cluster access control configuration. + :param 'SkeClusterExtensionsApplicationLoadBalancerArgs' application_load_balancer: Application Load Balancer extension. :param 'SkeClusterExtensionsArgusArgs' argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. :param 'SkeClusterExtensionsDnsArgs' dns: DNS extension configuration :param 'SkeClusterExtensionsObservabilityArgs' observability: A single observability block as defined below. """ if acl is not None: pulumi.set(__self__, "acl", acl) + if application_load_balancer is not None: + pulumi.set(__self__, "application_load_balancer", application_load_balancer) if argus is not None: pulumi.set(__self__, "argus", argus) if dns is not None: @@ -7285,6 +7965,14 @@ def acl(self) -> Optional['outputs.SkeClusterExtensionsAcl']: """ return pulumi.get(self, "acl") + @_builtins.property + @pulumi.getter(name="applicationLoadBalancer") + def application_load_balancer(self) -> Optional['outputs.SkeClusterExtensionsApplicationLoadBalancer']: + """ + Application Load Balancer extension. + """ + return pulumi.get(self, "application_load_balancer") + @_builtins.property @pulumi.getter @_utilities.deprecated("""Use observability instead.""") @@ -7358,13 +8046,32 @@ def enabled(self) -> _builtins.bool: @pulumi.output_type -class SkeClusterExtensionsArgus(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "argusInstanceId": - suggest = "argus_instance_id" - +class SkeClusterExtensionsApplicationLoadBalancer(dict): + def __init__(__self__, *, + enabled: Optional[_builtins.bool] = None): + """ + :param _builtins.bool enabled: Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> Optional[_builtins.bool]: + """ + Enables the application load balancer extension. Note: This feature is in private preview. Enabling application load balancer extension is only possible for enabled accounts. Otherwise the request will be rejected. Default value will change to true once the private preview phase is over. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class SkeClusterExtensionsArgus(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "argusInstanceId": + suggest = "argus_instance_id" + if suggest: pulumi.log.warn(f"Key '{key}' not found in SkeClusterExtensionsArgus. Access the value via the '{suggest}' property getter instead.") @@ -7406,14 +8113,35 @@ def argus_instance_id(self) -> Optional[_builtins.str]: @pulumi.output_type class SkeClusterExtensionsDns(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gatewayApi": + suggest = "gateway_api" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SkeClusterExtensionsDns. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SkeClusterExtensionsDns.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SkeClusterExtensionsDns.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, enabled: _builtins.bool, + gateway_api: Optional[_builtins.bool] = None, zones: Optional[Sequence[_builtins.str]] = None): """ :param _builtins.bool enabled: Flag to enable/disable DNS extensions + :param _builtins.bool gateway_api: Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. :param Sequence[_builtins.str] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ pulumi.set(__self__, "enabled", enabled) + if gateway_api is not None: + pulumi.set(__self__, "gateway_api", gateway_api) if zones is not None: pulumi.set(__self__, "zones", zones) @@ -7425,6 +8153,14 @@ def enabled(self) -> _builtins.bool: """ return pulumi.get(self, "enabled") + @_builtins.property + @pulumi.getter(name="gatewayApi") + def gateway_api(self) -> Optional[_builtins.bool]: + """ + Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + """ + return pulumi.get(self, "gateway_api") + @_builtins.property @pulumi.getter def zones(self) -> Optional[Sequence[_builtins.str]]: @@ -7666,7 +8402,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, access_scope: Optional[_builtins.str] = None): """ - :param _builtins.str access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + :param _builtins.str access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ if access_scope is not None: pulumi.set(__self__, "access_scope", access_scope) @@ -7675,7 +8411,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessScope") def access_scope(self) -> Optional[_builtins.str]: """ - Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ return pulumi.get(self, "access_scope") @@ -7965,6 +8701,135 @@ def value(self) -> Optional[_builtins.str]: return pulumi.get(self, "value") +@pulumi.output_type +class SqlserverflexDatabaseTimeouts(dict): + def __init__(__self__, *, + create: Optional[_builtins.str] = None, + delete: Optional[_builtins.str] = None, + read: Optional[_builtins.str] = None, + update: Optional[_builtins.str] = None): + """ + :param _builtins.str create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param _builtins.str delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + :param _builtins.str update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + if update is not None: + pulumi.set(__self__, "update", update) + + @_builtins.property + @pulumi.getter + def create(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @_builtins.property + @pulumi.getter + def delete(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + return pulumi.get(self, "read") + + @_builtins.property + @pulumi.getter + def update(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + +@pulumi.output_type +class SqlserverflexInstanceEncryption(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kekKeyId": + suggest = "kek_key_id" + elif key == "kekKeyVersion": + suggest = "kek_key_version" + elif key == "kekKeyringId": + suggest = "kek_keyring_id" + elif key == "serviceAccount": + suggest = "service_account" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SqlserverflexInstanceEncryption. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SqlserverflexInstanceEncryption.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SqlserverflexInstanceEncryption.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kek_key_id: _builtins.str, + kek_key_version: _builtins.str, + kek_keyring_id: _builtins.str, + service_account: _builtins.str): + """ + :param _builtins.str kek_key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_keyring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param _builtins.str service_account: Service-Account linked to the Key within the STACKIT-KMS. + """ + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> _builtins.str: + """ + UUID of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_id") + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> _builtins.str: + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_version") + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> _builtins.str: + """ + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + return pulumi.get(self, "kek_keyring_id") + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> _builtins.str: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @pulumi.output_type class SqlserverflexInstanceFlavor(dict): def __init__(__self__, *, @@ -8007,6 +8872,10 @@ def __key_warning(key: str): suggest = None if key == "accessScope": suggest = "access_scope" + elif key == "instanceAddress": + suggest = "instance_address" + elif key == "routerAddress": + suggest = "router_address" if suggest: pulumi.log.warn(f"Key '{key}' not found in SqlserverflexInstanceNetwork. Access the value via the '{suggest}' property getter instead.") @@ -8021,15 +8890,23 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, access_scope: Optional[_builtins.str] = None, - acls: Optional[Sequence[_builtins.str]] = None): + acls: Optional[Sequence[_builtins.str]] = None, + instance_address: Optional[_builtins.str] = None, + router_address: Optional[_builtins.str] = None): """ :param _builtins.str access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. :param Sequence[_builtins.str] acls: List of IPV4 cidr. + :param _builtins.str instance_address: Address of this instance. + :param _builtins.str router_address: Address of the router. """ if access_scope is not None: pulumi.set(__self__, "access_scope", access_scope) if acls is not None: pulumi.set(__self__, "acls", acls) + if instance_address is not None: + pulumi.set(__self__, "instance_address", instance_address) + if router_address is not None: + pulumi.set(__self__, "router_address", router_address) @_builtins.property @pulumi.getter(name="accessScope") @@ -8047,6 +8924,22 @@ def acls(self) -> Optional[Sequence[_builtins.str]]: """ return pulumi.get(self, "acls") + @_builtins.property + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> Optional[_builtins.str]: + """ + Address of this instance. + """ + return pulumi.get(self, "instance_address") + + @_builtins.property + @pulumi.getter(name="routerAddress") + def router_address(self) -> Optional[_builtins.str]: + """ + Address of the router. + """ + return pulumi.get(self, "router_address") + @pulumi.output_type class SqlserverflexInstanceOptions(dict): @@ -8077,13 +8970,13 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter - @_utilities.deprecated("""edition is deprecated and will be removed after January 2027.""") + @_utilities.deprecated("""edition is deprecated and will be removed after February 2027.""") def edition(self) -> Optional[_builtins.str]: return pulumi.get(self, "edition") @_builtins.property @pulumi.getter(name="retentionDays") - @_utilities.deprecated("""retention_days is deprecated and will be removed after January 2027. Use instead `retention_days` from root.""") + @_utilities.deprecated("""retention_days is deprecated and will be removed after February 2027. Use instead `retention_days` from root.""") def retention_days(self) -> Optional[_builtins.int]: return pulumi.get(self, "retention_days") @@ -8111,10 +9004,7 @@ def __init__(__self__, *, class_: Optional[_builtins.str] = None, size: Optional[_builtins.int] = None): """ - :param _builtins.str class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - `bash - stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - ` Will be required in the future. Set a value to prevent breaking changes. + :param _builtins.str class_: The storage class. You can list available storage classes for a the according flavors using the datasource `get_sqlserverflex_flavors`. Will be required in the future. Set a value to prevent breaking changes. :param _builtins.int size: The storage size in Gigabytes. Will be required in the future. Set a value to prevent breaking changes. """ if class_ is not None: @@ -8126,10 +9016,7 @@ def __init__(__self__, *, @pulumi.getter(name="class") def class_(self) -> Optional[_builtins.str]: """ - The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): - `bash - stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID - ` Will be required in the future. Set a value to prevent breaking changes. + The storage class. You can list available storage classes for a the according flavors using the datasource `get_sqlserverflex_flavors`. Will be required in the future. Set a value to prevent breaking changes. """ return pulumi.get(self, "class_") @@ -9777,124 +10664,396 @@ def override_advertised_routes(self) -> Optional[Sequence[_builtins.str]]: @pulumi.output_type -class GetApplicationLoadBalancerErrorResult(dict): +class GetAlbWafCustomRuleGroupRuleResult(dict): def __init__(__self__, *, + behavior: 'outputs.GetAlbWafCustomRuleGroupRuleBehaviorResult', + conditions: Sequence['outputs.GetAlbWafCustomRuleGroupRuleConditionResult'], description: _builtins.str, - type: _builtins.str): + id: _builtins.int): """ - :param _builtins.str description: The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. - :param _builtins.str type: The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + :param _builtins.str description: A clear description explaining the threat vector or criteria addressed by this rule. + :param _builtins.int id: Backend auto-allocated unique rule ID within the valid 1-99999 threshold. """ + pulumi.set(__self__, "behavior", behavior) + pulumi.set(__self__, "conditions", conditions) pulumi.set(__self__, "description", description) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "id", id) + + @_builtins.property + @pulumi.getter + def behavior(self) -> 'outputs.GetAlbWafCustomRuleGroupRuleBehaviorResult': + return pulumi.get(self, "behavior") + + @_builtins.property + @pulumi.getter + def conditions(self) -> Sequence['outputs.GetAlbWafCustomRuleGroupRuleConditionResult']: + return pulumi.get(self, "conditions") @_builtins.property @pulumi.getter def description(self) -> _builtins.str: """ - The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + A clear description explaining the threat vector or criteria addressed by this rule. """ return pulumi.get(self, "description") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def id(self) -> _builtins.int: """ - The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + Backend auto-allocated unique rule ID within the valid 1-99999 threshold. """ - return pulumi.get(self, "type") + return pulumi.get(self, "id") @pulumi.output_type -class GetApplicationLoadBalancerListenerResult(dict): +class GetAlbWafCustomRuleGroupRuleBehaviorResult(dict): def __init__(__self__, *, - http: 'outputs.GetApplicationLoadBalancerListenerHttpResult', - https: 'outputs.GetApplicationLoadBalancerListenerHttpsResult', - name: _builtins.str, - port: _builtins.int, - protocol: _builtins.str, - waf_config_name: _builtins.str): + action: _builtins.str, + log: _builtins.bool, + log_msg: _builtins.str, + severity: _builtins.str): """ - :param 'GetApplicationLoadBalancerListenerHttpArgs' http: Configuration for HTTP traffic. - :param 'GetApplicationLoadBalancerListenerHttpsArgs' https: Configuration for handling HTTPS traffic on this listener. - :param _builtins.str name: Unique name for the listener - :param _builtins.int port: Port number on which the listener receives incoming traffic. - :param _builtins.str protocol: Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. - :param _builtins.str waf_config_name: Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + :param _builtins.str action: The protective stance action. ACTION_DENY forces a 403 status response code. + :param _builtins.bool log: Determines whether an entry should be generated in the security ledger upon a rule hit. + :param _builtins.str log_msg: Custom notification message string mapped to underlying logdata contexts. Required if log is true. + :param _builtins.str severity: Severity classification metric used by internal analytics graphs. """ - pulumi.set(__self__, "http", http) - pulumi.set(__self__, "https", https) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "port", port) - pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "waf_config_name", waf_config_name) + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "log", log) + pulumi.set(__self__, "log_msg", log_msg) + pulumi.set(__self__, "severity", severity) @_builtins.property @pulumi.getter - def http(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpResult': + def action(self) -> _builtins.str: """ - Configuration for HTTP traffic. + The protective stance action. ACTION_DENY forces a 403 status response code. """ - return pulumi.get(self, "http") + return pulumi.get(self, "action") @_builtins.property @pulumi.getter - def https(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpsResult': + def log(self) -> _builtins.bool: """ - Configuration for handling HTTPS traffic on this listener. + Determines whether an entry should be generated in the security ledger upon a rule hit. """ - return pulumi.get(self, "https") + return pulumi.get(self, "log") + + @_builtins.property + @pulumi.getter(name="logMsg") + def log_msg(self) -> _builtins.str: + """ + Custom notification message string mapped to underlying logdata contexts. Required if log is true. + """ + return pulumi.get(self, "log_msg") @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def severity(self) -> _builtins.str: """ - Unique name for the listener + Severity classification metric used by internal analytics graphs. """ - return pulumi.get(self, "name") + return pulumi.get(self, "severity") + + +@pulumi.output_type +class GetAlbWafCustomRuleGroupRuleConditionResult(dict): + def __init__(__self__, *, + operator: 'outputs.GetAlbWafCustomRuleGroupRuleConditionOperatorResult', + transformations: Sequence[_builtins.str], + variable: 'outputs.GetAlbWafCustomRuleGroupRuleConditionVariableResult'): + """ + :param 'GetAlbWafCustomRuleGroupRuleConditionOperatorArgs' operator: The comparison logic executed against the transformed variable. + :param Sequence[_builtins.str] transformations: Ordered normalization steps applied before the operator runs. + :param 'GetAlbWafCustomRuleGroupRuleConditionVariableArgs' variable: The part of the HTTP transaction to inspect. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "transformations", transformations) + pulumi.set(__self__, "variable", variable) @_builtins.property @pulumi.getter - def port(self) -> _builtins.int: + def operator(self) -> 'outputs.GetAlbWafCustomRuleGroupRuleConditionOperatorResult': """ - Port number on which the listener receives incoming traffic. + The comparison logic executed against the transformed variable. """ - return pulumi.get(self, "port") + return pulumi.get(self, "operator") @_builtins.property @pulumi.getter - def protocol(self) -> _builtins.str: + def transformations(self) -> Sequence[_builtins.str]: """ - Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + Ordered normalization steps applied before the operator runs. """ - return pulumi.get(self, "protocol") + return pulumi.get(self, "transformations") @_builtins.property - @pulumi.getter(name="wafConfigName") - def waf_config_name(self) -> _builtins.str: + @pulumi.getter + def variable(self) -> 'outputs.GetAlbWafCustomRuleGroupRuleConditionVariableResult': """ - Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + The part of the HTTP transaction to inspect. """ - return pulumi.get(self, "waf_config_name") + return pulumi.get(self, "variable") @pulumi.output_type -class GetApplicationLoadBalancerListenerHttpResult(dict): +class GetAlbWafCustomRuleGroupRuleConditionOperatorResult(dict): def __init__(__self__, *, - hosts: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']): + type: _builtins.str, + value: _builtins.str): """ - :param Sequence['GetApplicationLoadBalancerListenerHttpHostArgs'] hosts: Defines routing rules grouped by hostname. + :param _builtins.str type: The operational evaluation type definition macro. + :param _builtins.str value: The text or rule regex pattern arguments applied inside the operator execution loop. """ - pulumi.set(__self__, "hosts", hosts) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def hosts(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']: + def type(self) -> _builtins.str: """ - Defines routing rules grouped by hostname. + The operational evaluation type definition macro. """ - return pulumi.get(self, "hosts") - + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + The text or rule regex pattern arguments applied inside the operator execution loop. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetAlbWafCustomRuleGroupRuleConditionVariableResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: The targeted validation engine variable macro. + :param _builtins.str value: Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + The targeted validation engine variable macro. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + Optional key element context for map variables (e.g., matching a 'Host' header key). + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetAlbWafManagedRuleSetGroupsResult(dict): + def __init__(__self__, *, + description: _builtins.str, + group_name: _builtins.str, + rules: Mapping[str, 'outputs.GetAlbWafManagedRuleSetGroupsRulesResult']): + """ + :param _builtins.str description: A description of what this group covers. + :param _builtins.str group_name: The name for the rule group. + :param Mapping[str, 'GetAlbWafManagedRuleSetGroupsRulesArgs'] rules: Rules of the rule group. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + A description of what this group covers. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="groupName") + def group_name(self) -> _builtins.str: + """ + The name for the rule group. + """ + return pulumi.get(self, "group_name") + + @_builtins.property + @pulumi.getter + def rules(self) -> Mapping[str, 'outputs.GetAlbWafManagedRuleSetGroupsRulesResult']: + """ + Rules of the rule group. + """ + return pulumi.get(self, "rules") + + +@pulumi.output_type +class GetAlbWafManagedRuleSetGroupsRulesResult(dict): + def __init__(__self__, *, + description: _builtins.str, + mode: _builtins.str, + severity: _builtins.str): + """ + :param _builtins.str description: A description of what this rule does. + :param _builtins.str mode: The current mode of the rule. + :param _builtins.str severity: Impact level. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "mode", mode) + pulumi.set(__self__, "severity", severity) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + A description of what this rule does. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def mode(self) -> _builtins.str: + """ + The current mode of the rule. + """ + return pulumi.get(self, "mode") + + @_builtins.property + @pulumi.getter + def severity(self) -> _builtins.str: + """ + Impact level. + """ + return pulumi.get(self, "severity") + + +@pulumi.output_type +class GetApplicationLoadBalancerErrorResult(dict): + def __init__(__self__, *, + description: _builtins.str, + type: _builtins.str): + """ + :param _builtins.str description: The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + :param _builtins.str type: The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "type", type) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetApplicationLoadBalancerListenerResult(dict): + def __init__(__self__, *, + http: 'outputs.GetApplicationLoadBalancerListenerHttpResult', + https: 'outputs.GetApplicationLoadBalancerListenerHttpsResult', + name: _builtins.str, + port: _builtins.int, + protocol: _builtins.str, + waf_config_name: _builtins.str): + """ + :param 'GetApplicationLoadBalancerListenerHttpArgs' http: Configuration for HTTP traffic. + :param 'GetApplicationLoadBalancerListenerHttpsArgs' https: Configuration for handling HTTPS traffic on this listener. + :param _builtins.str name: Unique name for the listener + :param _builtins.int port: Port number on which the listener receives incoming traffic. + :param _builtins.str protocol: Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + :param _builtins.str waf_config_name: Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + """ + pulumi.set(__self__, "http", http) + pulumi.set(__self__, "https", https) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "waf_config_name", waf_config_name) + + @_builtins.property + @pulumi.getter + def http(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpResult': + """ + Configuration for HTTP traffic. + """ + return pulumi.get(self, "http") + + @_builtins.property + @pulumi.getter + def https(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpsResult': + """ + Configuration for handling HTTPS traffic on this listener. + """ + return pulumi.get(self, "https") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Unique name for the listener + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def port(self) -> _builtins.int: + """ + Port number on which the listener receives incoming traffic. + """ + return pulumi.get(self, "port") + + @_builtins.property + @pulumi.getter + def protocol(self) -> _builtins.str: + """ + Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + """ + return pulumi.get(self, "protocol") + + @_builtins.property + @pulumi.getter(name="wafConfigName") + def waf_config_name(self) -> _builtins.str: + """ + Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + """ + return pulumi.get(self, "waf_config_name") + + +@pulumi.output_type +class GetApplicationLoadBalancerListenerHttpResult(dict): + def __init__(__self__, *, + hosts: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']): + """ + :param Sequence['GetApplicationLoadBalancerListenerHttpHostArgs'] hosts: Defines routing rules grouped by hostname. + """ + pulumi.set(__self__, "hosts", hosts) + + @_builtins.property + @pulumi.getter + def hosts(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']: + """ + Defines routing rules grouped by hostname. + """ + return pulumi.get(self, "hosts") + @pulumi.output_type class GetApplicationLoadBalancerListenerHttpHostResult(dict): @@ -10644,7 +11803,10 @@ def version(self) -> _builtins.int: class GetCdnDistributionConfigResult(dict): def __init__(__self__, *, backend: 'outputs.GetCdnDistributionConfigBackendResult', + blocked_ips: Sequence[_builtins.str], + default_cache_duration: _builtins.str, forward_host_header: _builtins.bool, + monthly_limit_bytes: _builtins.int, optimizer: 'outputs.GetCdnDistributionConfigOptimizerResult', redirects: 'outputs.GetCdnDistributionConfigRedirectsResult', regions: Sequence[_builtins.str], @@ -10654,7 +11816,10 @@ def __init__(__self__, *, blocked_countries: Optional[Sequence[_builtins.str]] = None): """ :param 'GetCdnDistributionConfigBackendArgs' backend: The configured backend for the distribution + :param Sequence[_builtins.str] blocked_ips: Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + :param _builtins.str default_cache_duration: Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. :param _builtins.bool forward_host_header: Enable this allows the 'Host' header to be passed through to the origin. + :param _builtins.int monthly_limit_bytes: Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. :param 'GetCdnDistributionConfigOptimizerArgs' optimizer: Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. :param 'GetCdnDistributionConfigRedirectsArgs' redirects: A wrapper for a list of redirect rules that allows for redirect settings on a distribution :param Sequence[_builtins.str] regions: The configured regions where content will be hosted @@ -10664,7 +11829,10 @@ def __init__(__self__, *, :param Sequence[_builtins.str] blocked_countries: The configured countries where distribution of content is blocked """ pulumi.set(__self__, "backend", backend) + pulumi.set(__self__, "blocked_ips", blocked_ips) + pulumi.set(__self__, "default_cache_duration", default_cache_duration) pulumi.set(__self__, "forward_host_header", forward_host_header) + pulumi.set(__self__, "monthly_limit_bytes", monthly_limit_bytes) pulumi.set(__self__, "optimizer", optimizer) pulumi.set(__self__, "redirects", redirects) pulumi.set(__self__, "regions", regions) @@ -10682,6 +11850,22 @@ def backend(self) -> 'outputs.GetCdnDistributionConfigBackendResult': """ return pulumi.get(self, "backend") + @_builtins.property + @pulumi.getter(name="blockedIps") + def blocked_ips(self) -> Sequence[_builtins.str]: + """ + Restricts access to your content by specifying a list of blocked IPv4 addresses. This feature enhances security and privacy by preventing these addresses from accessing your distribution. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state; to clear it explicitly, set it to an empty list. + """ + return pulumi.get(self, "blocked_ips") + + @_builtins.property + @pulumi.getter(name="defaultCacheDuration") + def default_cache_duration(self) -> _builtins.str: + """ + Sets the default cache duration for the distribution. The default cache duration is applied when a 'Cache-Control' header is not presented in the origin's response. We use ISO8601 duration format for cache duration (e.g. P1DT2H30M). Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ + return pulumi.get(self, "default_cache_duration") + @_builtins.property @pulumi.getter(name="forwardHostHeader") def forward_host_header(self) -> _builtins.bool: @@ -10690,6 +11874,14 @@ def forward_host_header(self) -> _builtins.bool: """ return pulumi.get(self, "forward_host_header") + @_builtins.property + @pulumi.getter(name="monthlyLimitBytes") + def monthly_limit_bytes(self) -> _builtins.int: + """ + Sets the monthly limit of bandwidth in bytes that the pullzone is allowed to use. Note: once a value is set, removing the attribute from your configuration will retain the last known value in state. + """ + return pulumi.get(self, "monthly_limit_bytes") + @_builtins.property @pulumi.getter def optimizer(self) -> 'outputs.GetCdnDistributionConfigOptimizerResult': @@ -12949,25 +14141,6 @@ def size(self) -> _builtins.int: return pulumi.get(self, "size") -@pulumi.output_type -class GetNetworkAreaNetworkRangeResult(dict): - def __init__(__self__, *, - network_range_id: _builtins.str, - prefix: _builtins.str): - pulumi.set(__self__, "network_range_id", network_range_id) - pulumi.set(__self__, "prefix", prefix) - - @_builtins.property - @pulumi.getter(name="networkRangeId") - def network_range_id(self) -> _builtins.str: - return pulumi.get(self, "network_range_id") - - @_builtins.property - @pulumi.getter - def prefix(self) -> _builtins.str: - return pulumi.get(self, "prefix") - - @pulumi.output_type class GetNetworkAreaRegionIpv4Result(dict): def __init__(__self__, *, @@ -14072,36 +15245,320 @@ def tls_protocols(self) -> Sequence[_builtins.str]: @pulumi.output_type -class GetPostgresflexInstanceFlavorResult(dict): +class GetPostgresflexFlavorsFlavorResult(dict): def __init__(__self__, *, cpu: _builtins.int, description: _builtins.str, id: _builtins.str, - ram: _builtins.int): + max_gb: _builtins.int, + memory: _builtins.int, + min_gb: _builtins.int, + node_type: _builtins.str, + storage_classes: Sequence['outputs.GetPostgresflexFlavorsFlavorStorageClassResult']): + """ + :param _builtins.int cpu: CPU count of the instance. + :param _builtins.str description: Flavor description. + :param _builtins.str id: Flavor ID. + :param _builtins.int max_gb: Maximum storage capacity available for the flavor in GB. + :param _builtins.int memory: Memory of the instance in GiB. + :param _builtins.int min_gb: Minimum storage capacity available for the flavor in GB. + :param _builtins.str node_type: Node type of the flavor, either single or replica. + :param Sequence['GetPostgresflexFlavorsFlavorStorageClassArgs'] storage_classes: Storage classes available for the flavor. + """ pulumi.set(__self__, "cpu", cpu) pulumi.set(__self__, "description", description) pulumi.set(__self__, "id", id) - pulumi.set(__self__, "ram", ram) + pulumi.set(__self__, "max_gb", max_gb) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "min_gb", min_gb) + pulumi.set(__self__, "node_type", node_type) + pulumi.set(__self__, "storage_classes", storage_classes) @_builtins.property @pulumi.getter def cpu(self) -> _builtins.int: + """ + CPU count of the instance. + """ return pulumi.get(self, "cpu") @_builtins.property @pulumi.getter def description(self) -> _builtins.str: + """ + Flavor description. + """ return pulumi.get(self, "description") @_builtins.property @pulumi.getter def id(self) -> _builtins.str: + """ + Flavor ID. + """ return pulumi.get(self, "id") @_builtins.property - @pulumi.getter - def ram(self) -> _builtins.int: - return pulumi.get(self, "ram") + @pulumi.getter(name="maxGb") + def max_gb(self) -> _builtins.int: + """ + Maximum storage capacity available for the flavor in GB. + """ + return pulumi.get(self, "max_gb") + + @_builtins.property + @pulumi.getter + def memory(self) -> _builtins.int: + """ + Memory of the instance in GiB. + """ + return pulumi.get(self, "memory") + + @_builtins.property + @pulumi.getter(name="minGb") + def min_gb(self) -> _builtins.int: + """ + Minimum storage capacity available for the flavor in GB. + """ + return pulumi.get(self, "min_gb") + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> _builtins.str: + """ + Node type of the flavor, either single or replica. + """ + return pulumi.get(self, "node_type") + + @_builtins.property + @pulumi.getter(name="storageClasses") + def storage_classes(self) -> Sequence['outputs.GetPostgresflexFlavorsFlavorStorageClassResult']: + """ + Storage classes available for the flavor. + """ + return pulumi.get(self, "storage_classes") + + +@pulumi.output_type +class GetPostgresflexFlavorsFlavorStorageClassResult(dict): + def __init__(__self__, *, + class_: _builtins.str, + max_io_per_sec: _builtins.int, + max_through_in_mb: _builtins.int): + """ + :param _builtins.str class_: Storage class. + :param _builtins.int max_io_per_sec: Maximum I/O operations per second. + :param _builtins.int max_through_in_mb: Maximum throughput in MB per second. + """ + pulumi.set(__self__, "class_", class_) + pulumi.set(__self__, "max_io_per_sec", max_io_per_sec) + pulumi.set(__self__, "max_through_in_mb", max_through_in_mb) + + @_builtins.property + @pulumi.getter(name="class") + def class_(self) -> _builtins.str: + """ + Storage class. + """ + return pulumi.get(self, "class_") + + @_builtins.property + @pulumi.getter(name="maxIoPerSec") + def max_io_per_sec(self) -> _builtins.int: + """ + Maximum I/O operations per second. + """ + return pulumi.get(self, "max_io_per_sec") + + @_builtins.property + @pulumi.getter(name="maxThroughInMb") + def max_through_in_mb(self) -> _builtins.int: + """ + Maximum throughput in MB per second. + """ + return pulumi.get(self, "max_through_in_mb") + + +@pulumi.output_type +class GetPostgresflexFlavorsTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "read") + + +@pulumi.output_type +class GetPostgresflexInstanceConnectionInfoResult(dict): + def __init__(__self__, *, + write: 'outputs.GetPostgresflexInstanceConnectionInfoWriteResult'): + """ + :param 'GetPostgresflexInstanceConnectionInfoWriteArgs' write: The DNS name and port in the instance overview. + """ + pulumi.set(__self__, "write", write) + + @_builtins.property + @pulumi.getter + def write(self) -> 'outputs.GetPostgresflexInstanceConnectionInfoWriteResult': + """ + The DNS name and port in the instance overview. + """ + return pulumi.get(self, "write") + + +@pulumi.output_type +class GetPostgresflexInstanceConnectionInfoWriteResult(dict): + def __init__(__self__, *, + host: _builtins.str, + port: _builtins.int): + """ + :param _builtins.str host: The host of the instance. + :param _builtins.int port: The port of the instance. + """ + pulumi.set(__self__, "host", host) + pulumi.set(__self__, "port", port) + + @_builtins.property + @pulumi.getter + def host(self) -> _builtins.str: + """ + The host of the instance. + """ + return pulumi.get(self, "host") + + @_builtins.property + @pulumi.getter + def port(self) -> _builtins.int: + """ + The port of the instance. + """ + return pulumi.get(self, "port") + + +@pulumi.output_type +class GetPostgresflexInstanceEncryptionResult(dict): + def __init__(__self__, *, + kek_key_id: _builtins.str, + kek_key_version: _builtins.str, + kek_keyring_id: _builtins.str, + service_account: _builtins.str): + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> _builtins.str: + return pulumi.get(self, "kek_key_id") + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> _builtins.str: + return pulumi.get(self, "kek_key_version") + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> _builtins.str: + return pulumi.get(self, "kek_keyring_id") + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> _builtins.str: + return pulumi.get(self, "service_account") + + +@pulumi.output_type +class GetPostgresflexInstanceFlavorResult(dict): + def __init__(__self__, *, + cpu: _builtins.int, + description: _builtins.str, + id: _builtins.str, + node_type: _builtins.str, + ram: _builtins.int): + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "node_type", node_type) + pulumi.set(__self__, "ram", ram) + + @_builtins.property + @pulumi.getter + def cpu(self) -> _builtins.int: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> _builtins.str: + return pulumi.get(self, "node_type") + + @_builtins.property + @pulumi.getter + def ram(self) -> _builtins.int: + return pulumi.get(self, "ram") + + +@pulumi.output_type +class GetPostgresflexInstanceNetworkResult(dict): + def __init__(__self__, *, + access_scope: _builtins.str, + acls: Sequence[_builtins.str], + instance_address: _builtins.str, + router_address: _builtins.str): + """ + :param _builtins.str access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + :param Sequence[_builtins.str] acls: List of IPV4 cidr. + """ + pulumi.set(__self__, "access_scope", access_scope) + pulumi.set(__self__, "acls", acls) + pulumi.set(__self__, "instance_address", instance_address) + pulumi.set(__self__, "router_address", router_address) + + @_builtins.property + @pulumi.getter(name="accessScope") + def access_scope(self) -> _builtins.str: + """ + The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. Possible values are: `PUBLIC`, `SNA`. + """ + return pulumi.get(self, "access_scope") + + @_builtins.property + @pulumi.getter + def acls(self) -> Sequence[_builtins.str]: + """ + List of IPV4 cidr. + """ + return pulumi.get(self, "acls") + + @_builtins.property + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> _builtins.str: + return pulumi.get(self, "instance_address") + + @_builtins.property + @pulumi.getter(name="routerAddress") + def router_address(self) -> _builtins.str: + return pulumi.get(self, "router_address") @pulumi.output_type @@ -15702,20 +17159,41 @@ def type(self) -> _builtins.str: return pulumi.get(self, "type") +@pulumi.output_type +class GetSkeClusterAuditResult(dict): + def __init__(__self__, *, + enabled: _builtins.bool): + """ + :param _builtins.bool enabled: Enable cluster audit log forwarding to a Telemetry Router. + """ + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> _builtins.bool: + """ + Enable cluster audit log forwarding to a Telemetry Router. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class GetSkeClusterExtensionsResult(dict): def __init__(__self__, *, acl: 'outputs.GetSkeClusterExtensionsAclResult', + application_load_balancer: 'outputs.GetSkeClusterExtensionsApplicationLoadBalancerResult', argus: 'outputs.GetSkeClusterExtensionsArgusResult', dns: 'outputs.GetSkeClusterExtensionsDnsResult', observability: 'outputs.GetSkeClusterExtensionsObservabilityResult'): """ :param 'GetSkeClusterExtensionsAclArgs' acl: Cluster access control configuration + :param 'GetSkeClusterExtensionsApplicationLoadBalancerArgs' application_load_balancer: Application Load Balancer extension. :param 'GetSkeClusterExtensionsArgusArgs' argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. :param 'GetSkeClusterExtensionsDnsArgs' dns: DNS extension configuration :param 'GetSkeClusterExtensionsObservabilityArgs' observability: A single observability block as defined below. """ pulumi.set(__self__, "acl", acl) + pulumi.set(__self__, "application_load_balancer", application_load_balancer) pulumi.set(__self__, "argus", argus) pulumi.set(__self__, "dns", dns) pulumi.set(__self__, "observability", observability) @@ -15728,6 +17206,14 @@ def acl(self) -> 'outputs.GetSkeClusterExtensionsAclResult': """ return pulumi.get(self, "acl") + @_builtins.property + @pulumi.getter(name="applicationLoadBalancer") + def application_load_balancer(self) -> 'outputs.GetSkeClusterExtensionsApplicationLoadBalancerResult': + """ + Application Load Balancer extension. + """ + return pulumi.get(self, "application_load_balancer") + @_builtins.property @pulumi.getter @_utilities.deprecated("""Use observability instead.""") @@ -15783,6 +17269,24 @@ def enabled(self) -> _builtins.bool: return pulumi.get(self, "enabled") +@pulumi.output_type +class GetSkeClusterExtensionsApplicationLoadBalancerResult(dict): + def __init__(__self__, *, + enabled: _builtins.bool): + """ + :param _builtins.bool enabled: Enables the application load balancer extension. + """ + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter + def enabled(self) -> _builtins.bool: + """ + Enables the application load balancer extension. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class GetSkeClusterExtensionsArgusResult(dict): def __init__(__self__, *, @@ -15816,12 +17320,15 @@ def enabled(self) -> _builtins.bool: class GetSkeClusterExtensionsDnsResult(dict): def __init__(__self__, *, enabled: _builtins.bool, + gateway_api: _builtins.bool, zones: Sequence[_builtins.str]): """ :param _builtins.bool enabled: Flag to enable/disable DNS extensions + :param _builtins.bool gateway_api: Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. :param Sequence[_builtins.str] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "gateway_api", gateway_api) pulumi.set(__self__, "zones", zones) @_builtins.property @@ -15832,6 +17339,14 @@ def enabled(self) -> _builtins.bool: """ return pulumi.get(self, "enabled") + @_builtins.property + @pulumi.getter(name="gatewayApi") + def gateway_api(self) -> _builtins.bool: + """ + Enables Gateway API support for ExternalDNS. The CRDs must be installed by the user. Once installed, ExternalDNS will be configured at the next cluster reconcile. + """ + return pulumi.get(self, "gateway_api") + @_builtins.property @pulumi.getter def zones(self) -> Sequence[_builtins.str]: @@ -16373,6 +17888,230 @@ def version(self) -> _builtins.str: return pulumi.get(self, "version") +@pulumi.output_type +class GetSqlserverflexDatabaseTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "read") + + +@pulumi.output_type +class GetSqlserverflexFlavorsFlavorResult(dict): + def __init__(__self__, *, + cpu: _builtins.int, + description: _builtins.str, + id: _builtins.str, + max_gb: _builtins.int, + memory: _builtins.int, + min_gb: _builtins.int, + node_type: _builtins.str, + storage_classes: Sequence['outputs.GetSqlserverflexFlavorsFlavorStorageClassResult']): + """ + :param _builtins.int cpu: The CPU count of the instance. + :param _builtins.str description: Description of the flavor. + :param _builtins.str id: ID of the flavor. + :param _builtins.int max_gb: Maximum storage, which can be ordered for the flavor in Gigabyte. + :param _builtins.int memory: The memory (Gibibyte) of the instance. + :param _builtins.int min_gb: Minimum storage, which is required to order in Gigabyte. + :param _builtins.str node_type: Defines the node type (either single or HA). + :param Sequence['GetSqlserverflexFlavorsFlavorStorageClassArgs'] storage_classes: Storage classes available for the flavor. + """ + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "max_gb", max_gb) + pulumi.set(__self__, "memory", memory) + pulumi.set(__self__, "min_gb", min_gb) + pulumi.set(__self__, "node_type", node_type) + pulumi.set(__self__, "storage_classes", storage_classes) + + @_builtins.property + @pulumi.getter + def cpu(self) -> _builtins.int: + """ + The CPU count of the instance. + """ + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + Description of the flavor. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + ID of the flavor. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="maxGb") + def max_gb(self) -> _builtins.int: + """ + Maximum storage, which can be ordered for the flavor in Gigabyte. + """ + return pulumi.get(self, "max_gb") + + @_builtins.property + @pulumi.getter + def memory(self) -> _builtins.int: + """ + The memory (Gibibyte) of the instance. + """ + return pulumi.get(self, "memory") + + @_builtins.property + @pulumi.getter(name="minGb") + def min_gb(self) -> _builtins.int: + """ + Minimum storage, which is required to order in Gigabyte. + """ + return pulumi.get(self, "min_gb") + + @_builtins.property + @pulumi.getter(name="nodeType") + def node_type(self) -> _builtins.str: + """ + Defines the node type (either single or HA). + """ + return pulumi.get(self, "node_type") + + @_builtins.property + @pulumi.getter(name="storageClasses") + def storage_classes(self) -> Sequence['outputs.GetSqlserverflexFlavorsFlavorStorageClassResult']: + """ + Storage classes available for the flavor. + """ + return pulumi.get(self, "storage_classes") + + +@pulumi.output_type +class GetSqlserverflexFlavorsFlavorStorageClassResult(dict): + def __init__(__self__, *, + class_: _builtins.str, + max_io_per_sec: _builtins.int, + max_through_in_mb: _builtins.int): + """ + :param _builtins.str class_: Class of the instance. + :param _builtins.int max_io_per_sec: Maximum I/O per second. + :param _builtins.int max_through_in_mb: Maximum throughput in Megabyte. + """ + pulumi.set(__self__, "class_", class_) + pulumi.set(__self__, "max_io_per_sec", max_io_per_sec) + pulumi.set(__self__, "max_through_in_mb", max_through_in_mb) + + @_builtins.property + @pulumi.getter(name="class") + def class_(self) -> _builtins.str: + """ + Class of the instance. + """ + return pulumi.get(self, "class_") + + @_builtins.property + @pulumi.getter(name="maxIoPerSec") + def max_io_per_sec(self) -> _builtins.int: + """ + Maximum I/O per second. + """ + return pulumi.get(self, "max_io_per_sec") + + @_builtins.property + @pulumi.getter(name="maxThroughInMb") + def max_through_in_mb(self) -> _builtins.int: + """ + Maximum throughput in Megabyte. + """ + return pulumi.get(self, "max_through_in_mb") + + +@pulumi.output_type +class GetSqlserverflexFlavorsTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_builtins.str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "read") + + +@pulumi.output_type +class GetSqlserverflexInstanceEncryptionResult(dict): + def __init__(__self__, *, + kek_key_id: _builtins.str, + kek_key_version: _builtins.str, + kek_keyring_id: _builtins.str, + service_account: _builtins.str): + """ + :param _builtins.str kek_key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_keyring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param _builtins.str service_account: Service-Account linked to the Key within the STACKIT-KMS. + """ + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> _builtins.str: + """ + UUID of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_id") + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> _builtins.str: + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_version") + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> _builtins.str: + """ + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + return pulumi.get(self, "kek_keyring_id") + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> _builtins.str: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @pulumi.output_type class GetSqlserverflexInstanceFlavorResult(dict): def __init__(__self__, *, @@ -16410,12 +18149,18 @@ def ram(self) -> _builtins.int: class GetSqlserverflexInstanceNetworkResult(dict): def __init__(__self__, *, acls: Sequence[_builtins.str], + instance_address: _builtins.str, + router_address: _builtins.str, access_scope: Optional[_builtins.str] = None): """ :param Sequence[_builtins.str] acls: List of IPV4 cidr. + :param _builtins.str instance_address: Address of this instance. + :param _builtins.str router_address: Address of the router. :param _builtins.str access_scope: The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. """ pulumi.set(__self__, "acls", acls) + pulumi.set(__self__, "instance_address", instance_address) + pulumi.set(__self__, "router_address", router_address) if access_scope is not None: pulumi.set(__self__, "access_scope", access_scope) @@ -16427,6 +18172,22 @@ def acls(self) -> Sequence[_builtins.str]: """ return pulumi.get(self, "acls") + @_builtins.property + @pulumi.getter(name="instanceAddress") + def instance_address(self) -> _builtins.str: + """ + Address of this instance. + """ + return pulumi.get(self, "instance_address") + + @_builtins.property + @pulumi.getter(name="routerAddress") + def router_address(self) -> _builtins.str: + """ + Address of the router. + """ + return pulumi.get(self, "router_address") + @_builtins.property @pulumi.getter(name="accessScope") def access_scope(self) -> Optional[_builtins.str]: @@ -16446,11 +18207,13 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter + @_utilities.deprecated("""edition is deprecated and will be removed after February 2027.""") def edition(self) -> _builtins.str: return pulumi.get(self, "edition") @_builtins.property @pulumi.getter(name="retentionDays") + @_utilities.deprecated("""retention_days is deprecated and will be removed after February 2027. Use instead `retention_days` from root.""") def retention_days(self) -> _builtins.int: return pulumi.get(self, "retention_days") diff --git a/sdk/python/pulumi_stackit/postgresflex_instance.py b/sdk/python/pulumi_stackit/postgresflex_instance.py index ce397d0a..3d7b3ef8 100644 --- a/sdk/python/pulumi_stackit/postgresflex_instance.py +++ b/sdk/python/pulumi_stackit/postgresflex_instance.py @@ -21,48 +21,63 @@ @pulumi.input_type class PostgresflexInstanceArgs: def __init__(__self__, *, - acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], backup_schedule: pulumi.Input[_builtins.str], - flavor: pulumi.Input['PostgresflexInstanceFlavorArgs'], project_id: pulumi.Input[_builtins.str], - replicas: pulumi.Input[_builtins.int], storage: pulumi.Input['PostgresflexInstanceStorageArgs'], version: pulumi.Input[_builtins.str], + acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + encryption: pulumi.Input[Optional['PostgresflexInstanceEncryptionArgs']] = None, + flavor: pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']] = None, + flavor_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, - region: pulumi.Input[Optional[_builtins.str]] = None): + network: pulumi.Input[Optional['PostgresflexInstanceNetworkArgs']] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + replicas: pulumi.Input[Optional[_builtins.int]] = None, + retention_days: pulumi.Input[Optional[_builtins.int]] = None): """ The set of arguments for constructing a PostgresflexInstance resource. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the PostgresFlex instance. :param pulumi.Input[_builtins.str] backup_schedule: The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. - :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the PostgresFlex instance. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` :param pulumi.Input[_builtins.str] name: Instance name. + :param pulumi.Input['PostgresflexInstanceNetworkArgs'] network: The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + :param pulumi.Input[_builtins.int] retention_days: How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. """ - pulumi.set(__self__, "acls", acls) pulumi.set(__self__, "backup_schedule", backup_schedule) - pulumi.set(__self__, "flavor", flavor) pulumi.set(__self__, "project_id", project_id) - pulumi.set(__self__, "replicas", replicas) pulumi.set(__self__, "storage", storage) pulumi.set(__self__, "version", version) + if acls is not None: + warnings.warn("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""", DeprecationWarning) + pulumi.log.warn("""acls is deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") + if acls is not None: + pulumi.set(__self__, "acls", acls) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if flavor is not None: + warnings.warn("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""", DeprecationWarning) + pulumi.log.warn("""flavor is deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""") + if flavor is not None: + pulumi.set(__self__, "flavor", flavor) + if flavor_id is not None: + pulumi.set(__self__, "flavor_id", flavor_id) if name is not None: pulumi.set(__self__, "name", name) + if network is not None: + pulumi.set(__self__, "network", network) if region is not None: pulumi.set(__self__, "region", region) - - @_builtins.property - @pulumi.getter - def acls(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: - """ - The Access Control List (ACL) for the PostgresFlex instance. - """ - return pulumi.get(self, "acls") - - @acls.setter - def acls(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): - pulumi.set(self, "acls", value) + if replicas is not None: + warnings.warn("""replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""", DeprecationWarning) + pulumi.log.warn("""replicas is deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""") + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + if retention_days is not None: + pulumi.set(__self__, "retention_days", retention_days) @_builtins.property @pulumi.getter(name="backupSchedule") @@ -76,15 +91,6 @@ def backup_schedule(self) -> pulumi.Input[_builtins.str]: def backup_schedule(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "backup_schedule", value) - @_builtins.property - @pulumi.getter - def flavor(self) -> pulumi.Input['PostgresflexInstanceFlavorArgs']: - return pulumi.get(self, "flavor") - - @flavor.setter - def flavor(self, value: pulumi.Input['PostgresflexInstanceFlavorArgs']): - pulumi.set(self, "flavor", value) - @_builtins.property @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Input[_builtins.str]: @@ -97,18 +103,6 @@ def project_id(self) -> pulumi.Input[_builtins.str]: def project_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "project_id", value) - @_builtins.property - @pulumi.getter - def replicas(self) -> pulumi.Input[_builtins.int]: - """ - How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. - """ - return pulumi.get(self, "replicas") - - @replicas.setter - def replicas(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "replicas", value) - @_builtins.property @pulumi.getter def storage(self) -> pulumi.Input['PostgresflexInstanceStorageArgs']: @@ -127,6 +121,50 @@ def version(self) -> pulumi.Input[_builtins.str]: def version(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "version", value) + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") + def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The Access Control List (ACL) for the PostgresFlex instance. + """ + return pulumi.get(self, "acls") + + @acls.setter + def acls(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "acls", value) + + @_builtins.property + @pulumi.getter + def encryption(self) -> pulumi.Input[Optional['PostgresflexInstanceEncryptionArgs']]: + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: pulumi.Input[Optional['PostgresflexInstanceEncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""") + def flavor(self) -> pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']]: + return pulumi.get(self, "flavor") + + @flavor.setter + def flavor(self, value: pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']]): + pulumi.set(self, "flavor", value) + + @_builtins.property + @pulumi.getter(name="flavorId") + def flavor_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` + """ + return pulumi.get(self, "flavor_id") + + @flavor_id.setter + def flavor_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "flavor_id", value) + @_builtins.property @pulumi.getter def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -139,6 +177,18 @@ def name(self) -> pulumi.Input[Optional[_builtins.str]]: def name(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "name", value) + @_builtins.property + @pulumi.getter + def network(self) -> pulumi.Input[Optional['PostgresflexInstanceNetworkArgs']]: + """ + The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + """ + return pulumi.get(self, "network") + + @network.setter + def network(self, value: pulumi.Input[Optional['PostgresflexInstanceNetworkArgs']]): + pulumi.set(self, "network", value) + @_builtins.property @pulumi.getter def region(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -151,18 +201,48 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""") + def replicas(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + """ + return pulumi.get(self, "replicas") + + @replicas.setter + def replicas(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "replicas", value) + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + """ + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "retention_days", value) + @pulumi.input_type class _PostgresflexInstanceState: def __init__(__self__, *, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + connection_info: pulumi.Input[Optional['PostgresflexInstanceConnectionInfoArgs']] = None, + encryption: pulumi.Input[Optional['PostgresflexInstanceEncryptionArgs']] = None, flavor: pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']] = None, + flavor_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, + network: pulumi.Input[Optional['PostgresflexInstanceNetworkArgs']] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, replicas: pulumi.Input[Optional[_builtins.int]] = None, + retention_days: pulumi.Input[Optional[_builtins.int]] = None, storage: pulumi.Input[Optional['PostgresflexInstanceStorageArgs']] = None, version: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -170,28 +250,51 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the PostgresFlex instance. :param pulumi.Input[_builtins.str] backup_schedule: The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + :param pulumi.Input['PostgresflexInstanceConnectionInfoArgs'] connection_info: The connection info for the PostgresFlex instance. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` :param pulumi.Input[_builtins.str] instance_id: ID of the PostgresFlex instance. :param pulumi.Input[_builtins.str] name: Instance name. + :param pulumi.Input['PostgresflexInstanceNetworkArgs'] network: The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + :param pulumi.Input[_builtins.int] retention_days: How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. """ + if acls is not None: + warnings.warn("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""", DeprecationWarning) + pulumi.log.warn("""acls is deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") if acls is not None: pulumi.set(__self__, "acls", acls) if backup_schedule is not None: pulumi.set(__self__, "backup_schedule", backup_schedule) + if connection_info is not None: + pulumi.set(__self__, "connection_info", connection_info) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if flavor is not None: + warnings.warn("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""", DeprecationWarning) + pulumi.log.warn("""flavor is deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""") if flavor is not None: pulumi.set(__self__, "flavor", flavor) + if flavor_id is not None: + pulumi.set(__self__, "flavor_id", flavor_id) if instance_id is not None: pulumi.set(__self__, "instance_id", instance_id) if name is not None: pulumi.set(__self__, "name", name) + if network is not None: + pulumi.set(__self__, "network", network) if project_id is not None: pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if replicas is not None: + warnings.warn("""replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""", DeprecationWarning) + pulumi.log.warn("""replicas is deprecated: replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""") if replicas is not None: pulumi.set(__self__, "replicas", replicas) + if retention_days is not None: + pulumi.set(__self__, "retention_days", retention_days) if storage is not None: pulumi.set(__self__, "storage", storage) if version is not None: @@ -199,6 +302,7 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: """ The Access Control List (ACL) for the PostgresFlex instance. @@ -221,8 +325,30 @@ def backup_schedule(self) -> pulumi.Input[Optional[_builtins.str]]: def backup_schedule(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "backup_schedule", value) + @_builtins.property + @pulumi.getter(name="connectionInfo") + def connection_info(self) -> pulumi.Input[Optional['PostgresflexInstanceConnectionInfoArgs']]: + """ + The connection info for the PostgresFlex instance. + """ + return pulumi.get(self, "connection_info") + + @connection_info.setter + def connection_info(self, value: pulumi.Input[Optional['PostgresflexInstanceConnectionInfoArgs']]): + pulumi.set(self, "connection_info", value) + + @_builtins.property + @pulumi.getter + def encryption(self) -> pulumi.Input[Optional['PostgresflexInstanceEncryptionArgs']]: + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: pulumi.Input[Optional['PostgresflexInstanceEncryptionArgs']]): + pulumi.set(self, "encryption", value) + @_builtins.property @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""") def flavor(self) -> pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']]: return pulumi.get(self, "flavor") @@ -230,6 +356,18 @@ def flavor(self) -> pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']]: def flavor(self, value: pulumi.Input[Optional['PostgresflexInstanceFlavorArgs']]): pulumi.set(self, "flavor", value) + @_builtins.property + @pulumi.getter(name="flavorId") + def flavor_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` + """ + return pulumi.get(self, "flavor_id") + + @flavor_id.setter + def flavor_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "flavor_id", value) + @_builtins.property @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -254,6 +392,18 @@ def name(self) -> pulumi.Input[Optional[_builtins.str]]: def name(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "name", value) + @_builtins.property + @pulumi.getter + def network(self) -> pulumi.Input[Optional['PostgresflexInstanceNetworkArgs']]: + """ + The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + """ + return pulumi.get(self, "network") + + @network.setter + def network(self, value: pulumi.Input[Optional['PostgresflexInstanceNetworkArgs']]): + pulumi.set(self, "network", value) + @_builtins.property @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -280,9 +430,10 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""") def replicas(self) -> pulumi.Input[Optional[_builtins.int]]: """ - How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` """ return pulumi.get(self, "replicas") @@ -290,6 +441,18 @@ def replicas(self) -> pulumi.Input[Optional[_builtins.int]]: def replicas(self, value: pulumi.Input[Optional[_builtins.int]]): pulumi.set(self, "replicas", value) + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + """ + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "retention_days", value) + @_builtins.property @pulumi.getter def storage(self) -> pulumi.Input[Optional['PostgresflexInstanceStorageArgs']]: @@ -317,11 +480,15 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional[Union['PostgresflexInstanceEncryptionArgs', 'PostgresflexInstanceEncryptionArgsDict']]] = None, flavor: pulumi.Input[Optional[Union['PostgresflexInstanceFlavorArgs', 'PostgresflexInstanceFlavorArgsDict']]] = None, + flavor_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, + network: pulumi.Input[Optional[Union['PostgresflexInstanceNetworkArgs', 'PostgresflexInstanceNetworkArgsDict']]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, replicas: pulumi.Input[Optional[_builtins.int]] = None, + retention_days: pulumi.Input[Optional[_builtins.int]] = None, storage: pulumi.Input[Optional[Union['PostgresflexInstanceStorageArgs', 'PostgresflexInstanceStorageArgsDict']]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): @@ -339,10 +506,13 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the PostgresFlex instance. :param pulumi.Input[_builtins.str] backup_schedule: The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` :param pulumi.Input[_builtins.str] name: Instance name. + :param pulumi.Input[Union['PostgresflexInstanceNetworkArgs', 'PostgresflexInstanceNetworkArgsDict']] network: The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + :param pulumi.Input[_builtins.int] retention_days: How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. """ ... @overload @@ -377,11 +547,15 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional[Union['PostgresflexInstanceEncryptionArgs', 'PostgresflexInstanceEncryptionArgsDict']]] = None, flavor: pulumi.Input[Optional[Union['PostgresflexInstanceFlavorArgs', 'PostgresflexInstanceFlavorArgsDict']]] = None, + flavor_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, + network: pulumi.Input[Optional[Union['PostgresflexInstanceNetworkArgs', 'PostgresflexInstanceNetworkArgsDict']]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, replicas: pulumi.Input[Optional[_builtins.int]] = None, + retention_days: pulumi.Input[Optional[_builtins.int]] = None, storage: pulumi.Input[Optional[Union['PostgresflexInstanceStorageArgs', 'PostgresflexInstanceStorageArgsDict']]] = None, version: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): @@ -393,29 +567,28 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = PostgresflexInstanceArgs.__new__(PostgresflexInstanceArgs) - if acls is None and not opts.urn: - raise TypeError("Missing required property 'acls'") __props__.__dict__["acls"] = acls if backup_schedule is None and not opts.urn: raise TypeError("Missing required property 'backup_schedule'") __props__.__dict__["backup_schedule"] = backup_schedule - if flavor is None and not opts.urn: - raise TypeError("Missing required property 'flavor'") + __props__.__dict__["encryption"] = encryption __props__.__dict__["flavor"] = flavor + __props__.__dict__["flavor_id"] = flavor_id __props__.__dict__["name"] = name + __props__.__dict__["network"] = network if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region - if replicas is None and not opts.urn: - raise TypeError("Missing required property 'replicas'") __props__.__dict__["replicas"] = replicas + __props__.__dict__["retention_days"] = retention_days if storage is None and not opts.urn: raise TypeError("Missing required property 'storage'") __props__.__dict__["storage"] = storage if version is None and not opts.urn: raise TypeError("Missing required property 'version'") __props__.__dict__["version"] = version + __props__.__dict__["connection_info"] = None __props__.__dict__["instance_id"] = None super(PostgresflexInstance, __self__).__init__( 'stackit:index/postgresflexInstance:PostgresflexInstance', @@ -429,12 +602,17 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + connection_info: pulumi.Input[Optional[Union['PostgresflexInstanceConnectionInfoArgs', 'PostgresflexInstanceConnectionInfoArgsDict']]] = None, + encryption: pulumi.Input[Optional[Union['PostgresflexInstanceEncryptionArgs', 'PostgresflexInstanceEncryptionArgsDict']]] = None, flavor: pulumi.Input[Optional[Union['PostgresflexInstanceFlavorArgs', 'PostgresflexInstanceFlavorArgsDict']]] = None, + flavor_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, + network: pulumi.Input[Optional[Union['PostgresflexInstanceNetworkArgs', 'PostgresflexInstanceNetworkArgsDict']]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, replicas: pulumi.Input[Optional[_builtins.int]] = None, + retention_days: pulumi.Input[Optional[_builtins.int]] = None, storage: pulumi.Input[Optional[Union['PostgresflexInstanceStorageArgs', 'PostgresflexInstanceStorageArgsDict']]] = None, version: pulumi.Input[Optional[_builtins.str]] = None) -> 'PostgresflexInstance': """ @@ -446,11 +624,15 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the PostgresFlex instance. :param pulumi.Input[_builtins.str] backup_schedule: The schedule for on what time and how often the database backup will be created. Must be a valid cron expression using numeric minute and hour values, e.g: '0 2 * * *'. + :param pulumi.Input[Union['PostgresflexInstanceConnectionInfoArgs', 'PostgresflexInstanceConnectionInfoArgsDict']] connection_info: The connection info for the PostgresFlex instance. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` :param pulumi.Input[_builtins.str] instance_id: ID of the PostgresFlex instance. :param pulumi.Input[_builtins.str] name: Instance name. + :param pulumi.Input[Union['PostgresflexInstanceNetworkArgs', 'PostgresflexInstanceNetworkArgsDict']] network: The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + :param pulumi.Input[_builtins.int] replicas: How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` + :param pulumi.Input[_builtins.int] retention_days: How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -458,18 +640,24 @@ def get(resource_name: str, __props__.__dict__["acls"] = acls __props__.__dict__["backup_schedule"] = backup_schedule + __props__.__dict__["connection_info"] = connection_info + __props__.__dict__["encryption"] = encryption __props__.__dict__["flavor"] = flavor + __props__.__dict__["flavor_id"] = flavor_id __props__.__dict__["instance_id"] = instance_id __props__.__dict__["name"] = name + __props__.__dict__["network"] = network __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region __props__.__dict__["replicas"] = replicas + __props__.__dict__["retention_days"] = retention_days __props__.__dict__["storage"] = storage __props__.__dict__["version"] = version return PostgresflexInstance(resource_name, opts=opts, __props__=__props__) @_builtins.property @pulumi.getter + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> pulumi.Output[Sequence[_builtins.str]]: """ The Access Control List (ACL) for the PostgresFlex instance. @@ -484,11 +672,33 @@ def backup_schedule(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "backup_schedule") + @_builtins.property + @pulumi.getter(name="connectionInfo") + def connection_info(self) -> pulumi.Output['outputs.PostgresflexInstanceConnectionInfo']: + """ + The connection info for the PostgresFlex instance. + """ + return pulumi.get(self, "connection_info") + @_builtins.property @pulumi.getter + def encryption(self) -> pulumi.Output[Optional['outputs.PostgresflexInstanceEncryption']]: + return pulumi.get(self, "encryption") + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_postgresflex_flavors`.""") def flavor(self) -> pulumi.Output['outputs.PostgresflexInstanceFlavor']: return pulumi.get(self, "flavor") + @_builtins.property + @pulumi.getter(name="flavorId") + def flavor_id(self) -> pulumi.Output[_builtins.str]: + """ + The flavor ID of the PostgreSQL Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_postgresflex_flavors` + """ + return pulumi.get(self, "flavor_id") + @_builtins.property @pulumi.getter(name="instanceId") def instance_id(self) -> pulumi.Output[_builtins.str]: @@ -505,6 +715,14 @@ def name(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "name") + @_builtins.property + @pulumi.getter + def network(self) -> pulumi.Output['outputs.PostgresflexInstanceNetwork']: + """ + The network configuration of the instance. Will be required after February 2027. Set a value to prevent breaking changes. + """ + return pulumi.get(self, "network") + @_builtins.property @pulumi.getter(name="projectId") def project_id(self) -> pulumi.Output[_builtins.str]: @@ -523,12 +741,21 @@ def region(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""replicas is deprecated and will be removed after February 2027. Use instead `flavor_id` and choose a flavor with your wanted replica configuration. You can list available flavors using the datasource `get_postgresflex_flavors`.""") def replicas(self) -> pulumi.Output[_builtins.int]: """ - How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. + How many replicas the instance should have. Valid values are 1 for single mode or 3 for replication. Can only be set together with `flavor` """ return pulumi.get(self, "replicas") + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Output[_builtins.int]: + """ + How long backups are retained. The value can only be between 32 and 90 days. Will be required after February 2027. Set a value to prevent breaking changes. + """ + return pulumi.get(self, "retention_days") + @_builtins.property @pulumi.getter def storage(self) -> pulumi.Output['outputs.PostgresflexInstanceStorage']: diff --git a/sdk/python/pulumi_stackit/postgresflex_user.py b/sdk/python/pulumi_stackit/postgresflex_user.py index dc8beb5a..52e0696b 100644 --- a/sdk/python/pulumi_stackit/postgresflex_user.py +++ b/sdk/python/pulumi_stackit/postgresflex_user.py @@ -137,12 +137,18 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. """ + if host is not None: + warnings.warn("""host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`.""", DeprecationWarning) + pulumi.log.warn("""host is deprecated: host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`.""") if host is not None: pulumi.set(__self__, "host", host) if instance_id is not None: pulumi.set(__self__, "instance_id", instance_id) if password is not None: pulumi.set(__self__, "password", password) + if port is not None: + warnings.warn("""port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`.""", DeprecationWarning) + pulumi.log.warn("""port is deprecated: port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`.""") if port is not None: pulumi.set(__self__, "port", port) if project_id is not None: @@ -153,6 +159,9 @@ def __init__(__self__, *, pulumi.set(__self__, "roles", roles) if rotate_when_changed is not None: pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) + if uri is not None: + warnings.warn("""uri is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""uri is deprecated: uri is deprecated and will be removed after February 2027.""") if uri is not None: pulumi.set(__self__, "uri", uri) if user_id is not None: @@ -162,6 +171,7 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter + @_utilities.deprecated("""host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`.""") def host(self) -> pulumi.Input[Optional[_builtins.str]]: return pulumi.get(self, "host") @@ -192,6 +202,7 @@ def password(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`.""") def port(self) -> pulumi.Input[Optional[_builtins.int]]: return pulumi.get(self, "port") @@ -249,6 +260,7 @@ def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.I @_builtins.property @pulumi.getter + @_utilities.deprecated("""uri is deprecated and will be removed after February 2027.""") def uri(self) -> pulumi.Input[Optional[_builtins.str]]: return pulumi.get(self, "uri") @@ -430,6 +442,7 @@ def get(resource_name: str, @_builtins.property @pulumi.getter + @_utilities.deprecated("""host is deprecated and will be removed after February 2027. The host can be retrieved from the instance in `connection_info.write.host`.""") def host(self) -> pulumi.Output[_builtins.str]: return pulumi.get(self, "host") @@ -448,6 +461,7 @@ def password(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""port is deprecated and will be removed after February 2027. The port can be retrieved from the instance in `connection_info.write.port`.""") def port(self) -> pulumi.Output[_builtins.int]: return pulumi.get(self, "port") @@ -485,6 +499,7 @@ def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.s @_builtins.property @pulumi.getter + @_utilities.deprecated("""uri is deprecated and will be removed after February 2027.""") def uri(self) -> pulumi.Output[_builtins.str]: return pulumi.get(self, "uri") diff --git a/sdk/python/pulumi_stackit/provider.py b/sdk/python/pulumi_stackit/provider.py index 61e15b8a..48a35708 100644 --- a/sdk/python/pulumi_stackit/provider.py +++ b/sdk/python/pulumi_stackit/provider.py @@ -21,6 +21,7 @@ class ProviderArgs: def __init__(__self__, *, alb_certificates_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, alb_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + alb_waf_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, authorization_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, cdn_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, credentials_path: pulumi.Input[Optional[_builtins.str]] = None, @@ -38,6 +39,7 @@ def __init__(__self__, *, logme_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, logs_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, mariadb_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + modelexperiments_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, modelserving_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, mongodbflex_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, objectstorage_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, @@ -50,7 +52,6 @@ def __init__(__self__, *, private_key_path: pulumi.Input[Optional[_builtins.str]] = None, rabbitmq_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, redis_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, - region: pulumi.Input[Optional[_builtins.str]] = None, resourcemanager_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, scf_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, secretsmanager_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, @@ -77,6 +78,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] alb_certificates_custom_endpoint: Custom endpoint for the Application Load Balancer TLS Certificate service :param pulumi.Input[_builtins.str] alb_custom_endpoint: Custom endpoint for the Application Load Balancer service + :param pulumi.Input[_builtins.str] alb_waf_custom_endpoint: Custom endpoint for the Application Load Balancer Web Application Firewall service :param pulumi.Input[_builtins.str] authorization_custom_endpoint: Custom endpoint for the Membership service :param pulumi.Input[_builtins.str] cdn_custom_endpoint: Custom endpoint for the CDN service :param pulumi.Input[_builtins.str] credentials_path: Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`. @@ -94,6 +96,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] logme_custom_endpoint: Custom endpoint for the LogMe service :param pulumi.Input[_builtins.str] logs_custom_endpoint: Custom endpoint for the Logs service :param pulumi.Input[_builtins.str] mariadb_custom_endpoint: Custom endpoint for the MariaDB service + :param pulumi.Input[_builtins.str] modelexperiments_custom_endpoint: Custom endpoint for the AI Model Experiments service :param pulumi.Input[_builtins.str] modelserving_custom_endpoint: Custom endpoint for the AI Model Serving service :param pulumi.Input[_builtins.str] mongodbflex_custom_endpoint: Custom endpoint for the MongoDB Flex service :param pulumi.Input[_builtins.str] objectstorage_custom_endpoint: Custom endpoint for the Object Storage service @@ -106,7 +109,6 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] private_key_path: Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key. :param pulumi.Input[_builtins.str] rabbitmq_custom_endpoint: Custom endpoint for the RabbitMQ service :param pulumi.Input[_builtins.str] redis_custom_endpoint: Custom endpoint for the Redis service - :param pulumi.Input[_builtins.str] region: Region will be used as the default location for regional services. Not all services require a region, some are global :param pulumi.Input[_builtins.str] resourcemanager_custom_endpoint: Custom endpoint for the Resource Manager service :param pulumi.Input[_builtins.str] scf_custom_endpoint: Custom endpoint for the Cloud Foundry (SCF) service :param pulumi.Input[_builtins.str] secretsmanager_custom_endpoint: Custom endpoint for the Secrets Manager service @@ -133,6 +135,8 @@ def __init__(__self__, *, pulumi.set(__self__, "alb_certificates_custom_endpoint", alb_certificates_custom_endpoint) if alb_custom_endpoint is not None: pulumi.set(__self__, "alb_custom_endpoint", alb_custom_endpoint) + if alb_waf_custom_endpoint is not None: + pulumi.set(__self__, "alb_waf_custom_endpoint", alb_waf_custom_endpoint) if authorization_custom_endpoint is not None: pulumi.set(__self__, "authorization_custom_endpoint", authorization_custom_endpoint) if cdn_custom_endpoint is not None: @@ -167,6 +171,8 @@ def __init__(__self__, *, pulumi.set(__self__, "logs_custom_endpoint", logs_custom_endpoint) if mariadb_custom_endpoint is not None: pulumi.set(__self__, "mariadb_custom_endpoint", mariadb_custom_endpoint) + if modelexperiments_custom_endpoint is not None: + pulumi.set(__self__, "modelexperiments_custom_endpoint", modelexperiments_custom_endpoint) if modelserving_custom_endpoint is not None: pulumi.set(__self__, "modelserving_custom_endpoint", modelserving_custom_endpoint) if mongodbflex_custom_endpoint is not None: @@ -191,11 +197,6 @@ def __init__(__self__, *, pulumi.set(__self__, "rabbitmq_custom_endpoint", rabbitmq_custom_endpoint) if redis_custom_endpoint is not None: pulumi.set(__self__, "redis_custom_endpoint", redis_custom_endpoint) - if region is not None: - warnings.warn("""This attribute is deprecated. Use 'default_region' instead""", DeprecationWarning) - pulumi.log.warn("""region is deprecated: This attribute is deprecated. Use 'default_region' instead""") - if region is not None: - pulumi.set(__self__, "region", region) if resourcemanager_custom_endpoint is not None: pulumi.set(__self__, "resourcemanager_custom_endpoint", resourcemanager_custom_endpoint) if scf_custom_endpoint is not None: @@ -266,6 +267,18 @@ def alb_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: def alb_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "alb_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="albWafCustomEndpoint") + def alb_waf_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom endpoint for the Application Load Balancer Web Application Firewall service + """ + return pulumi.get(self, "alb_waf_custom_endpoint") + + @alb_waf_custom_endpoint.setter + def alb_waf_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "alb_waf_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="authorizationCustomEndpoint") def authorization_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -470,6 +483,18 @@ def mariadb_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: def mariadb_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "mariadb_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="modelexperimentsCustomEndpoint") + def modelexperiments_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom endpoint for the AI Model Experiments service + """ + return pulumi.get(self, "modelexperiments_custom_endpoint") + + @modelexperiments_custom_endpoint.setter + def modelexperiments_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "modelexperiments_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="modelservingCustomEndpoint") def modelserving_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -614,19 +639,6 @@ def redis_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: def redis_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "redis_custom_endpoint", value) - @_builtins.property - @pulumi.getter - @_utilities.deprecated("""This attribute is deprecated. Use 'default_region' instead""") - def region(self) -> pulumi.Input[Optional[_builtins.str]]: - """ - Region will be used as the default location for regional services. Not all services require a region, some are global - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "region", value) - @_builtins.property @pulumi.getter(name="resourcemanagerCustomEndpoint") def resourcemanager_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -889,6 +901,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, alb_certificates_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, alb_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + alb_waf_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, authorization_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, cdn_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, credentials_path: pulumi.Input[Optional[_builtins.str]] = None, @@ -906,6 +919,7 @@ def __init__(__self__, logme_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, logs_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, mariadb_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + modelexperiments_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, modelserving_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, mongodbflex_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, objectstorage_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, @@ -918,7 +932,6 @@ def __init__(__self__, private_key_path: pulumi.Input[Optional[_builtins.str]] = None, rabbitmq_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, redis_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, - region: pulumi.Input[Optional[_builtins.str]] = None, resourcemanager_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, scf_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, secretsmanager_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, @@ -952,6 +965,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] alb_certificates_custom_endpoint: Custom endpoint for the Application Load Balancer TLS Certificate service :param pulumi.Input[_builtins.str] alb_custom_endpoint: Custom endpoint for the Application Load Balancer service + :param pulumi.Input[_builtins.str] alb_waf_custom_endpoint: Custom endpoint for the Application Load Balancer Web Application Firewall service :param pulumi.Input[_builtins.str] authorization_custom_endpoint: Custom endpoint for the Membership service :param pulumi.Input[_builtins.str] cdn_custom_endpoint: Custom endpoint for the CDN service :param pulumi.Input[_builtins.str] credentials_path: Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`. @@ -969,6 +983,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] logme_custom_endpoint: Custom endpoint for the LogMe service :param pulumi.Input[_builtins.str] logs_custom_endpoint: Custom endpoint for the Logs service :param pulumi.Input[_builtins.str] mariadb_custom_endpoint: Custom endpoint for the MariaDB service + :param pulumi.Input[_builtins.str] modelexperiments_custom_endpoint: Custom endpoint for the AI Model Experiments service :param pulumi.Input[_builtins.str] modelserving_custom_endpoint: Custom endpoint for the AI Model Serving service :param pulumi.Input[_builtins.str] mongodbflex_custom_endpoint: Custom endpoint for the MongoDB Flex service :param pulumi.Input[_builtins.str] objectstorage_custom_endpoint: Custom endpoint for the Object Storage service @@ -981,7 +996,6 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] private_key_path: Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key. :param pulumi.Input[_builtins.str] rabbitmq_custom_endpoint: Custom endpoint for the RabbitMQ service :param pulumi.Input[_builtins.str] redis_custom_endpoint: Custom endpoint for the Redis service - :param pulumi.Input[_builtins.str] region: Region will be used as the default location for regional services. Not all services require a region, some are global :param pulumi.Input[_builtins.str] resourcemanager_custom_endpoint: Custom endpoint for the Resource Manager service :param pulumi.Input[_builtins.str] scf_custom_endpoint: Custom endpoint for the Cloud Foundry (SCF) service :param pulumi.Input[_builtins.str] secretsmanager_custom_endpoint: Custom endpoint for the Secrets Manager service @@ -1034,6 +1048,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, alb_certificates_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, alb_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + alb_waf_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, authorization_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, cdn_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, credentials_path: pulumi.Input[Optional[_builtins.str]] = None, @@ -1051,6 +1066,7 @@ def _internal_init(__self__, logme_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, logs_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, mariadb_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + modelexperiments_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, modelserving_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, mongodbflex_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, objectstorage_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, @@ -1063,7 +1079,6 @@ def _internal_init(__self__, private_key_path: pulumi.Input[Optional[_builtins.str]] = None, rabbitmq_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, redis_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, - region: pulumi.Input[Optional[_builtins.str]] = None, resourcemanager_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, scf_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, secretsmanager_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, @@ -1096,6 +1111,7 @@ def _internal_init(__self__, __props__.__dict__["alb_certificates_custom_endpoint"] = alb_certificates_custom_endpoint __props__.__dict__["alb_custom_endpoint"] = alb_custom_endpoint + __props__.__dict__["alb_waf_custom_endpoint"] = alb_waf_custom_endpoint __props__.__dict__["authorization_custom_endpoint"] = authorization_custom_endpoint __props__.__dict__["cdn_custom_endpoint"] = cdn_custom_endpoint __props__.__dict__["credentials_path"] = credentials_path @@ -1113,6 +1129,7 @@ def _internal_init(__self__, __props__.__dict__["logme_custom_endpoint"] = logme_custom_endpoint __props__.__dict__["logs_custom_endpoint"] = logs_custom_endpoint __props__.__dict__["mariadb_custom_endpoint"] = mariadb_custom_endpoint + __props__.__dict__["modelexperiments_custom_endpoint"] = modelexperiments_custom_endpoint __props__.__dict__["modelserving_custom_endpoint"] = modelserving_custom_endpoint __props__.__dict__["mongodbflex_custom_endpoint"] = mongodbflex_custom_endpoint __props__.__dict__["objectstorage_custom_endpoint"] = objectstorage_custom_endpoint @@ -1125,7 +1142,6 @@ def _internal_init(__self__, __props__.__dict__["private_key_path"] = private_key_path __props__.__dict__["rabbitmq_custom_endpoint"] = rabbitmq_custom_endpoint __props__.__dict__["redis_custom_endpoint"] = redis_custom_endpoint - __props__.__dict__["region"] = region __props__.__dict__["resourcemanager_custom_endpoint"] = resourcemanager_custom_endpoint __props__.__dict__["scf_custom_endpoint"] = scf_custom_endpoint __props__.__dict__["secretsmanager_custom_endpoint"] = secretsmanager_custom_endpoint @@ -1169,6 +1185,14 @@ def alb_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "alb_custom_endpoint") + @_builtins.property + @pulumi.getter(name="albWafCustomEndpoint") + def alb_waf_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Application Load Balancer Web Application Firewall service + """ + return pulumi.get(self, "alb_waf_custom_endpoint") + @_builtins.property @pulumi.getter(name="authorizationCustomEndpoint") def authorization_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -1289,6 +1313,14 @@ def mariadb_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "mariadb_custom_endpoint") + @_builtins.property + @pulumi.getter(name="modelexperimentsCustomEndpoint") + def modelexperiments_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the AI Model Experiments service + """ + return pulumi.get(self, "modelexperiments_custom_endpoint") + @_builtins.property @pulumi.getter(name="modelservingCustomEndpoint") def modelserving_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -1385,15 +1417,6 @@ def redis_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "redis_custom_endpoint") - @_builtins.property - @pulumi.getter - @_utilities.deprecated("""This attribute is deprecated. Use 'default_region' instead""") - def region(self) -> pulumi.Output[Optional[_builtins.str]]: - """ - Region will be used as the default location for regional services. Not all services require a region, some are global - """ - return pulumi.get(self, "region") - @_builtins.property @pulumi.getter(name="resourcemanagerCustomEndpoint") def resourcemanager_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: diff --git a/sdk/python/pulumi_stackit/ske_cluster.py b/sdk/python/pulumi_stackit/ske_cluster.py index ce084b36..758467a5 100644 --- a/sdk/python/pulumi_stackit/ske_cluster.py +++ b/sdk/python/pulumi_stackit/ske_cluster.py @@ -24,6 +24,7 @@ def __init__(__self__, *, node_pools: pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolArgs']]], project_id: pulumi.Input[_builtins.str], access: pulumi.Input[Optional['SkeClusterAccessArgs']] = None, + audit: pulumi.Input[Optional['SkeClusterAuditArgs']] = None, extensions: pulumi.Input[Optional['SkeClusterExtensionsArgs']] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterHibernationArgs']]]] = None, kubernetes_version_min: pulumi.Input[Optional[_builtins.str]] = None, @@ -38,6 +39,7 @@ def __init__(__self__, *, To keep your Terraform plans clean and readable, always append new node pools to the end of the list. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the cluster is associated. :param pulumi.Input['SkeClusterAccessArgs'] access: Configure access to the cluster + :param pulumi.Input['SkeClusterAuditArgs'] audit: Cluster audit log forwarding configuration. :param pulumi.Input['SkeClusterExtensionsArgs'] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input['SkeClusterHibernationArgs']]] hibernations: One or more hibernation block as defined below. :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. @@ -50,6 +52,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if access is not None: pulumi.set(__self__, "access", access) + if audit is not None: + pulumi.set(__self__, "audit", audit) if extensions is not None: pulumi.set(__self__, "extensions", extensions) if hibernations is not None: @@ -102,6 +106,18 @@ def access(self) -> pulumi.Input[Optional['SkeClusterAccessArgs']]: def access(self, value: pulumi.Input[Optional['SkeClusterAccessArgs']]): pulumi.set(self, "access", value) + @_builtins.property + @pulumi.getter + def audit(self) -> pulumi.Input[Optional['SkeClusterAuditArgs']]: + """ + Cluster audit log forwarding configuration. + """ + return pulumi.get(self, "audit") + + @audit.setter + def audit(self, value: pulumi.Input[Optional['SkeClusterAuditArgs']]): + pulumi.set(self, "audit", value) + @_builtins.property @pulumi.getter def extensions(self) -> pulumi.Input[Optional['SkeClusterExtensionsArgs']]: @@ -191,6 +207,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): class _SkeClusterState: def __init__(__self__, *, access: pulumi.Input[Optional['SkeClusterAccessArgs']] = None, + audit: pulumi.Input[Optional['SkeClusterAuditArgs']] = None, egress_address_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, extensions: pulumi.Input[Optional['SkeClusterExtensionsArgs']] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterHibernationArgs']]]] = None, @@ -208,6 +225,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering SkeCluster resources. :param pulumi.Input['SkeClusterAccessArgs'] access: Configure access to the cluster + :param pulumi.Input['SkeClusterAuditArgs'] audit: Cluster audit log forwarding configuration. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] egress_address_ranges: The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. :param pulumi.Input['SkeClusterExtensionsArgs'] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input['SkeClusterHibernationArgs']]] hibernations: One or more hibernation block as defined below. @@ -225,6 +243,8 @@ def __init__(__self__, *, """ if access is not None: pulumi.set(__self__, "access", access) + if audit is not None: + pulumi.set(__self__, "audit", audit) if egress_address_ranges is not None: pulumi.set(__self__, "egress_address_ranges", egress_address_ranges) if extensions is not None: @@ -264,6 +284,18 @@ def access(self) -> pulumi.Input[Optional['SkeClusterAccessArgs']]: def access(self, value: pulumi.Input[Optional['SkeClusterAccessArgs']]): pulumi.set(self, "access", value) + @_builtins.property + @pulumi.getter + def audit(self) -> pulumi.Input[Optional['SkeClusterAuditArgs']]: + """ + Cluster audit log forwarding configuration. + """ + return pulumi.get(self, "audit") + + @audit.setter + def audit(self, value: pulumi.Input[Optional['SkeClusterAuditArgs']]): + pulumi.set(self, "audit", value) + @_builtins.property @pulumi.getter(name="egressAddressRanges") def egress_address_ranges(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: @@ -429,6 +461,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, access: pulumi.Input[Optional[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']]] = None, + audit: pulumi.Input[Optional[Union['SkeClusterAuditArgs', 'SkeClusterAuditArgsDict']]] = None, extensions: pulumi.Input[Optional[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']]] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]]] = None, kubernetes_version_min: pulumi.Input[Optional[_builtins.str]] = None, @@ -454,6 +487,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']] access: Configure access to the cluster + :param pulumi.Input[Union['SkeClusterAuditArgs', 'SkeClusterAuditArgsDict']] audit: Cluster audit log forwarding configuration. :param pulumi.Input[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]] hibernations: One or more hibernation block as defined below. :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. @@ -499,6 +533,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, access: pulumi.Input[Optional[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']]] = None, + audit: pulumi.Input[Optional[Union['SkeClusterAuditArgs', 'SkeClusterAuditArgsDict']]] = None, extensions: pulumi.Input[Optional[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']]] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]]] = None, kubernetes_version_min: pulumi.Input[Optional[_builtins.str]] = None, @@ -518,6 +553,7 @@ def _internal_init(__self__, __props__ = SkeClusterArgs.__new__(SkeClusterArgs) __props__.__dict__["access"] = access + __props__.__dict__["audit"] = audit __props__.__dict__["extensions"] = extensions __props__.__dict__["hibernations"] = hibernations __props__.__dict__["kubernetes_version_min"] = kubernetes_version_min @@ -546,6 +582,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, access: pulumi.Input[Optional[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']]] = None, + audit: pulumi.Input[Optional[Union['SkeClusterAuditArgs', 'SkeClusterAuditArgsDict']]] = None, egress_address_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, extensions: pulumi.Input[Optional[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']]] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]]] = None, @@ -567,6 +604,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']] access: Configure access to the cluster + :param pulumi.Input[Union['SkeClusterAuditArgs', 'SkeClusterAuditArgsDict']] audit: Cluster audit log forwarding configuration. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] egress_address_ranges: The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. :param pulumi.Input[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]] hibernations: One or more hibernation block as defined below. @@ -587,6 +625,7 @@ def get(resource_name: str, __props__ = _SkeClusterState.__new__(_SkeClusterState) __props__.__dict__["access"] = access + __props__.__dict__["audit"] = audit __props__.__dict__["egress_address_ranges"] = egress_address_ranges __props__.__dict__["extensions"] = extensions __props__.__dict__["hibernations"] = hibernations @@ -610,6 +649,14 @@ def access(self) -> pulumi.Output['outputs.SkeClusterAccess']: """ return pulumi.get(self, "access") + @_builtins.property + @pulumi.getter + def audit(self) -> pulumi.Output['outputs.SkeClusterAudit']: + """ + Cluster audit log forwarding configuration. + """ + return pulumi.get(self, "audit") + @_builtins.property @pulumi.getter(name="egressAddressRanges") def egress_address_ranges(self) -> pulumi.Output[Sequence[_builtins.str]]: @@ -620,7 +667,7 @@ def egress_address_ranges(self) -> pulumi.Output[Sequence[_builtins.str]]: @_builtins.property @pulumi.getter - def extensions(self) -> pulumi.Output[Optional['outputs.SkeClusterExtensions']]: + def extensions(self) -> pulumi.Output['outputs.SkeClusterExtensions']: """ A single extensions block as defined below. """ diff --git a/sdk/python/pulumi_stackit/sqlserverflex_database.py b/sdk/python/pulumi_stackit/sqlserverflex_database.py new file mode 100644 index 00000000..74a76809 --- /dev/null +++ b/sdk/python/pulumi_stackit/sqlserverflex_database.py @@ -0,0 +1,516 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['SqlserverflexDatabaseArgs', 'SqlserverflexDatabase'] + +@pulumi.input_type +class SqlserverflexDatabaseArgs: + def __init__(__self__, *, + instance_id: pulumi.Input[_builtins.str], + owner: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + collation: pulumi.Input[Optional[_builtins.str]] = None, + compatibility: pulumi.Input[Optional[_builtins.int]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['SqlserverflexDatabaseTimeoutsArgs']] = None): + """ + The set of arguments for constructing a SqlserverflexDatabase resource. + + :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. + :param pulumi.Input[_builtins.str] owner: The owner of the database. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] collation: The collation of the database. + :param pulumi.Input[_builtins.int] compatibility: Compatibility level of the database. + :param pulumi.Input[_builtins.str] name: Name of the database. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "owner", owner) + pulumi.set(__self__, "project_id", project_id) + if collation is not None: + pulumi.set(__self__, "collation", collation) + if compatibility is not None: + pulumi.set(__self__, "compatibility", compatibility) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + ID of the SQLServer Flex instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def owner(self) -> pulumi.Input[_builtins.str]: + """ + The owner of the database. + """ + return pulumi.get(self, "owner") + + @owner.setter + def owner(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "owner", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def collation(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The collation of the database. + """ + return pulumi.get(self, "collation") + + @collation.setter + def collation(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "collation", value) + + @_builtins.property + @pulumi.getter + def compatibility(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Compatibility level of the database. + """ + return pulumi.get(self, "compatibility") + + @compatibility.setter + def compatibility(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "compatibility", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Name of the database. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['SqlserverflexDatabaseTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['SqlserverflexDatabaseTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _SqlserverflexDatabaseState: + def __init__(__self__, *, + collation: pulumi.Input[Optional[_builtins.str]] = None, + compatibility: pulumi.Input[Optional[_builtins.int]] = None, + database_id: pulumi.Input[Optional[_builtins.int]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + owner: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['SqlserverflexDatabaseTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering SqlserverflexDatabase resources. + + :param pulumi.Input[_builtins.str] collation: The collation of the database. + :param pulumi.Input[_builtins.int] compatibility: Compatibility level of the database. + :param pulumi.Input[_builtins.int] database_id: The id of the database. + :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. + :param pulumi.Input[_builtins.str] name: Name of the database. + :param pulumi.Input[_builtins.str] owner: The owner of the database. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + if collation is not None: + pulumi.set(__self__, "collation", collation) + if compatibility is not None: + pulumi.set(__self__, "compatibility", compatibility) + if database_id is not None: + pulumi.set(__self__, "database_id", database_id) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if name is not None: + pulumi.set(__self__, "name", name) + if owner is not None: + pulumi.set(__self__, "owner", owner) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def collation(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The collation of the database. + """ + return pulumi.get(self, "collation") + + @collation.setter + def collation(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "collation", value) + + @_builtins.property + @pulumi.getter + def compatibility(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Compatibility level of the database. + """ + return pulumi.get(self, "compatibility") + + @compatibility.setter + def compatibility(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "compatibility", value) + + @_builtins.property + @pulumi.getter(name="databaseId") + def database_id(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The id of the database. + """ + return pulumi.get(self, "database_id") + + @database_id.setter + def database_id(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "database_id", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + ID of the SQLServer Flex instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Name of the database. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def owner(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The owner of the database. + """ + return pulumi.get(self, "owner") + + @owner.setter + def owner(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "owner", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['SqlserverflexDatabaseTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['SqlserverflexDatabaseTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.type_token("stackit:index/sqlserverflexDatabase:SqlserverflexDatabase") +class SqlserverflexDatabase(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + collation: pulumi.Input[Optional[_builtins.str]] = None, + compatibility: pulumi.Input[Optional[_builtins.int]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + owner: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['SqlserverflexDatabaseTimeoutsArgs', 'SqlserverflexDatabaseTimeoutsArgsDict']]] = None, + __props__=None): + """ + SQLServer Flex database resource schema. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] collation: The collation of the database. + :param pulumi.Input[_builtins.int] compatibility: Compatibility level of the database. + :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. + :param pulumi.Input[_builtins.str] name: Name of the database. + :param pulumi.Input[_builtins.str] owner: The owner of the database. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SqlserverflexDatabaseArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + SQLServer Flex database resource schema. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param SqlserverflexDatabaseArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SqlserverflexDatabaseArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + collation: pulumi.Input[Optional[_builtins.str]] = None, + compatibility: pulumi.Input[Optional[_builtins.int]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + owner: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['SqlserverflexDatabaseTimeoutsArgs', 'SqlserverflexDatabaseTimeoutsArgsDict']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SqlserverflexDatabaseArgs.__new__(SqlserverflexDatabaseArgs) + + __props__.__dict__["collation"] = collation + __props__.__dict__["compatibility"] = compatibility + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["name"] = name + if owner is None and not opts.urn: + raise TypeError("Missing required property 'owner'") + __props__.__dict__["owner"] = owner + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["database_id"] = None + super(SqlserverflexDatabase, __self__).__init__( + 'stackit:index/sqlserverflexDatabase:SqlserverflexDatabase', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + collation: pulumi.Input[Optional[_builtins.str]] = None, + compatibility: pulumi.Input[Optional[_builtins.int]] = None, + database_id: pulumi.Input[Optional[_builtins.int]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + owner: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['SqlserverflexDatabaseTimeoutsArgs', 'SqlserverflexDatabaseTimeoutsArgsDict']]] = None) -> 'SqlserverflexDatabase': + """ + Get an existing SqlserverflexDatabase resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] collation: The collation of the database. + :param pulumi.Input[_builtins.int] compatibility: Compatibility level of the database. + :param pulumi.Input[_builtins.int] database_id: The id of the database. + :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. + :param pulumi.Input[_builtins.str] name: Name of the database. + :param pulumi.Input[_builtins.str] owner: The owner of the database. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SqlserverflexDatabaseState.__new__(_SqlserverflexDatabaseState) + + __props__.__dict__["collation"] = collation + __props__.__dict__["compatibility"] = compatibility + __props__.__dict__["database_id"] = database_id + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["name"] = name + __props__.__dict__["owner"] = owner + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + return SqlserverflexDatabase(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def collation(self) -> pulumi.Output[_builtins.str]: + """ + The collation of the database. + """ + return pulumi.get(self, "collation") + + @_builtins.property + @pulumi.getter + def compatibility(self) -> pulumi.Output[_builtins.int]: + """ + Compatibility level of the database. + """ + return pulumi.get(self, "compatibility") + + @_builtins.property + @pulumi.getter(name="databaseId") + def database_id(self) -> pulumi.Output[_builtins.int]: + """ + The id of the database. + """ + return pulumi.get(self, "database_id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + ID of the SQLServer Flex instance. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the database. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def owner(self) -> pulumi.Output[_builtins.str]: + """ + The owner of the database. + """ + return pulumi.get(self, "owner") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.SqlserverflexDatabaseTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_stackit/sqlserverflex_instance.py b/sdk/python/pulumi_stackit/sqlserverflex_instance.py index 31d8bbfb..c0d96d7c 100644 --- a/sdk/python/pulumi_stackit/sqlserverflex_instance.py +++ b/sdk/python/pulumi_stackit/sqlserverflex_instance.py @@ -24,6 +24,7 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional['SqlserverflexInstanceEncryptionArgs']] = None, flavor: pulumi.Input[Optional['SqlserverflexInstanceFlavorArgs']] = None, flavor_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, @@ -39,7 +40,8 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the SQLServer Flex instance. :param pulumi.Input[_builtins.str] backup_schedule: The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. - :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. + :param pulumi.Input['SqlserverflexInstanceEncryptionArgs'] encryption: Parameter to define which key to use for storage encryption. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input['SqlserverflexInstanceNetworkArgs'] network: The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. @@ -49,12 +51,17 @@ def __init__(__self__, *, """ pulumi.set(__self__, "project_id", project_id) if acls is not None: - warnings.warn("""acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""", DeprecationWarning) - pulumi.log.warn("""acls is deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""") + warnings.warn("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""", DeprecationWarning) + pulumi.log.warn("""acls is deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") if acls is not None: pulumi.set(__self__, "acls", acls) if backup_schedule is not None: pulumi.set(__self__, "backup_schedule", backup_schedule) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if flavor is not None: + warnings.warn("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""", DeprecationWarning) + pulumi.log.warn("""flavor is deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""") if flavor is not None: pulumi.set(__self__, "flavor", flavor) if flavor_id is not None: @@ -64,8 +71,8 @@ def __init__(__self__, *, if network is not None: pulumi.set(__self__, "network", network) if options is not None: - warnings.warn("""option is deprecated and will be removed after January 2027.""", DeprecationWarning) - pulumi.log.warn("""options is deprecated: option is deprecated and will be removed after January 2027.""") + warnings.warn("""option is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""options is deprecated: option is deprecated and will be removed after February 2027.""") if options is not None: pulumi.set(__self__, "options", options) if region is not None: @@ -91,7 +98,7 @@ def project_id(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter - @_utilities.deprecated("""acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""") + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: """ The Access Control List (ACL) for the SQLServer Flex instance. @@ -116,6 +123,19 @@ def backup_schedule(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + def encryption(self) -> pulumi.Input[Optional['SqlserverflexInstanceEncryptionArgs']]: + """ + Parameter to define which key to use for storage encryption. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: pulumi.Input[Optional['SqlserverflexInstanceEncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""") def flavor(self) -> pulumi.Input[Optional['SqlserverflexInstanceFlavorArgs']]: return pulumi.get(self, "flavor") @@ -127,7 +147,7 @@ def flavor(self, value: pulumi.Input[Optional['SqlserverflexInstanceFlavorArgs'] @pulumi.getter(name="flavorId") def flavor_id(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The flavor ID of the SQLServer Flex instance. + The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. """ return pulumi.get(self, "flavor_id") @@ -161,7 +181,7 @@ def network(self, value: pulumi.Input[Optional['SqlserverflexInstanceNetworkArgs @_builtins.property @pulumi.getter - @_utilities.deprecated("""option is deprecated and will be removed after January 2027.""") + @_utilities.deprecated("""option is deprecated and will be removed after February 2027.""") def options(self) -> pulumi.Input[Optional['SqlserverflexInstanceOptionsArgs']]: return pulumi.get(self, "options") @@ -224,6 +244,7 @@ def __init__(__self__, *, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, edition: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional['SqlserverflexInstanceEncryptionArgs']] = None, flavor: pulumi.Input[Optional['SqlserverflexInstanceFlavorArgs']] = None, flavor_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -242,7 +263,8 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the SQLServer Flex instance. :param pulumi.Input[_builtins.str] backup_schedule: The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] edition: Edition of the MSSQL server instance. - :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. + :param pulumi.Input['SqlserverflexInstanceEncryptionArgs'] encryption: Parameter to define which key to use for storage encryption. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input['SqlserverflexInstanceNetworkArgs'] network: The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. @@ -253,14 +275,19 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] version: The sqlserver version used for the instance. Possible values are: `2022`. Will be required in the future. Set a value to prevent breaking changes. """ if acls is not None: - warnings.warn("""acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""", DeprecationWarning) - pulumi.log.warn("""acls is deprecated: acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""") + warnings.warn("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""", DeprecationWarning) + pulumi.log.warn("""acls is deprecated: acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") if acls is not None: pulumi.set(__self__, "acls", acls) if backup_schedule is not None: pulumi.set(__self__, "backup_schedule", backup_schedule) if edition is not None: pulumi.set(__self__, "edition", edition) + if encryption is not None: + pulumi.set(__self__, "encryption", encryption) + if flavor is not None: + warnings.warn("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""", DeprecationWarning) + pulumi.log.warn("""flavor is deprecated: flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""") if flavor is not None: pulumi.set(__self__, "flavor", flavor) if flavor_id is not None: @@ -272,8 +299,8 @@ def __init__(__self__, *, if network is not None: pulumi.set(__self__, "network", network) if options is not None: - warnings.warn("""option is deprecated and will be removed after January 2027.""", DeprecationWarning) - pulumi.log.warn("""options is deprecated: option is deprecated and will be removed after January 2027.""") + warnings.warn("""option is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""options is deprecated: option is deprecated and will be removed after February 2027.""") if options is not None: pulumi.set(__self__, "options", options) if project_id is not None: @@ -291,7 +318,7 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter - @_utilities.deprecated("""acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""") + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: """ The Access Control List (ACL) for the SQLServer Flex instance. @@ -328,6 +355,19 @@ def edition(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + def encryption(self) -> pulumi.Input[Optional['SqlserverflexInstanceEncryptionArgs']]: + """ + Parameter to define which key to use for storage encryption. + """ + return pulumi.get(self, "encryption") + + @encryption.setter + def encryption(self, value: pulumi.Input[Optional['SqlserverflexInstanceEncryptionArgs']]): + pulumi.set(self, "encryption", value) + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""") def flavor(self) -> pulumi.Input[Optional['SqlserverflexInstanceFlavorArgs']]: return pulumi.get(self, "flavor") @@ -339,7 +379,7 @@ def flavor(self, value: pulumi.Input[Optional['SqlserverflexInstanceFlavorArgs'] @pulumi.getter(name="flavorId") def flavor_id(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The flavor ID of the SQLServer Flex instance. + The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. """ return pulumi.get(self, "flavor_id") @@ -385,7 +425,7 @@ def network(self, value: pulumi.Input[Optional['SqlserverflexInstanceNetworkArgs @_builtins.property @pulumi.getter - @_utilities.deprecated("""option is deprecated and will be removed after January 2027.""") + @_utilities.deprecated("""option is deprecated and will be removed after February 2027.""") def options(self) -> pulumi.Input[Optional['SqlserverflexInstanceOptionsArgs']]: return pulumi.get(self, "options") @@ -471,6 +511,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional[Union['SqlserverflexInstanceEncryptionArgs', 'SqlserverflexInstanceEncryptionArgsDict']]] = None, flavor: pulumi.Input[Optional[Union['SqlserverflexInstanceFlavorArgs', 'SqlserverflexInstanceFlavorArgsDict']]] = None, flavor_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, @@ -487,12 +528,17 @@ def __init__(__self__, ## Example Usage + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the SQLServer Flex instance. :param pulumi.Input[_builtins.str] backup_schedule: The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. - :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. + :param pulumi.Input[Union['SqlserverflexInstanceEncryptionArgs', 'SqlserverflexInstanceEncryptionArgsDict']] encryption: Parameter to define which key to use for storage encryption. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input[Union['SqlserverflexInstanceNetworkArgs', 'SqlserverflexInstanceNetworkArgsDict']] network: The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. @@ -512,6 +558,10 @@ def __init__(__self__, ## Example Usage + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + :param str resource_name: The name of the resource. :param SqlserverflexInstanceArgs args: The arguments to use to populate this resource's properties. @@ -530,6 +580,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional[Union['SqlserverflexInstanceEncryptionArgs', 'SqlserverflexInstanceEncryptionArgsDict']]] = None, flavor: pulumi.Input[Optional[Union['SqlserverflexInstanceFlavorArgs', 'SqlserverflexInstanceFlavorArgsDict']]] = None, flavor_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, @@ -551,6 +602,7 @@ def _internal_init(__self__, __props__.__dict__["acls"] = acls __props__.__dict__["backup_schedule"] = backup_schedule + __props__.__dict__["encryption"] = encryption __props__.__dict__["flavor"] = flavor __props__.__dict__["flavor_id"] = flavor_id __props__.__dict__["name"] = name @@ -579,6 +631,7 @@ def get(resource_name: str, acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, backup_schedule: pulumi.Input[Optional[_builtins.str]] = None, edition: pulumi.Input[Optional[_builtins.str]] = None, + encryption: pulumi.Input[Optional[Union['SqlserverflexInstanceEncryptionArgs', 'SqlserverflexInstanceEncryptionArgsDict']]] = None, flavor: pulumi.Input[Optional[Union['SqlserverflexInstanceFlavorArgs', 'SqlserverflexInstanceFlavorArgsDict']]] = None, flavor_id: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -601,7 +654,8 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The Access Control List (ACL) for the SQLServer Flex instance. :param pulumi.Input[_builtins.str] backup_schedule: The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *") Will be required in the future. Set a value to prevent breaking changes. :param pulumi.Input[_builtins.str] edition: Edition of the MSSQL server instance. - :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. + :param pulumi.Input[Union['SqlserverflexInstanceEncryptionArgs', 'SqlserverflexInstanceEncryptionArgsDict']] encryption: Parameter to define which key to use for storage encryption. + :param pulumi.Input[_builtins.str] flavor_id: The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. :param pulumi.Input[_builtins.str] name: Instance name. :param pulumi.Input[Union['SqlserverflexInstanceNetworkArgs', 'SqlserverflexInstanceNetworkArgsDict']] network: The network configuration of the instance. Will be required in the future. Set a value to prevent breaking changes. @@ -618,6 +672,7 @@ def get(resource_name: str, __props__.__dict__["acls"] = acls __props__.__dict__["backup_schedule"] = backup_schedule __props__.__dict__["edition"] = edition + __props__.__dict__["encryption"] = encryption __props__.__dict__["flavor"] = flavor __props__.__dict__["flavor_id"] = flavor_id __props__.__dict__["instance_id"] = instance_id @@ -634,7 +689,7 @@ def get(resource_name: str, @_builtins.property @pulumi.getter - @_utilities.deprecated("""acl is deprecated and will be removed after January 2027. Use instead `network.acl`.""") + @_utilities.deprecated("""acl is deprecated and will be removed after February 2027. Use instead `network.acl`.""") def acls(self) -> pulumi.Output[Sequence[_builtins.str]]: """ The Access Control List (ACL) for the SQLServer Flex instance. @@ -659,6 +714,15 @@ def edition(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + def encryption(self) -> pulumi.Output[Optional['outputs.SqlserverflexInstanceEncryption']]: + """ + Parameter to define which key to use for storage encryption. + """ + return pulumi.get(self, "encryption") + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""flavor is deprecated and will be removed after February 2027. Use instead `flavor_id`. You can list available flavors using the datasource `get_sqlserverflex_flavors`.""") def flavor(self) -> pulumi.Output['outputs.SqlserverflexInstanceFlavor']: return pulumi.get(self, "flavor") @@ -666,7 +730,7 @@ def flavor(self) -> pulumi.Output['outputs.SqlserverflexInstanceFlavor']: @pulumi.getter(name="flavorId") def flavor_id(self) -> pulumi.Output[_builtins.str]: """ - The flavor ID of the SQLServer Flex instance. + The flavor ID of the SQLServer Flex instance. Can only be set when `flavor` and `replicas` are not set. You can list available flavors using the datasource `get_sqlserverflex_flavors`. """ return pulumi.get(self, "flavor_id") @@ -696,7 +760,7 @@ def network(self) -> pulumi.Output['outputs.SqlserverflexInstanceNetwork']: @_builtins.property @pulumi.getter - @_utilities.deprecated("""option is deprecated and will be removed after January 2027.""") + @_utilities.deprecated("""option is deprecated and will be removed after February 2027.""") def options(self) -> pulumi.Output['outputs.SqlserverflexInstanceOptions']: return pulumi.get(self, "options") diff --git a/sdk/python/pulumi_stackit/telemetrylink.py b/sdk/python/pulumi_stackit/telemetrylink.py index 86c6c1c9..099f0679 100644 --- a/sdk/python/pulumi_stackit/telemetrylink.py +++ b/sdk/python/pulumi_stackit/telemetrylink.py @@ -24,6 +24,8 @@ def __init__(__self__, *, resource_type: pulumi.Input[_builtins.str], telemetry_router_id: pulumi.Input[_builtins.str], access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo_version: pulumi.Input[Optional[_builtins.int]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -33,7 +35,10 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. :param pulumi.Input[_builtins.str] resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. :param pulumi.Input[_builtins.str] telemetry_router_id: The Telemetry Router ID. - :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. + :param pulumi.Input[_builtins.str] access_token_wo: **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + :param pulumi.Input[_builtins.int] access_token_wo_version: User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. """ @@ -43,6 +48,10 @@ def __init__(__self__, *, pulumi.set(__self__, "telemetry_router_id", telemetry_router_id) if access_token is not None: pulumi.set(__self__, "access_token", access_token) + if access_token_wo is not None: + pulumi.set(__self__, "access_token_wo", access_token_wo) + if access_token_wo_version is not None: + pulumi.set(__self__, "access_token_wo_version", access_token_wo_version) if description is not None: pulumi.set(__self__, "description", description) if region is not None: @@ -100,7 +109,7 @@ def telemetry_router_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="accessToken") def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The access token of the Telemetry Router instance. + The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. """ return pulumi.get(self, "access_token") @@ -108,6 +117,31 @@ def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: def access_token(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "access_token", value) + @_builtins.property + @pulumi.getter(name="accessTokenWo") + def access_token_wo(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + """ + return pulumi.get(self, "access_token_wo") + + @access_token_wo.setter + def access_token_wo(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_token_wo", value) + + @_builtins.property + @pulumi.getter(name="accessTokenWoVersion") + def access_token_wo_version(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. + """ + return pulumi.get(self, "access_token_wo_version") + + @access_token_wo_version.setter + def access_token_wo_version(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "access_token_wo_version", value) + @_builtins.property @pulumi.getter def description(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -137,6 +171,8 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): class _TelemetrylinkState: def __init__(__self__, *, access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo_version: pulumi.Input[Optional[_builtins.int]] = None, create_time: pulumi.Input[Optional[_builtins.str]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, display_name: pulumi.Input[Optional[_builtins.str]] = None, @@ -148,7 +184,10 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Telemetrylink resources. - :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. + :param pulumi.Input[_builtins.str] access_token_wo: **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + :param pulumi.Input[_builtins.int] access_token_wo_version: User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. :param pulumi.Input[_builtins.str] create_time: The time the Telemetry Link was created. :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. @@ -160,6 +199,10 @@ def __init__(__self__, *, """ if access_token is not None: pulumi.set(__self__, "access_token", access_token) + if access_token_wo is not None: + pulumi.set(__self__, "access_token_wo", access_token_wo) + if access_token_wo_version is not None: + pulumi.set(__self__, "access_token_wo_version", access_token_wo_version) if create_time is not None: pulumi.set(__self__, "create_time", create_time) if description is not None: @@ -172,6 +215,9 @@ def __init__(__self__, *, pulumi.set(__self__, "resource_id", resource_id) if resource_type is not None: pulumi.set(__self__, "resource_type", resource_type) + if status is not None: + warnings.warn("""status is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""status is deprecated: status is deprecated and will be removed after February 2027.""") if status is not None: pulumi.set(__self__, "status", status) if telemetry_router_id is not None: @@ -181,7 +227,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessToken") def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The access token of the Telemetry Router instance. + The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. """ return pulumi.get(self, "access_token") @@ -189,6 +235,31 @@ def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: def access_token(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "access_token", value) + @_builtins.property + @pulumi.getter(name="accessTokenWo") + def access_token_wo(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + """ + return pulumi.get(self, "access_token_wo") + + @access_token_wo.setter + def access_token_wo(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_token_wo", value) + + @_builtins.property + @pulumi.getter(name="accessTokenWoVersion") + def access_token_wo_version(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. + """ + return pulumi.get(self, "access_token_wo_version") + + @access_token_wo_version.setter + def access_token_wo_version(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "access_token_wo_version", value) + @_builtins.property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -263,6 +334,7 @@ def resource_type(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Input[Optional[_builtins.str]]: """ The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. @@ -293,6 +365,8 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo_version: pulumi.Input[Optional[_builtins.int]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, display_name: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, @@ -312,7 +386,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. + :param pulumi.Input[_builtins.str] access_token_wo: **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + :param pulumi.Input[_builtins.int] access_token_wo_version: User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. @@ -352,6 +429,8 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo_version: pulumi.Input[Optional[_builtins.int]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, display_name: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, @@ -368,6 +447,8 @@ def _internal_init(__self__, __props__ = TelemetrylinkArgs.__new__(TelemetrylinkArgs) __props__.__dict__["access_token"] = None if access_token is None else pulumi.Output.secret(access_token) + __props__.__dict__["access_token_wo"] = None if access_token_wo is None else pulumi.Output.secret(access_token_wo) + __props__.__dict__["access_token_wo_version"] = access_token_wo_version __props__.__dict__["description"] = description if display_name is None and not opts.urn: raise TypeError("Missing required property 'display_name'") @@ -384,7 +465,7 @@ def _internal_init(__self__, __props__.__dict__["telemetry_router_id"] = telemetry_router_id __props__.__dict__["create_time"] = None __props__.__dict__["status"] = None - secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessToken"]) + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessToken", "accessTokenWo"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(Telemetrylink, __self__).__init__( 'stackit:index/telemetrylink:Telemetrylink', @@ -397,6 +478,8 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo: pulumi.Input[Optional[_builtins.str]] = None, + access_token_wo_version: pulumi.Input[Optional[_builtins.int]] = None, create_time: pulumi.Input[Optional[_builtins.str]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, display_name: pulumi.Input[Optional[_builtins.str]] = None, @@ -412,7 +495,10 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. + :param pulumi.Input[_builtins.str] access_token_wo: **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + :param pulumi.Input[_builtins.int] access_token_wo_version: User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. :param pulumi.Input[_builtins.str] create_time: The time the Telemetry Link was created. :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. @@ -427,6 +513,8 @@ def get(resource_name: str, __props__ = _TelemetrylinkState.__new__(_TelemetrylinkState) __props__.__dict__["access_token"] = access_token + __props__.__dict__["access_token_wo"] = access_token_wo + __props__.__dict__["access_token_wo_version"] = access_token_wo_version __props__.__dict__["create_time"] = create_time __props__.__dict__["description"] = description __props__.__dict__["display_name"] = display_name @@ -441,10 +529,27 @@ def get(resource_name: str, @pulumi.getter(name="accessToken") def access_token(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The access token of the Telemetry Router instance. + The access token of the Telemetry Router instance. Write-only argument `access_token_wo` should be preferred. """ return pulumi.get(self, "access_token") + @_builtins.property + @pulumi.getter(name="accessTokenWo") + def access_token_wo(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + The access token of the Telemetry Router instance. Write-only - never stored in state and never returned by the API. To rotate the token, update this value AND increment `access_token_wo_version`. Changing this field alone will NOT trigger an update. + """ + return pulumi.get(self, "access_token_wo") + + @_builtins.property + @pulumi.getter(name="accessTokenWoVersion") + def access_token_wo_version(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + User-managed rotation counter for `access_token_wo`. Must be incremented every time `access_token_wo` is changed. Terraform diffs this field to detect token rotations - changing `access_token_wo` alone will NOT trigger an update because it is write-only and never stored in state. + """ + return pulumi.get(self, "access_token_wo_version") + @_builtins.property @pulumi.getter(name="createTime") def create_time(self) -> pulumi.Output[_builtins.str]: @@ -495,6 +600,7 @@ def resource_type(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Output[_builtins.str]: """ The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. diff --git a/sdk/python/pulumi_stackit/telemetryrouter_access_token.py b/sdk/python/pulumi_stackit/telemetryrouter_access_token.py index 386736b0..e9392858 100644 --- a/sdk/python/pulumi_stackit/telemetryrouter_access_token.py +++ b/sdk/python/pulumi_stackit/telemetryrouter_access_token.py @@ -165,6 +165,9 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if status is not None: + warnings.warn("""status is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""status is deprecated: status is deprecated and will be removed after February 2027.""") if status is not None: pulumi.set(__self__, "status", status) if ttl is not None: @@ -280,6 +283,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Input[Optional[_builtins.str]]: """ The status of the access token. Possible values are: `active`, `expired`, `deleting`. @@ -531,6 +535,7 @@ def region(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Output[_builtins.str]: """ The status of the access token. Possible values are: `active`, `expired`, `deleting`. diff --git a/sdk/python/pulumi_stackit/telemetryrouter_destination.py b/sdk/python/pulumi_stackit/telemetryrouter_destination.py index c8718120..c41f820a 100644 --- a/sdk/python/pulumi_stackit/telemetryrouter_destination.py +++ b/sdk/python/pulumi_stackit/telemetryrouter_destination.py @@ -164,6 +164,9 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if status is not None: + warnings.warn("""status is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""status is deprecated: status is deprecated and will be removed after February 2027.""") if status is not None: pulumi.set(__self__, "status", status) @@ -277,6 +280,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Input[Optional[_builtins.str]]: """ The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. @@ -512,6 +516,7 @@ def region(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Output[_builtins.str]: """ The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. diff --git a/sdk/python/pulumi_stackit/telemetryrouter_instance.py b/sdk/python/pulumi_stackit/telemetryrouter_instance.py index 08fc7a08..af70e5d7 100644 --- a/sdk/python/pulumi_stackit/telemetryrouter_instance.py +++ b/sdk/python/pulumi_stackit/telemetryrouter_instance.py @@ -144,6 +144,9 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if status is not None: + warnings.warn("""status is deprecated and will be removed after February 2027.""", DeprecationWarning) + pulumi.log.warn("""status is deprecated: status is deprecated and will be removed after February 2027.""") if status is not None: pulumi.set(__self__, "status", status) if uri is not None: @@ -235,6 +238,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Input[Optional[_builtins.str]]: """ The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. @@ -455,6 +459,7 @@ def region(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter + @_utilities.deprecated("""status is deprecated and will be removed after February 2027.""") def status(self) -> pulumi.Output[_builtins.str]: """ The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`.