diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
index 8f066d0..4ac6f14 100644
--- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
@@ -97,9 +97,25 @@
}
}
},
+ "stackit_authorization_folder_custom_role": {
+ "current": "stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole",
+ "fields": {
+ "permissions": {
+ "maxItemsOne": false
+ }
+ }
+ },
"stackit_authorization_folder_role_assignment": {
"current": "stackit:index/authorizationFolderRoleAssignment:AuthorizationFolderRoleAssignment"
},
+ "stackit_authorization_organization_custom_role": {
+ "current": "stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole",
+ "fields": {
+ "permissions": {
+ "maxItemsOne": false
+ }
+ }
+ },
"stackit_authorization_organization_role_assignment": {
"current": "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment"
},
@@ -142,6 +158,27 @@
"blocked_countries": {
"maxItemsOne": false
},
+ "redirects": {
+ "fields": {
+ "rules": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "matchers": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "values": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"regions": {
"maxItemsOne": false
}
@@ -616,6 +653,12 @@
}
}
},
+ "stackit_secretsmanager_instance_role_binding_v1": {
+ "current": "stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1"
+ },
+ "stackit_secretsmanager_secret_group_role_binding_v1": {
+ "current": "stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1"
+ },
"stackit_secretsmanager_user": {
"current": "stackit:index/secretsmanagerUser:SecretsmanagerUser"
},
@@ -684,6 +727,9 @@
}
}
},
+ "stackit_sfs_project_lock": {
+ "current": "stackit:index/sfsProjectLock:SfsProjectLock"
+ },
"stackit_sfs_resource_pool": {
"current": "stackit:index/sfsResourcePool:SfsResourcePool",
"fields": {
@@ -860,6 +906,22 @@
}
}
},
+ "stackit_authorization_folder_custom_role": {
+ "current": "stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole",
+ "fields": {
+ "permissions": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "stackit_authorization_organization_custom_role": {
+ "current": "stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole",
+ "fields": {
+ "permissions": {
+ "maxItemsOne": false
+ }
+ }
+ },
"stackit_authorization_project_custom_role": {
"current": "stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole",
"fields": {
@@ -893,6 +955,27 @@
"blocked_countries": {
"maxItemsOne": false
},
+ "redirects": {
+ "fields": {
+ "rules": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "matchers": {
+ "maxItemsOne": false,
+ "elem": {
+ "fields": {
+ "values": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"regions": {
"maxItemsOne": false
}
@@ -1401,6 +1484,22 @@
}
}
},
+ "stackit_secretsmanager_instance_role_bindings_v1": {
+ "current": "stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1",
+ "fields": {
+ "role_bindings": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "stackit_secretsmanager_secret_group_role_bindings_v1": {
+ "current": "stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1",
+ "fields": {
+ "role_bindings": {
+ "maxItemsOne": false
+ }
+ }
+ },
"stackit_secretsmanager_user": {
"current": "stackit:index/getSecretsmanagerUser:getSecretsmanagerUser"
},
@@ -1492,6 +1591,9 @@
}
}
},
+ "stackit_sfs_project_lock": {
+ "current": "stackit:index/getSfsProjectLock:getSfsProjectLock"
+ },
"stackit_sfs_resource_pool": {
"current": "stackit:index/getSfsResourcePool:getSfsResourcePool",
"fields": {
diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json
index b7c097a..e3da59e 100644
--- a/provider/cmd/pulumi-resource-stackit/schema.json
+++ b/provider/cmd/pulumi-resource-stackit/schema.json
@@ -803,6 +803,10 @@
"$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"
},
+ "redirects": {
+ "$ref": "#/types/stackit:index/CdnDistributionConfigRedirects:CdnDistributionConfigRedirects",
+ "description": "A wrapper for a list of redirect rules that allows for redirect settings on a distribution\n"
+ },
"regions": {
"type": "array",
"items": {
@@ -906,6 +910,97 @@
}
}
},
+ "stackit:index/CdnDistributionConfigRedirects:CdnDistributionConfigRedirects": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/CdnDistributionConfigRedirectsRule:CdnDistributionConfigRedirectsRule"
+ },
+ "description": "A list of redirect rules. The order of rules matters for evaluation\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "rules"
+ ]
+ },
+ "stackit:index/CdnDistributionConfigRedirectsRule:CdnDistributionConfigRedirectsRule": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "An optional description for the redirect rule\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "A toggle to enable or disable the redirect rule. Default to true\n"
+ },
+ "matchers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/CdnDistributionConfigRedirectsRuleMatcher:CdnDistributionConfigRedirectsRuleMatcher"
+ },
+ "description": "A list of matchers that define when this rule should apply. At least one matcher is required\n"
+ },
+ "ruleMatchCondition": {
+ "type": "string",
+ "description": "Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.\n"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.\n"
+ },
+ "targetUrl": {
+ "type": "string",
+ "description": "The target URL to redirect to. Must be a valid URI\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "matchers",
+ "statusCode",
+ "targetUrl"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "description",
+ "enabled",
+ "matchers",
+ "ruleMatchCondition",
+ "statusCode",
+ "targetUrl"
+ ]
+ }
+ }
+ },
+ "stackit:index/CdnDistributionConfigRedirectsRuleMatcher:CdnDistributionConfigRedirectsRuleMatcher": {
+ "properties": {
+ "valueMatchCondition": {
+ "type": "string",
+ "description": "Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.\n"
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of glob patterns to match against the request path. At least one value is required. Examples: \"/shop/*\" or \"*/img/*\"\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "values"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "valueMatchCondition",
+ "values"
+ ]
+ }
+ }
+ },
"stackit:index/CdnDistributionDomain:CdnDistributionDomain": {
"properties": {
"errors": {
@@ -1302,6 +1397,7 @@
"requiredOutputs": [
"activeHealthCheck",
"name",
+ "sessionPersistence",
"targetPort",
"targets"
]
@@ -1351,7 +1447,14 @@
"description": "If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.\n"
}
},
- "type": "object"
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "useSourceIpAddress"
+ ]
+ }
+ }
},
"stackit:index/LoadbalancerTargetPoolTarget:LoadbalancerTargetPoolTarget": {
"properties": {
@@ -2974,10 +3077,6 @@
}
},
"type": "object",
- "required": [
- "end",
- "start"
- ],
"language": {
"nodejs": {
"requiredOutputs": [
@@ -3948,6 +4047,10 @@
"$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"
},
+ "redirects": {
+ "$ref": "#/types/stackit:index/getCdnDistributionConfigRedirects:getCdnDistributionConfigRedirects",
+ "description": "A wrapper for a list of redirect rules that allows for redirect settings on a distribution\n"
+ },
"regions": {
"type": "array",
"items": {
@@ -3960,6 +4063,7 @@
"required": [
"backend",
"optimizer",
+ "redirects",
"regions"
],
"language": {
@@ -4035,6 +4139,96 @@
}
}
},
+ "stackit:index/getCdnDistributionConfigRedirects:getCdnDistributionConfigRedirects": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getCdnDistributionConfigRedirectsRule:getCdnDistributionConfigRedirectsRule"
+ },
+ "description": "A list of redirect rules. The order of rules matters for evaluation\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "rules"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getCdnDistributionConfigRedirectsRule:getCdnDistributionConfigRedirectsRule": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "An optional description for the redirect rule\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "A toggle to enable or disable the redirect rule. Default to true\n"
+ },
+ "matchers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getCdnDistributionConfigRedirectsRuleMatcher:getCdnDistributionConfigRedirectsRuleMatcher"
+ },
+ "description": "A list of matchers that define when this rule should apply. At least one matcher is required\n"
+ },
+ "ruleMatchCondition": {
+ "type": "string",
+ "description": "Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.\n"
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.\n"
+ },
+ "targetUrl": {
+ "type": "string",
+ "description": "The target URL to redirect to. Must be a valid URI\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "description",
+ "enabled",
+ "matchers",
+ "ruleMatchCondition",
+ "statusCode",
+ "targetUrl"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getCdnDistributionConfigRedirectsRuleMatcher:getCdnDistributionConfigRedirectsRuleMatcher": {
+ "properties": {
+ "valueMatchCondition": {
+ "type": "string",
+ "description": "Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.\n"
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of glob patterns to match against the request path. At least one value is required. Examples: \"/shop/*\" or \"*/img/*\"\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "valueMatchCondition",
+ "values"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"stackit:index/getCdnDistributionDomain:getCdnDistributionDomain": {
"properties": {
"errors": {
@@ -4639,6 +4833,7 @@
"required": [
"activeHealthCheck",
"name",
+ "sessionPersistence",
"targetPort",
"targets"
],
@@ -4692,7 +4887,15 @@
"description": "If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.\n"
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "useSourceIpAddress"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
"stackit:index/getLoadbalancerTargetPoolTarget:getLoadbalancerTargetPoolTarget": {
"properties": {
@@ -6244,6 +6447,50 @@
}
}
},
+ "stackit:index/getSecretsmanagerInstanceRoleBindingsV1RoleBinding:getSecretsmanagerInstanceRoleBindingsV1RoleBinding": {
+ "properties": {
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "role",
+ "subject"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding:getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding": {
+ "properties": {
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "role",
+ "subject"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"stackit:index/getSecurityGroupRuleIcmpParameters:getSecurityGroupRuleIcmpParameters": {
"properties": {
"code": {
@@ -7960,60 +8207,240 @@
"type": "object"
}
},
+ "stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole": {
+ "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_resourcemanager_folder\" \"example\" {\n name = \"example_folder\"\n owner_email = \"foo.bar@stackit.cloud\"\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_folder_custom_role\" \"example\" {\n resource_id = stackit_resourcemanager_folder.example.folder_id\n name = \"my.custom.role\"\n description = \"Some description\"\n permissions = [\n \"iam.subject.get\"\n ]\n}\n\n# Only use the import statement, if you want to import an existing custom role\nimport {\n to = stackit_authorization_folder_custom_role.import-example\n id = \"${var.folder_id},${var.custom_role_id}\"\n}\n```\n",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human readable description of the role.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
+ }
+ },
+ "required": [
+ "description",
+ "name",
+ "permissions",
+ "resourceId",
+ "roleId"
+ ],
+ "inputProperties": {
+ "description": {
+ "type": "string",
+ "description": "A human readable description of the role.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ }
+ },
+ "requiredInputs": [
+ "description",
+ "permissions",
+ "resourceId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering AuthorizationFolderCustomRole resources.\n",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human readable description of the role.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"stackit:index/authorizationFolderRoleAssignment:AuthorizationFolderRoleAssignment": {
"description": "Folder Role Assignment resource schema.\n\n\u003e This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\nresource \"stackit_resourcemanager_folder\" \"example\" {\n name = \"example_folder\"\n owner_email = \"foo.bar@stackit.cloud\"\n # in this case a org-id\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_folder_role_assignment\" \"fra\" {\n resource_id = stackit_resourcemanager_folder.example.folder_id\n role = \"reader\"\n subject = \"foo.bar@stackit.cloud\"\n}\n\n# Only use the import statement, if you want to import an existing folder role assignment\nimport {\n to = stackit_authorization_folder_role_assignment.import-example\n id = \"${var.folder_id},${var.folder_role_assignment},${var.folder_role_assignment_subject}\"\n}\n```\n",
"properties": {
"resourceId": {
"type": "string",
- "description": "Folder Resource to assign the role to.\n"
+ "description": "Folder Resource to assign the role to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n"
+ }
+ },
+ "required": [
+ "resourceId",
+ "role",
+ "subject"
+ ],
+ "inputProperties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Folder Resource to assign the role to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n"
+ }
+ },
+ "requiredInputs": [
+ "resourceId",
+ "role",
+ "subject"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering AuthorizationFolderRoleAssignment resources.\n",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Folder Resource to assign the role to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole": {
+ "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_authorization_organization_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n description = \"Some description\"\n permissions = [\n \"iam.subject.get\"\n ]\n}\n\n# Only use the import statement, if you want to import an existing custom role\nimport {\n to = stackit_authorization_organization_custom_role.import-example\n id = \"${var.organization_id},${var.custom_role_id}\"\n}\n```\n",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human readable description of the role.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role\n"
},
- "role": {
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
"type": "string",
- "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n"
+ "description": "Resource to add the custom role to.\n"
},
- "subject": {
+ "roleId": {
"type": "string",
- "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n"
+ "description": "The ID of the role.\n"
}
},
"required": [
+ "description",
+ "name",
+ "permissions",
"resourceId",
- "role",
- "subject"
+ "roleId"
],
"inputProperties": {
- "resourceId": {
+ "description": {
"type": "string",
- "description": "Folder Resource to assign the role to.\n"
+ "description": "A human readable description of the role.\n"
},
- "role": {
+ "name": {
"type": "string",
- "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n"
+ "description": "Name of the role\n"
},
- "subject": {
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
"type": "string",
- "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n"
+ "description": "Resource to add the custom role to.\n"
}
},
"requiredInputs": [
- "resourceId",
- "role",
- "subject"
+ "description",
+ "permissions",
+ "resourceId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering AuthorizationFolderRoleAssignment resources.\n",
+ "description": "Input properties used for looking up and filtering AuthorizationOrganizationCustomRole resources.\n",
"properties": {
- "resourceId": {
+ "description": {
"type": "string",
- "description": "Folder Resource to assign the role to.\n"
+ "description": "A human readable description of the role.\n"
},
- "role": {
+ "name": {
"type": "string",
- "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n"
+ "description": "Name of the role\n"
},
- "subject": {
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
"type": "string",
- "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n"
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
}
},
"type": "object"
@@ -8378,7 +8805,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}\n\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",
+ "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}\n\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",
"properties": {
"config": {
"$ref": "#/types/stackit:index/CdnDistributionConfig:CdnDistributionConfig",
@@ -12860,7 +13287,7 @@
"type": "string",
"description": "The resource region. If not defined, the provider region is used.\n"
},
- "urn": {
+ "stackitUrn": {
"type": "string",
"description": "Credentials group uniform resource name (URN)\n"
}
@@ -12870,7 +13297,7 @@
"name",
"projectId",
"region",
- "urn"
+ "stackitUrn"
],
"inputProperties": {
"name": {
@@ -12908,7 +13335,7 @@
"type": "string",
"description": "The resource region. If not defined, the provider region is used.\n"
},
- "urn": {
+ "stackitUrn": {
"type": "string",
"description": "Credentials group uniform resource name (URN)\n"
}
@@ -15915,6 +16342,150 @@
"type": "object"
}
},
+ "stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1": {
+ "description": "IAM role binding resource schema.\n\n\u003e This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_instance_role_binding_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@example.com\"\n}\n```\n\n## Import\n\n```terraform\n# Only use the import statement if you want to import an existing role binding\nimport {\n to = stackit_secretsmanager_instance_role_binding_v1.import_example\n id = \"${var.region},${var.resource_id},${var.role},${var.subject}\"\n}\n```\n\n",
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to apply this role binding to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "required": [
+ "region",
+ "resourceId",
+ "role",
+ "subject"
+ ],
+ "inputProperties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to apply this role binding to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "requiredInputs": [
+ "resourceId",
+ "role",
+ "subject"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SecretsmanagerInstanceRoleBindingV1 resources.\n",
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to apply this role binding to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1": {
+ "description": "IAM role binding resource schema.\n\n\u003e This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_secret_group_role_binding_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@example.com\"\n}\n```\n\n## Import\n\n```terraform\n# Only use the import statement if you want to import an existing role binding\nimport {\n to = stackit_secretsmanager_secret_group_role_binding_v1.import_example\n id = \"${var.region},${var.resource_id},${var.role},${var.subject}\"\n}\n```\n\n",
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to apply this role binding to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "required": [
+ "region",
+ "resourceId",
+ "role",
+ "subject"
+ ],
+ "inputProperties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to apply this role binding to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "requiredInputs": [
+ "resourceId",
+ "role",
+ "subject"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SecretsmanagerSecretGroupRoleBindingV1 resources.\n",
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to apply this role binding to.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "A valid role defined for the resource.\n"
+ },
+ "subject": {
+ "type": "string",
+ "description": "Identifier of user, service account or client. Usually email address or name in case of clients.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"stackit:index/secretsmanagerUser:SecretsmanagerUser": {
"description": "Secrets Manager 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_secretsmanager_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Example user\"\n write_enabled = false\n}\n\n# Only use the import statement, if you want to import an existing secretsmanager user\nimport {\n to = stackit_secretsmanager_user.import-example\n id = \"${var.project_id},${var.secret_instance_id},${var.secret_user_id}\"\n}\n```\n",
"properties": {
@@ -16300,7 +16871,7 @@
}
},
"stackit:index/server:Server": {
- "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\t\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.region},${var.server_id}\"\n}\n```\n",
+ "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n ipv4_nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.region},${var.server_id}\"\n}\n```\n",
"properties": {
"affinityGroup": {
"type": "string",
@@ -17363,46 +17934,99 @@
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the export policy is associated.\n"
+ "description": "STACKIT project ID to which the export policy is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule"
+ }
+ }
+ },
+ "requiredInputs": [
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SfsExportPolicy resources.\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the export policy.\n"
+ },
+ "policyId": {
+ "type": "string",
+ "description": "Export policy ID\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the export policy is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/sfsProjectLock:SfsProjectLock": {
+ "description": "SFS project lock 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. Always use only one project lock per project.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_project_lock\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing project lock\nimport {\n to = stackit_sfs_project_lock.example\n id = \"${var.project_id},${var.region}\"\n}\n```\n",
+ "properties": {
+ "lockId": {
+ "type": "string",
+ "description": "ID of the lock.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT Project ID to which the project lock is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "required": [
+ "lockId",
+ "projectId",
+ "region"
+ ],
+ "inputProperties": {
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT Project ID to which the project lock is associated.\n"
},
"region": {
"type": "string",
"description": "The resource region. If not defined, the provider region is used.\n"
- },
- "rules": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule"
- }
}
},
"requiredInputs": [
"projectId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SfsExportPolicy resources.\n",
+ "description": "Input properties used for looking up and filtering SfsProjectLock resources.\n",
"properties": {
- "name": {
- "type": "string",
- "description": "Name of the export policy.\n"
- },
- "policyId": {
+ "lockId": {
"type": "string",
- "description": "Export policy ID\n"
+ "description": "ID of the lock.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the export policy is associated.\n"
+ "description": "STACKIT Project ID to which the project lock is associated.\n"
},
"region": {
"type": "string",
"description": "The resource region. If not defined, the provider region is used.\n"
- },
- "rules": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule"
- }
}
},
"type": "object"
@@ -17589,7 +18213,6 @@
}
},
"required": [
- "exportPolicy",
"mountPath",
"name",
"projectId",
@@ -17625,7 +18248,6 @@
}
},
"requiredInputs": [
- "exportPolicy",
"projectId",
"resourcePoolId",
"spaceHardLimitGigabytes"
@@ -17715,7 +18337,7 @@
"items": {
"$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
},
- "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\n"
+ "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\nTo keep your Terraform plans clean and readable, always append new node pools to the end of the list.\n"
},
"podAddressRanges": {
"type": "array",
@@ -17777,7 +18399,7 @@
"items": {
"$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
},
- "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\n"
+ "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\nTo keep your Terraform plans clean and readable, always append new node pools to the end of the list.\n"
},
"projectId": {
"type": "string",
@@ -17838,7 +18460,7 @@
"items": {
"$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
},
- "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\n"
+ "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\nTo keep your Terraform plans clean and readable, always append new node pools to the end of the list.\n"
},
"podAddressRanges": {
"type": "array",
@@ -18737,8 +19359,132 @@
]
}
},
+ "stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole": {
+ "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_folder_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getAuthorizationFolderCustomRole.\n",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "resourceId",
+ "roleId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getAuthorizationFolderCustomRole.\n",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human readable description of the role.\n"
+ },
+ "id": {
+ "type": "string",
+ "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "description",
+ "id",
+ "name",
+ "permissions",
+ "resourceId",
+ "roleId"
+ ]
+ }
+ },
+ "stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole": {
+ "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_organization_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getAuthorizationOrganizationCustomRole.\n",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "resourceId",
+ "roleId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getAuthorizationOrganizationCustomRole.\n",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human readable description of the role.\n"
+ },
+ "id": {
+ "type": "string",
+ "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the role\n"
+ },
+ "permissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Permissions for the role\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Resource to add the custom role to.\n"
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The ID of the role.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "description",
+ "id",
+ "name",
+ "permissions",
+ "resourceId",
+ "roleId"
+ ]
+ }
+ },
"stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole": {
- "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_project_custom_role\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n",
+ "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_project_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n",
"inputs": {
"description": "A collection of arguments for invoking getAuthorizationProjectCustomRole.\n",
"properties": {
@@ -23737,6 +24483,106 @@
]
}
},
+ "stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1": {
+ "description": "IAM role binding datasource schema.\n\n\u003e This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\ndata \"stackit_secretsmanager_instance_role_bindings_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.\n",
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to get the role bindings for.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "resourceId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getSecretsmanagerInstanceRoleBindingsV1.\n",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Terraform's internal resource identifier. It is structured as \"\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=\"`resourceId`\" pulumi-lang-dotnet=\"`ResourceId`\" pulumi-lang-go=\"`resourceId`\" pulumi-lang-python=\"`resource_id`\" pulumi-lang-yaml=\"`resourceId`\" pulumi-lang-java=\"`resourceId`\"\u003e`resourceId`\u003c/span\u003e\".\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to get the role bindings for.\n"
+ },
+ "roleBindings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getSecretsmanagerInstanceRoleBindingsV1RoleBinding:getSecretsmanagerInstanceRoleBindingsV1RoleBinding"
+ },
+ "description": "List of role bindings.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "resourceId",
+ "roleBindings"
+ ]
+ }
+ },
+ "stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1": {
+ "description": "IAM role binding datasource schema.\n\n\u003e This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\ndata \"stackit_secretsmanager_secret_group_role_bindings_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getSecretsmanagerSecretGroupRoleBindingsV1.\n",
+ "properties": {
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to get the role bindings for.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "resourceId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getSecretsmanagerSecretGroupRoleBindingsV1.\n",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Terraform's internal resource identifier. It is structured as \"\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=\"`resourceId`\" pulumi-lang-dotnet=\"`ResourceId`\" pulumi-lang-go=\"`resourceId`\" pulumi-lang-python=\"`resource_id`\" pulumi-lang-yaml=\"`resourceId`\" pulumi-lang-java=\"`resourceId`\"\u003e`resourceId`\u003c/span\u003e\".\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The identifier of the resource to get the role bindings for.\n"
+ },
+ "roleBindings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding:getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding"
+ },
+ "description": "List of role bindings.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "resourceId",
+ "roleBindings"
+ ]
+ }
+ },
"stackit:index/getSecretsmanagerUser:getSecretsmanagerUser": {
"description": "Secrets Manager user 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_secretsmanager_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n user_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
"inputs": {
@@ -24687,6 +25533,54 @@
]
}
},
+ "stackit:index/getSfsProjectLock:getSfsProjectLock": {
+ "description": "SFS project lock 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. Always use only one project lock per project.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_project_lock\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getSfsProjectLock.\n",
+ "properties": {
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT Project ID to which the project lock is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getSfsProjectLock.\n",
+ "properties": {
+ "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\".\n"
+ },
+ "lockId": {
+ "type": "string",
+ "description": "ID of the lock.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT Project ID to which the project lock is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "lockId",
+ "projectId",
+ "region"
+ ]
+ }
+ },
"stackit:index/getSfsResourcePool:getSfsResourcePool": {
"description": "Resource-pool datasource 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 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_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n",
"inputs": {
diff --git a/provider/go.mod b/provider/go.mod
index c8bd4fa..63a265d 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -123,7 +123,7 @@ require (
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-sdk v1.8.0 // indirect
- github.com/hashicorp/terraform-plugin-sdk/v2 v2.38.1 // indirect
+ github.com/hashicorp/terraform-plugin-sdk/v2 v2.40.0 // indirect
github.com/hashicorp/terraform-registry-address v0.4.0 // indirect
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
github.com/hashicorp/yamux v0.1.2 // indirect
@@ -195,39 +195,39 @@ require (
github.com/spf13/cobra v1.10.2 // indirect
github.com/spf13/pflag v1.0.10 // indirect
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/core v0.24.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/alb v0.12.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/authorization v0.12.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/cdn v1.13.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/certificates v1.4.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/dns v0.19.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/edge v0.8.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/git v0.11.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/kms v1.6.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.11.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logme v0.27.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logs v0.7.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.27.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.8.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.7.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.26.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/redis v0.27.3 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.20.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/scf v0.6.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.4.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sfs v0.6.3 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.6.1 // indirect
- github.com/stackitcloud/terraform-provider-stackit v0.91.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/core v0.26.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/cdn v1.15.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/edge v0.9.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/git v0.12.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/iaas v1.10.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/kms v1.7.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.12.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logs v0.8.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.8.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.7.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.22.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/scf v0.7.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.18.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/ske v1.13.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.9.1 // indirect
+ github.com/stackitcloud/terraform-provider-stackit v0.94.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
@@ -260,7 +260,7 @@ require (
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.49.0 // indirect
golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect
- golang.org/x/mod v0.34.0 // indirect
+ golang.org/x/mod v0.35.0 // indirect
golang.org/x/net v0.52.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect
golang.org/x/sync v0.20.0 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index fd75e04..4dd02bc 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -395,8 +395,8 @@ github.com/hashicorp/terraform-plugin-log v0.10.0/go.mod h1:/9RR5Cv2aAbrqcTSdNmY
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=
-github.com/hashicorp/terraform-plugin-testing v1.14.0 h1:5t4VKrjOJ0rg0sVuSJ86dz5K7PHsMO6OKrHFzDBerWA=
-github.com/hashicorp/terraform-plugin-testing v1.14.0/go.mod h1:1qfWkecyYe1Do2EEOK/5/WnTyvC8wQucUkkhiGLg5nk=
+github.com/hashicorp/terraform-plugin-testing v1.15.0 h1:/fimKyl0YgD7aAtJkuuAZjwBASXhCIwWqMbDLnKLMe4=
+github.com/hashicorp/terraform-plugin-testing v1.15.0/go.mod h1:bGXMw7bE95EiZhSBV3rM2W8TiffaPTDuLS+HFI/lIYs=
github.com/hashicorp/terraform-registry-address v0.4.0 h1:S1yCGomj30Sao4l5BMPjTGZmCNzuv7/GDTDX99E9gTk=
github.com/hashicorp/terraform-registry-address v0.4.0/go.mod h1:LRS1Ay0+mAiRkUyltGT+UHWkIqTFvigGn/LbMshfflE=
github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg=
@@ -642,72 +642,72 @@ github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.5 h1:rlaEEWYQmT
github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.5/go.mod h1:EZ5yZatO0uo7jmkG0p1U15gucMoaKJwvP73lmhTdBFc=
github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.5 h1:ctFtNsPgsd+TjmeAM/cjvqMXwRaaT83b6VzRwvdEZf8=
github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.5/go.mod h1:WRtX5YpJExVNq7XEFo5sXTYUfjxWolOVDT3ybrNoanI=
-github.com/stackitcloud/stackit-sdk-go/core v0.24.1 h1:IrG0XBlJivUpXC4Y6TE+6FeSxNPs1JQXsero0ivwh0o=
-github.com/stackitcloud/stackit-sdk-go/core v0.24.1/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.12.1 h1:RKaxAymxlyxxE0Gta3yRuQWf07LnlcX+mfGnVB96NHA=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.12.1/go.mod h1:FHkV5L9vCQha+5MX+NdMdYjQIHXcLr95+bu1FN91QOM=
-github.com/stackitcloud/stackit-sdk-go/services/authorization v0.12.0 h1:HxPgBu04j5tj6nfZ2r0l6v4VXC0/tYOGe4sA5Addra8=
-github.com/stackitcloud/stackit-sdk-go/services/authorization v0.12.0/go.mod h1:uYI9pHAA2g84jJN25ejFUxa0/JtfpPZqMDkctQ1BzJk=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.13.0 h1:iRJK2d3I2QqWp8hqhxlkCtQDNb7fwKHkik9ogmcx2o8=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.13.0/go.mod h1:URWWMIbvq4YgWdGYCbccr3eat4Y+0qRpufZsEAsvoLM=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.4.1 h1:RBY/mNR4H8Vd/7z0nky+AQNvoaZ16hvrGSuYi1YLLao=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.4.1/go.mod h1:3R/RwYdBc1s6WZNhToWs0rBDropbNRM7okOAdjY3rpU=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.19.1 h1:VfszhFq/Snsd0LnflS8PbM0d9cG98hOFpamfjlcTnDQ=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.19.1/go.mod h1:gBv6YkB3Xf3c0ZXg2GwtWY8zExwGPF/Ag114XiiERxg=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.8.0 h1:lsOTEvItzrUerCzUodyyOy6pZ4QiSzwID7U20ZvZvHw=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.8.0/go.mod h1:CfqSEGCW0b5JlijCwtUT1kfjThmQ5jXX47TWrdD5rTU=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.11.0 h1:siKBCYl7BwR5S25Y4SwUAX6eFTXSCkQ+8JIQEqyKIXo=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.11.0/go.mod h1:QKy74hhLVZKXItw3y+elF8s9QezFqpEsAUmaqvNDzYs=
-github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5 h1:W57+XRa8wTLsi5CV9Tqa7mGgt/PvlRM//RurXSmvII8=
-github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5/go.mod h1:lTWjW57eAq1bwfM6nsNinhoBr3MHFW/GaFasdAsYfDM=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.6.0 h1:WWU2LpqmazsPDgoRAVrhLzo2MiNU9dNim81z793DbBU=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.6.0/go.mod h1:FuyCm3s/Ihw+tkpVLGMXwgTtlhrijd31cUCUBWpn1p8=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.11.1 h1:8hLLCP4n9w3K3dqJaKF1PnMpX4qjR8UQL3gDr80hgDI=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.11.1/go.mod h1:vqTjmecQ4+oVWzeo9tCOUZ3TrpIIzM+C0apC7cdAD0Y=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.27.1 h1:6AaWxQNtOEvIvbtyySi5KIrNzxGbKgOayUnA3fpuqns=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.27.1/go.mod h1:qwpGNPgF7LmfodGPXcgv9uldeSSuFMNJkyD6QPqfiCI=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.7.1 h1:cuQA5dO8WSM0LBHR2FBpf+RgKH7/DE7+5NUPLxDpgPg=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.7.1/go.mod h1:di3QDHwOlpa99dXRuGLcuyDCi0A+zlMtgzYi2okQMr8=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.27.1 h1:YK2HxO+Nffe5BTt8jtWUyyES3sarjIH1GWlrqRaa4Ec=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.27.1/go.mod h1:/8x9gLPt1ZqcAtyVP3dwqKA9FtdHMn5pcy1TSS5iSSg=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.8.1 h1:qBPfWK6Xpi7eYFAZCOR4H2wkJqZMRadfAbBdJ4Qrktk=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.8.1/go.mod h1:b8L6f68HZce01y+eZ1o7KTRAkgpWhggpvakAEwnxnCs=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.7.2 h1:ymhDgp6+RXBvmi9nugaVCi3MN0q2pC62SD+Nh5nTB84=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.7.2/go.mod h1:gm7KzHv788MZ2BPimrlRk3ueV8EBN4JACg/MtotGC70=
-github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0 h1:UxnbsKm6PQV8Gudw/EhySaEh9q1xSaTG8mzJz1EvhnE=
-github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0/go.mod h1:RFL4h6JZvpsyFYbdJ3+eINEkletzJQTfrPdd+yPT/fU=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0 h1:LGwCvvST0fwUgZ6bOxYIfu45qqTgv421ZS07UhKjZL8=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0/go.mod h1:9KdrXC5JS30Ay3mR0adb3vNdhca+qxiy/cPF5P4wehQ=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.26.1 h1:AO5Np67/w0AUdhb6yk+CTXMzMkGdQPudmI8ryWp94fQ=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.26.1/go.mod h1:Reo2Nk3yiA686quUMrk0eKwzpzaAZ7KwmzHzScNdG8Q=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 h1:H67e3KnHQx954yI8fuQmxXwRf/myqAdLg2KvxImp00g=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5/go.mod h1:xmAWk9eom8wznvLuLfm0F4xyeiBX8LaggXsKFmos+dw=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.0 h1:I8NF8Q5nRj7/7qDI8Qm4oI0KCNQcOjE6kqyBdWcUoxk=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.0/go.mod h1:wk2Oz+7pxT9YF1h6elWzdlhU6V7GSQXcGixxlXxNe+U=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.27.3 h1:wZIGETPQ1aiJwzJMVjatdu/Kv+/yuKVOf5RaMWW9bpU=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.27.3/go.mod h1:jgWx29zvZP0R3tXAC/qWU5eBsPfLBJFP96mx9hwdFPM=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.20.0 h1:bT/qoghsdKvLomCay9Wj4Fu63lx0cD2zr23Fjqzgotc=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.20.0/go.mod h1:jiPIzF8lcm5Dx0TkDK2CBgeRBHSRUqwyX+z/zqo1bes=
-github.com/stackitcloud/stackit-sdk-go/services/scf v0.6.1 h1:ayfCRRVTVwFGQMfjmXaDhiLyif53ibTu7zNhUTnNh2w=
-github.com/stackitcloud/stackit-sdk-go/services/scf v0.6.1/go.mod h1:26fU2pMiIxUZ+Az5ux3vMtaVVzhK6md+lvW0s+ONVU0=
-github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 h1:3hZSg3z+4AXa5LbR2Vl38VmSA83ABItE63E53LuyWv8=
-github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3/go.mod h1:5unx5r0IgeFCtJDEgsWddtgKvYSw442FDNdhtfyJnQI=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8 h1:LLyANBzE8sQa0/49tQBqq4sVLhNgwdqCeQm76srJHWw=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8/go.mod h1:/bmg57XZu+bGczzcoumrukiGMPGzI2mOyTT4BVIQUBs=
-github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6 h1:sQ3fdtUjgIL2Ul8nRYVVacHOwi5aSMTGGbYVL30oQBU=
-github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6/go.mod h1:3fjlL+9YtuI9Oocl1ZeYIK48ImtY4DwPggFhqAygr7o=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0 h1:l1EDIlXce2C8JcbBDHVa6nZ4SjPTqmnALTgrhms+NKI=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0/go.mod h1:EXq8/J7t9p8zPmdIq+atuxyAbnQwxrQT18fI+Qpv98k=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.4.1 h1:HZnZju8yqpvRIs71PEk54Jov6p+jiKIIlN+J+4tvcL0=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.4.1/go.mod h1:wBxlGcNeQPIh1aS4xYqJuN2z6haSHRwzne6drN5ROfM=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.6.3 h1:LEdPJ6f9pbrft+HlIIzRcCQog58b7UKVm4ObiOH8H4o=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.6.3/go.mod h1:qO2+XOzLy9rRTDo3IvXJd4uZsl6d1npa2cyQvaY4/Fw=
-github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 h1:l1QjxW7sdE/6B6BZtHxbmus8XJdI9KDuXX3fwUa5fog=
-github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0/go.mod h1:1Jr+ImrmPERxbYnlTy6O2aSZYNnREf2qQyysv6YC1RY=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.6.1 h1:aUpKF2aF8WKsHawXPFnKsRlAcaHkRg6UL0sVjuQqB74=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.6.1/go.mod h1:1rYtgXQWSv0ykMZ6p7vXcmccGcwR37omNh9FMKLNwck=
-github.com/stackitcloud/terraform-provider-stackit v0.91.0 h1:/km4XO0H1/kudFF9W93/9CeN/tKOnnu3vMy5uANNn6U=
-github.com/stackitcloud/terraform-provider-stackit v0.91.0/go.mod h1:IO7GljXoPviiwb9X+JGQUxkkqGSu9E4hjdGrLhpsVfI=
+github.com/stackitcloud/stackit-sdk-go/core v0.26.0 h1:jQEb9gkehfp6VCP6TcYk7BI10cz4l0KM2L6hqYBH2QA=
+github.com/stackitcloud/stackit-sdk-go/core v0.26.0/go.mod h1:WU1hhxnjXw2EV7CYa1nlEvNpMiRY6CvmIOaHuL3pOaA=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.1 h1:hlos/aew02XKWtq1ss9EQh1UCzV1SXArYioew+WIv2M=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.1/go.mod h1:yYC61OsTtLZsrcq8l/JCI6MjvxLT4E2wMQj6LXc7prA=
+github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.1 h1:TtpVXxgCJ17AqSOIzooQru/H3QnC4Z2VIF7HbaeKeJs=
+github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.1/go.mod h1:c9JimEdshtcIHAI2j2N388ybW+InO1fvYPvL6rxb2uY=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.15.0 h1:yn9PGMZ9kqiPwTspaB0/Ko5/NR3FtvBYaQiT36oRfDQ=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.15.0/go.mod h1:KgZkrMEC4e46GRnnAZNpXNfEFPt43dn4yCu7EtPK3rE=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.1 h1:ZzC6Ds40ooXZRgyAAeKCI508X+/rs7rbn0cTt7k9sKk=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.1/go.mod h1:b4h5WDcL6FKzbonAmmQkHCAcFhXDr9GQuxEzVlNe9Vo=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 h1:nMJRg1dKioOlMwXJnZZgIRwfTWYCksVA9GyfAVmib1g=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.9.1 h1:6jFXUq9psx6gEAkowSpNxrdQ4gq6sXD6/wkzhBQZDZo=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.9.1/go.mod h1:JzYuE14U8aSLDJaqMdJVjdiwzPqhbeAqJXVqcXEuE0I=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.12.2 h1:SOqbdC5hvjJRMUWEbYyWe61xPIgUtVp9dnkzkavVmzw=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.12.2/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM=
+github.com/stackitcloud/stackit-sdk-go/services/iaas v1.10.2 h1:UXW2OtgflJPN+58W7tX27CbJdpXg03RxM39DwXSrW5s=
+github.com/stackitcloud/stackit-sdk-go/services/iaas v1.10.2/go.mod h1:OgVH92wVTVQwkUSvrgFaSkmbLM1XEA2UYGP+oLEaLMA=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.7.2 h1:IzEWlJ/JtAHRRdCikxABkX55s63QGC0wp3tFtwq+oCI=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.7.2/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.12.1 h1:aKIKKPdYEAw09ivHlXBVJdqXJax1eWPEe0oXkd8J/Zk=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.12.1/go.mod h1:glY8R+mlF4JlUd00z7dxyv/LTgdgqrJ11TVx7yCfJyw=
+github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2 h1:vpm7au3Asqn3F5NwqKZjoYq4p8lSGuxIbajvFvIZ1YU=
+github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.8.2 h1:Y1YrwN0zqBPBth/69FPnkWiWgZycg4PUdjUs8cAZ7i4=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.8.2/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2 h1:V1NyFrmtUlikjS5Zl1ml14++G7lvlEBTfF+v48cchwg=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 h1:JKQj6wvlUuXhGd4/qw2nsNcXbkmtgAYzniqTg7q4Gvw=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 h1:QW//diMedJX1o4HQV+NSWT3we7Xlly+ReWcaQqwwG90=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
+github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.8.2 h1:H0ImuBpUZRpRf08Pafx9sU74wiTIdjFpiW4BiOYJx10=
+github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.8.2/go.mod h1:QsPtoqAYvumyPU6ToX/5j1PbudN+VSTuvh6mp154ecM=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2 h1:iHcHPaRFpVaXXio0uuVkPtbnEHwClKioFdn9W72ZmYU=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 h1:2BH61+gyc2Jq4stX3L731JIb6VKK8JJcx4c1h+esPPo=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.7.2 h1:VIekoX8eCvSgO9HEr4j+z5SKApN2DgfXudSt02zU6Is=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.7.2/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2 h1:p+B3NbuH27Dmi5iM88b/YHXd0fcI3Bc81AsRTOjIK6U=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
+github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 h1:9s8yUxXEORj/ChLLf5vGdjmMC3PhDlYRIVd4v23Uavg=
+github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2/go.mod h1:yjej6QfYoYdRIyKXlmbVz8fZYxbuUdl+QBkvLDPgA4k=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.22.1 h1:J7EqPLrdfEWhEw5bH3StHbKtrSwJ6Gdjw5RwzsHXGf0=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.22.1/go.mod h1:hczoIYoLKu7vL+iunL1AlhQ2MqQXckPlqiozrqdZrWQ=
+github.com/stackitcloud/stackit-sdk-go/services/scf v0.7.1 h1:bXorYZgdx9W6GLunvU+VPaOITp4BNRuyOuwbPVpTlVo=
+github.com/stackitcloud/stackit-sdk-go/services/scf v0.7.1/go.mod h1:Q2BlJ3Y/JEndson0E/GFQN5v3b0vQak71csYFyuOzUs=
+github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 h1:U5rstX5e6Am2t+Ukv5K1Sbftzxt5aFALMa9YS4jCJoo=
+github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1/go.mod h1:2XA8PE05Qg6BL2YXO4XgfGI9qskJ3cicLE5Qq0aqDdY=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 h1:NCGehrXvtpFaeH85fU1DWisf3+IgqoGUERY70UfwTUU=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2/go.mod h1:BJeafbecuocdirGCAJ2Vz/rPSK/LRrB5lPBEacqd1eU=
+github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 h1:6C/iTPoYPCrZOc3JMmvyDNs4hm+JR5p9O3DIfFGgnbo=
+github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2/go.mod h1:/OHYZXQb9KXDdZK5J9C2YS6DJUD2i6ednZ1rK7zpDZ0=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.18.1 h1:T/5murYRgKIuieEY4PvLM0WipaSD2MsyR1VuQoKt+MQ=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.18.1/go.mod h1:D8P9ZhWfXRE8gNQKUae9pyZGpskS949ezR7QQIGAMp8=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.1 h1:Q/0UVLpcYJ+Sye5FWnASMyxmkXw7mPk5i5QFc+me5UU=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.1/go.mod h1:DaAUnOHgpL2tX0dejQzW/1b/sFxFhbnIx4PhjY+YuyA=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0 h1:JWAFnskRbNKT8x62pZcAMCC+p5hyTEkAyxqFwy39jFA=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
+github.com/stackitcloud/stackit-sdk-go/services/ske v1.13.0 h1:CSzqycERxxLsB/x6CJUPqTyqrwiQ6WG23XPlal3Szh0=
+github.com/stackitcloud/stackit-sdk-go/services/ske v1.13.0/go.mod h1:Pvzgr+UTnWXlRVhiq2eigcLFIBwfgyviy8m4DLMgI0E=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.9.1 h1:wPqWAZX70u2VWIU0PCNhayff8OmGTpI4dZ7VkROwqco=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.9.1/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
+github.com/stackitcloud/terraform-provider-stackit v0.94.0 h1:zE+gTOkzz+3ozjJxMRznKk5x7NegDGJe4SC/6vqz/BU=
+github.com/stackitcloud/terraform-provider-stackit v0.94.0/go.mod h1:7m8lkTFUP6PbVgCvjXT+2kr742jbJiq5DEcfT0/+w98=
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=
@@ -849,8 +849,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.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI=
-golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY=
+golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM=
+golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU=
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=
diff --git a/provider/shim/go.mod b/provider/shim/go.mod
index dac9925..fc1e253 100644
--- a/provider/shim/go.mod
+++ b/provider/shim/go.mod
@@ -2,19 +2,18 @@ module github.com/stackitcloud/pulumi-stackit/provider/shim
go 1.26.0
-require github.com/stackitcloud/terraform-provider-stackit v0.91.0
+require github.com/stackitcloud/terraform-provider-stackit v0.94.0
require (
github.com/hashicorp/go-uuid v1.0.3 // indirect
- github.com/hashicorp/terraform-exec v0.25.0 // indirect
github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/alb v0.12.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/certificates v1.4.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/edge v0.8.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/kms v1.6.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logs v0.7.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/scf v0.6.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sfs v0.6.3 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/edge v0.9.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/kms v1.7.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logs v0.8.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/scf v0.7.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect
google.golang.org/grpc v1.80.0 // indirect
)
@@ -33,34 +32,34 @@ require (
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
- github.com/stackitcloud/stackit-sdk-go/core v0.24.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/authorization v0.12.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/cdn v1.13.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/dns v0.19.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/git v0.11.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.11.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logme v0.27.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.27.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.8.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.7.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.26.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/redis v0.27.3 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.20.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.4.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.6.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/core v0.26.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/cdn v1.15.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/git v0.12.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/iaas v1.10.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.12.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.8.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.7.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.22.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.18.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/ske v1.13.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.9.1 // 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.34.0 // indirect
+ golang.org/x/mod v0.35.0 // indirect
golang.org/x/sys v0.42.0 // indirect
)
diff --git a/provider/shim/go.sum b/provider/shim/go.sum
index f437e95..6c93e49 100644
--- a/provider/shim/go.sum
+++ b/provider/shim/go.sum
@@ -42,18 +42,21 @@ github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGb
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/terraform-exec v0.25.0 h1:Bkt6m3VkJqYh+laFMrWIpy9KHYFITpOyzRMNI35rNaY=
+github.com/hashicorp/terraform-exec v0.25.0/go.mod h1:dl9IwsCfklDU6I4wq9/StFDp7dNbH/h5AnfS1RmiUl8=
github.com/hashicorp/terraform-json v0.27.2 h1:BwGuzM6iUPqf9JYM/Z4AF1OJ5VVJEEzoKST/tRDBJKU=
github.com/hashicorp/terraform-plugin-framework v1.19.0 h1:q0bwyhxAOR3vfdgbk9iplv3MlTv/dhBHTXjQOtQDoBA=
+github.com/hashicorp/terraform-plugin-framework v1.19.0/go.mod h1:YRXOBu0jvs7xp4AThBbX4mAzYaMJ1JgtFH//oGKxwLc=
github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0 h1:jblRy1PkLfPm5hb5XeMa3tezusnMRziUGqtT5epSYoI=
github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0/go.mod h1:5jm2XK8uqrdiSRfD5O47OoxyGMCnwTcl8eoiDgSa+tc=
github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 h1:Zz3iGgzxe/1XBkooZCewS0nJAaCFPFPHdNJd8FgE4Ow=
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-sdk/v2 v2.38.1 h1:mlAq/OrMlg04IuJT7NpefI1wwtdpWudnEmjuQs04t/4=
-github.com/hashicorp/terraform-plugin-sdk/v2 v2.38.1/go.mod h1:GQhpKVvvuwzD79e8/NZ+xzj+ZpWovdPAe8nfV/skwNU=
-github.com/hashicorp/terraform-plugin-testing v1.14.0 h1:5t4VKrjOJ0rg0sVuSJ86dz5K7PHsMO6OKrHFzDBerWA=
+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.15.0 h1:/fimKyl0YgD7aAtJkuuAZjwBASXhCIwWqMbDLnKLMe4=
github.com/hashicorp/terraform-registry-address v0.4.0 h1:S1yCGomj30Sao4l5BMPjTGZmCNzuv7/GDTDX99E9gTk=
github.com/hashicorp/terraform-registry-address v0.4.0/go.mod h1:LRS1Ay0+mAiRkUyltGT+UHWkIqTFvigGn/LbMshfflE=
github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ=
@@ -82,72 +85,72 @@ github.com/oklog/run v1.2.0 h1:O8x3yXwah4A73hJdlrwo/2X6J62gE5qTMusH0dvz60E=
github.com/oklog/run v1.2.0/go.mod h1:mgDbKRSwPhJfesJ4PntqFUbKQRZ50NgmZTSPlFA0YFk=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
-github.com/stackitcloud/stackit-sdk-go/core v0.24.1 h1:IrG0XBlJivUpXC4Y6TE+6FeSxNPs1JQXsero0ivwh0o=
-github.com/stackitcloud/stackit-sdk-go/core v0.24.1/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.12.1 h1:RKaxAymxlyxxE0Gta3yRuQWf07LnlcX+mfGnVB96NHA=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.12.1/go.mod h1:FHkV5L9vCQha+5MX+NdMdYjQIHXcLr95+bu1FN91QOM=
-github.com/stackitcloud/stackit-sdk-go/services/authorization v0.12.0 h1:HxPgBu04j5tj6nfZ2r0l6v4VXC0/tYOGe4sA5Addra8=
-github.com/stackitcloud/stackit-sdk-go/services/authorization v0.12.0/go.mod h1:uYI9pHAA2g84jJN25ejFUxa0/JtfpPZqMDkctQ1BzJk=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.13.0 h1:iRJK2d3I2QqWp8hqhxlkCtQDNb7fwKHkik9ogmcx2o8=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.13.0/go.mod h1:URWWMIbvq4YgWdGYCbccr3eat4Y+0qRpufZsEAsvoLM=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.4.1 h1:RBY/mNR4H8Vd/7z0nky+AQNvoaZ16hvrGSuYi1YLLao=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.4.1/go.mod h1:3R/RwYdBc1s6WZNhToWs0rBDropbNRM7okOAdjY3rpU=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.19.1 h1:VfszhFq/Snsd0LnflS8PbM0d9cG98hOFpamfjlcTnDQ=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.19.1/go.mod h1:gBv6YkB3Xf3c0ZXg2GwtWY8zExwGPF/Ag114XiiERxg=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.8.0 h1:lsOTEvItzrUerCzUodyyOy6pZ4QiSzwID7U20ZvZvHw=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.8.0/go.mod h1:CfqSEGCW0b5JlijCwtUT1kfjThmQ5jXX47TWrdD5rTU=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.11.0 h1:siKBCYl7BwR5S25Y4SwUAX6eFTXSCkQ+8JIQEqyKIXo=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.11.0/go.mod h1:QKy74hhLVZKXItw3y+elF8s9QezFqpEsAUmaqvNDzYs=
-github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5 h1:W57+XRa8wTLsi5CV9Tqa7mGgt/PvlRM//RurXSmvII8=
-github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5/go.mod h1:lTWjW57eAq1bwfM6nsNinhoBr3MHFW/GaFasdAsYfDM=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.6.0 h1:WWU2LpqmazsPDgoRAVrhLzo2MiNU9dNim81z793DbBU=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.6.0/go.mod h1:FuyCm3s/Ihw+tkpVLGMXwgTtlhrijd31cUCUBWpn1p8=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.11.1 h1:8hLLCP4n9w3K3dqJaKF1PnMpX4qjR8UQL3gDr80hgDI=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.11.1/go.mod h1:vqTjmecQ4+oVWzeo9tCOUZ3TrpIIzM+C0apC7cdAD0Y=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.27.1 h1:6AaWxQNtOEvIvbtyySi5KIrNzxGbKgOayUnA3fpuqns=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.27.1/go.mod h1:qwpGNPgF7LmfodGPXcgv9uldeSSuFMNJkyD6QPqfiCI=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.7.1 h1:cuQA5dO8WSM0LBHR2FBpf+RgKH7/DE7+5NUPLxDpgPg=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.7.1/go.mod h1:di3QDHwOlpa99dXRuGLcuyDCi0A+zlMtgzYi2okQMr8=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.27.1 h1:YK2HxO+Nffe5BTt8jtWUyyES3sarjIH1GWlrqRaa4Ec=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.27.1/go.mod h1:/8x9gLPt1ZqcAtyVP3dwqKA9FtdHMn5pcy1TSS5iSSg=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.8.1 h1:qBPfWK6Xpi7eYFAZCOR4H2wkJqZMRadfAbBdJ4Qrktk=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.8.1/go.mod h1:b8L6f68HZce01y+eZ1o7KTRAkgpWhggpvakAEwnxnCs=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.7.2 h1:ymhDgp6+RXBvmi9nugaVCi3MN0q2pC62SD+Nh5nTB84=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.7.2/go.mod h1:gm7KzHv788MZ2BPimrlRk3ueV8EBN4JACg/MtotGC70=
-github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0 h1:UxnbsKm6PQV8Gudw/EhySaEh9q1xSaTG8mzJz1EvhnE=
-github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0/go.mod h1:RFL4h6JZvpsyFYbdJ3+eINEkletzJQTfrPdd+yPT/fU=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0 h1:LGwCvvST0fwUgZ6bOxYIfu45qqTgv421ZS07UhKjZL8=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0/go.mod h1:9KdrXC5JS30Ay3mR0adb3vNdhca+qxiy/cPF5P4wehQ=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.26.1 h1:AO5Np67/w0AUdhb6yk+CTXMzMkGdQPudmI8ryWp94fQ=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.26.1/go.mod h1:Reo2Nk3yiA686quUMrk0eKwzpzaAZ7KwmzHzScNdG8Q=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 h1:H67e3KnHQx954yI8fuQmxXwRf/myqAdLg2KvxImp00g=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5/go.mod h1:xmAWk9eom8wznvLuLfm0F4xyeiBX8LaggXsKFmos+dw=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.0 h1:I8NF8Q5nRj7/7qDI8Qm4oI0KCNQcOjE6kqyBdWcUoxk=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.0/go.mod h1:wk2Oz+7pxT9YF1h6elWzdlhU6V7GSQXcGixxlXxNe+U=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.27.3 h1:wZIGETPQ1aiJwzJMVjatdu/Kv+/yuKVOf5RaMWW9bpU=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.27.3/go.mod h1:jgWx29zvZP0R3tXAC/qWU5eBsPfLBJFP96mx9hwdFPM=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.20.0 h1:bT/qoghsdKvLomCay9Wj4Fu63lx0cD2zr23Fjqzgotc=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.20.0/go.mod h1:jiPIzF8lcm5Dx0TkDK2CBgeRBHSRUqwyX+z/zqo1bes=
-github.com/stackitcloud/stackit-sdk-go/services/scf v0.6.1 h1:ayfCRRVTVwFGQMfjmXaDhiLyif53ibTu7zNhUTnNh2w=
-github.com/stackitcloud/stackit-sdk-go/services/scf v0.6.1/go.mod h1:26fU2pMiIxUZ+Az5ux3vMtaVVzhK6md+lvW0s+ONVU0=
-github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 h1:3hZSg3z+4AXa5LbR2Vl38VmSA83ABItE63E53LuyWv8=
-github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3/go.mod h1:5unx5r0IgeFCtJDEgsWddtgKvYSw442FDNdhtfyJnQI=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8 h1:LLyANBzE8sQa0/49tQBqq4sVLhNgwdqCeQm76srJHWw=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8/go.mod h1:/bmg57XZu+bGczzcoumrukiGMPGzI2mOyTT4BVIQUBs=
-github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6 h1:sQ3fdtUjgIL2Ul8nRYVVacHOwi5aSMTGGbYVL30oQBU=
-github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6/go.mod h1:3fjlL+9YtuI9Oocl1ZeYIK48ImtY4DwPggFhqAygr7o=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0 h1:l1EDIlXce2C8JcbBDHVa6nZ4SjPTqmnALTgrhms+NKI=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0/go.mod h1:EXq8/J7t9p8zPmdIq+atuxyAbnQwxrQT18fI+Qpv98k=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.4.1 h1:HZnZju8yqpvRIs71PEk54Jov6p+jiKIIlN+J+4tvcL0=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.4.1/go.mod h1:wBxlGcNeQPIh1aS4xYqJuN2z6haSHRwzne6drN5ROfM=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.6.3 h1:LEdPJ6f9pbrft+HlIIzRcCQog58b7UKVm4ObiOH8H4o=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.6.3/go.mod h1:qO2+XOzLy9rRTDo3IvXJd4uZsl6d1npa2cyQvaY4/Fw=
-github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 h1:l1QjxW7sdE/6B6BZtHxbmus8XJdI9KDuXX3fwUa5fog=
-github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0/go.mod h1:1Jr+ImrmPERxbYnlTy6O2aSZYNnREf2qQyysv6YC1RY=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.6.1 h1:aUpKF2aF8WKsHawXPFnKsRlAcaHkRg6UL0sVjuQqB74=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.6.1/go.mod h1:1rYtgXQWSv0ykMZ6p7vXcmccGcwR37omNh9FMKLNwck=
-github.com/stackitcloud/terraform-provider-stackit v0.91.0 h1:/km4XO0H1/kudFF9W93/9CeN/tKOnnu3vMy5uANNn6U=
-github.com/stackitcloud/terraform-provider-stackit v0.91.0/go.mod h1:IO7GljXoPviiwb9X+JGQUxkkqGSu9E4hjdGrLhpsVfI=
+github.com/stackitcloud/stackit-sdk-go/core v0.26.0 h1:jQEb9gkehfp6VCP6TcYk7BI10cz4l0KM2L6hqYBH2QA=
+github.com/stackitcloud/stackit-sdk-go/core v0.26.0/go.mod h1:WU1hhxnjXw2EV7CYa1nlEvNpMiRY6CvmIOaHuL3pOaA=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.1 h1:hlos/aew02XKWtq1ss9EQh1UCzV1SXArYioew+WIv2M=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.1/go.mod h1:yYC61OsTtLZsrcq8l/JCI6MjvxLT4E2wMQj6LXc7prA=
+github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.1 h1:TtpVXxgCJ17AqSOIzooQru/H3QnC4Z2VIF7HbaeKeJs=
+github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.1/go.mod h1:c9JimEdshtcIHAI2j2N388ybW+InO1fvYPvL6rxb2uY=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.15.0 h1:yn9PGMZ9kqiPwTspaB0/Ko5/NR3FtvBYaQiT36oRfDQ=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.15.0/go.mod h1:KgZkrMEC4e46GRnnAZNpXNfEFPt43dn4yCu7EtPK3rE=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.1 h1:ZzC6Ds40ooXZRgyAAeKCI508X+/rs7rbn0cTt7k9sKk=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.1/go.mod h1:b4h5WDcL6FKzbonAmmQkHCAcFhXDr9GQuxEzVlNe9Vo=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 h1:nMJRg1dKioOlMwXJnZZgIRwfTWYCksVA9GyfAVmib1g=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.9.1 h1:6jFXUq9psx6gEAkowSpNxrdQ4gq6sXD6/wkzhBQZDZo=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.9.1/go.mod h1:JzYuE14U8aSLDJaqMdJVjdiwzPqhbeAqJXVqcXEuE0I=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.12.2 h1:SOqbdC5hvjJRMUWEbYyWe61xPIgUtVp9dnkzkavVmzw=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.12.2/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM=
+github.com/stackitcloud/stackit-sdk-go/services/iaas v1.10.2 h1:UXW2OtgflJPN+58W7tX27CbJdpXg03RxM39DwXSrW5s=
+github.com/stackitcloud/stackit-sdk-go/services/iaas v1.10.2/go.mod h1:OgVH92wVTVQwkUSvrgFaSkmbLM1XEA2UYGP+oLEaLMA=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.7.2 h1:IzEWlJ/JtAHRRdCikxABkX55s63QGC0wp3tFtwq+oCI=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.7.2/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.12.1 h1:aKIKKPdYEAw09ivHlXBVJdqXJax1eWPEe0oXkd8J/Zk=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.12.1/go.mod h1:glY8R+mlF4JlUd00z7dxyv/LTgdgqrJ11TVx7yCfJyw=
+github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2 h1:vpm7au3Asqn3F5NwqKZjoYq4p8lSGuxIbajvFvIZ1YU=
+github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.8.2 h1:Y1YrwN0zqBPBth/69FPnkWiWgZycg4PUdjUs8cAZ7i4=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.8.2/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2 h1:V1NyFrmtUlikjS5Zl1ml14++G7lvlEBTfF+v48cchwg=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 h1:JKQj6wvlUuXhGd4/qw2nsNcXbkmtgAYzniqTg7q4Gvw=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 h1:QW//diMedJX1o4HQV+NSWT3we7Xlly+ReWcaQqwwG90=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
+github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.8.2 h1:H0ImuBpUZRpRf08Pafx9sU74wiTIdjFpiW4BiOYJx10=
+github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.8.2/go.mod h1:QsPtoqAYvumyPU6ToX/5j1PbudN+VSTuvh6mp154ecM=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2 h1:iHcHPaRFpVaXXio0uuVkPtbnEHwClKioFdn9W72ZmYU=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 h1:2BH61+gyc2Jq4stX3L731JIb6VKK8JJcx4c1h+esPPo=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.7.2 h1:VIekoX8eCvSgO9HEr4j+z5SKApN2DgfXudSt02zU6Is=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.7.2/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2 h1:p+B3NbuH27Dmi5iM88b/YHXd0fcI3Bc81AsRTOjIK6U=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
+github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 h1:9s8yUxXEORj/ChLLf5vGdjmMC3PhDlYRIVd4v23Uavg=
+github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2/go.mod h1:yjej6QfYoYdRIyKXlmbVz8fZYxbuUdl+QBkvLDPgA4k=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.22.1 h1:J7EqPLrdfEWhEw5bH3StHbKtrSwJ6Gdjw5RwzsHXGf0=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.22.1/go.mod h1:hczoIYoLKu7vL+iunL1AlhQ2MqQXckPlqiozrqdZrWQ=
+github.com/stackitcloud/stackit-sdk-go/services/scf v0.7.1 h1:bXorYZgdx9W6GLunvU+VPaOITp4BNRuyOuwbPVpTlVo=
+github.com/stackitcloud/stackit-sdk-go/services/scf v0.7.1/go.mod h1:Q2BlJ3Y/JEndson0E/GFQN5v3b0vQak71csYFyuOzUs=
+github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 h1:U5rstX5e6Am2t+Ukv5K1Sbftzxt5aFALMa9YS4jCJoo=
+github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1/go.mod h1:2XA8PE05Qg6BL2YXO4XgfGI9qskJ3cicLE5Qq0aqDdY=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 h1:NCGehrXvtpFaeH85fU1DWisf3+IgqoGUERY70UfwTUU=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2/go.mod h1:BJeafbecuocdirGCAJ2Vz/rPSK/LRrB5lPBEacqd1eU=
+github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 h1:6C/iTPoYPCrZOc3JMmvyDNs4hm+JR5p9O3DIfFGgnbo=
+github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2/go.mod h1:/OHYZXQb9KXDdZK5J9C2YS6DJUD2i6ednZ1rK7zpDZ0=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.18.1 h1:T/5murYRgKIuieEY4PvLM0WipaSD2MsyR1VuQoKt+MQ=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.18.1/go.mod h1:D8P9ZhWfXRE8gNQKUae9pyZGpskS949ezR7QQIGAMp8=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.1 h1:Q/0UVLpcYJ+Sye5FWnASMyxmkXw7mPk5i5QFc+me5UU=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.1/go.mod h1:DaAUnOHgpL2tX0dejQzW/1b/sFxFhbnIx4PhjY+YuyA=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0 h1:JWAFnskRbNKT8x62pZcAMCC+p5hyTEkAyxqFwy39jFA=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
+github.com/stackitcloud/stackit-sdk-go/services/ske v1.13.0 h1:CSzqycERxxLsB/x6CJUPqTyqrwiQ6WG23XPlal3Szh0=
+github.com/stackitcloud/stackit-sdk-go/services/ske v1.13.0/go.mod h1:Pvzgr+UTnWXlRVhiq2eigcLFIBwfgyviy8m4DLMgI0E=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.9.1 h1:wPqWAZX70u2VWIU0PCNhayff8OmGTpI4dZ7VkROwqco=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.9.1/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
+github.com/stackitcloud/terraform-provider-stackit v0.94.0 h1:zE+gTOkzz+3ozjJxMRznKk5x7NegDGJe4SC/6vqz/BU=
+github.com/stackitcloud/terraform-provider-stackit v0.94.0/go.mod h1:7m8lkTFUP6PbVgCvjXT+2kr742jbJiq5DEcfT0/+w98=
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=
@@ -164,8 +167,8 @@ github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0
github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U=
golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
-golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI=
-golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY=
+golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM=
+golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU=
golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0=
golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw=
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
@@ -185,7 +188,9 @@ golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0
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-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM=
+google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/sdk/dotnet/AuthorizationFolderCustomRole.cs b/sdk/dotnet/AuthorizationFolderCustomRole.cs
new file mode 100644
index 0000000..6b6ddc5
--- /dev/null
+++ b/sdk/dotnet/AuthorizationFolderCustomRole.cs
@@ -0,0 +1,176 @@
+// *** 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
+{
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ [StackitResourceType("stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole")]
+ public partial class AuthorizationFolderCustomRole : global::Pulumi.CustomResource
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ [Output("description")]
+ public Output Description { get; private set; } = null!;
+
+ ///
+ /// Name of the role
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// Permissions for the role
+ ///
+ [Output("permissions")]
+ public Output> Permissions { get; private set; } = null!;
+
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Output("resourceId")]
+ public Output ResourceId { get; private set; } = null!;
+
+ ///
+ /// The ID of the role.
+ ///
+ [Output("roleId")]
+ public Output RoleId { get; private set; } = null!;
+
+
+ ///
+ /// Create a AuthorizationFolderCustomRole 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 AuthorizationFolderCustomRole(string name, AuthorizationFolderCustomRoleArgs args, CustomResourceOptions? options = null)
+ : base("stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole", name, args ?? new AuthorizationFolderCustomRoleArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private AuthorizationFolderCustomRole(string name, Input id, AuthorizationFolderCustomRoleState? state = null, CustomResourceOptions? options = null)
+ : base("stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole", 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 AuthorizationFolderCustomRole 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 AuthorizationFolderCustomRole Get(string name, Input id, AuthorizationFolderCustomRoleState? state = null, CustomResourceOptions? options = null)
+ {
+ return new AuthorizationFolderCustomRole(name, id, state, options);
+ }
+ }
+
+ public sealed class AuthorizationFolderCustomRoleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ [Input("description", required: true)]
+ public Input Description { get; set; } = null!;
+
+ ///
+ /// Name of the role
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("permissions", required: true)]
+ private InputList? _permissions;
+
+ ///
+ /// Permissions for the role
+ ///
+ public InputList Permissions
+ {
+ get => _permissions ?? (_permissions = new InputList());
+ set => _permissions = value;
+ }
+
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ public AuthorizationFolderCustomRoleArgs()
+ {
+ }
+ public static new AuthorizationFolderCustomRoleArgs Empty => new AuthorizationFolderCustomRoleArgs();
+ }
+
+ public sealed class AuthorizationFolderCustomRoleState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ [Input("description")]
+ public Input? Description { get; set; }
+
+ ///
+ /// Name of the role
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("permissions")]
+ private InputList? _permissions;
+
+ ///
+ /// Permissions for the role
+ ///
+ public InputList Permissions
+ {
+ get => _permissions ?? (_permissions = new InputList());
+ set => _permissions = value;
+ }
+
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId")]
+ public Input? ResourceId { get; set; }
+
+ ///
+ /// The ID of the role.
+ ///
+ [Input("roleId")]
+ public Input? RoleId { get; set; }
+
+ public AuthorizationFolderCustomRoleState()
+ {
+ }
+ public static new AuthorizationFolderCustomRoleState Empty => new AuthorizationFolderCustomRoleState();
+ }
+}
diff --git a/sdk/dotnet/AuthorizationOrganizationCustomRole.cs b/sdk/dotnet/AuthorizationOrganizationCustomRole.cs
new file mode 100644
index 0000000..73224e1
--- /dev/null
+++ b/sdk/dotnet/AuthorizationOrganizationCustomRole.cs
@@ -0,0 +1,176 @@
+// *** 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
+{
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ [StackitResourceType("stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole")]
+ public partial class AuthorizationOrganizationCustomRole : global::Pulumi.CustomResource
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ [Output("description")]
+ public Output Description { get; private set; } = null!;
+
+ ///
+ /// Name of the role
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// Permissions for the role
+ ///
+ [Output("permissions")]
+ public Output> Permissions { get; private set; } = null!;
+
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Output("resourceId")]
+ public Output ResourceId { get; private set; } = null!;
+
+ ///
+ /// The ID of the role.
+ ///
+ [Output("roleId")]
+ public Output RoleId { get; private set; } = null!;
+
+
+ ///
+ /// Create a AuthorizationOrganizationCustomRole 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 AuthorizationOrganizationCustomRole(string name, AuthorizationOrganizationCustomRoleArgs args, CustomResourceOptions? options = null)
+ : base("stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole", name, args ?? new AuthorizationOrganizationCustomRoleArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private AuthorizationOrganizationCustomRole(string name, Input id, AuthorizationOrganizationCustomRoleState? state = null, CustomResourceOptions? options = null)
+ : base("stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole", 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 AuthorizationOrganizationCustomRole 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 AuthorizationOrganizationCustomRole Get(string name, Input id, AuthorizationOrganizationCustomRoleState? state = null, CustomResourceOptions? options = null)
+ {
+ return new AuthorizationOrganizationCustomRole(name, id, state, options);
+ }
+ }
+
+ public sealed class AuthorizationOrganizationCustomRoleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ [Input("description", required: true)]
+ public Input Description { get; set; } = null!;
+
+ ///
+ /// Name of the role
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("permissions", required: true)]
+ private InputList? _permissions;
+
+ ///
+ /// Permissions for the role
+ ///
+ public InputList Permissions
+ {
+ get => _permissions ?? (_permissions = new InputList());
+ set => _permissions = value;
+ }
+
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ public AuthorizationOrganizationCustomRoleArgs()
+ {
+ }
+ public static new AuthorizationOrganizationCustomRoleArgs Empty => new AuthorizationOrganizationCustomRoleArgs();
+ }
+
+ public sealed class AuthorizationOrganizationCustomRoleState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ [Input("description")]
+ public Input? Description { get; set; }
+
+ ///
+ /// Name of the role
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ [Input("permissions")]
+ private InputList? _permissions;
+
+ ///
+ /// Permissions for the role
+ ///
+ public InputList Permissions
+ {
+ get => _permissions ?? (_permissions = new InputList());
+ set => _permissions = value;
+ }
+
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId")]
+ public Input? ResourceId { get; set; }
+
+ ///
+ /// The ID of the role.
+ ///
+ [Input("roleId")]
+ public Input? RoleId { get; set; }
+
+ public AuthorizationOrganizationCustomRoleState()
+ {
+ }
+ public static new AuthorizationOrganizationCustomRoleState Empty => new AuthorizationOrganizationCustomRoleState();
+ }
+}
diff --git a/sdk/dotnet/GetAuthorizationFolderCustomRole.cs b/sdk/dotnet/GetAuthorizationFolderCustomRole.cs
new file mode 100644
index 0000000..7b416c8
--- /dev/null
+++ b/sdk/dotnet/GetAuthorizationFolderCustomRole.cs
@@ -0,0 +1,152 @@
+// *** 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 GetAuthorizationFolderCustomRole
+ {
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_authorization_folder_custom_role" "example" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetAuthorizationFolderCustomRoleArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", args ?? new GetAuthorizationFolderCustomRoleArgs(), options.WithDefaults());
+
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_authorization_folder_custom_role" "example" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetAuthorizationFolderCustomRoleInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", args ?? new GetAuthorizationFolderCustomRoleInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_authorization_folder_custom_role" "example" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetAuthorizationFolderCustomRoleInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", args ?? new GetAuthorizationFolderCustomRoleInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetAuthorizationFolderCustomRoleArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId", required: true)]
+ public string ResourceId { get; set; } = null!;
+
+ ///
+ /// The ID of the role.
+ ///
+ [Input("roleId", required: true)]
+ public string RoleId { get; set; } = null!;
+
+ public GetAuthorizationFolderCustomRoleArgs()
+ {
+ }
+ public static new GetAuthorizationFolderCustomRoleArgs Empty => new GetAuthorizationFolderCustomRoleArgs();
+ }
+
+ public sealed class GetAuthorizationFolderCustomRoleInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ ///
+ /// The ID of the role.
+ ///
+ [Input("roleId", required: true)]
+ public Input RoleId { get; set; } = null!;
+
+ public GetAuthorizationFolderCustomRoleInvokeArgs()
+ {
+ }
+ public static new GetAuthorizationFolderCustomRoleInvokeArgs Empty => new GetAuthorizationFolderCustomRoleInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetAuthorizationFolderCustomRoleResult
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ public readonly string Description;
+ ///
+ /// Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+ ///
+ public readonly string Id;
+ ///
+ /// Name of the role
+ ///
+ public readonly string Name;
+ ///
+ /// Permissions for the role
+ ///
+ public readonly ImmutableArray Permissions;
+ ///
+ /// Resource to add the custom role to.
+ ///
+ public readonly string ResourceId;
+ ///
+ /// The ID of the role.
+ ///
+ public readonly string RoleId;
+
+ [OutputConstructor]
+ private GetAuthorizationFolderCustomRoleResult(
+ string description,
+
+ string id,
+
+ string name,
+
+ ImmutableArray permissions,
+
+ string resourceId,
+
+ string roleId)
+ {
+ Description = description;
+ Id = id;
+ Name = name;
+ Permissions = permissions;
+ ResourceId = resourceId;
+ RoleId = roleId;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs b/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs
new file mode 100644
index 0000000..b6cbf3d
--- /dev/null
+++ b/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs
@@ -0,0 +1,152 @@
+// *** 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 GetAuthorizationOrganizationCustomRole
+ {
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_authorization_organization_custom_role" "example" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetAuthorizationOrganizationCustomRoleArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", args ?? new GetAuthorizationOrganizationCustomRoleArgs(), options.WithDefaults());
+
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_authorization_organization_custom_role" "example" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetAuthorizationOrganizationCustomRoleInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", args ?? new GetAuthorizationOrganizationCustomRoleInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Custom Role resource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_authorization_organization_custom_role" "example" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetAuthorizationOrganizationCustomRoleInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", args ?? new GetAuthorizationOrganizationCustomRoleInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetAuthorizationOrganizationCustomRoleArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId", required: true)]
+ public string ResourceId { get; set; } = null!;
+
+ ///
+ /// The ID of the role.
+ ///
+ [Input("roleId", required: true)]
+ public string RoleId { get; set; } = null!;
+
+ public GetAuthorizationOrganizationCustomRoleArgs()
+ {
+ }
+ public static new GetAuthorizationOrganizationCustomRoleArgs Empty => new GetAuthorizationOrganizationCustomRoleArgs();
+ }
+
+ public sealed class GetAuthorizationOrganizationCustomRoleInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Resource to add the custom role to.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ ///
+ /// The ID of the role.
+ ///
+ [Input("roleId", required: true)]
+ public Input RoleId { get; set; } = null!;
+
+ public GetAuthorizationOrganizationCustomRoleInvokeArgs()
+ {
+ }
+ public static new GetAuthorizationOrganizationCustomRoleInvokeArgs Empty => new GetAuthorizationOrganizationCustomRoleInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetAuthorizationOrganizationCustomRoleResult
+ {
+ ///
+ /// A human readable description of the role.
+ ///
+ public readonly string Description;
+ ///
+ /// Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+ ///
+ public readonly string Id;
+ ///
+ /// Name of the role
+ ///
+ public readonly string Name;
+ ///
+ /// Permissions for the role
+ ///
+ public readonly ImmutableArray Permissions;
+ ///
+ /// Resource to add the custom role to.
+ ///
+ public readonly string ResourceId;
+ ///
+ /// The ID of the role.
+ ///
+ public readonly string RoleId;
+
+ [OutputConstructor]
+ private GetAuthorizationOrganizationCustomRoleResult(
+ string description,
+
+ string id,
+
+ string name,
+
+ ImmutableArray permissions,
+
+ string resourceId,
+
+ string roleId)
+ {
+ Description = description;
+ Id = id;
+ Name = name;
+ Permissions = permissions;
+ ResourceId = resourceId;
+ RoleId = roleId;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetAuthorizationProjectCustomRole.cs b/sdk/dotnet/GetAuthorizationProjectCustomRole.cs
index 8b8f6ee..f96185e 100644
--- a/sdk/dotnet/GetAuthorizationProjectCustomRole.cs
+++ b/sdk/dotnet/GetAuthorizationProjectCustomRole.cs
@@ -18,8 +18,8 @@ public static class GetAuthorizationProjectCustomRole
///
/// ```terraform
/// data "stackit_authorization_project_custom_role" "example" {
- /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
- /// name = "my.custom.role"
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
/// }
/// ```
///
@@ -33,8 +33,8 @@ public static Task InvokeAsync(GetAutho
///
/// ```terraform
/// data "stackit_authorization_project_custom_role" "example" {
- /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
- /// name = "my.custom.role"
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
/// }
/// ```
///
@@ -48,8 +48,8 @@ public static Output Invoke(GetAuthoriz
///
/// ```terraform
/// data "stackit_authorization_project_custom_role" "example" {
- /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
- /// name = "my.custom.role"
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "my.custom.role"
/// }
/// ```
///
diff --git a/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs b/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs
new file mode 100644
index 0000000..73cc9a1
--- /dev/null
+++ b/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs
@@ -0,0 +1,141 @@
+// *** 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 GetSecretsmanagerInstanceRoleBindingsV1
+ {
+ ///
+ /// IAM role binding datasource schema.
+ ///
+ /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_secretsmanager_instance_role_bindings_v1" "role_binding" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetSecretsmanagerInstanceRoleBindingsV1Args args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", args ?? new GetSecretsmanagerInstanceRoleBindingsV1Args(), options.WithDefaults());
+
+ ///
+ /// IAM role binding datasource schema.
+ ///
+ /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_secretsmanager_instance_role_bindings_v1" "role_binding" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", args ?? new GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs(), options.WithDefaults());
+
+ ///
+ /// IAM role binding datasource schema.
+ ///
+ /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_secretsmanager_instance_role_bindings_v1" "role_binding" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", args ?? new GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetSecretsmanagerInstanceRoleBindingsV1Args : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to get the role bindings for.
+ ///
+ [Input("resourceId", required: true)]
+ public string ResourceId { get; set; } = null!;
+
+ public GetSecretsmanagerInstanceRoleBindingsV1Args()
+ {
+ }
+ public static new GetSecretsmanagerInstanceRoleBindingsV1Args Empty => new GetSecretsmanagerInstanceRoleBindingsV1Args();
+ }
+
+ public sealed class GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to get the role bindings for.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ public GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs()
+ {
+ }
+ public static new GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs Empty => new GetSecretsmanagerInstanceRoleBindingsV1InvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetSecretsmanagerInstanceRoleBindingsV1Result
+ {
+ ///
+ /// Terraform's internal resource identifier. It is structured as "`Region`,`ResourceId`".
+ ///
+ public readonly string Id;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+ ///
+ /// The identifier of the resource to get the role bindings for.
+ ///
+ public readonly string ResourceId;
+ ///
+ /// List of role bindings.
+ ///
+ public readonly ImmutableArray RoleBindings;
+
+ [OutputConstructor]
+ private GetSecretsmanagerInstanceRoleBindingsV1Result(
+ string id,
+
+ string? region,
+
+ string resourceId,
+
+ ImmutableArray roleBindings)
+ {
+ Id = id;
+ Region = region;
+ ResourceId = resourceId;
+ RoleBindings = roleBindings;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs b/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs
new file mode 100644
index 0000000..c193f3d
--- /dev/null
+++ b/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs
@@ -0,0 +1,141 @@
+// *** 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 GetSecretsmanagerSecretGroupRoleBindingsV1
+ {
+ ///
+ /// IAM role binding datasource schema.
+ ///
+ /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_secretsmanager_secret_group_role_bindings_v1" "role_binding" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetSecretsmanagerSecretGroupRoleBindingsV1Args args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", args ?? new GetSecretsmanagerSecretGroupRoleBindingsV1Args(), options.WithDefaults());
+
+ ///
+ /// IAM role binding datasource schema.
+ ///
+ /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_secretsmanager_secret_group_role_bindings_v1" "role_binding" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", args ?? new GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs(), options.WithDefaults());
+
+ ///
+ /// IAM role binding datasource schema.
+ ///
+ /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_secretsmanager_secret_group_role_bindings_v1" "role_binding" {
+ /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", args ?? new GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetSecretsmanagerSecretGroupRoleBindingsV1Args : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to get the role bindings for.
+ ///
+ [Input("resourceId", required: true)]
+ public string ResourceId { get; set; } = null!;
+
+ public GetSecretsmanagerSecretGroupRoleBindingsV1Args()
+ {
+ }
+ public static new GetSecretsmanagerSecretGroupRoleBindingsV1Args Empty => new GetSecretsmanagerSecretGroupRoleBindingsV1Args();
+ }
+
+ public sealed class GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to get the role bindings for.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ public GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs()
+ {
+ }
+ public static new GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs Empty => new GetSecretsmanagerSecretGroupRoleBindingsV1InvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetSecretsmanagerSecretGroupRoleBindingsV1Result
+ {
+ ///
+ /// Terraform's internal resource identifier. It is structured as "`Region`,`ResourceId`".
+ ///
+ public readonly string Id;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+ ///
+ /// The identifier of the resource to get the role bindings for.
+ ///
+ public readonly string ResourceId;
+ ///
+ /// List of role bindings.
+ ///
+ public readonly ImmutableArray RoleBindings;
+
+ [OutputConstructor]
+ private GetSecretsmanagerSecretGroupRoleBindingsV1Result(
+ string id,
+
+ string? region,
+
+ string resourceId,
+
+ ImmutableArray roleBindings)
+ {
+ Id = id;
+ Region = region;
+ ResourceId = resourceId;
+ RoleBindings = roleBindings;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetSfsProjectLock.cs b/sdk/dotnet/GetSfsProjectLock.cs
new file mode 100644
index 0000000..12cab2f
--- /dev/null
+++ b/sdk/dotnet/GetSfsProjectLock.cs
@@ -0,0 +1,135 @@
+// *** 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 GetSfsProjectLock
+ {
+ ///
+ /// SFS project lock resource schema. Must have a `Region` specified in the provider configuration. Always use only one project lock per project.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_sfs_project_lock" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetSfsProjectLockArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSfsProjectLock:getSfsProjectLock", args ?? new GetSfsProjectLockArgs(), options.WithDefaults());
+
+ ///
+ /// SFS project lock resource schema. Must have a `Region` specified in the provider configuration. Always use only one project lock per project.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_sfs_project_lock" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetSfsProjectLockInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsProjectLock:getSfsProjectLock", args ?? new GetSfsProjectLockInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// SFS project lock resource schema. Must have a `Region` specified in the provider configuration. Always use only one project lock per project.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_sfs_project_lock" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetSfsProjectLockInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsProjectLock:getSfsProjectLock", args ?? new GetSfsProjectLockInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetSfsProjectLockArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// STACKIT Project ID to which the project lock is associated.
+ ///
+ [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 GetSfsProjectLockArgs()
+ {
+ }
+ public static new GetSfsProjectLockArgs Empty => new GetSfsProjectLockArgs();
+ }
+
+ public sealed class GetSfsProjectLockInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// STACKIT Project ID to which the project lock is associated.
+ ///
+ [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 GetSfsProjectLockInvokeArgs()
+ {
+ }
+ public static new GetSfsProjectLockInvokeArgs Empty => new GetSfsProjectLockInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetSfsProjectLockResult
+ {
+ ///
+ /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`".
+ ///
+ public readonly string Id;
+ ///
+ /// ID of the lock.
+ ///
+ public readonly string LockId;
+ ///
+ /// STACKIT Project ID to which the project lock is associated.
+ ///
+ public readonly string ProjectId;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string Region;
+
+ [OutputConstructor]
+ private GetSfsProjectLockResult(
+ string id,
+
+ string lockId,
+
+ string projectId,
+
+ string region)
+ {
+ Id = id;
+ LockId = lockId;
+ ProjectId = projectId;
+ Region = region;
+ }
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs
index 79e28ce..88bd6ba 100644
--- a/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs
@@ -36,6 +36,12 @@ public InputList BlockedCountries
[Input("optimizer")]
public Input? Optimizer { get; set; }
+ ///
+ /// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+ ///
+ [Input("redirects")]
+ public Input? Redirects { get; set; }
+
[Input("regions", required: true)]
private InputList? _regions;
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs
index 5070448..6f8fe23 100644
--- a/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs
@@ -36,6 +36,12 @@ public InputList BlockedCountries
[Input("optimizer")]
public Input? Optimizer { get; set; }
+ ///
+ /// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+ ///
+ [Input("redirects")]
+ public Input? Redirects { get; set; }
+
[Input("regions", required: true)]
private InputList? _regions;
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsArgs.cs
new file mode 100644
index 0000000..4022548
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsArgs.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 CdnDistributionConfigRedirectsArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("rules", required: true)]
+ private InputList? _rules;
+
+ ///
+ /// A list of redirect rules. The order of rules matters for evaluation
+ ///
+ public InputList Rules
+ {
+ get => _rules ?? (_rules = new InputList());
+ set => _rules = value;
+ }
+
+ public CdnDistributionConfigRedirectsArgs()
+ {
+ }
+ public static new CdnDistributionConfigRedirectsArgs Empty => new CdnDistributionConfigRedirectsArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsGetArgs.cs
new file mode 100644
index 0000000..ac82954
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsGetArgs.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 CdnDistributionConfigRedirectsGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("rules", required: true)]
+ private InputList? _rules;
+
+ ///
+ /// A list of redirect rules. The order of rules matters for evaluation
+ ///
+ public InputList Rules
+ {
+ get => _rules ?? (_rules = new InputList());
+ set => _rules = value;
+ }
+
+ public CdnDistributionConfigRedirectsGetArgs()
+ {
+ }
+ public static new CdnDistributionConfigRedirectsGetArgs Empty => new CdnDistributionConfigRedirectsGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleArgs.cs
new file mode 100644
index 0000000..11b8a59
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleArgs.cs
@@ -0,0 +1,62 @@
+// *** 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 CdnDistributionConfigRedirectsRuleArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// An optional description for the redirect rule
+ ///
+ [Input("description")]
+ public Input? Description { get; set; }
+
+ ///
+ /// A toggle to enable or disable the redirect rule. Default to true
+ ///
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ [Input("matchers", required: true)]
+ private InputList? _matchers;
+
+ ///
+ /// A list of matchers that define when this rule should apply. At least one matcher is required
+ ///
+ public InputList Matchers
+ {
+ get => _matchers ?? (_matchers = new InputList());
+ set => _matchers = value;
+ }
+
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ [Input("ruleMatchCondition")]
+ public Input? RuleMatchCondition { get; set; }
+
+ ///
+ /// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ ///
+ [Input("statusCode", required: true)]
+ public Input StatusCode { get; set; } = null!;
+
+ ///
+ /// The target URL to redirect to. Must be a valid URI
+ ///
+ [Input("targetUrl", required: true)]
+ public Input TargetUrl { get; set; } = null!;
+
+ public CdnDistributionConfigRedirectsRuleArgs()
+ {
+ }
+ public static new CdnDistributionConfigRedirectsRuleArgs Empty => new CdnDistributionConfigRedirectsRuleArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleGetArgs.cs
new file mode 100644
index 0000000..c2a521b
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleGetArgs.cs
@@ -0,0 +1,62 @@
+// *** 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 CdnDistributionConfigRedirectsRuleGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// An optional description for the redirect rule
+ ///
+ [Input("description")]
+ public Input? Description { get; set; }
+
+ ///
+ /// A toggle to enable or disable the redirect rule. Default to true
+ ///
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ [Input("matchers", required: true)]
+ private InputList? _matchers;
+
+ ///
+ /// A list of matchers that define when this rule should apply. At least one matcher is required
+ ///
+ public InputList Matchers
+ {
+ get => _matchers ?? (_matchers = new InputList());
+ set => _matchers = value;
+ }
+
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ [Input("ruleMatchCondition")]
+ public Input? RuleMatchCondition { get; set; }
+
+ ///
+ /// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ ///
+ [Input("statusCode", required: true)]
+ public Input StatusCode { get; set; } = null!;
+
+ ///
+ /// The target URL to redirect to. Must be a valid URI
+ ///
+ [Input("targetUrl", required: true)]
+ public Input TargetUrl { get; set; } = null!;
+
+ public CdnDistributionConfigRedirectsRuleGetArgs()
+ {
+ }
+ public static new CdnDistributionConfigRedirectsRuleGetArgs Empty => new CdnDistributionConfigRedirectsRuleGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleMatcherArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleMatcherArgs.cs
new file mode 100644
index 0000000..154f67f
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleMatcherArgs.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 CdnDistributionConfigRedirectsRuleMatcherArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ [Input("valueMatchCondition")]
+ public Input? ValueMatchCondition { get; set; }
+
+ [Input("values", required: true)]
+ private InputList? _values;
+
+ ///
+ /// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ ///
+ public InputList Values
+ {
+ get => _values ?? (_values = new InputList());
+ set => _values = value;
+ }
+
+ public CdnDistributionConfigRedirectsRuleMatcherArgs()
+ {
+ }
+ public static new CdnDistributionConfigRedirectsRuleMatcherArgs Empty => new CdnDistributionConfigRedirectsRuleMatcherArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleMatcherGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleMatcherGetArgs.cs
new file mode 100644
index 0000000..55854f9
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigRedirectsRuleMatcherGetArgs.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 CdnDistributionConfigRedirectsRuleMatcherGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ [Input("valueMatchCondition")]
+ public Input? ValueMatchCondition { get; set; }
+
+ [Input("values", required: true)]
+ private InputList? _values;
+
+ ///
+ /// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ ///
+ public InputList Values
+ {
+ get => _values ?? (_values = new InputList());
+ set => _values = value;
+ }
+
+ public CdnDistributionConfigRedirectsRuleMatcherGetArgs()
+ {
+ }
+ public static new CdnDistributionConfigRedirectsRuleMatcherGetArgs Empty => new CdnDistributionConfigRedirectsRuleMatcherGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs b/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs
index b73d561..38d24d9 100644
--- a/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs
+++ b/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs
@@ -27,14 +27,14 @@ public sealed class SkeClusterMaintenanceArgs : global::Pulumi.ResourceArgs
///
/// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
///
- [Input("end", required: true)]
- public Input End { get; set; } = null!;
+ [Input("end")]
+ public Input? End { get; set; }
///
/// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
///
- [Input("start", required: true)]
- public Input Start { get; set; } = null!;
+ [Input("start")]
+ public Input? Start { get; set; }
public SkeClusterMaintenanceArgs()
{
diff --git a/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs
index b803ab9..3300a72 100644
--- a/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs
+++ b/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs
@@ -27,14 +27,14 @@ public sealed class SkeClusterMaintenanceGetArgs : global::Pulumi.ResourceArgs
///
/// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
///
- [Input("end", required: true)]
- public Input End { get; set; } = null!;
+ [Input("end")]
+ public Input? End { get; set; }
///
/// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
///
- [Input("start", required: true)]
- public Input Start { get; set; } = null!;
+ [Input("start")]
+ public Input? Start { get; set; }
public SkeClusterMaintenanceGetArgs()
{
diff --git a/sdk/dotnet/ObjectstorageCredentialsGroup.cs b/sdk/dotnet/ObjectstorageCredentialsGroup.cs
index 2e73b3a..0a90b3a 100644
--- a/sdk/dotnet/ObjectstorageCredentialsGroup.cs
+++ b/sdk/dotnet/ObjectstorageCredentialsGroup.cs
@@ -44,8 +44,8 @@ public partial class ObjectstorageCredentialsGroup : global::Pulumi.CustomResour
///
/// Credentials group uniform resource name (URN)
///
- [Output("urn")]
- public Output Urn { get; private set; } = null!;
+ [Output("stackitUrn")]
+ public Output StackitUrn { get; private set; } = null!;
///
@@ -147,8 +147,8 @@ public sealed class ObjectstorageCredentialsGroupState : global::Pulumi.Resource
///
/// Credentials group uniform resource name (URN)
///
- [Input("urn")]
- public Input? Urn { get; set; }
+ [Input("stackitUrn")]
+ public Input? StackitUrn { get; set; }
public ObjectstorageCredentialsGroupState()
{
diff --git a/sdk/dotnet/Outputs/CdnDistributionConfig.cs b/sdk/dotnet/Outputs/CdnDistributionConfig.cs
index 16a83e6..3fad3e7 100644
--- a/sdk/dotnet/Outputs/CdnDistributionConfig.cs
+++ b/sdk/dotnet/Outputs/CdnDistributionConfig.cs
@@ -26,6 +26,10 @@ public sealed class CdnDistributionConfig
///
public readonly Outputs.CdnDistributionConfigOptimizer? Optimizer;
///
+ /// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+ ///
+ public readonly Outputs.CdnDistributionConfigRedirects? Redirects;
+ ///
/// The configured regions where content will be hosted
///
public readonly ImmutableArray Regions;
@@ -38,11 +42,14 @@ private CdnDistributionConfig(
Outputs.CdnDistributionConfigOptimizer? optimizer,
+ Outputs.CdnDistributionConfigRedirects? redirects,
+
ImmutableArray regions)
{
Backend = backend;
BlockedCountries = blockedCountries;
Optimizer = optimizer;
+ Redirects = redirects;
Regions = regions;
}
}
diff --git a/sdk/dotnet/Outputs/CdnDistributionConfigRedirects.cs b/sdk/dotnet/Outputs/CdnDistributionConfigRedirects.cs
new file mode 100644
index 0000000..63e66ee
--- /dev/null
+++ b/sdk/dotnet/Outputs/CdnDistributionConfigRedirects.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 CdnDistributionConfigRedirects
+ {
+ ///
+ /// A list of redirect rules. The order of rules matters for evaluation
+ ///
+ public readonly ImmutableArray Rules;
+
+ [OutputConstructor]
+ private CdnDistributionConfigRedirects(ImmutableArray rules)
+ {
+ Rules = rules;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/CdnDistributionConfigRedirectsRule.cs b/sdk/dotnet/Outputs/CdnDistributionConfigRedirectsRule.cs
new file mode 100644
index 0000000..f74592c
--- /dev/null
+++ b/sdk/dotnet/Outputs/CdnDistributionConfigRedirectsRule.cs
@@ -0,0 +1,63 @@
+// *** 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 CdnDistributionConfigRedirectsRule
+ {
+ ///
+ /// An optional description for the redirect rule
+ ///
+ public readonly string? Description;
+ ///
+ /// A toggle to enable or disable the redirect rule. Default to true
+ ///
+ public readonly bool? Enabled;
+ ///
+ /// A list of matchers that define when this rule should apply. At least one matcher is required
+ ///
+ public readonly ImmutableArray Matchers;
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ public readonly string? RuleMatchCondition;
+ ///
+ /// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ ///
+ public readonly int StatusCode;
+ ///
+ /// The target URL to redirect to. Must be a valid URI
+ ///
+ public readonly string TargetUrl;
+
+ [OutputConstructor]
+ private CdnDistributionConfigRedirectsRule(
+ string? description,
+
+ bool? enabled,
+
+ ImmutableArray matchers,
+
+ string? ruleMatchCondition,
+
+ int statusCode,
+
+ string targetUrl)
+ {
+ Description = description;
+ Enabled = enabled;
+ Matchers = matchers;
+ RuleMatchCondition = ruleMatchCondition;
+ StatusCode = statusCode;
+ TargetUrl = targetUrl;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/CdnDistributionConfigRedirectsRuleMatcher.cs b/sdk/dotnet/Outputs/CdnDistributionConfigRedirectsRuleMatcher.cs
new file mode 100644
index 0000000..00a4bcb
--- /dev/null
+++ b/sdk/dotnet/Outputs/CdnDistributionConfigRedirectsRuleMatcher.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 CdnDistributionConfigRedirectsRuleMatcher
+ {
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ public readonly string? ValueMatchCondition;
+ ///
+ /// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ ///
+ public readonly ImmutableArray Values;
+
+ [OutputConstructor]
+ private CdnDistributionConfigRedirectsRuleMatcher(
+ string? valueMatchCondition,
+
+ ImmutableArray values)
+ {
+ ValueMatchCondition = valueMatchCondition;
+ Values = values;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsResult.cs b/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsResult.cs
new file mode 100644
index 0000000..8c1b96d
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsResult.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 GetCdnDistributionConfigRedirectsResult
+ {
+ ///
+ /// A list of redirect rules. The order of rules matters for evaluation
+ ///
+ public readonly ImmutableArray Rules;
+
+ [OutputConstructor]
+ private GetCdnDistributionConfigRedirectsResult(ImmutableArray rules)
+ {
+ Rules = rules;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsRuleMatcherResult.cs b/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsRuleMatcherResult.cs
new file mode 100644
index 0000000..e446889
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsRuleMatcherResult.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 GetCdnDistributionConfigRedirectsRuleMatcherResult
+ {
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ public readonly string ValueMatchCondition;
+ ///
+ /// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ ///
+ public readonly ImmutableArray Values;
+
+ [OutputConstructor]
+ private GetCdnDistributionConfigRedirectsRuleMatcherResult(
+ string valueMatchCondition,
+
+ ImmutableArray values)
+ {
+ ValueMatchCondition = valueMatchCondition;
+ Values = values;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsRuleResult.cs b/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsRuleResult.cs
new file mode 100644
index 0000000..8eff982
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetCdnDistributionConfigRedirectsRuleResult.cs
@@ -0,0 +1,63 @@
+// *** 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 GetCdnDistributionConfigRedirectsRuleResult
+ {
+ ///
+ /// An optional description for the redirect rule
+ ///
+ public readonly string Description;
+ ///
+ /// A toggle to enable or disable the redirect rule. Default to true
+ ///
+ public readonly bool Enabled;
+ ///
+ /// A list of matchers that define when this rule should apply. At least one matcher is required
+ ///
+ public readonly ImmutableArray Matchers;
+ ///
+ /// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ///
+ public readonly string RuleMatchCondition;
+ ///
+ /// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ ///
+ public readonly int StatusCode;
+ ///
+ /// The target URL to redirect to. Must be a valid URI
+ ///
+ public readonly string TargetUrl;
+
+ [OutputConstructor]
+ private GetCdnDistributionConfigRedirectsRuleResult(
+ string description,
+
+ bool enabled,
+
+ ImmutableArray matchers,
+
+ string ruleMatchCondition,
+
+ int statusCode,
+
+ string targetUrl)
+ {
+ Description = description;
+ Enabled = enabled;
+ Matchers = matchers;
+ RuleMatchCondition = ruleMatchCondition;
+ StatusCode = statusCode;
+ TargetUrl = targetUrl;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs b/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs
index f273e65..2f18f5f 100644
--- a/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs
+++ b/sdk/dotnet/Outputs/GetCdnDistributionConfigResult.cs
@@ -26,6 +26,10 @@ public sealed class GetCdnDistributionConfigResult
///
public readonly Outputs.GetCdnDistributionConfigOptimizerResult Optimizer;
///
+ /// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+ ///
+ public readonly Outputs.GetCdnDistributionConfigRedirectsResult Redirects;
+ ///
/// The configured regions where content will be hosted
///
public readonly ImmutableArray Regions;
@@ -38,11 +42,14 @@ private GetCdnDistributionConfigResult(
Outputs.GetCdnDistributionConfigOptimizerResult optimizer,
+ Outputs.GetCdnDistributionConfigRedirectsResult redirects,
+
ImmutableArray regions)
{
Backend = backend;
BlockedCountries = blockedCountries;
Optimizer = optimizer;
+ Redirects = redirects;
Regions = regions;
}
}
diff --git a/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolResult.cs b/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolResult.cs
index 84b46a3..37a2a81 100644
--- a/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolResult.cs
+++ b/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolResult.cs
@@ -21,7 +21,7 @@ public sealed class GetLoadbalancerTargetPoolResult
///
/// Here you can setup various session persistence options, so far only "`UseSourceIpAddress`" is supported.
///
- public readonly Outputs.GetLoadbalancerTargetPoolSessionPersistenceResult? SessionPersistence;
+ public readonly Outputs.GetLoadbalancerTargetPoolSessionPersistenceResult SessionPersistence;
///
/// Identical port number where each target listens for traffic.
///
@@ -37,7 +37,7 @@ private GetLoadbalancerTargetPoolResult(
string name,
- Outputs.GetLoadbalancerTargetPoolSessionPersistenceResult? sessionPersistence,
+ Outputs.GetLoadbalancerTargetPoolSessionPersistenceResult sessionPersistence,
int targetPort,
diff --git a/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolSessionPersistenceResult.cs b/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolSessionPersistenceResult.cs
index 1235cdd..afe0826 100644
--- a/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolSessionPersistenceResult.cs
+++ b/sdk/dotnet/Outputs/GetLoadbalancerTargetPoolSessionPersistenceResult.cs
@@ -16,10 +16,10 @@ public sealed class GetLoadbalancerTargetPoolSessionPersistenceResult
///
/// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
///
- public readonly bool? UseSourceIpAddress;
+ public readonly bool UseSourceIpAddress;
[OutputConstructor]
- private GetLoadbalancerTargetPoolSessionPersistenceResult(bool? useSourceIpAddress)
+ private GetLoadbalancerTargetPoolSessionPersistenceResult(bool useSourceIpAddress)
{
UseSourceIpAddress = useSourceIpAddress;
}
diff --git a/sdk/dotnet/Outputs/GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult.cs b/sdk/dotnet/Outputs/GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult.cs
new file mode 100644
index 0000000..fd27325
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult.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 GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult
+ {
+ ///
+ /// A valid role defined for the resource.
+ ///
+ public readonly string Role;
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ public readonly string Subject;
+
+ [OutputConstructor]
+ private GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult(
+ string role,
+
+ string subject)
+ {
+ Role = role;
+ Subject = subject;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult.cs b/sdk/dotnet/Outputs/GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult.cs
new file mode 100644
index 0000000..bd79384
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult.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 GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult
+ {
+ ///
+ /// A valid role defined for the resource.
+ ///
+ public readonly string Role;
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ public readonly string Subject;
+
+ [OutputConstructor]
+ private GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult(
+ string role,
+
+ string subject)
+ {
+ Role = role;
+ Subject = subject;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/SkeClusterMaintenance.cs b/sdk/dotnet/Outputs/SkeClusterMaintenance.cs
index 03afe41..4f53b29 100644
--- a/sdk/dotnet/Outputs/SkeClusterMaintenance.cs
+++ b/sdk/dotnet/Outputs/SkeClusterMaintenance.cs
@@ -24,11 +24,11 @@ public sealed class SkeClusterMaintenance
///
/// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
///
- public readonly string End;
+ public readonly string? End;
///
/// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
///
- public readonly string Start;
+ public readonly string? Start;
[OutputConstructor]
private SkeClusterMaintenance(
@@ -36,9 +36,9 @@ private SkeClusterMaintenance(
bool? enableMachineImageVersionUpdates,
- string end,
+ string? end,
- string start)
+ string? start)
{
EnableKubernetesVersionUpdates = enableKubernetesVersionUpdates;
EnableMachineImageVersionUpdates = enableMachineImageVersionUpdates;
diff --git a/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs b/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs
new file mode 100644
index 0000000..afcf320
--- /dev/null
+++ b/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs
@@ -0,0 +1,156 @@
+// *** 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
+{
+ ///
+ /// IAM role binding resource schema.
+ ///
+ /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ## Import
+ ///
+ [StackitResourceType("stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1")]
+ public partial class SecretsmanagerInstanceRoleBindingV1 : global::Pulumi.CustomResource
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Output("region")]
+ public Output Region { get; private set; } = null!;
+
+ ///
+ /// The identifier of the resource to apply this role binding to.
+ ///
+ [Output("resourceId")]
+ public Output ResourceId { get; private set; } = null!;
+
+ ///
+ /// A valid role defined for the resource.
+ ///
+ [Output("role")]
+ public Output Role { get; private set; } = null!;
+
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ [Output("subject")]
+ public Output Subject { get; private set; } = null!;
+
+
+ ///
+ /// Create a SecretsmanagerInstanceRoleBindingV1 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 SecretsmanagerInstanceRoleBindingV1(string name, SecretsmanagerInstanceRoleBindingV1Args args, CustomResourceOptions? options = null)
+ : base("stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1", name, args ?? new SecretsmanagerInstanceRoleBindingV1Args(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private SecretsmanagerInstanceRoleBindingV1(string name, Input id, SecretsmanagerInstanceRoleBindingV1State? state = null, CustomResourceOptions? options = null)
+ : base("stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1", 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 SecretsmanagerInstanceRoleBindingV1 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 SecretsmanagerInstanceRoleBindingV1 Get(string name, Input id, SecretsmanagerInstanceRoleBindingV1State? state = null, CustomResourceOptions? options = null)
+ {
+ return new SecretsmanagerInstanceRoleBindingV1(name, id, state, options);
+ }
+ }
+
+ public sealed class SecretsmanagerInstanceRoleBindingV1Args : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to apply this role binding to.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ ///
+ /// A valid role defined for the resource.
+ ///
+ [Input("role", required: true)]
+ public Input Role { get; set; } = null!;
+
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ [Input("subject", required: true)]
+ public Input Subject { get; set; } = null!;
+
+ public SecretsmanagerInstanceRoleBindingV1Args()
+ {
+ }
+ public static new SecretsmanagerInstanceRoleBindingV1Args Empty => new SecretsmanagerInstanceRoleBindingV1Args();
+ }
+
+ public sealed class SecretsmanagerInstanceRoleBindingV1State : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to apply this role binding to.
+ ///
+ [Input("resourceId")]
+ public Input? ResourceId { get; set; }
+
+ ///
+ /// A valid role defined for the resource.
+ ///
+ [Input("role")]
+ public Input? Role { get; set; }
+
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ [Input("subject")]
+ public Input? Subject { get; set; }
+
+ public SecretsmanagerInstanceRoleBindingV1State()
+ {
+ }
+ public static new SecretsmanagerInstanceRoleBindingV1State Empty => new SecretsmanagerInstanceRoleBindingV1State();
+ }
+}
diff --git a/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs b/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs
new file mode 100644
index 0000000..24f35c1
--- /dev/null
+++ b/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs
@@ -0,0 +1,156 @@
+// *** 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
+{
+ ///
+ /// IAM role binding resource schema.
+ ///
+ /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ ///
+ /// ## Example Usage
+ ///
+ /// ## Import
+ ///
+ [StackitResourceType("stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1")]
+ public partial class SecretsmanagerSecretGroupRoleBindingV1 : global::Pulumi.CustomResource
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Output("region")]
+ public Output Region { get; private set; } = null!;
+
+ ///
+ /// The identifier of the resource to apply this role binding to.
+ ///
+ [Output("resourceId")]
+ public Output ResourceId { get; private set; } = null!;
+
+ ///
+ /// A valid role defined for the resource.
+ ///
+ [Output("role")]
+ public Output Role { get; private set; } = null!;
+
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ [Output("subject")]
+ public Output Subject { get; private set; } = null!;
+
+
+ ///
+ /// Create a SecretsmanagerSecretGroupRoleBindingV1 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 SecretsmanagerSecretGroupRoleBindingV1(string name, SecretsmanagerSecretGroupRoleBindingV1Args args, CustomResourceOptions? options = null)
+ : base("stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1", name, args ?? new SecretsmanagerSecretGroupRoleBindingV1Args(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private SecretsmanagerSecretGroupRoleBindingV1(string name, Input id, SecretsmanagerSecretGroupRoleBindingV1State? state = null, CustomResourceOptions? options = null)
+ : base("stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1", 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 SecretsmanagerSecretGroupRoleBindingV1 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 SecretsmanagerSecretGroupRoleBindingV1 Get(string name, Input id, SecretsmanagerSecretGroupRoleBindingV1State? state = null, CustomResourceOptions? options = null)
+ {
+ return new SecretsmanagerSecretGroupRoleBindingV1(name, id, state, options);
+ }
+ }
+
+ public sealed class SecretsmanagerSecretGroupRoleBindingV1Args : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to apply this role binding to.
+ ///
+ [Input("resourceId", required: true)]
+ public Input ResourceId { get; set; } = null!;
+
+ ///
+ /// A valid role defined for the resource.
+ ///
+ [Input("role", required: true)]
+ public Input Role { get; set; } = null!;
+
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ [Input("subject", required: true)]
+ public Input Subject { get; set; } = null!;
+
+ public SecretsmanagerSecretGroupRoleBindingV1Args()
+ {
+ }
+ public static new SecretsmanagerSecretGroupRoleBindingV1Args Empty => new SecretsmanagerSecretGroupRoleBindingV1Args();
+ }
+
+ public sealed class SecretsmanagerSecretGroupRoleBindingV1State : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The identifier of the resource to apply this role binding to.
+ ///
+ [Input("resourceId")]
+ public Input? ResourceId { get; set; }
+
+ ///
+ /// A valid role defined for the resource.
+ ///
+ [Input("role")]
+ public Input? Role { get; set; }
+
+ ///
+ /// Identifier of user, service account or client. Usually email address or name in case of clients.
+ ///
+ [Input("subject")]
+ public Input? Subject { get; set; }
+
+ public SecretsmanagerSecretGroupRoleBindingV1State()
+ {
+ }
+ public static new SecretsmanagerSecretGroupRoleBindingV1State Empty => new SecretsmanagerSecretGroupRoleBindingV1State();
+ }
+}
diff --git a/sdk/dotnet/SfsProjectLock.cs b/sdk/dotnet/SfsProjectLock.cs
new file mode 100644
index 0000000..4545a47
--- /dev/null
+++ b/sdk/dotnet/SfsProjectLock.cs
@@ -0,0 +1,128 @@
+// *** 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
+{
+ ///
+ /// SFS project lock resource schema. Must have a `Region` specified in the provider configuration. Always use only one project lock per project.
+ ///
+ /// ## Example Usage
+ ///
+ [StackitResourceType("stackit:index/sfsProjectLock:SfsProjectLock")]
+ public partial class SfsProjectLock : global::Pulumi.CustomResource
+ {
+ ///
+ /// ID of the lock.
+ ///
+ [Output("lockId")]
+ public Output LockId { get; private set; } = null!;
+
+ ///
+ /// STACKIT Project ID to which the project lock is associated.
+ ///
+ [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!;
+
+
+ ///
+ /// Create a SfsProjectLock 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 SfsProjectLock(string name, SfsProjectLockArgs args, CustomResourceOptions? options = null)
+ : base("stackit:index/sfsProjectLock:SfsProjectLock", name, args ?? new SfsProjectLockArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private SfsProjectLock(string name, Input id, SfsProjectLockState? state = null, CustomResourceOptions? options = null)
+ : base("stackit:index/sfsProjectLock:SfsProjectLock", 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 SfsProjectLock 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 SfsProjectLock Get(string name, Input id, SfsProjectLockState? state = null, CustomResourceOptions? options = null)
+ {
+ return new SfsProjectLock(name, id, state, options);
+ }
+ }
+
+ public sealed class SfsProjectLockArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// STACKIT Project ID to which the project lock is associated.
+ ///
+ [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 SfsProjectLockArgs()
+ {
+ }
+ public static new SfsProjectLockArgs Empty => new SfsProjectLockArgs();
+ }
+
+ public sealed class SfsProjectLockState : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// ID of the lock.
+ ///
+ [Input("lockId")]
+ public Input? LockId { get; set; }
+
+ ///
+ /// STACKIT Project ID to which the project lock is associated.
+ ///
+ [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; }
+
+ public SfsProjectLockState()
+ {
+ }
+ public static new SfsProjectLockState Empty => new SfsProjectLockState();
+ }
+}
diff --git a/sdk/dotnet/SfsShare.cs b/sdk/dotnet/SfsShare.cs
index 9fee169..bb31813 100644
--- a/sdk/dotnet/SfsShare.cs
+++ b/sdk/dotnet/SfsShare.cs
@@ -26,7 +26,7 @@ public partial class SfsShare : global::Pulumi.CustomResource
/// You can also assign a Share Export Policy after creating the Share
///
[Output("exportPolicy")]
- public Output ExportPolicy { get; private set; } = null!;
+ public Output ExportPolicy { get; private set; } = null!;
///
/// Mount path of the Share, used to mount the Share
@@ -125,8 +125,8 @@ public sealed class SfsShareArgs : global::Pulumi.ResourceArgs
/// clients with IPs matching the IP ACL of the Resource Pool hosting this Share.
/// You can also assign a Share Export Policy after creating the Share
///
- [Input("exportPolicy", required: true)]
- public Input ExportPolicy { get; set; } = null!;
+ [Input("exportPolicy")]
+ public Input? ExportPolicy { get; set; }
///
/// Name of the share.
diff --git a/sdk/dotnet/SkeCluster.cs b/sdk/dotnet/SkeCluster.cs
index 7e7a673..9fc8325 100644
--- a/sdk/dotnet/SkeCluster.cs
+++ b/sdk/dotnet/SkeCluster.cs
@@ -69,6 +69,7 @@ public partial class SkeCluster : global::Pulumi.CustomResource
///
/// One or more `NodePool` block as defined below.
+ /// To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
///
[Output("nodePools")]
public Output> NodePools { get; private set; } = null!;
@@ -185,6 +186,7 @@ public InputList Hibernations
///
/// One or more `NodePool` block as defined below.
+ /// To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
///
public InputList NodePools
{
@@ -277,6 +279,7 @@ public InputList Hibernations
///
/// One or more `NodePool` block as defined below.
+ /// To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
///
public InputList NodePools
{
diff --git a/sdk/go/stackit/authorizationFolderCustomRole.go b/sdk/go/stackit/authorizationFolderCustomRole.go
new file mode 100644
index 0000000..35b566a
--- /dev/null
+++ b/sdk/go/stackit/authorizationFolderCustomRole.go
@@ -0,0 +1,283 @@
+// 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"
+)
+
+// Custom Role resource schema.
+//
+// ## Example Usage
+type AuthorizationFolderCustomRole struct {
+ pulumi.CustomResourceState
+
+ // A human readable description of the role.
+ Description pulumi.StringOutput `pulumi:"description"`
+ // Name of the role
+ Name pulumi.StringOutput `pulumi:"name"`
+ // Permissions for the role
+ Permissions pulumi.StringArrayOutput `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringOutput `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId pulumi.StringOutput `pulumi:"roleId"`
+}
+
+// NewAuthorizationFolderCustomRole registers a new resource with the given unique name, arguments, and options.
+func NewAuthorizationFolderCustomRole(ctx *pulumi.Context,
+ name string, args *AuthorizationFolderCustomRoleArgs, opts ...pulumi.ResourceOption) (*AuthorizationFolderCustomRole, error) {
+ if args == nil {
+ return nil, errors.New("missing one or more required arguments")
+ }
+
+ if args.Description == nil {
+ return nil, errors.New("invalid value for required argument 'Description'")
+ }
+ if args.Permissions == nil {
+ return nil, errors.New("invalid value for required argument 'Permissions'")
+ }
+ if args.ResourceId == nil {
+ return nil, errors.New("invalid value for required argument 'ResourceId'")
+ }
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource AuthorizationFolderCustomRole
+ err := ctx.RegisterResource("stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetAuthorizationFolderCustomRole gets an existing AuthorizationFolderCustomRole 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 GetAuthorizationFolderCustomRole(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *AuthorizationFolderCustomRoleState, opts ...pulumi.ResourceOption) (*AuthorizationFolderCustomRole, error) {
+ var resource AuthorizationFolderCustomRole
+ err := ctx.ReadResource("stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering AuthorizationFolderCustomRole resources.
+type authorizationFolderCustomRoleState struct {
+ // A human readable description of the role.
+ Description *string `pulumi:"description"`
+ // Name of the role
+ Name *string `pulumi:"name"`
+ // Permissions for the role
+ Permissions []string `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId *string `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId *string `pulumi:"roleId"`
+}
+
+type AuthorizationFolderCustomRoleState struct {
+ // A human readable description of the role.
+ Description pulumi.StringPtrInput
+ // Name of the role
+ Name pulumi.StringPtrInput
+ // Permissions for the role
+ Permissions pulumi.StringArrayInput
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringPtrInput
+ // The ID of the role.
+ RoleId pulumi.StringPtrInput
+}
+
+func (AuthorizationFolderCustomRoleState) ElementType() reflect.Type {
+ return reflect.TypeOf((*authorizationFolderCustomRoleState)(nil)).Elem()
+}
+
+type authorizationFolderCustomRoleArgs struct {
+ // A human readable description of the role.
+ Description string `pulumi:"description"`
+ // Name of the role
+ Name *string `pulumi:"name"`
+ // Permissions for the role
+ Permissions []string `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId string `pulumi:"resourceId"`
+}
+
+// The set of arguments for constructing a AuthorizationFolderCustomRole resource.
+type AuthorizationFolderCustomRoleArgs struct {
+ // A human readable description of the role.
+ Description pulumi.StringInput
+ // Name of the role
+ Name pulumi.StringPtrInput
+ // Permissions for the role
+ Permissions pulumi.StringArrayInput
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringInput
+}
+
+func (AuthorizationFolderCustomRoleArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*authorizationFolderCustomRoleArgs)(nil)).Elem()
+}
+
+type AuthorizationFolderCustomRoleInput interface {
+ pulumi.Input
+
+ ToAuthorizationFolderCustomRoleOutput() AuthorizationFolderCustomRoleOutput
+ ToAuthorizationFolderCustomRoleOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleOutput
+}
+
+func (*AuthorizationFolderCustomRole) ElementType() reflect.Type {
+ return reflect.TypeOf((**AuthorizationFolderCustomRole)(nil)).Elem()
+}
+
+func (i *AuthorizationFolderCustomRole) ToAuthorizationFolderCustomRoleOutput() AuthorizationFolderCustomRoleOutput {
+ return i.ToAuthorizationFolderCustomRoleOutputWithContext(context.Background())
+}
+
+func (i *AuthorizationFolderCustomRole) ToAuthorizationFolderCustomRoleOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(AuthorizationFolderCustomRoleOutput)
+}
+
+// AuthorizationFolderCustomRoleArrayInput is an input type that accepts AuthorizationFolderCustomRoleArray and AuthorizationFolderCustomRoleArrayOutput values.
+// You can construct a concrete instance of `AuthorizationFolderCustomRoleArrayInput` via:
+//
+// AuthorizationFolderCustomRoleArray{ AuthorizationFolderCustomRoleArgs{...} }
+type AuthorizationFolderCustomRoleArrayInput interface {
+ pulumi.Input
+
+ ToAuthorizationFolderCustomRoleArrayOutput() AuthorizationFolderCustomRoleArrayOutput
+ ToAuthorizationFolderCustomRoleArrayOutputWithContext(context.Context) AuthorizationFolderCustomRoleArrayOutput
+}
+
+type AuthorizationFolderCustomRoleArray []AuthorizationFolderCustomRoleInput
+
+func (AuthorizationFolderCustomRoleArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*AuthorizationFolderCustomRole)(nil)).Elem()
+}
+
+func (i AuthorizationFolderCustomRoleArray) ToAuthorizationFolderCustomRoleArrayOutput() AuthorizationFolderCustomRoleArrayOutput {
+ return i.ToAuthorizationFolderCustomRoleArrayOutputWithContext(context.Background())
+}
+
+func (i AuthorizationFolderCustomRoleArray) ToAuthorizationFolderCustomRoleArrayOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(AuthorizationFolderCustomRoleArrayOutput)
+}
+
+// AuthorizationFolderCustomRoleMapInput is an input type that accepts AuthorizationFolderCustomRoleMap and AuthorizationFolderCustomRoleMapOutput values.
+// You can construct a concrete instance of `AuthorizationFolderCustomRoleMapInput` via:
+//
+// AuthorizationFolderCustomRoleMap{ "key": AuthorizationFolderCustomRoleArgs{...} }
+type AuthorizationFolderCustomRoleMapInput interface {
+ pulumi.Input
+
+ ToAuthorizationFolderCustomRoleMapOutput() AuthorizationFolderCustomRoleMapOutput
+ ToAuthorizationFolderCustomRoleMapOutputWithContext(context.Context) AuthorizationFolderCustomRoleMapOutput
+}
+
+type AuthorizationFolderCustomRoleMap map[string]AuthorizationFolderCustomRoleInput
+
+func (AuthorizationFolderCustomRoleMap) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*AuthorizationFolderCustomRole)(nil)).Elem()
+}
+
+func (i AuthorizationFolderCustomRoleMap) ToAuthorizationFolderCustomRoleMapOutput() AuthorizationFolderCustomRoleMapOutput {
+ return i.ToAuthorizationFolderCustomRoleMapOutputWithContext(context.Background())
+}
+
+func (i AuthorizationFolderCustomRoleMap) ToAuthorizationFolderCustomRoleMapOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleMapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(AuthorizationFolderCustomRoleMapOutput)
+}
+
+type AuthorizationFolderCustomRoleOutput struct{ *pulumi.OutputState }
+
+func (AuthorizationFolderCustomRoleOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**AuthorizationFolderCustomRole)(nil)).Elem()
+}
+
+func (o AuthorizationFolderCustomRoleOutput) ToAuthorizationFolderCustomRoleOutput() AuthorizationFolderCustomRoleOutput {
+ return o
+}
+
+func (o AuthorizationFolderCustomRoleOutput) ToAuthorizationFolderCustomRoleOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleOutput {
+ return o
+}
+
+// A human readable description of the role.
+func (o AuthorizationFolderCustomRoleOutput) Description() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationFolderCustomRole) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
+}
+
+// Name of the role
+func (o AuthorizationFolderCustomRoleOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationFolderCustomRole) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
+}
+
+// Permissions for the role
+func (o AuthorizationFolderCustomRoleOutput) Permissions() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v *AuthorizationFolderCustomRole) pulumi.StringArrayOutput { return v.Permissions }).(pulumi.StringArrayOutput)
+}
+
+// Resource to add the custom role to.
+func (o AuthorizationFolderCustomRoleOutput) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationFolderCustomRole) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// The ID of the role.
+func (o AuthorizationFolderCustomRoleOutput) RoleId() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationFolderCustomRole) pulumi.StringOutput { return v.RoleId }).(pulumi.StringOutput)
+}
+
+type AuthorizationFolderCustomRoleArrayOutput struct{ *pulumi.OutputState }
+
+func (AuthorizationFolderCustomRoleArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*AuthorizationFolderCustomRole)(nil)).Elem()
+}
+
+func (o AuthorizationFolderCustomRoleArrayOutput) ToAuthorizationFolderCustomRoleArrayOutput() AuthorizationFolderCustomRoleArrayOutput {
+ return o
+}
+
+func (o AuthorizationFolderCustomRoleArrayOutput) ToAuthorizationFolderCustomRoleArrayOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleArrayOutput {
+ return o
+}
+
+func (o AuthorizationFolderCustomRoleArrayOutput) Index(i pulumi.IntInput) AuthorizationFolderCustomRoleOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AuthorizationFolderCustomRole {
+ return vs[0].([]*AuthorizationFolderCustomRole)[vs[1].(int)]
+ }).(AuthorizationFolderCustomRoleOutput)
+}
+
+type AuthorizationFolderCustomRoleMapOutput struct{ *pulumi.OutputState }
+
+func (AuthorizationFolderCustomRoleMapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*AuthorizationFolderCustomRole)(nil)).Elem()
+}
+
+func (o AuthorizationFolderCustomRoleMapOutput) ToAuthorizationFolderCustomRoleMapOutput() AuthorizationFolderCustomRoleMapOutput {
+ return o
+}
+
+func (o AuthorizationFolderCustomRoleMapOutput) ToAuthorizationFolderCustomRoleMapOutputWithContext(ctx context.Context) AuthorizationFolderCustomRoleMapOutput {
+ return o
+}
+
+func (o AuthorizationFolderCustomRoleMapOutput) MapIndex(k pulumi.StringInput) AuthorizationFolderCustomRoleOutput {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AuthorizationFolderCustomRole {
+ return vs[0].(map[string]*AuthorizationFolderCustomRole)[vs[1].(string)]
+ }).(AuthorizationFolderCustomRoleOutput)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationFolderCustomRoleInput)(nil)).Elem(), &AuthorizationFolderCustomRole{})
+ pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationFolderCustomRoleArrayInput)(nil)).Elem(), AuthorizationFolderCustomRoleArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationFolderCustomRoleMapInput)(nil)).Elem(), AuthorizationFolderCustomRoleMap{})
+ pulumi.RegisterOutputType(AuthorizationFolderCustomRoleOutput{})
+ pulumi.RegisterOutputType(AuthorizationFolderCustomRoleArrayOutput{})
+ pulumi.RegisterOutputType(AuthorizationFolderCustomRoleMapOutput{})
+}
diff --git a/sdk/go/stackit/authorizationOrganizationCustomRole.go b/sdk/go/stackit/authorizationOrganizationCustomRole.go
new file mode 100644
index 0000000..33afcd9
--- /dev/null
+++ b/sdk/go/stackit/authorizationOrganizationCustomRole.go
@@ -0,0 +1,283 @@
+// 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"
+)
+
+// Custom Role resource schema.
+//
+// ## Example Usage
+type AuthorizationOrganizationCustomRole struct {
+ pulumi.CustomResourceState
+
+ // A human readable description of the role.
+ Description pulumi.StringOutput `pulumi:"description"`
+ // Name of the role
+ Name pulumi.StringOutput `pulumi:"name"`
+ // Permissions for the role
+ Permissions pulumi.StringArrayOutput `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringOutput `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId pulumi.StringOutput `pulumi:"roleId"`
+}
+
+// NewAuthorizationOrganizationCustomRole registers a new resource with the given unique name, arguments, and options.
+func NewAuthorizationOrganizationCustomRole(ctx *pulumi.Context,
+ name string, args *AuthorizationOrganizationCustomRoleArgs, opts ...pulumi.ResourceOption) (*AuthorizationOrganizationCustomRole, error) {
+ if args == nil {
+ return nil, errors.New("missing one or more required arguments")
+ }
+
+ if args.Description == nil {
+ return nil, errors.New("invalid value for required argument 'Description'")
+ }
+ if args.Permissions == nil {
+ return nil, errors.New("invalid value for required argument 'Permissions'")
+ }
+ if args.ResourceId == nil {
+ return nil, errors.New("invalid value for required argument 'ResourceId'")
+ }
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource AuthorizationOrganizationCustomRole
+ err := ctx.RegisterResource("stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetAuthorizationOrganizationCustomRole gets an existing AuthorizationOrganizationCustomRole 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 GetAuthorizationOrganizationCustomRole(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *AuthorizationOrganizationCustomRoleState, opts ...pulumi.ResourceOption) (*AuthorizationOrganizationCustomRole, error) {
+ var resource AuthorizationOrganizationCustomRole
+ err := ctx.ReadResource("stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering AuthorizationOrganizationCustomRole resources.
+type authorizationOrganizationCustomRoleState struct {
+ // A human readable description of the role.
+ Description *string `pulumi:"description"`
+ // Name of the role
+ Name *string `pulumi:"name"`
+ // Permissions for the role
+ Permissions []string `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId *string `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId *string `pulumi:"roleId"`
+}
+
+type AuthorizationOrganizationCustomRoleState struct {
+ // A human readable description of the role.
+ Description pulumi.StringPtrInput
+ // Name of the role
+ Name pulumi.StringPtrInput
+ // Permissions for the role
+ Permissions pulumi.StringArrayInput
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringPtrInput
+ // The ID of the role.
+ RoleId pulumi.StringPtrInput
+}
+
+func (AuthorizationOrganizationCustomRoleState) ElementType() reflect.Type {
+ return reflect.TypeOf((*authorizationOrganizationCustomRoleState)(nil)).Elem()
+}
+
+type authorizationOrganizationCustomRoleArgs struct {
+ // A human readable description of the role.
+ Description string `pulumi:"description"`
+ // Name of the role
+ Name *string `pulumi:"name"`
+ // Permissions for the role
+ Permissions []string `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId string `pulumi:"resourceId"`
+}
+
+// The set of arguments for constructing a AuthorizationOrganizationCustomRole resource.
+type AuthorizationOrganizationCustomRoleArgs struct {
+ // A human readable description of the role.
+ Description pulumi.StringInput
+ // Name of the role
+ Name pulumi.StringPtrInput
+ // Permissions for the role
+ Permissions pulumi.StringArrayInput
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringInput
+}
+
+func (AuthorizationOrganizationCustomRoleArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*authorizationOrganizationCustomRoleArgs)(nil)).Elem()
+}
+
+type AuthorizationOrganizationCustomRoleInput interface {
+ pulumi.Input
+
+ ToAuthorizationOrganizationCustomRoleOutput() AuthorizationOrganizationCustomRoleOutput
+ ToAuthorizationOrganizationCustomRoleOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleOutput
+}
+
+func (*AuthorizationOrganizationCustomRole) ElementType() reflect.Type {
+ return reflect.TypeOf((**AuthorizationOrganizationCustomRole)(nil)).Elem()
+}
+
+func (i *AuthorizationOrganizationCustomRole) ToAuthorizationOrganizationCustomRoleOutput() AuthorizationOrganizationCustomRoleOutput {
+ return i.ToAuthorizationOrganizationCustomRoleOutputWithContext(context.Background())
+}
+
+func (i *AuthorizationOrganizationCustomRole) ToAuthorizationOrganizationCustomRoleOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(AuthorizationOrganizationCustomRoleOutput)
+}
+
+// AuthorizationOrganizationCustomRoleArrayInput is an input type that accepts AuthorizationOrganizationCustomRoleArray and AuthorizationOrganizationCustomRoleArrayOutput values.
+// You can construct a concrete instance of `AuthorizationOrganizationCustomRoleArrayInput` via:
+//
+// AuthorizationOrganizationCustomRoleArray{ AuthorizationOrganizationCustomRoleArgs{...} }
+type AuthorizationOrganizationCustomRoleArrayInput interface {
+ pulumi.Input
+
+ ToAuthorizationOrganizationCustomRoleArrayOutput() AuthorizationOrganizationCustomRoleArrayOutput
+ ToAuthorizationOrganizationCustomRoleArrayOutputWithContext(context.Context) AuthorizationOrganizationCustomRoleArrayOutput
+}
+
+type AuthorizationOrganizationCustomRoleArray []AuthorizationOrganizationCustomRoleInput
+
+func (AuthorizationOrganizationCustomRoleArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*AuthorizationOrganizationCustomRole)(nil)).Elem()
+}
+
+func (i AuthorizationOrganizationCustomRoleArray) ToAuthorizationOrganizationCustomRoleArrayOutput() AuthorizationOrganizationCustomRoleArrayOutput {
+ return i.ToAuthorizationOrganizationCustomRoleArrayOutputWithContext(context.Background())
+}
+
+func (i AuthorizationOrganizationCustomRoleArray) ToAuthorizationOrganizationCustomRoleArrayOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(AuthorizationOrganizationCustomRoleArrayOutput)
+}
+
+// AuthorizationOrganizationCustomRoleMapInput is an input type that accepts AuthorizationOrganizationCustomRoleMap and AuthorizationOrganizationCustomRoleMapOutput values.
+// You can construct a concrete instance of `AuthorizationOrganizationCustomRoleMapInput` via:
+//
+// AuthorizationOrganizationCustomRoleMap{ "key": AuthorizationOrganizationCustomRoleArgs{...} }
+type AuthorizationOrganizationCustomRoleMapInput interface {
+ pulumi.Input
+
+ ToAuthorizationOrganizationCustomRoleMapOutput() AuthorizationOrganizationCustomRoleMapOutput
+ ToAuthorizationOrganizationCustomRoleMapOutputWithContext(context.Context) AuthorizationOrganizationCustomRoleMapOutput
+}
+
+type AuthorizationOrganizationCustomRoleMap map[string]AuthorizationOrganizationCustomRoleInput
+
+func (AuthorizationOrganizationCustomRoleMap) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*AuthorizationOrganizationCustomRole)(nil)).Elem()
+}
+
+func (i AuthorizationOrganizationCustomRoleMap) ToAuthorizationOrganizationCustomRoleMapOutput() AuthorizationOrganizationCustomRoleMapOutput {
+ return i.ToAuthorizationOrganizationCustomRoleMapOutputWithContext(context.Background())
+}
+
+func (i AuthorizationOrganizationCustomRoleMap) ToAuthorizationOrganizationCustomRoleMapOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleMapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(AuthorizationOrganizationCustomRoleMapOutput)
+}
+
+type AuthorizationOrganizationCustomRoleOutput struct{ *pulumi.OutputState }
+
+func (AuthorizationOrganizationCustomRoleOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**AuthorizationOrganizationCustomRole)(nil)).Elem()
+}
+
+func (o AuthorizationOrganizationCustomRoleOutput) ToAuthorizationOrganizationCustomRoleOutput() AuthorizationOrganizationCustomRoleOutput {
+ return o
+}
+
+func (o AuthorizationOrganizationCustomRoleOutput) ToAuthorizationOrganizationCustomRoleOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleOutput {
+ return o
+}
+
+// A human readable description of the role.
+func (o AuthorizationOrganizationCustomRoleOutput) Description() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationOrganizationCustomRole) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput)
+}
+
+// Name of the role
+func (o AuthorizationOrganizationCustomRoleOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationOrganizationCustomRole) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
+}
+
+// Permissions for the role
+func (o AuthorizationOrganizationCustomRoleOutput) Permissions() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v *AuthorizationOrganizationCustomRole) pulumi.StringArrayOutput { return v.Permissions }).(pulumi.StringArrayOutput)
+}
+
+// Resource to add the custom role to.
+func (o AuthorizationOrganizationCustomRoleOutput) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationOrganizationCustomRole) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// The ID of the role.
+func (o AuthorizationOrganizationCustomRoleOutput) RoleId() pulumi.StringOutput {
+ return o.ApplyT(func(v *AuthorizationOrganizationCustomRole) pulumi.StringOutput { return v.RoleId }).(pulumi.StringOutput)
+}
+
+type AuthorizationOrganizationCustomRoleArrayOutput struct{ *pulumi.OutputState }
+
+func (AuthorizationOrganizationCustomRoleArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*AuthorizationOrganizationCustomRole)(nil)).Elem()
+}
+
+func (o AuthorizationOrganizationCustomRoleArrayOutput) ToAuthorizationOrganizationCustomRoleArrayOutput() AuthorizationOrganizationCustomRoleArrayOutput {
+ return o
+}
+
+func (o AuthorizationOrganizationCustomRoleArrayOutput) ToAuthorizationOrganizationCustomRoleArrayOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleArrayOutput {
+ return o
+}
+
+func (o AuthorizationOrganizationCustomRoleArrayOutput) Index(i pulumi.IntInput) AuthorizationOrganizationCustomRoleOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AuthorizationOrganizationCustomRole {
+ return vs[0].([]*AuthorizationOrganizationCustomRole)[vs[1].(int)]
+ }).(AuthorizationOrganizationCustomRoleOutput)
+}
+
+type AuthorizationOrganizationCustomRoleMapOutput struct{ *pulumi.OutputState }
+
+func (AuthorizationOrganizationCustomRoleMapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*AuthorizationOrganizationCustomRole)(nil)).Elem()
+}
+
+func (o AuthorizationOrganizationCustomRoleMapOutput) ToAuthorizationOrganizationCustomRoleMapOutput() AuthorizationOrganizationCustomRoleMapOutput {
+ return o
+}
+
+func (o AuthorizationOrganizationCustomRoleMapOutput) ToAuthorizationOrganizationCustomRoleMapOutputWithContext(ctx context.Context) AuthorizationOrganizationCustomRoleMapOutput {
+ return o
+}
+
+func (o AuthorizationOrganizationCustomRoleMapOutput) MapIndex(k pulumi.StringInput) AuthorizationOrganizationCustomRoleOutput {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AuthorizationOrganizationCustomRole {
+ return vs[0].(map[string]*AuthorizationOrganizationCustomRole)[vs[1].(string)]
+ }).(AuthorizationOrganizationCustomRoleOutput)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationOrganizationCustomRoleInput)(nil)).Elem(), &AuthorizationOrganizationCustomRole{})
+ pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationOrganizationCustomRoleArrayInput)(nil)).Elem(), AuthorizationOrganizationCustomRoleArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationOrganizationCustomRoleMapInput)(nil)).Elem(), AuthorizationOrganizationCustomRoleMap{})
+ pulumi.RegisterOutputType(AuthorizationOrganizationCustomRoleOutput{})
+ pulumi.RegisterOutputType(AuthorizationOrganizationCustomRoleArrayOutput{})
+ pulumi.RegisterOutputType(AuthorizationOrganizationCustomRoleMapOutput{})
+}
diff --git a/sdk/go/stackit/getAuthorizationFolderCustomRole.go b/sdk/go/stackit/getAuthorizationFolderCustomRole.go
new file mode 100644
index 0000000..7494610
--- /dev/null
+++ b/sdk/go/stackit/getAuthorizationFolderCustomRole.go
@@ -0,0 +1,119 @@
+// 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"
+)
+
+// Custom Role resource schema.
+//
+// ## Example Usage
+func LookupAuthorizationFolderCustomRole(ctx *pulumi.Context, args *LookupAuthorizationFolderCustomRoleArgs, opts ...pulumi.InvokeOption) (*LookupAuthorizationFolderCustomRoleResult, error) {
+ opts = internal.PkgInvokeDefaultOpts(opts)
+ var rv LookupAuthorizationFolderCustomRoleResult
+ err := ctx.Invoke("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", args, &rv, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &rv, nil
+}
+
+// A collection of arguments for invoking getAuthorizationFolderCustomRole.
+type LookupAuthorizationFolderCustomRoleArgs struct {
+ // Resource to add the custom role to.
+ ResourceId string `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId string `pulumi:"roleId"`
+}
+
+// A collection of values returned by getAuthorizationFolderCustomRole.
+type LookupAuthorizationFolderCustomRoleResult struct {
+ // A human readable description of the role.
+ Description string `pulumi:"description"`
+ // Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+ Id string `pulumi:"id"`
+ // Name of the role
+ Name string `pulumi:"name"`
+ // Permissions for the role
+ Permissions []string `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId string `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId string `pulumi:"roleId"`
+}
+
+func LookupAuthorizationFolderCustomRoleOutput(ctx *pulumi.Context, args LookupAuthorizationFolderCustomRoleOutputArgs, opts ...pulumi.InvokeOption) LookupAuthorizationFolderCustomRoleResultOutput {
+ return pulumi.ToOutputWithContext(ctx.Context(), args).
+ ApplyT(func(v interface{}) (LookupAuthorizationFolderCustomRoleResultOutput, error) {
+ args := v.(LookupAuthorizationFolderCustomRoleArgs)
+ options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
+ return ctx.InvokeOutput("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", args, LookupAuthorizationFolderCustomRoleResultOutput{}, options).(LookupAuthorizationFolderCustomRoleResultOutput), nil
+ }).(LookupAuthorizationFolderCustomRoleResultOutput)
+}
+
+// A collection of arguments for invoking getAuthorizationFolderCustomRole.
+type LookupAuthorizationFolderCustomRoleOutputArgs struct {
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringInput `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId pulumi.StringInput `pulumi:"roleId"`
+}
+
+func (LookupAuthorizationFolderCustomRoleOutputArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*LookupAuthorizationFolderCustomRoleArgs)(nil)).Elem()
+}
+
+// A collection of values returned by getAuthorizationFolderCustomRole.
+type LookupAuthorizationFolderCustomRoleResultOutput struct{ *pulumi.OutputState }
+
+func (LookupAuthorizationFolderCustomRoleResultOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*LookupAuthorizationFolderCustomRoleResult)(nil)).Elem()
+}
+
+func (o LookupAuthorizationFolderCustomRoleResultOutput) ToLookupAuthorizationFolderCustomRoleResultOutput() LookupAuthorizationFolderCustomRoleResultOutput {
+ return o
+}
+
+func (o LookupAuthorizationFolderCustomRoleResultOutput) ToLookupAuthorizationFolderCustomRoleResultOutputWithContext(ctx context.Context) LookupAuthorizationFolderCustomRoleResultOutput {
+ return o
+}
+
+// A human readable description of the role.
+func (o LookupAuthorizationFolderCustomRoleResultOutput) Description() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationFolderCustomRoleResult) string { return v.Description }).(pulumi.StringOutput)
+}
+
+// Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+func (o LookupAuthorizationFolderCustomRoleResultOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationFolderCustomRoleResult) string { return v.Id }).(pulumi.StringOutput)
+}
+
+// Name of the role
+func (o LookupAuthorizationFolderCustomRoleResultOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationFolderCustomRoleResult) string { return v.Name }).(pulumi.StringOutput)
+}
+
+// Permissions for the role
+func (o LookupAuthorizationFolderCustomRoleResultOutput) Permissions() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v LookupAuthorizationFolderCustomRoleResult) []string { return v.Permissions }).(pulumi.StringArrayOutput)
+}
+
+// Resource to add the custom role to.
+func (o LookupAuthorizationFolderCustomRoleResultOutput) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationFolderCustomRoleResult) string { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// The ID of the role.
+func (o LookupAuthorizationFolderCustomRoleResultOutput) RoleId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationFolderCustomRoleResult) string { return v.RoleId }).(pulumi.StringOutput)
+}
+
+func init() {
+ pulumi.RegisterOutputType(LookupAuthorizationFolderCustomRoleResultOutput{})
+}
diff --git a/sdk/go/stackit/getAuthorizationOrganizationCustomRole.go b/sdk/go/stackit/getAuthorizationOrganizationCustomRole.go
new file mode 100644
index 0000000..2c0bac1
--- /dev/null
+++ b/sdk/go/stackit/getAuthorizationOrganizationCustomRole.go
@@ -0,0 +1,119 @@
+// 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"
+)
+
+// Custom Role resource schema.
+//
+// ## Example Usage
+func LookupAuthorizationOrganizationCustomRole(ctx *pulumi.Context, args *LookupAuthorizationOrganizationCustomRoleArgs, opts ...pulumi.InvokeOption) (*LookupAuthorizationOrganizationCustomRoleResult, error) {
+ opts = internal.PkgInvokeDefaultOpts(opts)
+ var rv LookupAuthorizationOrganizationCustomRoleResult
+ err := ctx.Invoke("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", args, &rv, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &rv, nil
+}
+
+// A collection of arguments for invoking getAuthorizationOrganizationCustomRole.
+type LookupAuthorizationOrganizationCustomRoleArgs struct {
+ // Resource to add the custom role to.
+ ResourceId string `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId string `pulumi:"roleId"`
+}
+
+// A collection of values returned by getAuthorizationOrganizationCustomRole.
+type LookupAuthorizationOrganizationCustomRoleResult struct {
+ // A human readable description of the role.
+ Description string `pulumi:"description"`
+ // Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+ Id string `pulumi:"id"`
+ // Name of the role
+ Name string `pulumi:"name"`
+ // Permissions for the role
+ Permissions []string `pulumi:"permissions"`
+ // Resource to add the custom role to.
+ ResourceId string `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId string `pulumi:"roleId"`
+}
+
+func LookupAuthorizationOrganizationCustomRoleOutput(ctx *pulumi.Context, args LookupAuthorizationOrganizationCustomRoleOutputArgs, opts ...pulumi.InvokeOption) LookupAuthorizationOrganizationCustomRoleResultOutput {
+ return pulumi.ToOutputWithContext(ctx.Context(), args).
+ ApplyT(func(v interface{}) (LookupAuthorizationOrganizationCustomRoleResultOutput, error) {
+ args := v.(LookupAuthorizationOrganizationCustomRoleArgs)
+ options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
+ return ctx.InvokeOutput("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", args, LookupAuthorizationOrganizationCustomRoleResultOutput{}, options).(LookupAuthorizationOrganizationCustomRoleResultOutput), nil
+ }).(LookupAuthorizationOrganizationCustomRoleResultOutput)
+}
+
+// A collection of arguments for invoking getAuthorizationOrganizationCustomRole.
+type LookupAuthorizationOrganizationCustomRoleOutputArgs struct {
+ // Resource to add the custom role to.
+ ResourceId pulumi.StringInput `pulumi:"resourceId"`
+ // The ID of the role.
+ RoleId pulumi.StringInput `pulumi:"roleId"`
+}
+
+func (LookupAuthorizationOrganizationCustomRoleOutputArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*LookupAuthorizationOrganizationCustomRoleArgs)(nil)).Elem()
+}
+
+// A collection of values returned by getAuthorizationOrganizationCustomRole.
+type LookupAuthorizationOrganizationCustomRoleResultOutput struct{ *pulumi.OutputState }
+
+func (LookupAuthorizationOrganizationCustomRoleResultOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*LookupAuthorizationOrganizationCustomRoleResult)(nil)).Elem()
+}
+
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) ToLookupAuthorizationOrganizationCustomRoleResultOutput() LookupAuthorizationOrganizationCustomRoleResultOutput {
+ return o
+}
+
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) ToLookupAuthorizationOrganizationCustomRoleResultOutputWithContext(ctx context.Context) LookupAuthorizationOrganizationCustomRoleResultOutput {
+ return o
+}
+
+// A human readable description of the role.
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) Description() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationOrganizationCustomRoleResult) string { return v.Description }).(pulumi.StringOutput)
+}
+
+// Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationOrganizationCustomRoleResult) string { return v.Id }).(pulumi.StringOutput)
+}
+
+// Name of the role
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationOrganizationCustomRoleResult) string { return v.Name }).(pulumi.StringOutput)
+}
+
+// Permissions for the role
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) Permissions() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v LookupAuthorizationOrganizationCustomRoleResult) []string { return v.Permissions }).(pulumi.StringArrayOutput)
+}
+
+// Resource to add the custom role to.
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationOrganizationCustomRoleResult) string { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// The ID of the role.
+func (o LookupAuthorizationOrganizationCustomRoleResultOutput) RoleId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupAuthorizationOrganizationCustomRoleResult) string { return v.RoleId }).(pulumi.StringOutput)
+}
+
+func init() {
+ pulumi.RegisterOutputType(LookupAuthorizationOrganizationCustomRoleResultOutput{})
+}
diff --git a/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go b/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go
new file mode 100644
index 0000000..ed87f31
--- /dev/null
+++ b/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go
@@ -0,0 +1,109 @@
+// 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"
+)
+
+// IAM role binding datasource schema.
+//
+// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+//
+// ## Example Usage
+func GetSecretsmanagerInstanceRoleBindingsV1(ctx *pulumi.Context, args *GetSecretsmanagerInstanceRoleBindingsV1Args, opts ...pulumi.InvokeOption) (*GetSecretsmanagerInstanceRoleBindingsV1Result, error) {
+ opts = internal.PkgInvokeDefaultOpts(opts)
+ var rv GetSecretsmanagerInstanceRoleBindingsV1Result
+ err := ctx.Invoke("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", args, &rv, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &rv, nil
+}
+
+// A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.
+type GetSecretsmanagerInstanceRoleBindingsV1Args struct {
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to get the role bindings for.
+ ResourceId string `pulumi:"resourceId"`
+}
+
+// A collection of values returned by getSecretsmanagerInstanceRoleBindingsV1.
+type GetSecretsmanagerInstanceRoleBindingsV1Result struct {
+ // Terraform's internal resource identifier. It is structured as "`region`,`resourceId`".
+ Id string `pulumi:"id"`
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to get the role bindings for.
+ ResourceId string `pulumi:"resourceId"`
+ // List of role bindings.
+ RoleBindings []GetSecretsmanagerInstanceRoleBindingsV1RoleBinding `pulumi:"roleBindings"`
+}
+
+func GetSecretsmanagerInstanceRoleBindingsV1Output(ctx *pulumi.Context, args GetSecretsmanagerInstanceRoleBindingsV1OutputArgs, opts ...pulumi.InvokeOption) GetSecretsmanagerInstanceRoleBindingsV1ResultOutput {
+ return pulumi.ToOutputWithContext(ctx.Context(), args).
+ ApplyT(func(v interface{}) (GetSecretsmanagerInstanceRoleBindingsV1ResultOutput, error) {
+ args := v.(GetSecretsmanagerInstanceRoleBindingsV1Args)
+ options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
+ return ctx.InvokeOutput("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", args, GetSecretsmanagerInstanceRoleBindingsV1ResultOutput{}, options).(GetSecretsmanagerInstanceRoleBindingsV1ResultOutput), nil
+ }).(GetSecretsmanagerInstanceRoleBindingsV1ResultOutput)
+}
+
+// A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.
+type GetSecretsmanagerInstanceRoleBindingsV1OutputArgs struct {
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput `pulumi:"region"`
+ // The identifier of the resource to get the role bindings for.
+ ResourceId pulumi.StringInput `pulumi:"resourceId"`
+}
+
+func (GetSecretsmanagerInstanceRoleBindingsV1OutputArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1Args)(nil)).Elem()
+}
+
+// A collection of values returned by getSecretsmanagerInstanceRoleBindingsV1.
+type GetSecretsmanagerInstanceRoleBindingsV1ResultOutput struct{ *pulumi.OutputState }
+
+func (GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1Result)(nil)).Elem()
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) ToGetSecretsmanagerInstanceRoleBindingsV1ResultOutput() GetSecretsmanagerInstanceRoleBindingsV1ResultOutput {
+ return o
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) ToGetSecretsmanagerInstanceRoleBindingsV1ResultOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1ResultOutput {
+ return o
+}
+
+// Terraform's internal resource identifier. It is structured as "`region`,`resourceId`".
+func (o GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1Result) string { return v.Id }).(pulumi.StringOutput)
+}
+
+// The resource region. If not defined, the provider region is used.
+func (o GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) Region() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1Result) *string { return v.Region }).(pulumi.StringPtrOutput)
+}
+
+// The identifier of the resource to get the role bindings for.
+func (o GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1Result) string { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// List of role bindings.
+func (o GetSecretsmanagerInstanceRoleBindingsV1ResultOutput) RoleBindings() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput {
+ return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1Result) []GetSecretsmanagerInstanceRoleBindingsV1RoleBinding {
+ return v.RoleBindings
+ }).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput)
+}
+
+func init() {
+ pulumi.RegisterOutputType(GetSecretsmanagerInstanceRoleBindingsV1ResultOutput{})
+}
diff --git a/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go b/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go
new file mode 100644
index 0000000..8d779ec
--- /dev/null
+++ b/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go
@@ -0,0 +1,109 @@
+// 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"
+)
+
+// IAM role binding datasource schema.
+//
+// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+//
+// ## Example Usage
+func GetSecretsmanagerSecretGroupRoleBindingsV1(ctx *pulumi.Context, args *GetSecretsmanagerSecretGroupRoleBindingsV1Args, opts ...pulumi.InvokeOption) (*GetSecretsmanagerSecretGroupRoleBindingsV1Result, error) {
+ opts = internal.PkgInvokeDefaultOpts(opts)
+ var rv GetSecretsmanagerSecretGroupRoleBindingsV1Result
+ err := ctx.Invoke("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", args, &rv, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &rv, nil
+}
+
+// A collection of arguments for invoking getSecretsmanagerSecretGroupRoleBindingsV1.
+type GetSecretsmanagerSecretGroupRoleBindingsV1Args struct {
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to get the role bindings for.
+ ResourceId string `pulumi:"resourceId"`
+}
+
+// A collection of values returned by getSecretsmanagerSecretGroupRoleBindingsV1.
+type GetSecretsmanagerSecretGroupRoleBindingsV1Result struct {
+ // Terraform's internal resource identifier. It is structured as "`region`,`resourceId`".
+ Id string `pulumi:"id"`
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to get the role bindings for.
+ ResourceId string `pulumi:"resourceId"`
+ // List of role bindings.
+ RoleBindings []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding `pulumi:"roleBindings"`
+}
+
+func GetSecretsmanagerSecretGroupRoleBindingsV1Output(ctx *pulumi.Context, args GetSecretsmanagerSecretGroupRoleBindingsV1OutputArgs, opts ...pulumi.InvokeOption) GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput {
+ return pulumi.ToOutputWithContext(ctx.Context(), args).
+ ApplyT(func(v interface{}) (GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput, error) {
+ args := v.(GetSecretsmanagerSecretGroupRoleBindingsV1Args)
+ options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
+ return ctx.InvokeOutput("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", args, GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput{}, options).(GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput), nil
+ }).(GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput)
+}
+
+// A collection of arguments for invoking getSecretsmanagerSecretGroupRoleBindingsV1.
+type GetSecretsmanagerSecretGroupRoleBindingsV1OutputArgs struct {
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput `pulumi:"region"`
+ // The identifier of the resource to get the role bindings for.
+ ResourceId pulumi.StringInput `pulumi:"resourceId"`
+}
+
+func (GetSecretsmanagerSecretGroupRoleBindingsV1OutputArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1Args)(nil)).Elem()
+}
+
+// A collection of values returned by getSecretsmanagerSecretGroupRoleBindingsV1.
+type GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput struct{ *pulumi.OutputState }
+
+func (GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1Result)(nil)).Elem()
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput() GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput {
+ return o
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1ResultOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput {
+ return o
+}
+
+// Terraform's internal resource identifier. It is structured as "`region`,`resourceId`".
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1Result) string { return v.Id }).(pulumi.StringOutput)
+}
+
+// The resource region. If not defined, the provider region is used.
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) Region() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1Result) *string { return v.Region }).(pulumi.StringPtrOutput)
+}
+
+// The identifier of the resource to get the role bindings for.
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1Result) string { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// List of role bindings.
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput) RoleBindings() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput {
+ return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1Result) []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding {
+ return v.RoleBindings
+ }).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput)
+}
+
+func init() {
+ pulumi.RegisterOutputType(GetSecretsmanagerSecretGroupRoleBindingsV1ResultOutput{})
+}
diff --git a/sdk/go/stackit/getSfsProjectLock.go b/sdk/go/stackit/getSfsProjectLock.go
new file mode 100644
index 0000000..ecb6a54
--- /dev/null
+++ b/sdk/go/stackit/getSfsProjectLock.go
@@ -0,0 +1,105 @@
+// 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"
+)
+
+// SFS project lock resource schema. Must have a `region` specified in the provider configuration. Always use only one project lock per project.
+//
+// ## Example Usage
+func LookupSfsProjectLock(ctx *pulumi.Context, args *LookupSfsProjectLockArgs, opts ...pulumi.InvokeOption) (*LookupSfsProjectLockResult, error) {
+ opts = internal.PkgInvokeDefaultOpts(opts)
+ var rv LookupSfsProjectLockResult
+ err := ctx.Invoke("stackit:index/getSfsProjectLock:getSfsProjectLock", args, &rv, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &rv, nil
+}
+
+// A collection of arguments for invoking getSfsProjectLock.
+type LookupSfsProjectLockArgs struct {
+ // STACKIT Project ID to which the project lock 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 getSfsProjectLock.
+type LookupSfsProjectLockResult struct {
+ // Terraform's internal resource identifier. It is structured as "`projectId`,`region`".
+ Id string `pulumi:"id"`
+ // ID of the lock.
+ LockId string `pulumi:"lockId"`
+ // STACKIT Project ID to which the project lock is associated.
+ ProjectId string `pulumi:"projectId"`
+ // The resource region. If not defined, the provider region is used.
+ Region string `pulumi:"region"`
+}
+
+func LookupSfsProjectLockOutput(ctx *pulumi.Context, args LookupSfsProjectLockOutputArgs, opts ...pulumi.InvokeOption) LookupSfsProjectLockResultOutput {
+ return pulumi.ToOutputWithContext(ctx.Context(), args).
+ ApplyT(func(v interface{}) (LookupSfsProjectLockResultOutput, error) {
+ args := v.(LookupSfsProjectLockArgs)
+ options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)}
+ return ctx.InvokeOutput("stackit:index/getSfsProjectLock:getSfsProjectLock", args, LookupSfsProjectLockResultOutput{}, options).(LookupSfsProjectLockResultOutput), nil
+ }).(LookupSfsProjectLockResultOutput)
+}
+
+// A collection of arguments for invoking getSfsProjectLock.
+type LookupSfsProjectLockOutputArgs struct {
+ // STACKIT Project ID to which the project lock is associated.
+ ProjectId pulumi.StringInput `pulumi:"projectId"`
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput `pulumi:"region"`
+}
+
+func (LookupSfsProjectLockOutputArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*LookupSfsProjectLockArgs)(nil)).Elem()
+}
+
+// A collection of values returned by getSfsProjectLock.
+type LookupSfsProjectLockResultOutput struct{ *pulumi.OutputState }
+
+func (LookupSfsProjectLockResultOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*LookupSfsProjectLockResult)(nil)).Elem()
+}
+
+func (o LookupSfsProjectLockResultOutput) ToLookupSfsProjectLockResultOutput() LookupSfsProjectLockResultOutput {
+ return o
+}
+
+func (o LookupSfsProjectLockResultOutput) ToLookupSfsProjectLockResultOutputWithContext(ctx context.Context) LookupSfsProjectLockResultOutput {
+ return o
+}
+
+// Terraform's internal resource identifier. It is structured as "`projectId`,`region`".
+func (o LookupSfsProjectLockResultOutput) Id() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupSfsProjectLockResult) string { return v.Id }).(pulumi.StringOutput)
+}
+
+// ID of the lock.
+func (o LookupSfsProjectLockResultOutput) LockId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupSfsProjectLockResult) string { return v.LockId }).(pulumi.StringOutput)
+}
+
+// STACKIT Project ID to which the project lock is associated.
+func (o LookupSfsProjectLockResultOutput) ProjectId() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupSfsProjectLockResult) string { return v.ProjectId }).(pulumi.StringOutput)
+}
+
+// The resource region. If not defined, the provider region is used.
+func (o LookupSfsProjectLockResultOutput) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v LookupSfsProjectLockResult) string { return v.Region }).(pulumi.StringOutput)
+}
+
+func init() {
+ pulumi.RegisterOutputType(LookupSfsProjectLockResultOutput{})
+}
diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go
index 8bffcd3..100978b 100644
--- a/sdk/go/stackit/init.go
+++ b/sdk/go/stackit/init.go
@@ -27,8 +27,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
r = &AlbCertificate{}
case "stackit:index/applicationLoadBalancer:ApplicationLoadBalancer":
r = &ApplicationLoadBalancer{}
+ case "stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole":
+ r = &AuthorizationFolderCustomRole{}
case "stackit:index/authorizationFolderRoleAssignment:AuthorizationFolderRoleAssignment":
r = &AuthorizationFolderRoleAssignment{}
+ case "stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole":
+ r = &AuthorizationOrganizationCustomRole{}
case "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment":
r = &AuthorizationOrganizationRoleAssignment{}
case "stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole":
@@ -149,6 +153,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
r = &ScfOrganizationManager{}
case "stackit:index/secretsmanagerInstance:SecretsmanagerInstance":
r = &SecretsmanagerInstance{}
+ case "stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1":
+ r = &SecretsmanagerInstanceRoleBindingV1{}
+ case "stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1":
+ r = &SecretsmanagerSecretGroupRoleBindingV1{}
case "stackit:index/secretsmanagerUser:SecretsmanagerUser":
r = &SecretsmanagerUser{}
case "stackit:index/securityGroup:SecurityGroup":
@@ -177,6 +185,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi
r = &ServiceAccountKey{}
case "stackit:index/sfsExportPolicy:SfsExportPolicy":
r = &SfsExportPolicy{}
+ case "stackit:index/sfsProjectLock:SfsProjectLock":
+ r = &SfsProjectLock{}
case "stackit:index/sfsResourcePool:SfsResourcePool":
r = &SfsResourcePool{}
case "stackit:index/sfsShare:SfsShare":
@@ -237,11 +247,21 @@ func init() {
"index/applicationLoadBalancer",
&module{version},
)
+ pulumi.RegisterResourceModule(
+ "stackit",
+ "index/authorizationFolderCustomRole",
+ &module{version},
+ )
pulumi.RegisterResourceModule(
"stackit",
"index/authorizationFolderRoleAssignment",
&module{version},
)
+ pulumi.RegisterResourceModule(
+ "stackit",
+ "index/authorizationOrganizationCustomRole",
+ &module{version},
+ )
pulumi.RegisterResourceModule(
"stackit",
"index/authorizationOrganizationRoleAssignment",
@@ -542,6 +562,16 @@ func init() {
"index/secretsmanagerInstance",
&module{version},
)
+ pulumi.RegisterResourceModule(
+ "stackit",
+ "index/secretsmanagerInstanceRoleBindingV1",
+ &module{version},
+ )
+ pulumi.RegisterResourceModule(
+ "stackit",
+ "index/secretsmanagerSecretGroupRoleBindingV1",
+ &module{version},
+ )
pulumi.RegisterResourceModule(
"stackit",
"index/secretsmanagerUser",
@@ -612,6 +642,11 @@ func init() {
"index/sfsExportPolicy",
&module{version},
)
+ pulumi.RegisterResourceModule(
+ "stackit",
+ "index/sfsProjectLock",
+ &module{version},
+ )
pulumi.RegisterResourceModule(
"stackit",
"index/sfsResourcePool",
diff --git a/sdk/go/stackit/objectstorageCredentialsGroup.go b/sdk/go/stackit/objectstorageCredentialsGroup.go
index fa774f2..6883910 100644
--- a/sdk/go/stackit/objectstorageCredentialsGroup.go
+++ b/sdk/go/stackit/objectstorageCredentialsGroup.go
@@ -27,7 +27,7 @@ type ObjectstorageCredentialsGroup struct {
// The resource region. If not defined, the provider region is used.
Region pulumi.StringOutput `pulumi:"region"`
// Credentials group uniform resource name (URN)
- Urn pulumi.StringOutput `pulumi:"urn"`
+ StackitUrn pulumi.StringOutput `pulumi:"stackitUrn"`
}
// NewObjectstorageCredentialsGroup registers a new resource with the given unique name, arguments, and options.
@@ -72,7 +72,7 @@ type objectstorageCredentialsGroupState struct {
// The resource region. If not defined, the provider region is used.
Region *string `pulumi:"region"`
// Credentials group uniform resource name (URN)
- Urn *string `pulumi:"urn"`
+ StackitUrn *string `pulumi:"stackitUrn"`
}
type ObjectstorageCredentialsGroupState struct {
@@ -85,7 +85,7 @@ type ObjectstorageCredentialsGroupState struct {
// The resource region. If not defined, the provider region is used.
Region pulumi.StringPtrInput
// Credentials group uniform resource name (URN)
- Urn pulumi.StringPtrInput
+ StackitUrn pulumi.StringPtrInput
}
func (ObjectstorageCredentialsGroupState) ElementType() reflect.Type {
@@ -219,8 +219,8 @@ func (o ObjectstorageCredentialsGroupOutput) Region() pulumi.StringOutput {
}
// Credentials group uniform resource name (URN)
-func (o ObjectstorageCredentialsGroupOutput) Urn() pulumi.StringOutput {
- return o.ApplyT(func(v *ObjectstorageCredentialsGroup) pulumi.StringOutput { return v.Urn }).(pulumi.StringOutput)
+func (o ObjectstorageCredentialsGroupOutput) StackitUrn() pulumi.StringOutput {
+ return o.ApplyT(func(v *ObjectstorageCredentialsGroup) pulumi.StringOutput { return v.StackitUrn }).(pulumi.StringOutput)
}
type ObjectstorageCredentialsGroupArrayOutput struct{ *pulumi.OutputState }
diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go
index 395463c..b9ebc5f 100644
--- a/sdk/go/stackit/pulumiTypes.go
+++ b/sdk/go/stackit/pulumiTypes.go
@@ -3585,6 +3585,8 @@ type CdnDistributionConfig struct {
BlockedCountries []string `pulumi:"blockedCountries"`
// 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
+ Redirects *CdnDistributionConfigRedirects `pulumi:"redirects"`
// The configured regions where content will be hosted
Regions []string `pulumi:"regions"`
}
@@ -3607,6 +3609,8 @@ type CdnDistributionConfigArgs struct {
BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"`
// 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
+ Redirects CdnDistributionConfigRedirectsPtrInput `pulumi:"redirects"`
// The configured regions where content will be hosted
Regions pulumi.StringArrayInput `pulumi:"regions"`
}
@@ -3703,6 +3707,11 @@ func (o CdnDistributionConfigOutput) Optimizer() CdnDistributionConfigOptimizerP
return o.ApplyT(func(v CdnDistributionConfig) *CdnDistributionConfigOptimizer { return v.Optimizer }).(CdnDistributionConfigOptimizerPtrOutput)
}
+// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+func (o CdnDistributionConfigOutput) Redirects() CdnDistributionConfigRedirectsPtrOutput {
+ return o.ApplyT(func(v CdnDistributionConfig) *CdnDistributionConfigRedirects { return v.Redirects }).(CdnDistributionConfigRedirectsPtrOutput)
+}
+
// The configured regions where content will be hosted
func (o CdnDistributionConfigOutput) Regions() pulumi.StringArrayOutput {
return o.ApplyT(func(v CdnDistributionConfig) []string { return v.Regions }).(pulumi.StringArrayOutput)
@@ -3762,6 +3771,16 @@ func (o CdnDistributionConfigPtrOutput) Optimizer() CdnDistributionConfigOptimiz
}).(CdnDistributionConfigOptimizerPtrOutput)
}
+// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+func (o CdnDistributionConfigPtrOutput) Redirects() CdnDistributionConfigRedirectsPtrOutput {
+ return o.ApplyT(func(v *CdnDistributionConfig) *CdnDistributionConfigRedirects {
+ if v == nil {
+ return nil
+ }
+ return v.Redirects
+ }).(CdnDistributionConfigRedirectsPtrOutput)
+}
+
// The configured regions where content will be hosted
func (o CdnDistributionConfigPtrOutput) Regions() pulumi.StringArrayOutput {
return o.ApplyT(func(v *CdnDistributionConfig) []string {
@@ -4312,6 +4331,393 @@ func (o CdnDistributionConfigOptimizerPtrOutput) Enabled() pulumi.BoolPtrOutput
}).(pulumi.BoolPtrOutput)
}
+type CdnDistributionConfigRedirects struct {
+ // A list of redirect rules. The order of rules matters for evaluation
+ Rules []CdnDistributionConfigRedirectsRule `pulumi:"rules"`
+}
+
+// CdnDistributionConfigRedirectsInput is an input type that accepts CdnDistributionConfigRedirectsArgs and CdnDistributionConfigRedirectsOutput values.
+// You can construct a concrete instance of `CdnDistributionConfigRedirectsInput` via:
+//
+// CdnDistributionConfigRedirectsArgs{...}
+type CdnDistributionConfigRedirectsInput interface {
+ pulumi.Input
+
+ ToCdnDistributionConfigRedirectsOutput() CdnDistributionConfigRedirectsOutput
+ ToCdnDistributionConfigRedirectsOutputWithContext(context.Context) CdnDistributionConfigRedirectsOutput
+}
+
+type CdnDistributionConfigRedirectsArgs struct {
+ // A list of redirect rules. The order of rules matters for evaluation
+ Rules CdnDistributionConfigRedirectsRuleArrayInput `pulumi:"rules"`
+}
+
+func (CdnDistributionConfigRedirectsArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*CdnDistributionConfigRedirects)(nil)).Elem()
+}
+
+func (i CdnDistributionConfigRedirectsArgs) ToCdnDistributionConfigRedirectsOutput() CdnDistributionConfigRedirectsOutput {
+ return i.ToCdnDistributionConfigRedirectsOutputWithContext(context.Background())
+}
+
+func (i CdnDistributionConfigRedirectsArgs) ToCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsOutput)
+}
+
+func (i CdnDistributionConfigRedirectsArgs) ToCdnDistributionConfigRedirectsPtrOutput() CdnDistributionConfigRedirectsPtrOutput {
+ return i.ToCdnDistributionConfigRedirectsPtrOutputWithContext(context.Background())
+}
+
+func (i CdnDistributionConfigRedirectsArgs) ToCdnDistributionConfigRedirectsPtrOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsPtrOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsOutput).ToCdnDistributionConfigRedirectsPtrOutputWithContext(ctx)
+}
+
+// CdnDistributionConfigRedirectsPtrInput is an input type that accepts CdnDistributionConfigRedirectsArgs, CdnDistributionConfigRedirectsPtr and CdnDistributionConfigRedirectsPtrOutput values.
+// You can construct a concrete instance of `CdnDistributionConfigRedirectsPtrInput` via:
+//
+// CdnDistributionConfigRedirectsArgs{...}
+//
+// or:
+//
+// nil
+type CdnDistributionConfigRedirectsPtrInput interface {
+ pulumi.Input
+
+ ToCdnDistributionConfigRedirectsPtrOutput() CdnDistributionConfigRedirectsPtrOutput
+ ToCdnDistributionConfigRedirectsPtrOutputWithContext(context.Context) CdnDistributionConfigRedirectsPtrOutput
+}
+
+type cdnDistributionConfigRedirectsPtrType CdnDistributionConfigRedirectsArgs
+
+func CdnDistributionConfigRedirectsPtr(v *CdnDistributionConfigRedirectsArgs) CdnDistributionConfigRedirectsPtrInput {
+ return (*cdnDistributionConfigRedirectsPtrType)(v)
+}
+
+func (*cdnDistributionConfigRedirectsPtrType) ElementType() reflect.Type {
+ return reflect.TypeOf((**CdnDistributionConfigRedirects)(nil)).Elem()
+}
+
+func (i *cdnDistributionConfigRedirectsPtrType) ToCdnDistributionConfigRedirectsPtrOutput() CdnDistributionConfigRedirectsPtrOutput {
+ return i.ToCdnDistributionConfigRedirectsPtrOutputWithContext(context.Background())
+}
+
+func (i *cdnDistributionConfigRedirectsPtrType) ToCdnDistributionConfigRedirectsPtrOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsPtrOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsPtrOutput)
+}
+
+type CdnDistributionConfigRedirectsOutput struct{ *pulumi.OutputState }
+
+func (CdnDistributionConfigRedirectsOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*CdnDistributionConfigRedirects)(nil)).Elem()
+}
+
+func (o CdnDistributionConfigRedirectsOutput) ToCdnDistributionConfigRedirectsOutput() CdnDistributionConfigRedirectsOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsOutput) ToCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsOutput) ToCdnDistributionConfigRedirectsPtrOutput() CdnDistributionConfigRedirectsPtrOutput {
+ return o.ToCdnDistributionConfigRedirectsPtrOutputWithContext(context.Background())
+}
+
+func (o CdnDistributionConfigRedirectsOutput) ToCdnDistributionConfigRedirectsPtrOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsPtrOutput {
+ return o.ApplyTWithContext(ctx, func(_ context.Context, v CdnDistributionConfigRedirects) *CdnDistributionConfigRedirects {
+ return &v
+ }).(CdnDistributionConfigRedirectsPtrOutput)
+}
+
+// A list of redirect rules. The order of rules matters for evaluation
+func (o CdnDistributionConfigRedirectsOutput) Rules() CdnDistributionConfigRedirectsRuleArrayOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirects) []CdnDistributionConfigRedirectsRule { return v.Rules }).(CdnDistributionConfigRedirectsRuleArrayOutput)
+}
+
+type CdnDistributionConfigRedirectsPtrOutput struct{ *pulumi.OutputState }
+
+func (CdnDistributionConfigRedirectsPtrOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**CdnDistributionConfigRedirects)(nil)).Elem()
+}
+
+func (o CdnDistributionConfigRedirectsPtrOutput) ToCdnDistributionConfigRedirectsPtrOutput() CdnDistributionConfigRedirectsPtrOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsPtrOutput) ToCdnDistributionConfigRedirectsPtrOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsPtrOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsPtrOutput) Elem() CdnDistributionConfigRedirectsOutput {
+ return o.ApplyT(func(v *CdnDistributionConfigRedirects) CdnDistributionConfigRedirects {
+ if v != nil {
+ return *v
+ }
+ var ret CdnDistributionConfigRedirects
+ return ret
+ }).(CdnDistributionConfigRedirectsOutput)
+}
+
+// A list of redirect rules. The order of rules matters for evaluation
+func (o CdnDistributionConfigRedirectsPtrOutput) Rules() CdnDistributionConfigRedirectsRuleArrayOutput {
+ return o.ApplyT(func(v *CdnDistributionConfigRedirects) []CdnDistributionConfigRedirectsRule {
+ if v == nil {
+ return nil
+ }
+ return v.Rules
+ }).(CdnDistributionConfigRedirectsRuleArrayOutput)
+}
+
+type CdnDistributionConfigRedirectsRule struct {
+ // An optional description for the redirect rule
+ Description *string `pulumi:"description"`
+ // A toggle to enable or disable the redirect rule. Default to true
+ Enabled *bool `pulumi:"enabled"`
+ // A list of matchers that define when this rule should apply. At least one matcher is required
+ Matchers []CdnDistributionConfigRedirectsRuleMatcher `pulumi:"matchers"`
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ RuleMatchCondition *string `pulumi:"ruleMatchCondition"`
+ // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ StatusCode int `pulumi:"statusCode"`
+ // The target URL to redirect to. Must be a valid URI
+ TargetUrl string `pulumi:"targetUrl"`
+}
+
+// CdnDistributionConfigRedirectsRuleInput is an input type that accepts CdnDistributionConfigRedirectsRuleArgs and CdnDistributionConfigRedirectsRuleOutput values.
+// You can construct a concrete instance of `CdnDistributionConfigRedirectsRuleInput` via:
+//
+// CdnDistributionConfigRedirectsRuleArgs{...}
+type CdnDistributionConfigRedirectsRuleInput interface {
+ pulumi.Input
+
+ ToCdnDistributionConfigRedirectsRuleOutput() CdnDistributionConfigRedirectsRuleOutput
+ ToCdnDistributionConfigRedirectsRuleOutputWithContext(context.Context) CdnDistributionConfigRedirectsRuleOutput
+}
+
+type CdnDistributionConfigRedirectsRuleArgs struct {
+ // An optional description for the redirect rule
+ Description pulumi.StringPtrInput `pulumi:"description"`
+ // A toggle to enable or disable the redirect rule. Default to true
+ Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
+ // A list of matchers that define when this rule should apply. At least one matcher is required
+ Matchers CdnDistributionConfigRedirectsRuleMatcherArrayInput `pulumi:"matchers"`
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ RuleMatchCondition pulumi.StringPtrInput `pulumi:"ruleMatchCondition"`
+ // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ StatusCode pulumi.IntInput `pulumi:"statusCode"`
+ // The target URL to redirect to. Must be a valid URI
+ TargetUrl pulumi.StringInput `pulumi:"targetUrl"`
+}
+
+func (CdnDistributionConfigRedirectsRuleArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*CdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (i CdnDistributionConfigRedirectsRuleArgs) ToCdnDistributionConfigRedirectsRuleOutput() CdnDistributionConfigRedirectsRuleOutput {
+ return i.ToCdnDistributionConfigRedirectsRuleOutputWithContext(context.Background())
+}
+
+func (i CdnDistributionConfigRedirectsRuleArgs) ToCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsRuleOutput)
+}
+
+// CdnDistributionConfigRedirectsRuleArrayInput is an input type that accepts CdnDistributionConfigRedirectsRuleArray and CdnDistributionConfigRedirectsRuleArrayOutput values.
+// You can construct a concrete instance of `CdnDistributionConfigRedirectsRuleArrayInput` via:
+//
+// CdnDistributionConfigRedirectsRuleArray{ CdnDistributionConfigRedirectsRuleArgs{...} }
+type CdnDistributionConfigRedirectsRuleArrayInput interface {
+ pulumi.Input
+
+ ToCdnDistributionConfigRedirectsRuleArrayOutput() CdnDistributionConfigRedirectsRuleArrayOutput
+ ToCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Context) CdnDistributionConfigRedirectsRuleArrayOutput
+}
+
+type CdnDistributionConfigRedirectsRuleArray []CdnDistributionConfigRedirectsRuleInput
+
+func (CdnDistributionConfigRedirectsRuleArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]CdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (i CdnDistributionConfigRedirectsRuleArray) ToCdnDistributionConfigRedirectsRuleArrayOutput() CdnDistributionConfigRedirectsRuleArrayOutput {
+ return i.ToCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Background())
+}
+
+func (i CdnDistributionConfigRedirectsRuleArray) ToCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsRuleArrayOutput)
+}
+
+type CdnDistributionConfigRedirectsRuleOutput struct{ *pulumi.OutputState }
+
+func (CdnDistributionConfigRedirectsRuleOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*CdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (o CdnDistributionConfigRedirectsRuleOutput) ToCdnDistributionConfigRedirectsRuleOutput() CdnDistributionConfigRedirectsRuleOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsRuleOutput) ToCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleOutput {
+ return o
+}
+
+// An optional description for the redirect rule
+func (o CdnDistributionConfigRedirectsRuleOutput) Description() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRule) *string { return v.Description }).(pulumi.StringPtrOutput)
+}
+
+// A toggle to enable or disable the redirect rule. Default to true
+func (o CdnDistributionConfigRedirectsRuleOutput) Enabled() pulumi.BoolPtrOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRule) *bool { return v.Enabled }).(pulumi.BoolPtrOutput)
+}
+
+// A list of matchers that define when this rule should apply. At least one matcher is required
+func (o CdnDistributionConfigRedirectsRuleOutput) Matchers() CdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRule) []CdnDistributionConfigRedirectsRuleMatcher {
+ return v.Matchers
+ }).(CdnDistributionConfigRedirectsRuleMatcherArrayOutput)
+}
+
+// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+func (o CdnDistributionConfigRedirectsRuleOutput) RuleMatchCondition() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRule) *string { return v.RuleMatchCondition }).(pulumi.StringPtrOutput)
+}
+
+// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+func (o CdnDistributionConfigRedirectsRuleOutput) StatusCode() pulumi.IntOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRule) int { return v.StatusCode }).(pulumi.IntOutput)
+}
+
+// The target URL to redirect to. Must be a valid URI
+func (o CdnDistributionConfigRedirectsRuleOutput) TargetUrl() pulumi.StringOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRule) string { return v.TargetUrl }).(pulumi.StringOutput)
+}
+
+type CdnDistributionConfigRedirectsRuleArrayOutput struct{ *pulumi.OutputState }
+
+func (CdnDistributionConfigRedirectsRuleArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]CdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (o CdnDistributionConfigRedirectsRuleArrayOutput) ToCdnDistributionConfigRedirectsRuleArrayOutput() CdnDistributionConfigRedirectsRuleArrayOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsRuleArrayOutput) ToCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleArrayOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsRuleArrayOutput) Index(i pulumi.IntInput) CdnDistributionConfigRedirectsRuleOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) CdnDistributionConfigRedirectsRule {
+ return vs[0].([]CdnDistributionConfigRedirectsRule)[vs[1].(int)]
+ }).(CdnDistributionConfigRedirectsRuleOutput)
+}
+
+type CdnDistributionConfigRedirectsRuleMatcher struct {
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ValueMatchCondition *string `pulumi:"valueMatchCondition"`
+ // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ Values []string `pulumi:"values"`
+}
+
+// CdnDistributionConfigRedirectsRuleMatcherInput is an input type that accepts CdnDistributionConfigRedirectsRuleMatcherArgs and CdnDistributionConfigRedirectsRuleMatcherOutput values.
+// You can construct a concrete instance of `CdnDistributionConfigRedirectsRuleMatcherInput` via:
+//
+// CdnDistributionConfigRedirectsRuleMatcherArgs{...}
+type CdnDistributionConfigRedirectsRuleMatcherInput interface {
+ pulumi.Input
+
+ ToCdnDistributionConfigRedirectsRuleMatcherOutput() CdnDistributionConfigRedirectsRuleMatcherOutput
+ ToCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Context) CdnDistributionConfigRedirectsRuleMatcherOutput
+}
+
+type CdnDistributionConfigRedirectsRuleMatcherArgs struct {
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ValueMatchCondition pulumi.StringPtrInput `pulumi:"valueMatchCondition"`
+ // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ Values pulumi.StringArrayInput `pulumi:"values"`
+}
+
+func (CdnDistributionConfigRedirectsRuleMatcherArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*CdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (i CdnDistributionConfigRedirectsRuleMatcherArgs) ToCdnDistributionConfigRedirectsRuleMatcherOutput() CdnDistributionConfigRedirectsRuleMatcherOutput {
+ return i.ToCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Background())
+}
+
+func (i CdnDistributionConfigRedirectsRuleMatcherArgs) ToCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleMatcherOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsRuleMatcherOutput)
+}
+
+// CdnDistributionConfigRedirectsRuleMatcherArrayInput is an input type that accepts CdnDistributionConfigRedirectsRuleMatcherArray and CdnDistributionConfigRedirectsRuleMatcherArrayOutput values.
+// You can construct a concrete instance of `CdnDistributionConfigRedirectsRuleMatcherArrayInput` via:
+//
+// CdnDistributionConfigRedirectsRuleMatcherArray{ CdnDistributionConfigRedirectsRuleMatcherArgs{...} }
+type CdnDistributionConfigRedirectsRuleMatcherArrayInput interface {
+ pulumi.Input
+
+ ToCdnDistributionConfigRedirectsRuleMatcherArrayOutput() CdnDistributionConfigRedirectsRuleMatcherArrayOutput
+ ToCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Context) CdnDistributionConfigRedirectsRuleMatcherArrayOutput
+}
+
+type CdnDistributionConfigRedirectsRuleMatcherArray []CdnDistributionConfigRedirectsRuleMatcherInput
+
+func (CdnDistributionConfigRedirectsRuleMatcherArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]CdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (i CdnDistributionConfigRedirectsRuleMatcherArray) ToCdnDistributionConfigRedirectsRuleMatcherArrayOutput() CdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return i.ToCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Background())
+}
+
+func (i CdnDistributionConfigRedirectsRuleMatcherArray) ToCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(CdnDistributionConfigRedirectsRuleMatcherArrayOutput)
+}
+
+type CdnDistributionConfigRedirectsRuleMatcherOutput struct{ *pulumi.OutputState }
+
+func (CdnDistributionConfigRedirectsRuleMatcherOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*CdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (o CdnDistributionConfigRedirectsRuleMatcherOutput) ToCdnDistributionConfigRedirectsRuleMatcherOutput() CdnDistributionConfigRedirectsRuleMatcherOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsRuleMatcherOutput) ToCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleMatcherOutput {
+ return o
+}
+
+// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+func (o CdnDistributionConfigRedirectsRuleMatcherOutput) ValueMatchCondition() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRuleMatcher) *string { return v.ValueMatchCondition }).(pulumi.StringPtrOutput)
+}
+
+// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+func (o CdnDistributionConfigRedirectsRuleMatcherOutput) Values() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v CdnDistributionConfigRedirectsRuleMatcher) []string { return v.Values }).(pulumi.StringArrayOutput)
+}
+
+type CdnDistributionConfigRedirectsRuleMatcherArrayOutput struct{ *pulumi.OutputState }
+
+func (CdnDistributionConfigRedirectsRuleMatcherArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]CdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (o CdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToCdnDistributionConfigRedirectsRuleMatcherArrayOutput() CdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) CdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return o
+}
+
+func (o CdnDistributionConfigRedirectsRuleMatcherArrayOutput) Index(i pulumi.IntInput) CdnDistributionConfigRedirectsRuleMatcherOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) CdnDistributionConfigRedirectsRuleMatcher {
+ return vs[0].([]CdnDistributionConfigRedirectsRuleMatcher)[vs[1].(int)]
+ }).(CdnDistributionConfigRedirectsRuleMatcherOutput)
+}
+
type CdnDistributionDomain struct {
// List of domain errors
Errors []string `pulumi:"errors"`
@@ -15450,9 +15856,9 @@ type SkeClusterMaintenance struct {
// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. 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/).
EnableMachineImageVersionUpdates *bool `pulumi:"enableMachineImageVersionUpdates"`
// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
- End string `pulumi:"end"`
+ End *string `pulumi:"end"`
// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
- Start string `pulumi:"start"`
+ Start *string `pulumi:"start"`
}
// SkeClusterMaintenanceInput is an input type that accepts SkeClusterMaintenanceArgs and SkeClusterMaintenanceOutput values.
@@ -15472,9 +15878,9 @@ type SkeClusterMaintenanceArgs struct {
// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. 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/).
EnableMachineImageVersionUpdates pulumi.BoolPtrInput `pulumi:"enableMachineImageVersionUpdates"`
// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
- End pulumi.StringInput `pulumi:"end"`
+ End pulumi.StringPtrInput `pulumi:"end"`
// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
- Start pulumi.StringInput `pulumi:"start"`
+ Start pulumi.StringPtrInput `pulumi:"start"`
}
func (SkeClusterMaintenanceArgs) ElementType() reflect.Type {
@@ -15565,13 +15971,13 @@ func (o SkeClusterMaintenanceOutput) EnableMachineImageVersionUpdates() pulumi.B
}
// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
-func (o SkeClusterMaintenanceOutput) End() pulumi.StringOutput {
- return o.ApplyT(func(v SkeClusterMaintenance) string { return v.End }).(pulumi.StringOutput)
+func (o SkeClusterMaintenanceOutput) End() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v SkeClusterMaintenance) *string { return v.End }).(pulumi.StringPtrOutput)
}
// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
-func (o SkeClusterMaintenanceOutput) Start() pulumi.StringOutput {
- return o.ApplyT(func(v SkeClusterMaintenance) string { return v.Start }).(pulumi.StringOutput)
+func (o SkeClusterMaintenanceOutput) Start() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v SkeClusterMaintenance) *string { return v.Start }).(pulumi.StringPtrOutput)
}
type SkeClusterMaintenancePtrOutput struct{ *pulumi.OutputState }
@@ -15624,7 +16030,7 @@ func (o SkeClusterMaintenancePtrOutput) End() pulumi.StringPtrOutput {
if v == nil {
return nil
}
- return &v.End
+ return v.End
}).(pulumi.StringPtrOutput)
}
@@ -15634,7 +16040,7 @@ func (o SkeClusterMaintenancePtrOutput) Start() pulumi.StringPtrOutput {
if v == nil {
return nil
}
- return &v.Start
+ return v.Start
}).(pulumi.StringPtrOutput)
}
@@ -19346,6 +19752,8 @@ type GetCdnDistributionConfig struct {
BlockedCountries []string `pulumi:"blockedCountries"`
// 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
+ Redirects GetCdnDistributionConfigRedirects `pulumi:"redirects"`
// The configured regions where content will be hosted
Regions []string `pulumi:"regions"`
}
@@ -19368,6 +19776,8 @@ type GetCdnDistributionConfigArgs struct {
BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"`
// 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
+ Redirects GetCdnDistributionConfigRedirectsInput `pulumi:"redirects"`
// The configured regions where content will be hosted
Regions pulumi.StringArrayInput `pulumi:"regions"`
}
@@ -19413,6 +19823,11 @@ func (o GetCdnDistributionConfigOutput) Optimizer() GetCdnDistributionConfigOpti
return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigOptimizer { return v.Optimizer }).(GetCdnDistributionConfigOptimizerOutput)
}
+// A wrapper for a list of redirect rules that allows for redirect settings on a distribution
+func (o GetCdnDistributionConfigOutput) Redirects() GetCdnDistributionConfigRedirectsOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigRedirects { return v.Redirects }).(GetCdnDistributionConfigRedirectsOutput)
+}
+
// The configured regions where content will be hosted
func (o GetCdnDistributionConfigOutput) Regions() pulumi.StringArrayOutput {
return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.Regions }).(pulumi.StringArrayOutput)
@@ -19564,6 +19979,308 @@ func (o GetCdnDistributionConfigOptimizerOutput) Enabled() pulumi.BoolOutput {
return o.ApplyT(func(v GetCdnDistributionConfigOptimizer) bool { return v.Enabled }).(pulumi.BoolOutput)
}
+type GetCdnDistributionConfigRedirects struct {
+ // A list of redirect rules. The order of rules matters for evaluation
+ Rules []GetCdnDistributionConfigRedirectsRule `pulumi:"rules"`
+}
+
+// GetCdnDistributionConfigRedirectsInput is an input type that accepts GetCdnDistributionConfigRedirectsArgs and GetCdnDistributionConfigRedirectsOutput values.
+// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsInput` via:
+//
+// GetCdnDistributionConfigRedirectsArgs{...}
+type GetCdnDistributionConfigRedirectsInput interface {
+ pulumi.Input
+
+ ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput
+ ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsOutput
+}
+
+type GetCdnDistributionConfigRedirectsArgs struct {
+ // A list of redirect rules. The order of rules matters for evaluation
+ Rules GetCdnDistributionConfigRedirectsRuleArrayInput `pulumi:"rules"`
+}
+
+func (GetCdnDistributionConfigRedirectsArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem()
+}
+
+func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput {
+ return i.ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Background())
+}
+
+func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsOutput)
+}
+
+type GetCdnDistributionConfigRedirectsOutput struct{ *pulumi.OutputState }
+
+func (GetCdnDistributionConfigRedirectsOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem()
+}
+
+func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput {
+ return o
+}
+
+// A list of redirect rules. The order of rules matters for evaluation
+func (o GetCdnDistributionConfigRedirectsOutput) Rules() GetCdnDistributionConfigRedirectsRuleArrayOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirects) []GetCdnDistributionConfigRedirectsRule { return v.Rules }).(GetCdnDistributionConfigRedirectsRuleArrayOutput)
+}
+
+type GetCdnDistributionConfigRedirectsRule struct {
+ // An optional description for the redirect rule
+ Description string `pulumi:"description"`
+ // A toggle to enable or disable the redirect rule. Default to true
+ Enabled bool `pulumi:"enabled"`
+ // A list of matchers that define when this rule should apply. At least one matcher is required
+ Matchers []GetCdnDistributionConfigRedirectsRuleMatcher `pulumi:"matchers"`
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ RuleMatchCondition string `pulumi:"ruleMatchCondition"`
+ // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ StatusCode int `pulumi:"statusCode"`
+ // The target URL to redirect to. Must be a valid URI
+ TargetUrl string `pulumi:"targetUrl"`
+}
+
+// GetCdnDistributionConfigRedirectsRuleInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArgs and GetCdnDistributionConfigRedirectsRuleOutput values.
+// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleInput` via:
+//
+// GetCdnDistributionConfigRedirectsRuleArgs{...}
+type GetCdnDistributionConfigRedirectsRuleInput interface {
+ pulumi.Input
+
+ ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput
+ ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleOutput
+}
+
+type GetCdnDistributionConfigRedirectsRuleArgs struct {
+ // An optional description for the redirect rule
+ Description pulumi.StringInput `pulumi:"description"`
+ // A toggle to enable or disable the redirect rule. Default to true
+ Enabled pulumi.BoolInput `pulumi:"enabled"`
+ // A list of matchers that define when this rule should apply. At least one matcher is required
+ Matchers GetCdnDistributionConfigRedirectsRuleMatcherArrayInput `pulumi:"matchers"`
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ RuleMatchCondition pulumi.StringInput `pulumi:"ruleMatchCondition"`
+ // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+ StatusCode pulumi.IntInput `pulumi:"statusCode"`
+ // The target URL to redirect to. Must be a valid URI
+ TargetUrl pulumi.StringInput `pulumi:"targetUrl"`
+}
+
+func (GetCdnDistributionConfigRedirectsRuleArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput {
+ return i.ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Background())
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleOutput)
+}
+
+// GetCdnDistributionConfigRedirectsRuleArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArray and GetCdnDistributionConfigRedirectsRuleArrayOutput values.
+// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleArrayInput` via:
+//
+// GetCdnDistributionConfigRedirectsRuleArray{ GetCdnDistributionConfigRedirectsRuleArgs{...} }
+type GetCdnDistributionConfigRedirectsRuleArrayInput interface {
+ pulumi.Input
+
+ ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput
+ ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput
+}
+
+type GetCdnDistributionConfigRedirectsRuleArray []GetCdnDistributionConfigRedirectsRuleInput
+
+func (GetCdnDistributionConfigRedirectsRuleArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput {
+ return i.ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Background())
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleArrayOutput)
+}
+
+type GetCdnDistributionConfigRedirectsRuleOutput struct{ *pulumi.OutputState }
+
+func (GetCdnDistributionConfigRedirectsRuleOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput {
+ return o
+}
+
+// An optional description for the redirect rule
+func (o GetCdnDistributionConfigRedirectsRuleOutput) Description() pulumi.StringOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.Description }).(pulumi.StringOutput)
+}
+
+// A toggle to enable or disable the redirect rule. Default to true
+func (o GetCdnDistributionConfigRedirectsRuleOutput) Enabled() pulumi.BoolOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) bool { return v.Enabled }).(pulumi.BoolOutput)
+}
+
+// A list of matchers that define when this rule should apply. At least one matcher is required
+func (o GetCdnDistributionConfigRedirectsRuleOutput) Matchers() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) []GetCdnDistributionConfigRedirectsRuleMatcher {
+ return v.Matchers
+ }).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput)
+}
+
+// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+func (o GetCdnDistributionConfigRedirectsRuleOutput) RuleMatchCondition() pulumi.StringOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.RuleMatchCondition }).(pulumi.StringOutput)
+}
+
+// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308.
+func (o GetCdnDistributionConfigRedirectsRuleOutput) StatusCode() pulumi.IntOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) int { return v.StatusCode }).(pulumi.IntOutput)
+}
+
+// The target URL to redirect to. Must be a valid URI
+func (o GetCdnDistributionConfigRedirectsRuleOutput) TargetUrl() pulumi.StringOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.TargetUrl }).(pulumi.StringOutput)
+}
+
+type GetCdnDistributionConfigRedirectsRuleArrayOutput struct{ *pulumi.OutputState }
+
+func (GetCdnDistributionConfigRedirectsRuleArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem()
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRule {
+ return vs[0].([]GetCdnDistributionConfigRedirectsRule)[vs[1].(int)]
+ }).(GetCdnDistributionConfigRedirectsRuleOutput)
+}
+
+type GetCdnDistributionConfigRedirectsRuleMatcher struct {
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ValueMatchCondition string `pulumi:"valueMatchCondition"`
+ // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ Values []string `pulumi:"values"`
+}
+
+// GetCdnDistributionConfigRedirectsRuleMatcherInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArgs and GetCdnDistributionConfigRedirectsRuleMatcherOutput values.
+// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherInput` via:
+//
+// GetCdnDistributionConfigRedirectsRuleMatcherArgs{...}
+type GetCdnDistributionConfigRedirectsRuleMatcherInput interface {
+ pulumi.Input
+
+ ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput
+ ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput
+}
+
+type GetCdnDistributionConfigRedirectsRuleMatcherArgs struct {
+ // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+ ValueMatchCondition pulumi.StringInput `pulumi:"valueMatchCondition"`
+ // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+ Values pulumi.StringArrayInput `pulumi:"values"`
+}
+
+func (GetCdnDistributionConfigRedirectsRuleMatcherArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput {
+ return i.ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Background())
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherOutput)
+}
+
+// GetCdnDistributionConfigRedirectsRuleMatcherArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArray and GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput values.
+// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherArrayInput` via:
+//
+// GetCdnDistributionConfigRedirectsRuleMatcherArray{ GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} }
+type GetCdnDistributionConfigRedirectsRuleMatcherArrayInput interface {
+ pulumi.Input
+
+ ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput
+ ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput
+}
+
+type GetCdnDistributionConfigRedirectsRuleMatcherArray []GetCdnDistributionConfigRedirectsRuleMatcherInput
+
+func (GetCdnDistributionConfigRedirectsRuleMatcherArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return i.ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Background())
+}
+
+func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput)
+}
+
+type GetCdnDistributionConfigRedirectsRuleMatcherOutput struct{ *pulumi.OutputState }
+
+func (GetCdnDistributionConfigRedirectsRuleMatcherOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput {
+ return o
+}
+
+// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY.
+func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ValueMatchCondition() pulumi.StringOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) string { return v.ValueMatchCondition }).(pulumi.StringOutput)
+}
+
+// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*"
+func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) Values() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) []string { return v.Values }).(pulumi.StringArrayOutput)
+}
+
+type GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput struct{ *pulumi.OutputState }
+
+func (GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem()
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput {
+ return o
+}
+
+func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleMatcherOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRuleMatcher {
+ return vs[0].([]GetCdnDistributionConfigRedirectsRuleMatcher)[vs[1].(int)]
+ }).(GetCdnDistributionConfigRedirectsRuleMatcherOutput)
+}
+
type GetCdnDistributionDomain struct {
// List of domain errors
Errors []string `pulumi:"errors"`
@@ -21633,7 +22350,7 @@ type GetLoadbalancerTargetPool struct {
// Target pool name.
Name string `pulumi:"name"`
// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported.
- SessionPersistence *GetLoadbalancerTargetPoolSessionPersistence `pulumi:"sessionPersistence"`
+ SessionPersistence GetLoadbalancerTargetPoolSessionPersistence `pulumi:"sessionPersistence"`
// Identical port number where each target listens for traffic.
TargetPort int `pulumi:"targetPort"`
// List of all targets which will be used in the pool. Limited to 1000.
@@ -21656,7 +22373,7 @@ type GetLoadbalancerTargetPoolArgs struct {
// Target pool name.
Name pulumi.StringInput `pulumi:"name"`
// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported.
- SessionPersistence GetLoadbalancerTargetPoolSessionPersistencePtrInput `pulumi:"sessionPersistence"`
+ SessionPersistence GetLoadbalancerTargetPoolSessionPersistenceInput `pulumi:"sessionPersistence"`
// Identical port number where each target listens for traffic.
TargetPort pulumi.IntInput `pulumi:"targetPort"`
// List of all targets which will be used in the pool. Limited to 1000.
@@ -21726,10 +22443,10 @@ func (o GetLoadbalancerTargetPoolOutput) Name() pulumi.StringOutput {
}
// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported.
-func (o GetLoadbalancerTargetPoolOutput) SessionPersistence() GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return o.ApplyT(func(v GetLoadbalancerTargetPool) *GetLoadbalancerTargetPoolSessionPersistence {
+func (o GetLoadbalancerTargetPoolOutput) SessionPersistence() GetLoadbalancerTargetPoolSessionPersistenceOutput {
+ return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolSessionPersistence {
return v.SessionPersistence
- }).(GetLoadbalancerTargetPoolSessionPersistencePtrOutput)
+ }).(GetLoadbalancerTargetPoolSessionPersistenceOutput)
}
// Identical port number where each target listens for traffic.
@@ -21852,7 +22569,7 @@ func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() p
type GetLoadbalancerTargetPoolSessionPersistence struct {
// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
- UseSourceIpAddress *bool `pulumi:"useSourceIpAddress"`
+ UseSourceIpAddress bool `pulumi:"useSourceIpAddress"`
}
// GetLoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts GetLoadbalancerTargetPoolSessionPersistenceArgs and GetLoadbalancerTargetPoolSessionPersistenceOutput values.
@@ -21868,7 +22585,7 @@ type GetLoadbalancerTargetPoolSessionPersistenceInput interface {
type GetLoadbalancerTargetPoolSessionPersistenceArgs struct {
// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
- UseSourceIpAddress pulumi.BoolPtrInput `pulumi:"useSourceIpAddress"`
+ UseSourceIpAddress pulumi.BoolInput `pulumi:"useSourceIpAddress"`
}
func (GetLoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type {
@@ -21883,47 +22600,6 @@ func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTarget
return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistenceOutput)
}
-func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutput() GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return i.ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background())
-}
-
-func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistenceOutput).ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx)
-}
-
-// GetLoadbalancerTargetPoolSessionPersistencePtrInput is an input type that accepts GetLoadbalancerTargetPoolSessionPersistenceArgs, GetLoadbalancerTargetPoolSessionPersistencePtr and GetLoadbalancerTargetPoolSessionPersistencePtrOutput values.
-// You can construct a concrete instance of `GetLoadbalancerTargetPoolSessionPersistencePtrInput` via:
-//
-// GetLoadbalancerTargetPoolSessionPersistenceArgs{...}
-//
-// or:
-//
-// nil
-type GetLoadbalancerTargetPoolSessionPersistencePtrInput interface {
- pulumi.Input
-
- ToGetLoadbalancerTargetPoolSessionPersistencePtrOutput() GetLoadbalancerTargetPoolSessionPersistencePtrOutput
- ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Context) GetLoadbalancerTargetPoolSessionPersistencePtrOutput
-}
-
-type getLoadbalancerTargetPoolSessionPersistencePtrType GetLoadbalancerTargetPoolSessionPersistenceArgs
-
-func GetLoadbalancerTargetPoolSessionPersistencePtr(v *GetLoadbalancerTargetPoolSessionPersistenceArgs) GetLoadbalancerTargetPoolSessionPersistencePtrInput {
- return (*getLoadbalancerTargetPoolSessionPersistencePtrType)(v)
-}
-
-func (*getLoadbalancerTargetPoolSessionPersistencePtrType) ElementType() reflect.Type {
- return reflect.TypeOf((**GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem()
-}
-
-func (i *getLoadbalancerTargetPoolSessionPersistencePtrType) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutput() GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return i.ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background())
-}
-
-func (i *getLoadbalancerTargetPoolSessionPersistencePtrType) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistencePtrOutput)
-}
-
type GetLoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState }
func (GetLoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type {
@@ -21938,53 +22614,9 @@ func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTarg
return o
}
-func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutput() GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return o.ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background())
-}
-
-func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return o.ApplyTWithContext(ctx, func(_ context.Context, v GetLoadbalancerTargetPoolSessionPersistence) *GetLoadbalancerTargetPoolSessionPersistence {
- return &v
- }).(GetLoadbalancerTargetPoolSessionPersistencePtrOutput)
-}
-
-// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
-func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolPtrOutput {
- return o.ApplyT(func(v GetLoadbalancerTargetPoolSessionPersistence) *bool { return v.UseSourceIpAddress }).(pulumi.BoolPtrOutput)
-}
-
-type GetLoadbalancerTargetPoolSessionPersistencePtrOutput struct{ *pulumi.OutputState }
-
-func (GetLoadbalancerTargetPoolSessionPersistencePtrOutput) ElementType() reflect.Type {
- return reflect.TypeOf((**GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem()
-}
-
-func (o GetLoadbalancerTargetPoolSessionPersistencePtrOutput) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutput() GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return o
-}
-
-func (o GetLoadbalancerTargetPoolSessionPersistencePtrOutput) ToGetLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistencePtrOutput {
- return o
-}
-
-func (o GetLoadbalancerTargetPoolSessionPersistencePtrOutput) Elem() GetLoadbalancerTargetPoolSessionPersistenceOutput {
- return o.ApplyT(func(v *GetLoadbalancerTargetPoolSessionPersistence) GetLoadbalancerTargetPoolSessionPersistence {
- if v != nil {
- return *v
- }
- var ret GetLoadbalancerTargetPoolSessionPersistence
- return ret
- }).(GetLoadbalancerTargetPoolSessionPersistenceOutput)
-}
-
// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
-func (o GetLoadbalancerTargetPoolSessionPersistencePtrOutput) UseSourceIpAddress() pulumi.BoolPtrOutput {
- return o.ApplyT(func(v *GetLoadbalancerTargetPoolSessionPersistence) *bool {
- if v == nil {
- return nil
- }
- return v.UseSourceIpAddress
- }).(pulumi.BoolPtrOutput)
+func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolOutput {
+ return o.ApplyT(func(v GetLoadbalancerTargetPoolSessionPersistence) bool { return v.UseSourceIpAddress }).(pulumi.BoolOutput)
}
type GetLoadbalancerTargetPoolTarget struct {
@@ -25988,6 +26620,218 @@ func (o GetSecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.Stri
return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput)
}
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBinding struct {
+ // A valid role defined for the resource.
+ Role string `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject string `pulumi:"subject"`
+}
+
+// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput values.
+// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput` via:
+//
+// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...}
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput interface {
+ pulumi.Input
+
+ ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput
+ ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput
+}
+
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs struct {
+ // A valid role defined for the resource.
+ Role pulumi.StringInput `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringInput `pulumi:"subject"`
+}
+
+func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput {
+ return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Background())
+}
+
+func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput)
+}
+
+// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput values.
+// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput` via:
+//
+// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray{ GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} }
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput interface {
+ pulumi.Input
+
+ ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput
+ ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput
+}
+
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray []GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput
+
+func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput {
+ return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background())
+}
+
+func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput)
+}
+
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState }
+
+func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput {
+ return o
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput {
+ return o
+}
+
+// A valid role defined for the resource.
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput)
+}
+
+// Identifier of user, service account or client. Usually email address or name in case of clients.
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput)
+}
+
+type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState }
+
+func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput {
+ return o
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput {
+ return o
+}
+
+func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerInstanceRoleBindingsV1RoleBinding {
+ return vs[0].([]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)[vs[1].(int)]
+ }).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput)
+}
+
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding struct {
+ // A valid role defined for the resource.
+ Role string `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject string `pulumi:"subject"`
+}
+
+// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput values.
+// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput` via:
+//
+// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...}
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput interface {
+ pulumi.Input
+
+ ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput
+ ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput
+}
+
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs struct {
+ // A valid role defined for the resource.
+ Role pulumi.StringInput `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringInput `pulumi:"subject"`
+}
+
+func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput {
+ return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Background())
+}
+
+func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput)
+}
+
+// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput values.
+// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput` via:
+//
+// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray{ GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} }
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput interface {
+ pulumi.Input
+
+ ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput
+ ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput
+}
+
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput
+
+func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput {
+ return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background())
+}
+
+func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput)
+}
+
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState }
+
+func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput {
+ return o
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput {
+ return o
+}
+
+// A valid role defined for the resource.
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput)
+}
+
+// Identifier of user, service account or client. Usually email address or name in case of clients.
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput {
+ return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput)
+}
+
+type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState }
+
+func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem()
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput {
+ return o
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput {
+ return o
+}
+
+func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding {
+ return vs[0].([]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)[vs[1].(int)]
+ }).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput)
+}
+
type GetSecurityGroupRuleIcmpParameters struct {
// ICMP code. Can be set if the protocol is ICMP.
Code int `pulumi:"code"`
@@ -28659,6 +29503,12 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigBackendCredentialsPtrInput)(nil)).Elem(), CdnDistributionConfigBackendCredentialsArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigOptimizerInput)(nil)).Elem(), CdnDistributionConfigOptimizerArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigOptimizerPtrInput)(nil)).Elem(), CdnDistributionConfigOptimizerArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigRedirectsInput)(nil)).Elem(), CdnDistributionConfigRedirectsArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigRedirectsPtrInput)(nil)).Elem(), CdnDistributionConfigRedirectsArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigRedirectsRuleInput)(nil)).Elem(), CdnDistributionConfigRedirectsRuleArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigRedirectsRuleArrayInput)(nil)).Elem(), CdnDistributionConfigRedirectsRuleArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigRedirectsRuleMatcherInput)(nil)).Elem(), CdnDistributionConfigRedirectsRuleMatcherArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionConfigRedirectsRuleMatcherArrayInput)(nil)).Elem(), CdnDistributionConfigRedirectsRuleMatcherArray{})
pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionDomainInput)(nil)).Elem(), CdnDistributionDomainArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*CdnDistributionDomainArrayInput)(nil)).Elem(), CdnDistributionDomainArray{})
pulumi.RegisterInputType(reflect.TypeOf((*DnsRecordSetTimeoutsInput)(nil)).Elem(), DnsRecordSetTimeoutsArgs{})
@@ -28839,6 +29689,11 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigInput)(nil)).Elem(), GetCdnDistributionConfigArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigBackendInput)(nil)).Elem(), GetCdnDistributionConfigBackendArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigOptimizerInput)(nil)).Elem(), GetCdnDistributionConfigOptimizerArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigRedirectsInput)(nil)).Elem(), GetCdnDistributionConfigRedirectsArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleInput)(nil)).Elem(), GetCdnDistributionConfigRedirectsRuleArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleArrayInput)(nil)).Elem(), GetCdnDistributionConfigRedirectsRuleArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcherInput)(nil)).Elem(), GetCdnDistributionConfigRedirectsRuleMatcherArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcherArrayInput)(nil)).Elem(), GetCdnDistributionConfigRedirectsRuleMatcherArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionDomainInput)(nil)).Elem(), GetCdnDistributionDomainArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionDomainArrayInput)(nil)).Elem(), GetCdnDistributionDomainArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetDnsRecordSetTimeoutsInput)(nil)).Elem(), GetDnsRecordSetTimeoutsArgs{})
@@ -28871,7 +29726,6 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*GetLoadbalancerTargetPoolArrayInput)(nil)).Elem(), GetLoadbalancerTargetPoolArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheckInput)(nil)).Elem(), GetLoadbalancerTargetPoolActiveHealthCheckArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistenceInput)(nil)).Elem(), GetLoadbalancerTargetPoolSessionPersistenceArgs{})
- pulumi.RegisterInputType(reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistencePtrInput)(nil)).Elem(), GetLoadbalancerTargetPoolSessionPersistenceArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetLoadbalancerTargetPoolTargetInput)(nil)).Elem(), GetLoadbalancerTargetPoolTargetArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetLoadbalancerTargetPoolTargetArrayInput)(nil)).Elem(), GetLoadbalancerTargetPoolTargetArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetLogmeInstanceParametersInput)(nil)).Elem(), GetLogmeInstanceParametersArgs{})
@@ -28923,6 +29777,10 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*GetRoutingTablesItemInput)(nil)).Elem(), GetRoutingTablesItemArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetRoutingTablesItemArrayInput)(nil)).Elem(), GetRoutingTablesItemArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsmanagerInstanceKmsKeyInput)(nil)).Elem(), GetSecretsmanagerInstanceKmsKeyArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput)(nil)).Elem(), GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput)(nil)).Elem(), GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput)(nil)).Elem(), GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput)(nil)).Elem(), GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityGroupRuleIcmpParametersInput)(nil)).Elem(), GetSecurityGroupRuleIcmpParametersArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityGroupRulePortRangeInput)(nil)).Elem(), GetSecurityGroupRulePortRangeArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetSecurityGroupRuleProtocolInput)(nil)).Elem(), GetSecurityGroupRuleProtocolArgs{})
@@ -29020,6 +29878,12 @@ func init() {
pulumi.RegisterOutputType(CdnDistributionConfigBackendCredentialsPtrOutput{})
pulumi.RegisterOutputType(CdnDistributionConfigOptimizerOutput{})
pulumi.RegisterOutputType(CdnDistributionConfigOptimizerPtrOutput{})
+ pulumi.RegisterOutputType(CdnDistributionConfigRedirectsOutput{})
+ pulumi.RegisterOutputType(CdnDistributionConfigRedirectsPtrOutput{})
+ pulumi.RegisterOutputType(CdnDistributionConfigRedirectsRuleOutput{})
+ pulumi.RegisterOutputType(CdnDistributionConfigRedirectsRuleArrayOutput{})
+ pulumi.RegisterOutputType(CdnDistributionConfigRedirectsRuleMatcherOutput{})
+ pulumi.RegisterOutputType(CdnDistributionConfigRedirectsRuleMatcherArrayOutput{})
pulumi.RegisterOutputType(CdnDistributionDomainOutput{})
pulumi.RegisterOutputType(CdnDistributionDomainArrayOutput{})
pulumi.RegisterOutputType(DnsRecordSetTimeoutsOutput{})
@@ -29200,6 +30064,11 @@ func init() {
pulumi.RegisterOutputType(GetCdnDistributionConfigOutput{})
pulumi.RegisterOutputType(GetCdnDistributionConfigBackendOutput{})
pulumi.RegisterOutputType(GetCdnDistributionConfigOptimizerOutput{})
+ pulumi.RegisterOutputType(GetCdnDistributionConfigRedirectsOutput{})
+ pulumi.RegisterOutputType(GetCdnDistributionConfigRedirectsRuleOutput{})
+ pulumi.RegisterOutputType(GetCdnDistributionConfigRedirectsRuleArrayOutput{})
+ pulumi.RegisterOutputType(GetCdnDistributionConfigRedirectsRuleMatcherOutput{})
+ pulumi.RegisterOutputType(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput{})
pulumi.RegisterOutputType(GetCdnDistributionDomainOutput{})
pulumi.RegisterOutputType(GetCdnDistributionDomainArrayOutput{})
pulumi.RegisterOutputType(GetDnsRecordSetTimeoutsOutput{})
@@ -29232,7 +30101,6 @@ func init() {
pulumi.RegisterOutputType(GetLoadbalancerTargetPoolArrayOutput{})
pulumi.RegisterOutputType(GetLoadbalancerTargetPoolActiveHealthCheckOutput{})
pulumi.RegisterOutputType(GetLoadbalancerTargetPoolSessionPersistenceOutput{})
- pulumi.RegisterOutputType(GetLoadbalancerTargetPoolSessionPersistencePtrOutput{})
pulumi.RegisterOutputType(GetLoadbalancerTargetPoolTargetOutput{})
pulumi.RegisterOutputType(GetLoadbalancerTargetPoolTargetArrayOutput{})
pulumi.RegisterOutputType(GetLogmeInstanceParametersOutput{})
@@ -29284,6 +30152,10 @@ func init() {
pulumi.RegisterOutputType(GetRoutingTablesItemOutput{})
pulumi.RegisterOutputType(GetRoutingTablesItemArrayOutput{})
pulumi.RegisterOutputType(GetSecretsmanagerInstanceKmsKeyOutput{})
+ pulumi.RegisterOutputType(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput{})
+ pulumi.RegisterOutputType(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput{})
+ pulumi.RegisterOutputType(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput{})
+ pulumi.RegisterOutputType(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput{})
pulumi.RegisterOutputType(GetSecurityGroupRuleIcmpParametersOutput{})
pulumi.RegisterOutputType(GetSecurityGroupRulePortRangeOutput{})
pulumi.RegisterOutputType(GetSecurityGroupRuleProtocolOutput{})
diff --git a/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go b/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go
new file mode 100644
index 0000000..ab5c46f
--- /dev/null
+++ b/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go
@@ -0,0 +1,276 @@
+// 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"
+)
+
+// IAM role binding resource schema.
+//
+// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+//
+// ## Example Usage
+//
+// ## Import
+type SecretsmanagerInstanceRoleBindingV1 struct {
+ pulumi.CustomResourceState
+
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringOutput `pulumi:"region"`
+ // The identifier of the resource to apply this role binding to.
+ ResourceId pulumi.StringOutput `pulumi:"resourceId"`
+ // A valid role defined for the resource.
+ Role pulumi.StringOutput `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringOutput `pulumi:"subject"`
+}
+
+// NewSecretsmanagerInstanceRoleBindingV1 registers a new resource with the given unique name, arguments, and options.
+func NewSecretsmanagerInstanceRoleBindingV1(ctx *pulumi.Context,
+ name string, args *SecretsmanagerInstanceRoleBindingV1Args, opts ...pulumi.ResourceOption) (*SecretsmanagerInstanceRoleBindingV1, error) {
+ if args == nil {
+ return nil, errors.New("missing one or more required arguments")
+ }
+
+ if args.ResourceId == nil {
+ return nil, errors.New("invalid value for required argument 'ResourceId'")
+ }
+ if args.Role == nil {
+ return nil, errors.New("invalid value for required argument 'Role'")
+ }
+ if args.Subject == nil {
+ return nil, errors.New("invalid value for required argument 'Subject'")
+ }
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource SecretsmanagerInstanceRoleBindingV1
+ err := ctx.RegisterResource("stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetSecretsmanagerInstanceRoleBindingV1 gets an existing SecretsmanagerInstanceRoleBindingV1 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 GetSecretsmanagerInstanceRoleBindingV1(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *SecretsmanagerInstanceRoleBindingV1State, opts ...pulumi.ResourceOption) (*SecretsmanagerInstanceRoleBindingV1, error) {
+ var resource SecretsmanagerInstanceRoleBindingV1
+ err := ctx.ReadResource("stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering SecretsmanagerInstanceRoleBindingV1 resources.
+type secretsmanagerInstanceRoleBindingV1State struct {
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to apply this role binding to.
+ ResourceId *string `pulumi:"resourceId"`
+ // A valid role defined for the resource.
+ Role *string `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject *string `pulumi:"subject"`
+}
+
+type SecretsmanagerInstanceRoleBindingV1State struct {
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput
+ // The identifier of the resource to apply this role binding to.
+ ResourceId pulumi.StringPtrInput
+ // A valid role defined for the resource.
+ Role pulumi.StringPtrInput
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringPtrInput
+}
+
+func (SecretsmanagerInstanceRoleBindingV1State) ElementType() reflect.Type {
+ return reflect.TypeOf((*secretsmanagerInstanceRoleBindingV1State)(nil)).Elem()
+}
+
+type secretsmanagerInstanceRoleBindingV1Args struct {
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to apply this role binding to.
+ ResourceId string `pulumi:"resourceId"`
+ // A valid role defined for the resource.
+ Role string `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject string `pulumi:"subject"`
+}
+
+// The set of arguments for constructing a SecretsmanagerInstanceRoleBindingV1 resource.
+type SecretsmanagerInstanceRoleBindingV1Args struct {
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput
+ // The identifier of the resource to apply this role binding to.
+ ResourceId pulumi.StringInput
+ // A valid role defined for the resource.
+ Role pulumi.StringInput
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringInput
+}
+
+func (SecretsmanagerInstanceRoleBindingV1Args) ElementType() reflect.Type {
+ return reflect.TypeOf((*secretsmanagerInstanceRoleBindingV1Args)(nil)).Elem()
+}
+
+type SecretsmanagerInstanceRoleBindingV1Input interface {
+ pulumi.Input
+
+ ToSecretsmanagerInstanceRoleBindingV1Output() SecretsmanagerInstanceRoleBindingV1Output
+ ToSecretsmanagerInstanceRoleBindingV1OutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1Output
+}
+
+func (*SecretsmanagerInstanceRoleBindingV1) ElementType() reflect.Type {
+ return reflect.TypeOf((**SecretsmanagerInstanceRoleBindingV1)(nil)).Elem()
+}
+
+func (i *SecretsmanagerInstanceRoleBindingV1) ToSecretsmanagerInstanceRoleBindingV1Output() SecretsmanagerInstanceRoleBindingV1Output {
+ return i.ToSecretsmanagerInstanceRoleBindingV1OutputWithContext(context.Background())
+}
+
+func (i *SecretsmanagerInstanceRoleBindingV1) ToSecretsmanagerInstanceRoleBindingV1OutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1Output {
+ return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceRoleBindingV1Output)
+}
+
+// SecretsmanagerInstanceRoleBindingV1ArrayInput is an input type that accepts SecretsmanagerInstanceRoleBindingV1Array and SecretsmanagerInstanceRoleBindingV1ArrayOutput values.
+// You can construct a concrete instance of `SecretsmanagerInstanceRoleBindingV1ArrayInput` via:
+//
+// SecretsmanagerInstanceRoleBindingV1Array{ SecretsmanagerInstanceRoleBindingV1Args{...} }
+type SecretsmanagerInstanceRoleBindingV1ArrayInput interface {
+ pulumi.Input
+
+ ToSecretsmanagerInstanceRoleBindingV1ArrayOutput() SecretsmanagerInstanceRoleBindingV1ArrayOutput
+ ToSecretsmanagerInstanceRoleBindingV1ArrayOutputWithContext(context.Context) SecretsmanagerInstanceRoleBindingV1ArrayOutput
+}
+
+type SecretsmanagerInstanceRoleBindingV1Array []SecretsmanagerInstanceRoleBindingV1Input
+
+func (SecretsmanagerInstanceRoleBindingV1Array) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*SecretsmanagerInstanceRoleBindingV1)(nil)).Elem()
+}
+
+func (i SecretsmanagerInstanceRoleBindingV1Array) ToSecretsmanagerInstanceRoleBindingV1ArrayOutput() SecretsmanagerInstanceRoleBindingV1ArrayOutput {
+ return i.ToSecretsmanagerInstanceRoleBindingV1ArrayOutputWithContext(context.Background())
+}
+
+func (i SecretsmanagerInstanceRoleBindingV1Array) ToSecretsmanagerInstanceRoleBindingV1ArrayOutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1ArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceRoleBindingV1ArrayOutput)
+}
+
+// SecretsmanagerInstanceRoleBindingV1MapInput is an input type that accepts SecretsmanagerInstanceRoleBindingV1Map and SecretsmanagerInstanceRoleBindingV1MapOutput values.
+// You can construct a concrete instance of `SecretsmanagerInstanceRoleBindingV1MapInput` via:
+//
+// SecretsmanagerInstanceRoleBindingV1Map{ "key": SecretsmanagerInstanceRoleBindingV1Args{...} }
+type SecretsmanagerInstanceRoleBindingV1MapInput interface {
+ pulumi.Input
+
+ ToSecretsmanagerInstanceRoleBindingV1MapOutput() SecretsmanagerInstanceRoleBindingV1MapOutput
+ ToSecretsmanagerInstanceRoleBindingV1MapOutputWithContext(context.Context) SecretsmanagerInstanceRoleBindingV1MapOutput
+}
+
+type SecretsmanagerInstanceRoleBindingV1Map map[string]SecretsmanagerInstanceRoleBindingV1Input
+
+func (SecretsmanagerInstanceRoleBindingV1Map) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*SecretsmanagerInstanceRoleBindingV1)(nil)).Elem()
+}
+
+func (i SecretsmanagerInstanceRoleBindingV1Map) ToSecretsmanagerInstanceRoleBindingV1MapOutput() SecretsmanagerInstanceRoleBindingV1MapOutput {
+ return i.ToSecretsmanagerInstanceRoleBindingV1MapOutputWithContext(context.Background())
+}
+
+func (i SecretsmanagerInstanceRoleBindingV1Map) ToSecretsmanagerInstanceRoleBindingV1MapOutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1MapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceRoleBindingV1MapOutput)
+}
+
+type SecretsmanagerInstanceRoleBindingV1Output struct{ *pulumi.OutputState }
+
+func (SecretsmanagerInstanceRoleBindingV1Output) ElementType() reflect.Type {
+ return reflect.TypeOf((**SecretsmanagerInstanceRoleBindingV1)(nil)).Elem()
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1Output) ToSecretsmanagerInstanceRoleBindingV1Output() SecretsmanagerInstanceRoleBindingV1Output {
+ return o
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1Output) ToSecretsmanagerInstanceRoleBindingV1OutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1Output {
+ return o
+}
+
+// The resource region. If not defined, the provider region is used.
+func (o SecretsmanagerInstanceRoleBindingV1Output) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerInstanceRoleBindingV1) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
+}
+
+// The identifier of the resource to apply this role binding to.
+func (o SecretsmanagerInstanceRoleBindingV1Output) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerInstanceRoleBindingV1) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// A valid role defined for the resource.
+func (o SecretsmanagerInstanceRoleBindingV1Output) Role() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerInstanceRoleBindingV1) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput)
+}
+
+// Identifier of user, service account or client. Usually email address or name in case of clients.
+func (o SecretsmanagerInstanceRoleBindingV1Output) Subject() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerInstanceRoleBindingV1) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput)
+}
+
+type SecretsmanagerInstanceRoleBindingV1ArrayOutput struct{ *pulumi.OutputState }
+
+func (SecretsmanagerInstanceRoleBindingV1ArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*SecretsmanagerInstanceRoleBindingV1)(nil)).Elem()
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1ArrayOutput) ToSecretsmanagerInstanceRoleBindingV1ArrayOutput() SecretsmanagerInstanceRoleBindingV1ArrayOutput {
+ return o
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1ArrayOutput) ToSecretsmanagerInstanceRoleBindingV1ArrayOutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1ArrayOutput {
+ return o
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1ArrayOutput) Index(i pulumi.IntInput) SecretsmanagerInstanceRoleBindingV1Output {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SecretsmanagerInstanceRoleBindingV1 {
+ return vs[0].([]*SecretsmanagerInstanceRoleBindingV1)[vs[1].(int)]
+ }).(SecretsmanagerInstanceRoleBindingV1Output)
+}
+
+type SecretsmanagerInstanceRoleBindingV1MapOutput struct{ *pulumi.OutputState }
+
+func (SecretsmanagerInstanceRoleBindingV1MapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*SecretsmanagerInstanceRoleBindingV1)(nil)).Elem()
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1MapOutput) ToSecretsmanagerInstanceRoleBindingV1MapOutput() SecretsmanagerInstanceRoleBindingV1MapOutput {
+ return o
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1MapOutput) ToSecretsmanagerInstanceRoleBindingV1MapOutputWithContext(ctx context.Context) SecretsmanagerInstanceRoleBindingV1MapOutput {
+ return o
+}
+
+func (o SecretsmanagerInstanceRoleBindingV1MapOutput) MapIndex(k pulumi.StringInput) SecretsmanagerInstanceRoleBindingV1Output {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SecretsmanagerInstanceRoleBindingV1 {
+ return vs[0].(map[string]*SecretsmanagerInstanceRoleBindingV1)[vs[1].(string)]
+ }).(SecretsmanagerInstanceRoleBindingV1Output)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*SecretsmanagerInstanceRoleBindingV1Input)(nil)).Elem(), &SecretsmanagerInstanceRoleBindingV1{})
+ pulumi.RegisterInputType(reflect.TypeOf((*SecretsmanagerInstanceRoleBindingV1ArrayInput)(nil)).Elem(), SecretsmanagerInstanceRoleBindingV1Array{})
+ pulumi.RegisterInputType(reflect.TypeOf((*SecretsmanagerInstanceRoleBindingV1MapInput)(nil)).Elem(), SecretsmanagerInstanceRoleBindingV1Map{})
+ pulumi.RegisterOutputType(SecretsmanagerInstanceRoleBindingV1Output{})
+ pulumi.RegisterOutputType(SecretsmanagerInstanceRoleBindingV1ArrayOutput{})
+ pulumi.RegisterOutputType(SecretsmanagerInstanceRoleBindingV1MapOutput{})
+}
diff --git a/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go b/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go
new file mode 100644
index 0000000..18a85fb
--- /dev/null
+++ b/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go
@@ -0,0 +1,276 @@
+// 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"
+)
+
+// IAM role binding resource schema.
+//
+// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+//
+// ## Example Usage
+//
+// ## Import
+type SecretsmanagerSecretGroupRoleBindingV1 struct {
+ pulumi.CustomResourceState
+
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringOutput `pulumi:"region"`
+ // The identifier of the resource to apply this role binding to.
+ ResourceId pulumi.StringOutput `pulumi:"resourceId"`
+ // A valid role defined for the resource.
+ Role pulumi.StringOutput `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringOutput `pulumi:"subject"`
+}
+
+// NewSecretsmanagerSecretGroupRoleBindingV1 registers a new resource with the given unique name, arguments, and options.
+func NewSecretsmanagerSecretGroupRoleBindingV1(ctx *pulumi.Context,
+ name string, args *SecretsmanagerSecretGroupRoleBindingV1Args, opts ...pulumi.ResourceOption) (*SecretsmanagerSecretGroupRoleBindingV1, error) {
+ if args == nil {
+ return nil, errors.New("missing one or more required arguments")
+ }
+
+ if args.ResourceId == nil {
+ return nil, errors.New("invalid value for required argument 'ResourceId'")
+ }
+ if args.Role == nil {
+ return nil, errors.New("invalid value for required argument 'Role'")
+ }
+ if args.Subject == nil {
+ return nil, errors.New("invalid value for required argument 'Subject'")
+ }
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource SecretsmanagerSecretGroupRoleBindingV1
+ err := ctx.RegisterResource("stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetSecretsmanagerSecretGroupRoleBindingV1 gets an existing SecretsmanagerSecretGroupRoleBindingV1 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 GetSecretsmanagerSecretGroupRoleBindingV1(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *SecretsmanagerSecretGroupRoleBindingV1State, opts ...pulumi.ResourceOption) (*SecretsmanagerSecretGroupRoleBindingV1, error) {
+ var resource SecretsmanagerSecretGroupRoleBindingV1
+ err := ctx.ReadResource("stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering SecretsmanagerSecretGroupRoleBindingV1 resources.
+type secretsmanagerSecretGroupRoleBindingV1State struct {
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to apply this role binding to.
+ ResourceId *string `pulumi:"resourceId"`
+ // A valid role defined for the resource.
+ Role *string `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject *string `pulumi:"subject"`
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1State struct {
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput
+ // The identifier of the resource to apply this role binding to.
+ ResourceId pulumi.StringPtrInput
+ // A valid role defined for the resource.
+ Role pulumi.StringPtrInput
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringPtrInput
+}
+
+func (SecretsmanagerSecretGroupRoleBindingV1State) ElementType() reflect.Type {
+ return reflect.TypeOf((*secretsmanagerSecretGroupRoleBindingV1State)(nil)).Elem()
+}
+
+type secretsmanagerSecretGroupRoleBindingV1Args struct {
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+ // The identifier of the resource to apply this role binding to.
+ ResourceId string `pulumi:"resourceId"`
+ // A valid role defined for the resource.
+ Role string `pulumi:"role"`
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject string `pulumi:"subject"`
+}
+
+// The set of arguments for constructing a SecretsmanagerSecretGroupRoleBindingV1 resource.
+type SecretsmanagerSecretGroupRoleBindingV1Args struct {
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput
+ // The identifier of the resource to apply this role binding to.
+ ResourceId pulumi.StringInput
+ // A valid role defined for the resource.
+ Role pulumi.StringInput
+ // Identifier of user, service account or client. Usually email address or name in case of clients.
+ Subject pulumi.StringInput
+}
+
+func (SecretsmanagerSecretGroupRoleBindingV1Args) ElementType() reflect.Type {
+ return reflect.TypeOf((*secretsmanagerSecretGroupRoleBindingV1Args)(nil)).Elem()
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1Input interface {
+ pulumi.Input
+
+ ToSecretsmanagerSecretGroupRoleBindingV1Output() SecretsmanagerSecretGroupRoleBindingV1Output
+ ToSecretsmanagerSecretGroupRoleBindingV1OutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1Output
+}
+
+func (*SecretsmanagerSecretGroupRoleBindingV1) ElementType() reflect.Type {
+ return reflect.TypeOf((**SecretsmanagerSecretGroupRoleBindingV1)(nil)).Elem()
+}
+
+func (i *SecretsmanagerSecretGroupRoleBindingV1) ToSecretsmanagerSecretGroupRoleBindingV1Output() SecretsmanagerSecretGroupRoleBindingV1Output {
+ return i.ToSecretsmanagerSecretGroupRoleBindingV1OutputWithContext(context.Background())
+}
+
+func (i *SecretsmanagerSecretGroupRoleBindingV1) ToSecretsmanagerSecretGroupRoleBindingV1OutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1Output {
+ return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerSecretGroupRoleBindingV1Output)
+}
+
+// SecretsmanagerSecretGroupRoleBindingV1ArrayInput is an input type that accepts SecretsmanagerSecretGroupRoleBindingV1Array and SecretsmanagerSecretGroupRoleBindingV1ArrayOutput values.
+// You can construct a concrete instance of `SecretsmanagerSecretGroupRoleBindingV1ArrayInput` via:
+//
+// SecretsmanagerSecretGroupRoleBindingV1Array{ SecretsmanagerSecretGroupRoleBindingV1Args{...} }
+type SecretsmanagerSecretGroupRoleBindingV1ArrayInput interface {
+ pulumi.Input
+
+ ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutput() SecretsmanagerSecretGroupRoleBindingV1ArrayOutput
+ ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutputWithContext(context.Context) SecretsmanagerSecretGroupRoleBindingV1ArrayOutput
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1Array []SecretsmanagerSecretGroupRoleBindingV1Input
+
+func (SecretsmanagerSecretGroupRoleBindingV1Array) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*SecretsmanagerSecretGroupRoleBindingV1)(nil)).Elem()
+}
+
+func (i SecretsmanagerSecretGroupRoleBindingV1Array) ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutput() SecretsmanagerSecretGroupRoleBindingV1ArrayOutput {
+ return i.ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutputWithContext(context.Background())
+}
+
+func (i SecretsmanagerSecretGroupRoleBindingV1Array) ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1ArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerSecretGroupRoleBindingV1ArrayOutput)
+}
+
+// SecretsmanagerSecretGroupRoleBindingV1MapInput is an input type that accepts SecretsmanagerSecretGroupRoleBindingV1Map and SecretsmanagerSecretGroupRoleBindingV1MapOutput values.
+// You can construct a concrete instance of `SecretsmanagerSecretGroupRoleBindingV1MapInput` via:
+//
+// SecretsmanagerSecretGroupRoleBindingV1Map{ "key": SecretsmanagerSecretGroupRoleBindingV1Args{...} }
+type SecretsmanagerSecretGroupRoleBindingV1MapInput interface {
+ pulumi.Input
+
+ ToSecretsmanagerSecretGroupRoleBindingV1MapOutput() SecretsmanagerSecretGroupRoleBindingV1MapOutput
+ ToSecretsmanagerSecretGroupRoleBindingV1MapOutputWithContext(context.Context) SecretsmanagerSecretGroupRoleBindingV1MapOutput
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1Map map[string]SecretsmanagerSecretGroupRoleBindingV1Input
+
+func (SecretsmanagerSecretGroupRoleBindingV1Map) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*SecretsmanagerSecretGroupRoleBindingV1)(nil)).Elem()
+}
+
+func (i SecretsmanagerSecretGroupRoleBindingV1Map) ToSecretsmanagerSecretGroupRoleBindingV1MapOutput() SecretsmanagerSecretGroupRoleBindingV1MapOutput {
+ return i.ToSecretsmanagerSecretGroupRoleBindingV1MapOutputWithContext(context.Background())
+}
+
+func (i SecretsmanagerSecretGroupRoleBindingV1Map) ToSecretsmanagerSecretGroupRoleBindingV1MapOutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1MapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerSecretGroupRoleBindingV1MapOutput)
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1Output struct{ *pulumi.OutputState }
+
+func (SecretsmanagerSecretGroupRoleBindingV1Output) ElementType() reflect.Type {
+ return reflect.TypeOf((**SecretsmanagerSecretGroupRoleBindingV1)(nil)).Elem()
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1Output) ToSecretsmanagerSecretGroupRoleBindingV1Output() SecretsmanagerSecretGroupRoleBindingV1Output {
+ return o
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1Output) ToSecretsmanagerSecretGroupRoleBindingV1OutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1Output {
+ return o
+}
+
+// The resource region. If not defined, the provider region is used.
+func (o SecretsmanagerSecretGroupRoleBindingV1Output) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerSecretGroupRoleBindingV1) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
+}
+
+// The identifier of the resource to apply this role binding to.
+func (o SecretsmanagerSecretGroupRoleBindingV1Output) ResourceId() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerSecretGroupRoleBindingV1) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput)
+}
+
+// A valid role defined for the resource.
+func (o SecretsmanagerSecretGroupRoleBindingV1Output) Role() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerSecretGroupRoleBindingV1) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput)
+}
+
+// Identifier of user, service account or client. Usually email address or name in case of clients.
+func (o SecretsmanagerSecretGroupRoleBindingV1Output) Subject() pulumi.StringOutput {
+ return o.ApplyT(func(v *SecretsmanagerSecretGroupRoleBindingV1) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput)
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1ArrayOutput struct{ *pulumi.OutputState }
+
+func (SecretsmanagerSecretGroupRoleBindingV1ArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*SecretsmanagerSecretGroupRoleBindingV1)(nil)).Elem()
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1ArrayOutput) ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutput() SecretsmanagerSecretGroupRoleBindingV1ArrayOutput {
+ return o
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1ArrayOutput) ToSecretsmanagerSecretGroupRoleBindingV1ArrayOutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1ArrayOutput {
+ return o
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1ArrayOutput) Index(i pulumi.IntInput) SecretsmanagerSecretGroupRoleBindingV1Output {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SecretsmanagerSecretGroupRoleBindingV1 {
+ return vs[0].([]*SecretsmanagerSecretGroupRoleBindingV1)[vs[1].(int)]
+ }).(SecretsmanagerSecretGroupRoleBindingV1Output)
+}
+
+type SecretsmanagerSecretGroupRoleBindingV1MapOutput struct{ *pulumi.OutputState }
+
+func (SecretsmanagerSecretGroupRoleBindingV1MapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*SecretsmanagerSecretGroupRoleBindingV1)(nil)).Elem()
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1MapOutput) ToSecretsmanagerSecretGroupRoleBindingV1MapOutput() SecretsmanagerSecretGroupRoleBindingV1MapOutput {
+ return o
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1MapOutput) ToSecretsmanagerSecretGroupRoleBindingV1MapOutputWithContext(ctx context.Context) SecretsmanagerSecretGroupRoleBindingV1MapOutput {
+ return o
+}
+
+func (o SecretsmanagerSecretGroupRoleBindingV1MapOutput) MapIndex(k pulumi.StringInput) SecretsmanagerSecretGroupRoleBindingV1Output {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SecretsmanagerSecretGroupRoleBindingV1 {
+ return vs[0].(map[string]*SecretsmanagerSecretGroupRoleBindingV1)[vs[1].(string)]
+ }).(SecretsmanagerSecretGroupRoleBindingV1Output)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*SecretsmanagerSecretGroupRoleBindingV1Input)(nil)).Elem(), &SecretsmanagerSecretGroupRoleBindingV1{})
+ pulumi.RegisterInputType(reflect.TypeOf((*SecretsmanagerSecretGroupRoleBindingV1ArrayInput)(nil)).Elem(), SecretsmanagerSecretGroupRoleBindingV1Array{})
+ pulumi.RegisterInputType(reflect.TypeOf((*SecretsmanagerSecretGroupRoleBindingV1MapInput)(nil)).Elem(), SecretsmanagerSecretGroupRoleBindingV1Map{})
+ pulumi.RegisterOutputType(SecretsmanagerSecretGroupRoleBindingV1Output{})
+ pulumi.RegisterOutputType(SecretsmanagerSecretGroupRoleBindingV1ArrayOutput{})
+ pulumi.RegisterOutputType(SecretsmanagerSecretGroupRoleBindingV1MapOutput{})
+}
diff --git a/sdk/go/stackit/sfsProjectLock.go b/sdk/go/stackit/sfsProjectLock.go
new file mode 100644
index 0000000..63fc02f
--- /dev/null
+++ b/sdk/go/stackit/sfsProjectLock.go
@@ -0,0 +1,247 @@
+// 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"
+)
+
+// SFS project lock resource schema. Must have a `region` specified in the provider configuration. Always use only one project lock per project.
+//
+// ## Example Usage
+type SfsProjectLock struct {
+ pulumi.CustomResourceState
+
+ // ID of the lock.
+ LockId pulumi.StringOutput `pulumi:"lockId"`
+ // STACKIT Project ID to which the project lock is associated.
+ ProjectId pulumi.StringOutput `pulumi:"projectId"`
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringOutput `pulumi:"region"`
+}
+
+// NewSfsProjectLock registers a new resource with the given unique name, arguments, and options.
+func NewSfsProjectLock(ctx *pulumi.Context,
+ name string, args *SfsProjectLockArgs, opts ...pulumi.ResourceOption) (*SfsProjectLock, 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 SfsProjectLock
+ err := ctx.RegisterResource("stackit:index/sfsProjectLock:SfsProjectLock", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetSfsProjectLock gets an existing SfsProjectLock 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 GetSfsProjectLock(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *SfsProjectLockState, opts ...pulumi.ResourceOption) (*SfsProjectLock, error) {
+ var resource SfsProjectLock
+ err := ctx.ReadResource("stackit:index/sfsProjectLock:SfsProjectLock", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering SfsProjectLock resources.
+type sfsProjectLockState struct {
+ // ID of the lock.
+ LockId *string `pulumi:"lockId"`
+ // STACKIT Project ID to which the project lock is associated.
+ ProjectId *string `pulumi:"projectId"`
+ // The resource region. If not defined, the provider region is used.
+ Region *string `pulumi:"region"`
+}
+
+type SfsProjectLockState struct {
+ // ID of the lock.
+ LockId pulumi.StringPtrInput
+ // STACKIT Project ID to which the project lock is associated.
+ ProjectId pulumi.StringPtrInput
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput
+}
+
+func (SfsProjectLockState) ElementType() reflect.Type {
+ return reflect.TypeOf((*sfsProjectLockState)(nil)).Elem()
+}
+
+type sfsProjectLockArgs struct {
+ // STACKIT Project ID to which the project lock 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 SfsProjectLock resource.
+type SfsProjectLockArgs struct {
+ // STACKIT Project ID to which the project lock is associated.
+ ProjectId pulumi.StringInput
+ // The resource region. If not defined, the provider region is used.
+ Region pulumi.StringPtrInput
+}
+
+func (SfsProjectLockArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*sfsProjectLockArgs)(nil)).Elem()
+}
+
+type SfsProjectLockInput interface {
+ pulumi.Input
+
+ ToSfsProjectLockOutput() SfsProjectLockOutput
+ ToSfsProjectLockOutputWithContext(ctx context.Context) SfsProjectLockOutput
+}
+
+func (*SfsProjectLock) ElementType() reflect.Type {
+ return reflect.TypeOf((**SfsProjectLock)(nil)).Elem()
+}
+
+func (i *SfsProjectLock) ToSfsProjectLockOutput() SfsProjectLockOutput {
+ return i.ToSfsProjectLockOutputWithContext(context.Background())
+}
+
+func (i *SfsProjectLock) ToSfsProjectLockOutputWithContext(ctx context.Context) SfsProjectLockOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SfsProjectLockOutput)
+}
+
+// SfsProjectLockArrayInput is an input type that accepts SfsProjectLockArray and SfsProjectLockArrayOutput values.
+// You can construct a concrete instance of `SfsProjectLockArrayInput` via:
+//
+// SfsProjectLockArray{ SfsProjectLockArgs{...} }
+type SfsProjectLockArrayInput interface {
+ pulumi.Input
+
+ ToSfsProjectLockArrayOutput() SfsProjectLockArrayOutput
+ ToSfsProjectLockArrayOutputWithContext(context.Context) SfsProjectLockArrayOutput
+}
+
+type SfsProjectLockArray []SfsProjectLockInput
+
+func (SfsProjectLockArray) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*SfsProjectLock)(nil)).Elem()
+}
+
+func (i SfsProjectLockArray) ToSfsProjectLockArrayOutput() SfsProjectLockArrayOutput {
+ return i.ToSfsProjectLockArrayOutputWithContext(context.Background())
+}
+
+func (i SfsProjectLockArray) ToSfsProjectLockArrayOutputWithContext(ctx context.Context) SfsProjectLockArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SfsProjectLockArrayOutput)
+}
+
+// SfsProjectLockMapInput is an input type that accepts SfsProjectLockMap and SfsProjectLockMapOutput values.
+// You can construct a concrete instance of `SfsProjectLockMapInput` via:
+//
+// SfsProjectLockMap{ "key": SfsProjectLockArgs{...} }
+type SfsProjectLockMapInput interface {
+ pulumi.Input
+
+ ToSfsProjectLockMapOutput() SfsProjectLockMapOutput
+ ToSfsProjectLockMapOutputWithContext(context.Context) SfsProjectLockMapOutput
+}
+
+type SfsProjectLockMap map[string]SfsProjectLockInput
+
+func (SfsProjectLockMap) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*SfsProjectLock)(nil)).Elem()
+}
+
+func (i SfsProjectLockMap) ToSfsProjectLockMapOutput() SfsProjectLockMapOutput {
+ return i.ToSfsProjectLockMapOutputWithContext(context.Background())
+}
+
+func (i SfsProjectLockMap) ToSfsProjectLockMapOutputWithContext(ctx context.Context) SfsProjectLockMapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(SfsProjectLockMapOutput)
+}
+
+type SfsProjectLockOutput struct{ *pulumi.OutputState }
+
+func (SfsProjectLockOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**SfsProjectLock)(nil)).Elem()
+}
+
+func (o SfsProjectLockOutput) ToSfsProjectLockOutput() SfsProjectLockOutput {
+ return o
+}
+
+func (o SfsProjectLockOutput) ToSfsProjectLockOutputWithContext(ctx context.Context) SfsProjectLockOutput {
+ return o
+}
+
+// ID of the lock.
+func (o SfsProjectLockOutput) LockId() pulumi.StringOutput {
+ return o.ApplyT(func(v *SfsProjectLock) pulumi.StringOutput { return v.LockId }).(pulumi.StringOutput)
+}
+
+// STACKIT Project ID to which the project lock is associated.
+func (o SfsProjectLockOutput) ProjectId() pulumi.StringOutput {
+ return o.ApplyT(func(v *SfsProjectLock) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput)
+}
+
+// The resource region. If not defined, the provider region is used.
+func (o SfsProjectLockOutput) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v *SfsProjectLock) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
+}
+
+type SfsProjectLockArrayOutput struct{ *pulumi.OutputState }
+
+func (SfsProjectLockArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*SfsProjectLock)(nil)).Elem()
+}
+
+func (o SfsProjectLockArrayOutput) ToSfsProjectLockArrayOutput() SfsProjectLockArrayOutput {
+ return o
+}
+
+func (o SfsProjectLockArrayOutput) ToSfsProjectLockArrayOutputWithContext(ctx context.Context) SfsProjectLockArrayOutput {
+ return o
+}
+
+func (o SfsProjectLockArrayOutput) Index(i pulumi.IntInput) SfsProjectLockOutput {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SfsProjectLock {
+ return vs[0].([]*SfsProjectLock)[vs[1].(int)]
+ }).(SfsProjectLockOutput)
+}
+
+type SfsProjectLockMapOutput struct{ *pulumi.OutputState }
+
+func (SfsProjectLockMapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*SfsProjectLock)(nil)).Elem()
+}
+
+func (o SfsProjectLockMapOutput) ToSfsProjectLockMapOutput() SfsProjectLockMapOutput {
+ return o
+}
+
+func (o SfsProjectLockMapOutput) ToSfsProjectLockMapOutputWithContext(ctx context.Context) SfsProjectLockMapOutput {
+ return o
+}
+
+func (o SfsProjectLockMapOutput) MapIndex(k pulumi.StringInput) SfsProjectLockOutput {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SfsProjectLock {
+ return vs[0].(map[string]*SfsProjectLock)[vs[1].(string)]
+ }).(SfsProjectLockOutput)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*SfsProjectLockInput)(nil)).Elem(), &SfsProjectLock{})
+ pulumi.RegisterInputType(reflect.TypeOf((*SfsProjectLockArrayInput)(nil)).Elem(), SfsProjectLockArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*SfsProjectLockMapInput)(nil)).Elem(), SfsProjectLockMap{})
+ pulumi.RegisterOutputType(SfsProjectLockOutput{})
+ pulumi.RegisterOutputType(SfsProjectLockArrayOutput{})
+ pulumi.RegisterOutputType(SfsProjectLockMapOutput{})
+}
diff --git a/sdk/go/stackit/sfsShare.go b/sdk/go/stackit/sfsShare.go
index 5c0d6c9..4d95984 100644
--- a/sdk/go/stackit/sfsShare.go
+++ b/sdk/go/stackit/sfsShare.go
@@ -24,7 +24,7 @@ type SfsShare struct {
// Note that if this is set to an empty string, the Share can only be mounted in read only by
// clients with IPs matching the IP ACL of the Resource Pool hosting this Share.
// You can also assign a Share Export Policy after creating the Share
- ExportPolicy pulumi.StringOutput `pulumi:"exportPolicy"`
+ ExportPolicy pulumi.StringPtrOutput `pulumi:"exportPolicy"`
// Mount path of the Share, used to mount the Share
MountPath pulumi.StringOutput `pulumi:"mountPath"`
// Name of the share.
@@ -50,9 +50,6 @@ func NewSfsShare(ctx *pulumi.Context,
return nil, errors.New("missing one or more required arguments")
}
- if args.ExportPolicy == nil {
- return nil, errors.New("invalid value for required argument 'ExportPolicy'")
- }
if args.ProjectId == nil {
return nil, errors.New("invalid value for required argument 'ProjectId'")
}
@@ -141,7 +138,7 @@ type sfsShareArgs struct {
// Note that if this is set to an empty string, the Share can only be mounted in read only by
// clients with IPs matching the IP ACL of the Resource Pool hosting this Share.
// You can also assign a Share Export Policy after creating the Share
- ExportPolicy string `pulumi:"exportPolicy"`
+ ExportPolicy *string `pulumi:"exportPolicy"`
// Name of the share.
Name *string `pulumi:"name"`
// STACKIT project ID to which the share is associated.
@@ -162,7 +159,7 @@ type SfsShareArgs struct {
// Note that if this is set to an empty string, the Share can only be mounted in read only by
// clients with IPs matching the IP ACL of the Resource Pool hosting this Share.
// You can also assign a Share Export Policy after creating the Share
- ExportPolicy pulumi.StringInput
+ ExportPolicy pulumi.StringPtrInput
// Name of the share.
Name pulumi.StringPtrInput
// STACKIT project ID to which the share is associated.
@@ -268,8 +265,8 @@ func (o SfsShareOutput) ToSfsShareOutputWithContext(ctx context.Context) SfsShar
// Note that if this is set to an empty string, the Share can only be mounted in read only by
// clients with IPs matching the IP ACL of the Resource Pool hosting this Share.
// You can also assign a Share Export Policy after creating the Share
-func (o SfsShareOutput) ExportPolicy() pulumi.StringOutput {
- return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.ExportPolicy }).(pulumi.StringOutput)
+func (o SfsShareOutput) ExportPolicy() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *SfsShare) pulumi.StringPtrOutput { return v.ExportPolicy }).(pulumi.StringPtrOutput)
}
// Mount path of the Share, used to mount the Share
diff --git a/sdk/go/stackit/skeCluster.go b/sdk/go/stackit/skeCluster.go
index 686797c..a1a5046 100644
--- a/sdk/go/stackit/skeCluster.go
+++ b/sdk/go/stackit/skeCluster.go
@@ -37,6 +37,7 @@ type SkeCluster struct {
// Network block as defined below.
Network SkeClusterNetworkOutput `pulumi:"network"`
// One or more `nodePool` block as defined below.
+ // To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
NodePools SkeClusterNodePoolArrayOutput `pulumi:"nodePools"`
// The network ranges (in CIDR notation) used by pods of the cluster.
PodAddressRanges pulumi.StringArrayOutput `pulumi:"podAddressRanges"`
@@ -99,6 +100,7 @@ type skeClusterState struct {
// Network block as defined below.
Network *SkeClusterNetwork `pulumi:"network"`
// One or more `nodePool` block as defined below.
+ // To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
NodePools []SkeClusterNodePool `pulumi:"nodePools"`
// The network ranges (in CIDR notation) used by pods of the cluster.
PodAddressRanges []string `pulumi:"podAddressRanges"`
@@ -126,6 +128,7 @@ type SkeClusterState struct {
// Network block as defined below.
Network SkeClusterNetworkPtrInput
// One or more `nodePool` block as defined below.
+ // To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
NodePools SkeClusterNodePoolArrayInput
// The network ranges (in CIDR notation) used by pods of the cluster.
PodAddressRanges pulumi.StringArrayInput
@@ -153,6 +156,7 @@ type skeClusterArgs struct {
// Network block as defined below.
Network *SkeClusterNetwork `pulumi:"network"`
// One or more `nodePool` block as defined below.
+ // To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
NodePools []SkeClusterNodePool `pulumi:"nodePools"`
// STACKIT project ID to which the cluster is associated.
ProjectId string `pulumi:"projectId"`
@@ -175,6 +179,7 @@ type SkeClusterArgs struct {
// Network block as defined below.
Network SkeClusterNetworkPtrInput
// One or more `nodePool` block as defined below.
+ // To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
NodePools SkeClusterNodePoolArrayInput
// STACKIT project ID to which the cluster is associated.
ProjectId pulumi.StringInput
@@ -310,6 +315,7 @@ func (o SkeClusterOutput) Network() SkeClusterNetworkOutput {
}
// One or more `nodePool` block as defined below.
+// To keep your Terraform plans clean and readable, always append new node pools to the end of the list.
func (o SkeClusterOutput) NodePools() SkeClusterNodePoolArrayOutput {
return o.ApplyT(func(v *SkeCluster) SkeClusterNodePoolArrayOutput { return v.NodePools }).(SkeClusterNodePoolArrayOutput)
}
diff --git a/sdk/nodejs/authorizationFolderCustomRole.ts b/sdk/nodejs/authorizationFolderCustomRole.ts
new file mode 100644
index 0000000..25c37ce
--- /dev/null
+++ b/sdk/nodejs/authorizationFolderCustomRole.ts
@@ -0,0 +1,147 @@
+// *** 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";
+
+/**
+ * Custom Role resource schema.
+ *
+ * ## Example Usage
+ */
+export class AuthorizationFolderCustomRole extends pulumi.CustomResource {
+ /**
+ * Get an existing AuthorizationFolderCustomRole 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?: AuthorizationFolderCustomRoleState, opts?: pulumi.CustomResourceOptions): AuthorizationFolderCustomRole {
+ return new AuthorizationFolderCustomRole(name, state, { ...opts, id: id });
+ }
+
+ /** @internal */
+ public static readonly __pulumiType = 'stackit:index/authorizationFolderCustomRole:AuthorizationFolderCustomRole';
+
+ /**
+ * Returns true if the given object is an instance of AuthorizationFolderCustomRole. 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 AuthorizationFolderCustomRole {
+ if (obj === undefined || obj === null) {
+ return false;
+ }
+ return obj['__pulumiType'] === AuthorizationFolderCustomRole.__pulumiType;
+ }
+
+ /**
+ * A human readable description of the role.
+ */
+ declare public readonly description: pulumi.Output;
+ /**
+ * Name of the role
+ */
+ declare public readonly name: pulumi.Output;
+ /**
+ * Permissions for the role
+ */
+ declare public readonly permissions: pulumi.Output;
+ /**
+ * Resource to add the custom role to.
+ */
+ declare public readonly resourceId: pulumi.Output;
+ /**
+ * The ID of the role.
+ */
+ declare public /*out*/ readonly roleId: pulumi.Output;
+
+ /**
+ * Create a AuthorizationFolderCustomRole 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: AuthorizationFolderCustomRoleArgs, opts?: pulumi.CustomResourceOptions)
+ constructor(name: string, argsOrState?: AuthorizationFolderCustomRoleArgs | AuthorizationFolderCustomRoleState, opts?: pulumi.CustomResourceOptions) {
+ let resourceInputs: pulumi.Inputs = {};
+ opts = opts || {};
+ if (opts.id) {
+ const state = argsOrState as AuthorizationFolderCustomRoleState | undefined;
+ resourceInputs["description"] = state?.description;
+ resourceInputs["name"] = state?.name;
+ resourceInputs["permissions"] = state?.permissions;
+ resourceInputs["resourceId"] = state?.resourceId;
+ resourceInputs["roleId"] = state?.roleId;
+ } else {
+ const args = argsOrState as AuthorizationFolderCustomRoleArgs | undefined;
+ if (args?.description === undefined && !opts.urn) {
+ throw new Error("Missing required property 'description'");
+ }
+ if (args?.permissions === undefined && !opts.urn) {
+ throw new Error("Missing required property 'permissions'");
+ }
+ if (args?.resourceId === undefined && !opts.urn) {
+ throw new Error("Missing required property 'resourceId'");
+ }
+ resourceInputs["description"] = args?.description;
+ resourceInputs["name"] = args?.name;
+ resourceInputs["permissions"] = args?.permissions;
+ resourceInputs["resourceId"] = args?.resourceId;
+ resourceInputs["roleId"] = undefined /*out*/;
+ }
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+ super(AuthorizationFolderCustomRole.__pulumiType, name, resourceInputs, opts);
+ }
+}
+
+/**
+ * Input properties used for looking up and filtering AuthorizationFolderCustomRole resources.
+ */
+export interface AuthorizationFolderCustomRoleState {
+ /**
+ * A human readable description of the role.
+ */
+ description?: pulumi.Input;
+ /**
+ * Name of the role
+ */
+ name?: pulumi.Input;
+ /**
+ * Permissions for the role
+ */
+ permissions?: pulumi.Input[]>;
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId?: pulumi.Input;
+ /**
+ * The ID of the role.
+ */
+ roleId?: pulumi.Input;
+}
+
+/**
+ * The set of arguments for constructing a AuthorizationFolderCustomRole resource.
+ */
+export interface AuthorizationFolderCustomRoleArgs {
+ /**
+ * A human readable description of the role.
+ */
+ description: pulumi.Input;
+ /**
+ * Name of the role
+ */
+ name?: pulumi.Input;
+ /**
+ * Permissions for the role
+ */
+ permissions: pulumi.Input[]>;
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId: pulumi.Input;
+}
diff --git a/sdk/nodejs/authorizationOrganizationCustomRole.ts b/sdk/nodejs/authorizationOrganizationCustomRole.ts
new file mode 100644
index 0000000..83cbf01
--- /dev/null
+++ b/sdk/nodejs/authorizationOrganizationCustomRole.ts
@@ -0,0 +1,147 @@
+// *** 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";
+
+/**
+ * Custom Role resource schema.
+ *
+ * ## Example Usage
+ */
+export class AuthorizationOrganizationCustomRole extends pulumi.CustomResource {
+ /**
+ * Get an existing AuthorizationOrganizationCustomRole 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?: AuthorizationOrganizationCustomRoleState, opts?: pulumi.CustomResourceOptions): AuthorizationOrganizationCustomRole {
+ return new AuthorizationOrganizationCustomRole(name, state, { ...opts, id: id });
+ }
+
+ /** @internal */
+ public static readonly __pulumiType = 'stackit:index/authorizationOrganizationCustomRole:AuthorizationOrganizationCustomRole';
+
+ /**
+ * Returns true if the given object is an instance of AuthorizationOrganizationCustomRole. 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 AuthorizationOrganizationCustomRole {
+ if (obj === undefined || obj === null) {
+ return false;
+ }
+ return obj['__pulumiType'] === AuthorizationOrganizationCustomRole.__pulumiType;
+ }
+
+ /**
+ * A human readable description of the role.
+ */
+ declare public readonly description: pulumi.Output;
+ /**
+ * Name of the role
+ */
+ declare public readonly name: pulumi.Output;
+ /**
+ * Permissions for the role
+ */
+ declare public readonly permissions: pulumi.Output;
+ /**
+ * Resource to add the custom role to.
+ */
+ declare public readonly resourceId: pulumi.Output;
+ /**
+ * The ID of the role.
+ */
+ declare public /*out*/ readonly roleId: pulumi.Output;
+
+ /**
+ * Create a AuthorizationOrganizationCustomRole 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: AuthorizationOrganizationCustomRoleArgs, opts?: pulumi.CustomResourceOptions)
+ constructor(name: string, argsOrState?: AuthorizationOrganizationCustomRoleArgs | AuthorizationOrganizationCustomRoleState, opts?: pulumi.CustomResourceOptions) {
+ let resourceInputs: pulumi.Inputs = {};
+ opts = opts || {};
+ if (opts.id) {
+ const state = argsOrState as AuthorizationOrganizationCustomRoleState | undefined;
+ resourceInputs["description"] = state?.description;
+ resourceInputs["name"] = state?.name;
+ resourceInputs["permissions"] = state?.permissions;
+ resourceInputs["resourceId"] = state?.resourceId;
+ resourceInputs["roleId"] = state?.roleId;
+ } else {
+ const args = argsOrState as AuthorizationOrganizationCustomRoleArgs | undefined;
+ if (args?.description === undefined && !opts.urn) {
+ throw new Error("Missing required property 'description'");
+ }
+ if (args?.permissions === undefined && !opts.urn) {
+ throw new Error("Missing required property 'permissions'");
+ }
+ if (args?.resourceId === undefined && !opts.urn) {
+ throw new Error("Missing required property 'resourceId'");
+ }
+ resourceInputs["description"] = args?.description;
+ resourceInputs["name"] = args?.name;
+ resourceInputs["permissions"] = args?.permissions;
+ resourceInputs["resourceId"] = args?.resourceId;
+ resourceInputs["roleId"] = undefined /*out*/;
+ }
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
+ super(AuthorizationOrganizationCustomRole.__pulumiType, name, resourceInputs, opts);
+ }
+}
+
+/**
+ * Input properties used for looking up and filtering AuthorizationOrganizationCustomRole resources.
+ */
+export interface AuthorizationOrganizationCustomRoleState {
+ /**
+ * A human readable description of the role.
+ */
+ description?: pulumi.Input;
+ /**
+ * Name of the role
+ */
+ name?: pulumi.Input;
+ /**
+ * Permissions for the role
+ */
+ permissions?: pulumi.Input[]>;
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId?: pulumi.Input;
+ /**
+ * The ID of the role.
+ */
+ roleId?: pulumi.Input;
+}
+
+/**
+ * The set of arguments for constructing a AuthorizationOrganizationCustomRole resource.
+ */
+export interface AuthorizationOrganizationCustomRoleArgs {
+ /**
+ * A human readable description of the role.
+ */
+ description: pulumi.Input;
+ /**
+ * Name of the role
+ */
+ name?: pulumi.Input;
+ /**
+ * Permissions for the role
+ */
+ permissions: pulumi.Input[]>;
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId: pulumi.Input;
+}
diff --git a/sdk/nodejs/getAuthorizationFolderCustomRole.ts b/sdk/nodejs/getAuthorizationFolderCustomRole.ts
new file mode 100644
index 0000000..e843834
--- /dev/null
+++ b/sdk/nodejs/getAuthorizationFolderCustomRole.ts
@@ -0,0 +1,88 @@
+// *** 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";
+
+/**
+ * Custom Role resource schema.
+ *
+ * ## Example Usage
+ */
+export function getAuthorizationFolderCustomRole(args: GetAuthorizationFolderCustomRoleArgs, opts?: pulumi.InvokeOptions): Promise {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", {
+ "resourceId": args.resourceId,
+ "roleId": args.roleId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getAuthorizationFolderCustomRole.
+ */
+export interface GetAuthorizationFolderCustomRoleArgs {
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId: string;
+ /**
+ * The ID of the role.
+ */
+ roleId: string;
+}
+
+/**
+ * A collection of values returned by getAuthorizationFolderCustomRole.
+ */
+export interface GetAuthorizationFolderCustomRoleResult {
+ /**
+ * A human readable description of the role.
+ */
+ readonly description: string;
+ /**
+ * Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+ */
+ readonly id: string;
+ /**
+ * Name of the role
+ */
+ readonly name: string;
+ /**
+ * Permissions for the role
+ */
+ readonly permissions: string[];
+ /**
+ * Resource to add the custom role to.
+ */
+ readonly resourceId: string;
+ /**
+ * The ID of the role.
+ */
+ readonly roleId: string;
+}
+/**
+ * Custom Role resource schema.
+ *
+ * ## Example Usage
+ */
+export function getAuthorizationFolderCustomRoleOutput(args: GetAuthorizationFolderCustomRoleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invokeOutput("stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole", {
+ "resourceId": args.resourceId,
+ "roleId": args.roleId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getAuthorizationFolderCustomRole.
+ */
+export interface GetAuthorizationFolderCustomRoleOutputArgs {
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId: pulumi.Input;
+ /**
+ * The ID of the role.
+ */
+ roleId: pulumi.Input;
+}
diff --git a/sdk/nodejs/getAuthorizationOrganizationCustomRole.ts b/sdk/nodejs/getAuthorizationOrganizationCustomRole.ts
new file mode 100644
index 0000000..3513a62
--- /dev/null
+++ b/sdk/nodejs/getAuthorizationOrganizationCustomRole.ts
@@ -0,0 +1,88 @@
+// *** 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";
+
+/**
+ * Custom Role resource schema.
+ *
+ * ## Example Usage
+ */
+export function getAuthorizationOrganizationCustomRole(args: GetAuthorizationOrganizationCustomRoleArgs, opts?: pulumi.InvokeOptions): Promise {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", {
+ "resourceId": args.resourceId,
+ "roleId": args.roleId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getAuthorizationOrganizationCustomRole.
+ */
+export interface GetAuthorizationOrganizationCustomRoleArgs {
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId: string;
+ /**
+ * The ID of the role.
+ */
+ roleId: string;
+}
+
+/**
+ * A collection of values returned by getAuthorizationOrganizationCustomRole.
+ */
+export interface GetAuthorizationOrganizationCustomRoleResult {
+ /**
+ * A human readable description of the role.
+ */
+ readonly description: string;
+ /**
+ * Terraform's internal resource identifier. It is structured as "[resource*id],[role*id]".
+ */
+ readonly id: string;
+ /**
+ * Name of the role
+ */
+ readonly name: string;
+ /**
+ * Permissions for the role
+ */
+ readonly permissions: string[];
+ /**
+ * Resource to add the custom role to.
+ */
+ readonly resourceId: string;
+ /**
+ * The ID of the role.
+ */
+ readonly roleId: string;
+}
+/**
+ * Custom Role resource schema.
+ *
+ * ## Example Usage
+ */
+export function getAuthorizationOrganizationCustomRoleOutput(args: GetAuthorizationOrganizationCustomRoleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invokeOutput("stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole", {
+ "resourceId": args.resourceId,
+ "roleId": args.roleId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getAuthorizationOrganizationCustomRole.
+ */
+export interface GetAuthorizationOrganizationCustomRoleOutputArgs {
+ /**
+ * Resource to add the custom role to.
+ */
+ resourceId: pulumi.Input;
+ /**
+ * The ID of the role.
+ */
+ roleId: pulumi.Input;
+}
diff --git a/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts b/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts
new file mode 100644
index 0000000..0eb9d12
--- /dev/null
+++ b/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts
@@ -0,0 +1,86 @@
+// *** 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";
+
+/**
+ * IAM role binding datasource schema.
+ *
+ * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ *
+ * ## Example Usage
+ */
+export function getSecretsmanagerInstanceRoleBindingsV1(args: GetSecretsmanagerInstanceRoleBindingsV1Args, opts?: pulumi.InvokeOptions): Promise {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", {
+ "region": args.region,
+ "resourceId": args.resourceId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.
+ */
+export interface GetSecretsmanagerInstanceRoleBindingsV1Args {
+ /**
+ * The resource region. If not defined, the provider region is used.
+ */
+ region?: string;
+ /**
+ * The identifier of the resource to get the role bindings for.
+ */
+ resourceId: string;
+}
+
+/**
+ * A collection of values returned by getSecretsmanagerInstanceRoleBindingsV1.
+ */
+export interface GetSecretsmanagerInstanceRoleBindingsV1Result {
+ /**
+ * Terraform's internal resource identifier. It is structured as "`region`,`resourceId`".
+ */
+ readonly id: string;
+ /**
+ * The resource region. If not defined, the provider region is used.
+ */
+ readonly region?: string;
+ /**
+ * The identifier of the resource to get the role bindings for.
+ */
+ readonly resourceId: string;
+ /**
+ * List of role bindings.
+ */
+ readonly roleBindings: outputs.GetSecretsmanagerInstanceRoleBindingsV1RoleBinding[];
+}
+/**
+ * IAM role binding datasource schema.
+ *
+ * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ *
+ * ## Example Usage
+ */
+export function getSecretsmanagerInstanceRoleBindingsV1Output(args: GetSecretsmanagerInstanceRoleBindingsV1OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invokeOutput("stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1", {
+ "region": args.region,
+ "resourceId": args.resourceId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.
+ */
+export interface GetSecretsmanagerInstanceRoleBindingsV1OutputArgs {
+ /**
+ * The resource region. If not defined, the provider region is used.
+ */
+ region?: pulumi.Input;
+ /**
+ * The identifier of the resource to get the role bindings for.
+ */
+ resourceId: pulumi.Input;
+}
diff --git a/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts b/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts
new file mode 100644
index 0000000..08aabff
--- /dev/null
+++ b/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts
@@ -0,0 +1,86 @@
+// *** 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";
+
+/**
+ * IAM role binding datasource schema.
+ *
+ * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ *
+ * ## Example Usage
+ */
+export function getSecretsmanagerSecretGroupRoleBindingsV1(args: GetSecretsmanagerSecretGroupRoleBindingsV1Args, opts?: pulumi.InvokeOptions): Promise {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invoke("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", {
+ "region": args.region,
+ "resourceId": args.resourceId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getSecretsmanagerSecretGroupRoleBindingsV1.
+ */
+export interface GetSecretsmanagerSecretGroupRoleBindingsV1Args {
+ /**
+ * The resource region. If not defined, the provider region is used.
+ */
+ region?: string;
+ /**
+ * The identifier of the resource to get the role bindings for.
+ */
+ resourceId: string;
+}
+
+/**
+ * A collection of values returned by getSecretsmanagerSecretGroupRoleBindingsV1.
+ */
+export interface GetSecretsmanagerSecretGroupRoleBindingsV1Result {
+ /**
+ * Terraform's internal resource identifier. It is structured as "`region`,`resourceId`".
+ */
+ readonly id: string;
+ /**
+ * The resource region. If not defined, the provider region is used.
+ */
+ readonly region?: string;
+ /**
+ * The identifier of the resource to get the role bindings for.
+ */
+ readonly resourceId: string;
+ /**
+ * List of role bindings.
+ */
+ readonly roleBindings: outputs.GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding[];
+}
+/**
+ * IAM role binding datasource schema.
+ *
+ * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ *
+ * ## Example Usage
+ */
+export function getSecretsmanagerSecretGroupRoleBindingsV1Output(args: GetSecretsmanagerSecretGroupRoleBindingsV1OutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output {
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
+ return pulumi.runtime.invokeOutput("stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1", {
+ "region": args.region,
+ "resourceId": args.resourceId,
+ }, opts);
+}
+
+/**
+ * A collection of arguments for invoking getSecretsmanagerSecretGroupRoleBindingsV1.
+ */
+export interface GetSecretsmanagerSecretGroupRoleBindingsV1OutputArgs {
+ /**
+ * The resource region. If not defined, the provider region is used.
+ */
+ region?: pulumi.Input;
+ /**
+ * The identifier of the resource to get the role bindings for.
+ */
+ resourceId: pulumi.Input