Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
40eba81
Add create instance functionality
May 5, 2026
401924a
Add Read update delete func for mlflow instance
May 6, 2026
6ae2549
Add mlflow instance token resource
May 6, 2026
9832906
Removed unnecessary boxing
May 6, 2026
e2e22cb
fix bugs in mlflow api
May 7, 2026
2e519b2
Improve create update payload mapping
May 8, 2026
7436228
Improve conversion in token update payload method
May 8, 2026
d326b20
Add unit tests
May 8, 2026
7960782
Add acc test
May 8, 2026
5e684e3
Fix bug with bucket_name mapping
May 8, 2026
10a3235
Add instance token to acc test
May 11, 2026
5e7c6da
Fix lining
May 11, 2026
f52c1ee
Fix test
May 11, 2026
36d9512
Add documentation
May 11, 2026
83c9130
Change sdk clients to DefaultAPI
May 11, 2026
e90ba12
Add some mocks and test_utils
May 11, 2026
0fb28ee
Add unit test
May 12, 2026
fa1c6ac
Remove ginkgo testing framework
May 12, 2026
b3575fd
Add update unit test
May 12, 2026
1649042
Add instance unit tests
May 13, 2026
b2ad985
Add unit tests
May 13, 2026
d44dab0
Fix linting & remove testify framework
May 13, 2026
3bde333
feat: Change wait handler to public go sdk
Jun 25, 2026
98187a0
feat: refractor unit tests and resources
Jun 25, 2026
38368b5
feat: adapt to new serviceEnablementUtils
Jun 25, 2026
430abe4
feat: remove "unknown" resource state in creation
Jun 26, 2026
c0d049e
feat(mexp): refractor tests and resources
Jun 26, 2026
dc31d23
chore(mexp): add docs and fix tests
Jun 29, 2026
825ab15
chore(mexp): fix description.md
Jun 29, 2026
50e9dcf
chore(mexp): fix docs
Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ Note: AWS specific checks must be skipped as they do not work on STACKIT. For de
- `logme_custom_endpoint` (String) Custom endpoint for the LogMe service
- `logs_custom_endpoint` (String) Custom endpoint for the Logs service
- `mariadb_custom_endpoint` (String) Custom endpoint for the MariaDB service
- `modelexperiments_custom_endpoint` (String) Custom endpoint for the AI Model Experiments service
- `modelserving_custom_endpoint` (String) Custom endpoint for the AI Model Serving service
- `mongodbflex_custom_endpoint` (String) Custom endpoint for the MongoDB Flex service
- `objectstorage_custom_endpoint` (String) Custom endpoint for the Object Storage service
Expand Down
71 changes: 71 additions & 0 deletions docs/resources/modelexperiments_instance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_modelexperiments_instance Resource - stackit"
subcategory: ""
description: |-
AI Model Experiment Instance Resource schema.
Example Usage


resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example instance"
region = "eu01"
description = "Example description"
}
---

# stackit_modelexperiments_instance (Resource)

AI Model Experiment Instance Resource schema.

## Example Usage

```terraform

resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example instance"
region = "eu01"
description = "Example description"
}
```

## Example Usage

```terraform
resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
region = "eu01"
display_name = "example name"
description = "Example description"
deleted_experiment_retention = "30d"
labels = {
label = "example label"
}
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `name` (String) Name of the AI model experiments instance.
- `project_id` (String) STACKIT project ID to which the AI model experiments instance is associated.

### Optional

- `deleted_experiment_retention` (String) The deleted experiment retention of the AI model experiments instance.
- `description` (String) The description of the AI model experiments instance.
- `labels` (Map of String) A map of arbitrary key/value pairs that can be attached to the AI model experiments instance
- `region` (String) Region to which the AI model experiments instance is associated. If not defined, the provider region is used

### Read-Only

- `bucket_name` (String) The object storage bucket name of the AI model experiments instance.
- `error_message` (String) Error messages of the AI model experiments instance.
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`instance_id`".
- `instance_id` (String) The AI model experiments instance ID.
- `state` (String) State of the AI model experiments instance.
- `url` (String) URL of the AI model experiments instance.
99 changes: 99 additions & 0 deletions docs/resources/modelexperiments_token.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_modelexperiments_token Resource - stackit"
subcategory: ""
description: |-
AI Model Experiment Instance Token Resource schema.
Example Usage


resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example instance"
region = "eu01"
description = "Example description"
}

resource "stackit_modelexperiments_token" "token" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example token"
region = "eu01"
instance_id = stackit_modelexperiments_instance.example.instance_id
description = "Example description"
}
---

# stackit_modelexperiments_token (Resource)

AI Model Experiment Instance Token Resource schema.

## Example Usage

```terraform

resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example instance"
region = "eu01"
description = "Example description"
}

resource "stackit_modelexperiments_token" "token" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example token"
region = "eu01"
instance_id = stackit_modelexperiments_instance.example.instance_id
description = "Example description"
}
```

## Example Usage

```terraform
resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
region = "eu01"
display_name = "Example name"
description = "Example description"
deleted_experiment_retention = "30d"
labels = {
label = "Example label"
}
}

resource "stackit_modelexperiments_token" "token" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example token nane"
region = "eu01"
instance_id = stackit_modelexperiments_instance.example.instance_id
description = "Example token description"
ttl_duration = "1h"
labels = {
label = "Example label"
}
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `instance_id` (String) The AI model experiments instance ID.
- `name` (String) Name of the AI model experiments instance token.
- `project_id` (String) STACKIT project ID to which the AI model experiments instance token is associated.

### Optional

- `description` (String) The description of the AI model experiments instance token.
- `labels` (Map of String) A map of arbitrary key/value pairs for the AI model experiments instance token.
- `region` (String) Region to which the AI model experiments instance token is associated. If not defined, the provider region is used
- `ttl_duration` (String) The TTL duration of the AI model experiments instance token. E.g. 5h30m40s,5h,5h30m,30m,30s

### Read-Only

- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`token_id`".
- `state` (String) State of the AI model experiments instance token.
- `token` (String, Sensitive) Content of the AI model experiments instance token.
- `token_id` (String) The AI model experiments instance token ID.
- `valid_until` (String) The time until the AI model experiments instance token is valid.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
region = "eu01"
display_name = "example name"
description = "Example description"
deleted_experiment_retention = "30d"
labels = {
label = "example label"
}
}
22 changes: 22 additions & 0 deletions examples/resources/stackit_modelexperiments_token/resource.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
region = "eu01"
display_name = "Example name"
description = "Example description"
deleted_experiment_retention = "30d"
labels = {
label = "Example label"
}
}

resource "stackit_modelexperiments_token" "token" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example token nane"
region = "eu01"
instance_id = stackit_modelexperiments_instance.example.instance_id
description = "Example token description"
ttl_duration = "1h"
labels = {
label = "Example label"
}
}
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ require (
github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0
github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0
github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0
github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0
github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0
Expand All @@ -49,6 +50,7 @@ require (
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0
github.com/teambition/rrule-go v1.8.2
go.uber.org/mock v0.6.0
golang.org/x/mod v0.37.0
)

Expand Down
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -700,6 +700,8 @@ github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrM
github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0 h1:G/OqKHAgmH/GgqagGaow1aV6jkmVdTCexCM425PbXaE=
github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0 h1:4cM9P38lQkJRtz0ZdDRhMam/J2rlL0m3sa1JBcIPcdc=
github.com/stackitcloud/stackit-sdk-go/services/modelexperiments v0.2.0/go.mod h1:TW2PYG0kSrfAos3yY8wUxDem0J9ZYSXulnbzBZ4BTaE=
github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 h1:LfcQ++Z8a13jrJ5NOaCY/hwToh/e+QJj0eS6rd6s6k8=
github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0 h1:mjcTktPsrqN/XvtuYs0O23n1lbbYkY5lvSxrNtzfaPs=
Expand Down Expand Up @@ -841,6 +843,8 @@ go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6
go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=
go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU=
go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ=
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
Expand Down
1 change: 1 addition & 0 deletions stackit/internal/core/core.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ type ProviderData struct {
MariaDBCustomEndpoint string
MongoDBFlexCustomEndpoint string
ModelServingCustomEndpoint string
ModelExperimentsCustomEndpoint string
ObjectStorageCustomEndpoint string
ObservabilityCustomEndpoint string
OpenSearchCustomEndpoint string
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
AI Model Experiment Instance Resource schema.

## Example Usage

```terraform

resource "stackit_modelexperiments_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example instance"
region = "eu01"
description = "Example description"
}
```
Loading
Loading