Initial commit

This commit is contained in:
vicentepinto98 2023-09-07 11:34:45 +01:00
commit e4c8a6fbf4
186 changed files with 29501 additions and 0 deletions

15
.github/actions/build/action.yaml vendored Normal file
View file

@ -0,0 +1,15 @@
name: Build
inputs:
go-version:
description: "Go version to install"
required: true
runs:
using: "composite"
steps:
- name: Install Go ${{ inputs.go-version }}
uses: actions/setup-go@v4
with:
go-version: ${{ inputs.go-version }}
- name: Install project tools and dependencies
shell: bash
run: make project-tools

22
.github/workflows/ci.yaml vendored Normal file
View file

@ -0,0 +1,22 @@
name: CI Workflow
on: [pull_request, workflow_dispatch]
env:
GO_VERSION: '1.20'
jobs:
main:
name: Main
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build
uses: ./.github/actions/build
with:
go-version: ${{ env.GO_VERSION }}
- name: Lint
run: make lint
- name: Test
run: make test

33
.github/workflows/tf-acc-test.yaml vendored Normal file
View file

@ -0,0 +1,33 @@
name: TF Acceptance Tests
on:
push:
branches:
- master
workflow_dispatch:
jobs:
main:
name: Main
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install project tools and dependencies
run: make project-tools
- name: Run tests
run: make test-acceptance-tf TF_ACC_PROJECT_ID=$${{ secrets.TF_ACC_PROJECT_ID }}
env:
TF_ACC_ARGUS_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_ARGUS_CUSTOM_ENDPOINT }}
TF_ACC_DNS_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_DNS_CUSTOM_ENDPOINT }}
TF_ACC_LOGME_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_LOGME_CUSTOM_ENDPOINT }}
TF_ACC_MARIADB_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_MARIADB_CUSTOM_ENDPOINT }}
TF_ACC_OPENSEARCH_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_OPENSEARCH_CUSTOM_ENDPOINT }}
TF_ACC_POSTGRESFLEX_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_POSTGRESFLEX_CUSTOM_ENDPOINT }}
TF_ACC_POSTGRESQL_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_POSTGRESQL_CUSTOM_ENDPOINT }}
TF_ACC_RABBITMQ_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_RABBITMQ_CUSTOM_ENDPOINT }}
TF_ACC_REDIS_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_REDIS_CUSTOM_ENDPOINT }}
TF_ACC_RESOURCEMANAGER_CUSTOM_ENDPOINT: ${{ secrets.TF_ACC_RESOURCEMANAGER_CUSTOM_ENDPOINT }}
TF_ACC_SERVICE_ACCOUNT_TOKEN: ${{ secrets.TF_ACC_SERVICE_ACCOUNT_TOKEN }}
TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_EMAIL: ${{ secrets.TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_EMAIL }}
TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_TOKEN: ${{ secrets.TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_TOKEN }}

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
# Binaries
bin/
## IDE
*.idea/
*.vscode/
# Terraform
**/.terraform
**/terraform.tfstate**

2
CONTRIBUTION.md Normal file
View file

@ -0,0 +1,2 @@
## Contribute
Your contribution is welcome! Please create a pull request (PR). The STACKIT Developer Tools team will review it. A more detailed contribution guideline is planned to come.

201
LICENSE.md Normal file
View file

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

36
Makefile Normal file
View file

@ -0,0 +1,36 @@
ROOT_DIR ?= $(shell git rev-parse --show-toplevel)
SCRIPTS_BASE ?= $(ROOT_DIR)/scripts
# SETUP AND TOOL INITIALIZATION TASKS
project-help:
@$(SCRIPTS_BASE)/project.sh help
project-tools:
@$(SCRIPTS_BASE)/project.sh tools
# LINT
lint-golangci-lint:
@echo "Linting with golangci-lint"
@$(SCRIPTS_BASE)/lint-golangci-lint.sh
lint-tf:
@echo "Linting examples"
@terraform fmt -check -diff -recursive examples
lint: lint-golangci-lint lint-tf
# DOCUMENTATION GENERATION
generate-docs:
@echo "Generating documentation with tfplugindocs"
@$(SCRIPTS_BASE)/tfplugindocs.sh
# TEST
test:
@echo "Running tests for the terraform provider"
@cd $(ROOT_DIR)/stackit && go test ./... -count=1 && cd $(ROOT_DIR)
test-acceptance-tf:
@if [ -z $(TF_ACC_PROJECT_ID) ]; then echo "Input TF_ACC_PROJECT_ID missing"; exit 1; fi
@echo "Running acceptance tests for the terraform provider"
@cd $(ROOT_DIR)/stackit && TF_ACC=1 TF_ACC_PROJECT_ID=$(TF_ACC_PROJECT_ID) go test ./... -count=1 -timeout=30m && cd $(ROOT_DIR)

35
README.md Normal file
View file

@ -0,0 +1,35 @@
# Introduction
This project is the official Terraform provider for STACKIT.
# Getting Started
Check one of the examples in the [examples](examples/) folder.
# Authentication
Currently, only the *token flow* is supported. The Terraform provider will first try to find a token in the `STACKIT_SERVICE_ACCOUNT_TOKEN` env var. If not present, it will check the credentials file located in the path defined by the `STACKIT_CREDENTIALS_PATH` env var, if specified, or in `$HOME/.stackit/credentials.json` as a fallback. If the token is found, all the requests are authenticated using that token.
## Acceptance tests
Terraform acceptance tests are run using the command `make test-acceptance-tf`. For all services,
- The env var `TF_ACC_PROJECT_ID` must be set with the ID of the STACKIT test project to test it.
- Authentication is set as usual.
- Optionally, the env var `TF_ACC_XXXXXX_CUSTOM_ENDPOINT` (where `XXXXXX` is the uppercase name of the service) can be set to use endpoints other than the default value.
Additionally, for the Resource Manager service,
- A service account with permissions to create and delete projects is required.
- The env var `TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_EMAIL` must be set as the email of the service account.
- The env var `TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_TOKEN` must be set as a valid token of the service account. Can also be set in the credentials file used by authentication (see [Authentication](#authentication) for more details)
- The env var `TF_ACC_PROJECT_ID` is ignored.
**WARNING:** Acceptance tests will create real resources, which may incur in costs.
## Reporting issues
If you encounter any issues or have suggestions for improvements, please open an issue in the repository.
## Contribute
Your contribution is welcome! Please create a pull request (PR). The STACKIT Developer Tools team will review it. A more detailed contribution guideline is planned to come.
## License
Apache 2.0

View file

@ -0,0 +1,55 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_instance Data Source - stackit"
subcategory: ""
description: |-
---
# stackit_argus_instance (Data Source)
## Example Usage
```terraform
data "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) The Argus instance ID.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `alerting_url` (String) Specifies Alerting URL.
- `dashboard_url` (String) Specifies Argus instance dashboard URL.
- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password.
- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username.
- `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in.
- `grafana_url` (String) Specifies Grafana URL.
- `id` (String) Terraform's internal resource ID.
- `is_updatable` (Boolean) Specifies if the instance can be updated.
- `jaeger_traces_url` (String)
- `jaeger_ui_url` (String)
- `logs_push_url` (String) Specifies URL for pushing logs.
- `logs_url` (String) Specifies Logs URL.
- `metrics_push_url` (String) Specifies URL for pushing metrics.
- `metrics_retention_days` (Number) Specifies for how many days the raw metrics are kept.
- `metrics_retention_days_1h_downsampling` (Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `0` (disabled).
- `metrics_retention_days_5m_downsampling` (Number) Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to `0` (disabled).
- `metrics_url` (String) Specifies metrics URL.
- `name` (String) The name of the Argus instance.
- `otlp_traces_url` (String)
- `parameters` (Map of String) Additional parameters.
- `plan_id` (String) The Argus plan ID.
- `plan_name` (String) Specifies the Argus plan. E.g. `Monitoring-Medium-EU01`.
- `targets_url` (String) Specifies Targets URL.
- `zipkin_spans_url` (String)

View file

@ -0,0 +1,66 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_scrapeconfig Data Source - stackit"
subcategory: ""
description: |-
---
# stackit_argus_scrapeconfig (Data Source)
## Example Usage
```terraform
data "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
job_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) Argus instance ID to which the scraping job is associated.
- `name` (String) Specifies the name of the scraping job
- `project_id` (String) STACKIT project ID to which the scraping job is associated.
### Read-Only
- `basic_auth` (Attributes) A basic authentication block. (see [below for nested schema](#nestedatt--basic_auth))
- `id` (String) Terraform's internal resource ID.
- `metrics_path` (String) Specifies the job scraping url path.
- `saml2` (Attributes) A SAML2 configuration block (see [below for nested schema](#nestedatt--saml2))
- `scheme` (String) Specifies the http scheme.
- `scrape_interval` (String) Specifies the scrape interval as duration string.
- `scrape_timeout` (String) Specifies the scrape timeout as duration string.
- `targets` (Attributes List) The targets list (specified by the static config). (see [below for nested schema](#nestedatt--targets))
<a id="nestedatt--basic_auth"></a>
### Nested Schema for `basic_auth`
Read-Only:
- `password` (String, Sensitive) Specifies basic auth password.
- `username` (String) Specifies basic auth username.
<a id="nestedatt--saml2"></a>
### Nested Schema for `saml2`
Read-Only:
- `enable_url_parameters` (Boolean) Are URL parameters be enabled?
<a id="nestedatt--targets"></a>
### Nested Schema for `targets`
Read-Only:
- `labels` (Map of String) Specifies labels.
- `urls` (List of String) Specifies target URLs.

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_dns_record_set Data Source - stackit"
subcategory: ""
description: |-
DNS Record Set Resource schema.
---
# stackit_dns_record_set (Data Source)
DNS Record Set Resource schema.
## Example Usage
```terraform
data "stackit_dns_record_set" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
record_set_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `project_id` (String) STACKIT project ID to which the dns record set is associated.
- `record_set_id` (String) The rr set id.
- `zone_id` (String) The zone ID to which is dns record set is associated.
### Read-Only
- `active` (Boolean) Specifies if the record set is active or not.
- `comment` (String) Comment.
- `error` (String) Error shows error in case create/update/delete failed.
- `id` (String) Terraform's internal resource ID.
- `name` (String) Name of the record which should be a valid domain according to rfc1035 Section 2.3.4. E.g. `example.com`
- `records` (List of String) Records.
- `state` (String) Record set state.
- `ttl` (Number) Time to live. E.g. 3600
- `type` (String) The record set type. E.g. `A` or `CNAME`

View file

@ -0,0 +1,51 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_dns_zone Data Source - stackit"
subcategory: ""
description: |-
DNS Zone resource schema.
---
# stackit_dns_zone (Data Source)
DNS Zone resource schema.
## Example Usage
```terraform
data "stackit_dns_zone" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `project_id` (String) STACKIT project ID to which the dns zone is associated.
- `zone_id` (String) The zone ID.
### Read-Only
- `acl` (String) The access control list.
- `active` (Boolean)
- `contact_email` (String) A contact e-mail for the zone.
- `default_ttl` (Number) Default time to live.
- `description` (String) Description of the zone.
- `dns_name` (String) The zone name. E.g. `example.com`
- `expire_time` (Number) Expire time.
- `id` (String) Terraform's internal resource ID.
- `is_reverse_zone` (Boolean) Specifies, if the zone is a reverse zone or not.
- `name` (String) The user given name of the zone.
- `negative_cache` (Number) Negative caching.
- `primaries` (List of String) Primary name server for secondary zone.
- `primary_name_server` (String) Primary name server. FQDN.
- `record_count` (Number) Record count how many records are in the zone.
- `refresh_time` (Number) Refresh time.
- `retry_time` (Number) Retry time.
- `serial_number` (Number) Serial number.
- `state` (String) Zone state.
- `type` (String) Zone type.
- `visibility` (String) Visibility of the zone.

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_logme_credentials Data Source - stackit"
subcategory: ""
description: |-
LogMe credentials data source schema.
---
# stackit_logme_credentials (Data Source)
LogMe credentials data source schema.
## Example Usage
```terraform
data "stackit_logme_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `credentials_id` (String) The credentials ID.
- `instance_id` (String) ID of the LogMe instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,49 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_logme_instance Data Source - stackit"
subcategory: ""
description: |-
LogMe instance data source schema.
---
# stackit_logme_instance (Data Source)
LogMe instance data source schema.
## Example Usage
```terraform
data "stackit_logme_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the LogMe instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource identifier.
- `image_url` (String)
- `name` (String) Instance name.
- `organization_guid` (String)
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
- `plan_id` (String) The selected plan ID.
- `plan_name` (String) The selected plan name.
- `version` (String) The service version.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Read-Only:
- `sgw_acl` (String)

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_mariadb_credentials Data Source - stackit"
subcategory: ""
description: |-
MariaDB credentials data source schema.
---
# stackit_mariadb_credentials (Data Source)
MariaDB credentials data source schema.
## Example Usage
```terraform
data "stackit_mariadb_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `credentials_id` (String) The credentials ID.
- `instance_id` (String) ID of the MariaDB instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,49 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_mariadb_instance Data Source - stackit"
subcategory: ""
description: |-
MariaDB instance data source schema.
---
# stackit_mariadb_instance (Data Source)
MariaDB instance data source schema.
## Example Usage
```terraform
data "stackit_mariadb_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the MariaDB instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource identifier.
- `image_url` (String)
- `name` (String) Instance name.
- `organization_guid` (String)
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
- `plan_id` (String) The selected plan ID.
- `plan_name` (String) The selected plan name.
- `version` (String) The service version.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Read-Only:
- `sgw_acl` (String)

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_opensearch_credentials Data Source - stackit"
subcategory: ""
description: |-
OpenSearch credentials data source schema.
---
# stackit_opensearch_credentials (Data Source)
OpenSearch credentials data source schema.
## Example Usage
```terraform
data "stackit_opensearch_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `credentials_id` (String) The credentials ID.
- `instance_id` (String) ID of the OpenSearch instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,49 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_opensearch_instance Data Source - stackit"
subcategory: ""
description: |-
OpenSearch instance data source schema.
---
# stackit_opensearch_instance (Data Source)
OpenSearch instance data source schema.
## Example Usage
```terraform
data "stackit_opensearch_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the OpenSearch instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource identifier.
- `image_url` (String)
- `name` (String) Instance name.
- `organization_guid` (String)
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
- `plan_id` (String) The selected plan ID.
- `plan_name` (String) The selected plan name.
- `version` (String) The service version.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Read-Only:
- `sgw_acl` (String)

View file

@ -0,0 +1,58 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresflex_instance Data Source - stackit"
subcategory: ""
description: |-
PostgresFlex instance data source schema.
---
# stackit_postgresflex_instance (Data Source)
PostgresFlex instance data source schema.
## Example Usage
```terraform
data "stackit_postgresflex_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the PostgresFlex instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance.
- `backup_schedule` (String)
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
- `id` (String) Terraform's internal resource ID.
- `name` (String) Instance name.
- `replicas` (Number)
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
- `version` (String)
<a id="nestedatt--flavor"></a>
### Nested Schema for `flavor`
Read-Only:
- `cpu` (Number)
- `description` (String)
- `id` (String)
- `ram` (Number)
<a id="nestedatt--storage"></a>
### Nested Schema for `storage`
Read-Only:
- `class` (String)
- `size` (Number)

View file

@ -0,0 +1,39 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresflex_user Data Source - stackit"
subcategory: ""
description: |-
PostgresFlex user data source schema.
---
# stackit_postgresflex_user (Data Source)
PostgresFlex user data source schema.
## Example Usage
```terraform
data "stackit_postgresflex_user" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the PostgresFlex instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `user_id` (String) User ID.
### Read-Only
- `host` (String)
- `id` (String) Terraform's internal resource ID.
- `password` (String, Sensitive)
- `port` (Number)
- `roles` (Set of String)
- `username` (String)

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresql_credentials Data Source - stackit"
subcategory: ""
description: |-
PostgreSQL credentials data source schema.
---
# stackit_postgresql_credentials (Data Source)
PostgreSQL credentials data source schema.
## Example Usage
```terraform
data "stackit_postgresql_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `credentials_id` (String) The credentials ID.
- `instance_id` (String) ID of the PostgreSQL instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,54 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresql_instance Data Source - stackit"
subcategory: ""
description: |-
PostgreSQL instance data source schema.
---
# stackit_postgresql_instance (Data Source)
PostgreSQL instance data source schema.
## Example Usage
```terraform
data "stackit_postgresql_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the PostgreSQL instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource identifier.
- `image_url` (String)
- `name` (String) Instance name.
- `organization_guid` (String)
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
- `plan_id` (String) The selected plan ID.
- `plan_name` (String) The selected plan name.
- `version` (String) The service version.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Read-Only:
- `enable_monitoring` (Boolean)
- `metrics_frequency` (Number)
- `metrics_prefix` (String)
- `monitoring_instance_id` (String)
- `plugins` (List of String)
- `sgw_acl` (String)

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_rabbitmq_credentials Data Source - stackit"
subcategory: ""
description: |-
RabbitMQ credentials data source schema.
---
# stackit_rabbitmq_credentials (Data Source)
RabbitMQ credentials data source schema.
## Example Usage
```terraform
data "stackit_rabbitmq_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `credentials_id` (String) The credentials ID.
- `instance_id` (String) ID of the RabbitMQ instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,49 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_rabbitmq_instance Data Source - stackit"
subcategory: ""
description: |-
RabbitMQ instance data source schema.
---
# stackit_rabbitmq_instance (Data Source)
RabbitMQ instance data source schema.
## Example Usage
```terraform
data "stackit_rabbitmq_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the RabbitMQ instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource identifier.
- `image_url` (String)
- `name` (String) Instance name.
- `organization_guid` (String)
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
- `plan_id` (String) The selected plan ID.
- `plan_name` (String) The selected plan name.
- `version` (String) The service version.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Read-Only:
- `sgw_acl` (String)

View file

@ -0,0 +1,42 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_redis_credentials Data Source - stackit"
subcategory: ""
description: |-
Redis credentials data source schema.
---
# stackit_redis_credentials (Data Source)
Redis credentials data source schema.
## Example Usage
```terraform
data "stackit_redis_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `credentials_id` (String) The credentials ID.
- `instance_id` (String) ID of the Redis instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Read-Only
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,49 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_redis_instance Data Source - stackit"
subcategory: ""
description: |-
Redis instance data source schema.
---
# stackit_redis_instance (Data Source)
Redis instance data source schema.
## Example Usage
```terraform
data "stackit_redis_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the Redis instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource identifier.
- `image_url` (String)
- `name` (String) Instance name.
- `organization_guid` (String)
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
- `plan_id` (String) The selected plan ID.
- `plan_name` (String) The selected plan name.
- `version` (String) The service version.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Read-Only:
- `sgw_acl` (String)

View file

@ -0,0 +1,34 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_resourcemanager_project Data Source - stackit"
subcategory: ""
description: |-
Resource Manager project data source schema.
---
# stackit_resourcemanager_project (Data Source)
Resource Manager project data source schema.
## Example Usage
```terraform
data "stackit_resourcemanager_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
container_id = "example-container-abc123"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `container_id` (String) Project container ID.
### Read-Only
- `id` (String) Terraform's internal unique identifier of the project, equivalent to the container ID
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}
- `name` (String) Project name.
- `parent_container_id` (String) Parent container ID

View file

@ -0,0 +1,119 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_ske_cluster Data Source - stackit"
subcategory: ""
description: |-
SKE Cluster data source schema.
---
# stackit_ske_cluster (Data Source)
SKE Cluster data source schema.
## Example Usage
```terraform
data "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-name"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) The cluster name.
- `project_id` (String) STACKIT project ID to which the cluster is associated.
### Read-Only
- `allow_privileged_containers` (Boolean, Deprecated) DEPRECATED as of Kubernetes 1.25+
Flag to specify if privileged mode for containers is enabled or not.
This should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).
- `extensions` (Attributes) A single extensions block as defined below (see [below for nested schema](#nestedatt--extensions))
- `hibernations` (Attributes List) One or more hibernation block as defined below. (see [below for nested schema](#nestedatt--hibernations))
- `id` (String) Terraform's internal resource ID.
- `kube_config` (String, Sensitive) Kube config file used for connecting to the cluster
- `kubernetes_version` (String) Kubernetes version.
- `kubernetes_version_used` (String) Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15`
- `maintenance` (Attributes) A single maintenance block as defined below (see [below for nested schema](#nestedatt--maintenance))
- `node_pools` (Attributes List) One or more `node_pool` block as defined below. (see [below for nested schema](#nestedatt--node_pools))
<a id="nestedatt--extensions"></a>
### Nested Schema for `extensions`
Read-Only:
- `acl` (Attributes) Cluster access control configuration (see [below for nested schema](#nestedatt--extensions--acl))
- `argus` (Attributes) A single argus block as defined below (see [below for nested schema](#nestedatt--extensions--argus))
<a id="nestedatt--extensions--acl"></a>
### Nested Schema for `extensions.acl`
Read-Only:
- `allowed_cidrs` (List of String) Specify a list of CIDRs to whitelist
- `enabled` (Boolean) Is ACL enabled?
<a id="nestedatt--extensions--argus"></a>
### Nested Schema for `extensions.argus`
Read-Only:
- `argus_instance_id` (String) Instance ID of argus
- `enabled` (Boolean) Flag to enable/disable argus extensions.
<a id="nestedatt--hibernations"></a>
### Nested Schema for `hibernations`
Read-Only:
- `end` (String) End time of hibernation, in crontab syntax.
- `start` (String) Start time of cluster hibernation in crontab syntax.
- `timezone` (String) Timezone name corresponding to a file in the IANA Time Zone database.
<a id="nestedatt--maintenance"></a>
### Nested Schema for `maintenance`
Read-Only:
- `enable_kubernetes_version_updates` (Boolean) Flag to enable/disable auto-updates of the Kubernetes version.
- `enable_machine_image_version_updates` (Boolean) Flag to enable/disable auto-updates of the OS image version.
- `end` (String) Date time for maintenance window end.
- `start` (String) Date time for maintenance window start.
<a id="nestedatt--node_pools"></a>
### Nested Schema for `node_pools`
Read-Only:
- `availability_zones` (List of String) Specify a list of availability zones.
- `cri` (String) Specifies the container runtime.
- `labels` (Map of String) Labels to add to each node.
- `machine_type` (String) The machine type.
- `max_surge` (Number) The maximum number of nodes upgraded simultaneously.
- `max_unavailable` (Number) The maximum number of nodes unavailable during upgraded.
- `maximum` (Number) Maximum number of nodes in the pool.
- `minimum` (Number) Minimum number of nodes in the pool.
- `name` (String) Specifies the name of the node pool.
- `os_name` (String) The name of the OS image.
- `os_version` (String) The OS image version.
- `taints` (Attributes List) Specifies a taint list as defined below. (see [below for nested schema](#nestedatt--node_pools--taints))
- `volume_size` (Number) The volume size in GB.
- `volume_type` (String) Specifies the volume type.
<a id="nestedatt--node_pools--taints"></a>
### Nested Schema for `node_pools.taints`
Read-Only:
- `effect` (String) The taint effect.
- `key` (String) Taint key to be applied to a node.
- `value` (String) Taint value corresponding to the taint key.

View file

@ -0,0 +1,30 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_ske_project Data Source - stackit"
subcategory: ""
description: |-
---
# stackit_ske_project (Data Source)
## Example Usage
```terraform
data "stackit_ske_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `project_id` (String) STACKIT Project ID in which the kubernetes project is enabled.
### Read-Only
- `id` (String) Terraform's internal resource ID.

40
docs/index.md Normal file
View file

@ -0,0 +1,40 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit Provider"
subcategory: ""
description: |-
---
# stackit Provider
## Example Usage
```terraform
provider "stackit" {
region = "eu01"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `argus_custom_endpoint` (String) Custom endpoint for the Argus service
- `credentials_path` (String) Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`.
- `dns_custom_endpoint` (String) Custom endpoint for the DNS service
- `logme_custom_endpoint` (String) Custom endpoint for the LogMe service
- `mariadb_custom_endpoint` (String) Custom endpoint for the MariaDB service
- `opensearch_custom_endpoint` (String) Custom endpoint for the OpenSearch service
- `postgresflex_custom_endpoint` (String) Custom endpoint for the PostgresFlex service
- `postgresql_custom_endpoint` (String) Custom endpoint for the PostgreSQL service
- `rabbitmq_custom_endpoint` (String) Custom endpoint for the RabbitMQ service
- `redis_custom_endpoint` (String)
- `region` (String) Region will be used as the default location for regional services. Not all services require a region, some are global
- `resourcemanager_custom_endpoint` (String) Custom endpoint for the Resource Manager service
- `service_account_email` (String) Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL
- `service_account_token` (String) Token used for authentication. If set, the token flow will be used to authenticate all operations.
- `ske_custom_endpoint` (String) Custom endpoint for the Kubernetes Engine (SKE) service

View file

@ -0,0 +1,27 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_credential Resource - stackit"
subcategory: ""
description: |-
---
# stackit_argus_credential (Resource)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) The Argus Instance ID the credential belongs to.
- `project_id` (String) STACKIT project ID to which the credential is associated.
### Read-Only
- `id` (String) Terraform's internal resource ID.
- `password` (String, Sensitive) Credential password
- `username` (String) Credential username

View file

@ -0,0 +1,59 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_instance Resource - stackit"
subcategory: ""
description: |-
---
# stackit_argus_instance (Resource)
## Example Usage
```terraform
resource "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) The name of the Argus instance.
- `plan_name` (String) Specifies the Argus plan. E.g. `Monitoring-Medium-EU01`.
- `project_id` (String) STACKIT project ID to which the instance is associated.
### Optional
- `parameters` (Map of String) Additional parameters.
### Read-Only
- `alerting_url` (String) Specifies Alerting URL.
- `dashboard_url` (String) Specifies Argus instance dashboard URL.
- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password.
- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username.
- `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in.
- `grafana_url` (String) Specifies Grafana URL.
- `id` (String) Terraform's internal resource ID.
- `instance_id` (String) The Argus instance ID.
- `is_updatable` (Boolean) Specifies if the instance can be updated.
- `jaeger_traces_url` (String)
- `jaeger_ui_url` (String)
- `logs_push_url` (String) Specifies URL for pushing logs.
- `logs_url` (String) Specifies Logs URL.
- `metrics_push_url` (String) Specifies URL for pushing metrics.
- `metrics_retention_days` (Number) Specifies for how many days the raw metrics are kept.
- `metrics_retention_days_1h_downsampling` (Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `0` (disabled).
- `metrics_retention_days_5m_downsampling` (Number) Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to `0` (disabled).
- `metrics_url` (String) Specifies metrics URL.
- `otlp_traces_url` (String)
- `plan_id` (String) The Argus plan ID.
- `targets_url` (String) Specifies Targets URL.
- `zipkin_spans_url` (String)

View file

@ -0,0 +1,84 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_argus_scrapeconfig Resource - stackit"
subcategory: ""
description: |-
---
# stackit_argus_scrapeconfig (Resource)
## Example Usage
```terraform
resource "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) Argus instance ID to which the scraping job is associated.
- `metrics_path` (String) Specifies the job scraping url path. E.g. `/metrics`.
- `name` (String) Specifies the name of the scraping job.
- `project_id` (String) STACKIT project ID to which the scraping job is associated.
- `targets` (Attributes List) The targets list (specified by the static config). (see [below for nested schema](#nestedatt--targets))
### Optional
- `basic_auth` (Attributes) A basic authentication block. (see [below for nested schema](#nestedatt--basic_auth))
- `saml2` (Attributes) A SAML2 configuration block. (see [below for nested schema](#nestedatt--saml2))
- `scheme` (String) Specifies the http scheme. E.g. `https`.
- `scrape_interval` (String) Specifies the scrape interval as duration string. E.g. `5m`.
- `scrape_timeout` (String) Specifies the scrape timeout as duration string. E.g.`2m`.
### Read-Only
- `id` (String) Terraform's internal resource ID.
<a id="nestedatt--targets"></a>
### Nested Schema for `targets`
Required:
- `urls` (List of String) Specifies target URLs.
Optional:
- `labels` (Map of String) Specifies labels.
<a id="nestedatt--basic_auth"></a>
### Nested Schema for `basic_auth`
Required:
- `password` (String, Sensitive) Specifies basic auth password.
- `username` (String) Specifies basic auth username.
<a id="nestedatt--saml2"></a>
### Nested Schema for `saml2`
Optional:
- `enable_url_parameters` (Boolean) Are URL parameters be enabled?

View file

@ -0,0 +1,48 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_dns_record_set Resource - stackit"
subcategory: ""
description: |-
DNS Record Set Resource schema.
---
# stackit_dns_record_set (Resource)
DNS Record Set Resource schema.
## Example Usage
```terraform
resource "stackit_dns_record_set" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-record-set.www.example-zone.com"
type = "A"
comment = "Example comment"
records = ["1.2.3.4"]
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Name of the record which should be a valid domain according to rfc1035 Section 2.3.4. E.g. `example.com`
- `project_id` (String) STACKIT project ID to which the dns record set is associated.
- `records` (List of String) Records.
- `zone_id` (String) The zone ID to which is dns record set is associated.
### Optional
- `active` (Boolean) Specifies if the record set is active or not.
- `comment` (String) Comment.
- `ttl` (Number) Time to live. E.g. 3600
- `type` (String) The record set type. E.g. `A` or `CNAME`
### Read-Only
- `error` (String) Error shows error in case create/update/delete failed.
- `id` (String) Terraform's internal resource ID.
- `record_set_id` (String) The rr set id.
- `state` (String) Record set state.

View file

@ -0,0 +1,60 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_dns_zone Resource - stackit"
subcategory: ""
description: |-
DNS Zone resource schema.
---
# stackit_dns_zone (Resource)
DNS Zone resource schema.
## Example Usage
```terraform
resource "stackit_dns_zone" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example zone"
dns_name = "www.example-zone.com"
contact_email = "aa@bb.ccc"
type = "primary"
acl = "192.168.0.0/24"
description = "Example description"
default_ttl = 1230
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `dns_name` (String) The zone name. E.g. `example.com`
- `name` (String) The user given name of the zone.
- `project_id` (String) STACKIT project ID to which the dns zone is associated.
### Optional
- `acl` (String) The access control list. E.g. `0.0.0.0/0,::/0`
- `active` (Boolean)
- `contact_email` (String) A contact e-mail for the zone.
- `default_ttl` (Number) Default time to live. E.g. 3600.
- `description` (String) Description of the zone.
- `expire_time` (Number) Expire time. E.g. 1209600.
- `is_reverse_zone` (Boolean) Specifies, if the zone is a reverse zone or not.
- `negative_cache` (Number) Negative caching. E.g. 60
- `primaries` (List of String) Primary name server for secondary zone. E.g. ["1.2.3.4"]
- `refresh_time` (Number) Refresh time. E.g. 3600
- `retry_time` (Number) Retry time. E.g. 600
- `type` (String) Zone type. E.g. `primary`
### Read-Only
- `id` (String) Terraform's internal resource ID.
- `primary_name_server` (String) Primary name server. FQDN.
- `record_count` (Number) Record count how many records are in the zone.
- `serial_number` (Number) Serial number. E.g. `2022111400`.
- `state` (String) Zone state. E.g. `CREATE_SUCCEEDED`.
- `visibility` (String) Visibility of the zone. E.g. `public`.
- `zone_id` (String) The zone ID.

View file

@ -0,0 +1,34 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_logme_credentials Resource - stackit"
subcategory: ""
description: |-
LogMe credentials resource schema.
---
# stackit_logme_credentials (Resource)
LogMe credentials resource schema.
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the LogMe instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `credentials_id` (String) The credentials ID.
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,57 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_logme_instance Resource - stackit"
subcategory: ""
description: |-
LogMe instance resource schema.
---
# stackit_logme_instance (Resource)
LogMe instance resource schema.
## Example Usage
```terraform
resource "stackit_logme_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Instance name.
- `plan_name` (String) The selected plan name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `version` (String) The service version.
### Optional
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource ID.
- `image_url` (String)
- `instance_id` (String) ID of the LogMe instance.
- `organization_guid` (String)
- `plan_id` (String) The selected plan ID.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Optional:
- `sgw_acl` (String)

View file

@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_mariadb_credentials Resource - stackit"
subcategory: ""
description: |-
MariaDB credentials resource schema.
---
# stackit_mariadb_credentials (Resource)
MariaDB credentials resource schema.
## Example Usage
```terraform
resource "stackit_mariadb_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the MariaDB instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `credentials_id` (String) The credentials ID.
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,57 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_mariadb_instance Resource - stackit"
subcategory: ""
description: |-
MariaDB instance resource schema.
---
# stackit_mariadb_instance (Resource)
MariaDB instance resource schema.
## Example Usage
```terraform
resource "stackit_mariadb_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Instance name.
- `plan_name` (String) The selected plan name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `version` (String) The service version.
### Optional
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource ID.
- `image_url` (String)
- `instance_id` (String) ID of the MariaDB instance.
- `organization_guid` (String)
- `plan_id` (String) The selected plan ID.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Optional:
- `sgw_acl` (String)

View file

@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_opensearch_credentials Resource - stackit"
subcategory: ""
description: |-
OpenSearch credentials resource schema.
---
# stackit_opensearch_credentials (Resource)
OpenSearch credentials resource schema.
## Example Usage
```terraform
resource "stackit_opensearch_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the OpenSearch instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `credentials_id` (String) The credentials ID.
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,57 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_opensearch_instance Resource - stackit"
subcategory: ""
description: |-
OpenSearch instance resource schema.
---
# stackit_opensearch_instance (Resource)
OpenSearch instance resource schema.
## Example Usage
```terraform
resource "stackit_opensearch_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Instance name.
- `plan_name` (String) The selected plan name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `version` (String) The service version.
### Optional
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource ID.
- `image_url` (String)
- `instance_id` (String) ID of the OpenSearch instance.
- `organization_guid` (String)
- `plan_id` (String) The selected plan ID.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Optional:
- `sgw_acl` (String)

View file

@ -0,0 +1,73 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresflex_instance Resource - stackit"
subcategory: ""
description: |-
PostgresFlex instance resource schema.
---
# stackit_postgresflex_instance (Resource)
PostgresFlex instance resource schema.
## Example Usage
```terraform
resource "stackit_postgresflex_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
backup_schedule = "00 00 * * *"
flavor = {
cpu = 2
ram = 4
}
replicas = 3
storage = {
class = "class"
size = 5
}
version = 14
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance.
- `backup_schedule` (String)
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
- `name` (String) Instance name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `replicas` (Number)
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
- `version` (String)
### Read-Only
- `id` (String) Terraform's internal resource ID.
- `instance_id` (String) ID of the PostgresFlex instance.
<a id="nestedatt--flavor"></a>
### Nested Schema for `flavor`
Required:
- `cpu` (Number)
- `ram` (Number)
Read-Only:
- `description` (String)
- `id` (String)
<a id="nestedatt--storage"></a>
### Nested Schema for `storage`
Required:
- `class` (String)
- `size` (Number)

View file

@ -0,0 +1,40 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresflex_user Resource - stackit"
subcategory: ""
description: |-
PostgresFlex user resource schema.
---
# stackit_postgresflex_user (Resource)
PostgresFlex user resource schema.
## Example Usage
```terraform
resource "stackit_postgresflex_user" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
username = "username"
roles = ["role"]
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the PostgresFlex instance.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `roles` (Set of String)
- `username` (String)
### Read-Only
- `host` (String)
- `id` (String) Terraform's internal resource ID.
- `password` (String, Sensitive)
- `port` (Number)
- `user_id` (String) User ID.

View file

@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresql_credentials Resource - stackit"
subcategory: ""
description: |-
PostgreSQL credentials resource schema.
---
# stackit_postgresql_credentials (Resource)
PostgreSQL credentials resource schema.
## Example Usage
```terraform
resource "stackit_postgresql_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the PostgreSQL instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `credentials_id` (String) The credentials ID.
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,62 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_postgresql_instance Resource - stackit"
subcategory: ""
description: |-
PostgreSQL instance resource schema.
---
# stackit_postgresql_instance (Resource)
PostgreSQL instance resource schema.
## Example Usage
```terraform
resource "stackit_postgresql_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Instance name.
- `plan_name` (String) The selected plan name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `version` (String) The service version.
### Optional
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource ID.
- `image_url` (String)
- `instance_id` (String) ID of the PostgreSQL instance.
- `organization_guid` (String)
- `plan_id` (String) The selected plan ID.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Optional:
- `enable_monitoring` (Boolean)
- `metrics_frequency` (Number)
- `metrics_prefix` (String)
- `monitoring_instance_id` (String)
- `plugins` (List of String)
- `sgw_acl` (String)

View file

@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_rabbitmq_credentials Resource - stackit"
subcategory: ""
description: |-
RabbitMQ credentials resource schema.
---
# stackit_rabbitmq_credentials (Resource)
RabbitMQ credentials resource schema.
## Example Usage
```terraform
resource "stackit_rabbitmq_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the RabbitMQ instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `credentials_id` (String) The credentials ID.
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,57 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_rabbitmq_instance Resource - stackit"
subcategory: ""
description: |-
RabbitMQ instance resource schema.
---
# stackit_rabbitmq_instance (Resource)
RabbitMQ instance resource schema.
## Example Usage
```terraform
resource "stackit_rabbitmq_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Instance name.
- `plan_name` (String) The selected plan name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `version` (String) The service version.
### Optional
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource ID.
- `image_url` (String)
- `instance_id` (String) ID of the RabbitMQ instance.
- `organization_guid` (String)
- `plan_id` (String) The selected plan ID.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Optional:
- `sgw_acl` (String)

View file

@ -0,0 +1,41 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_redis_credentials Resource - stackit"
subcategory: ""
description: |-
Redis credentials resource schema.
---
# stackit_redis_credentials (Resource)
Redis credentials resource schema.
## Example Usage
```terraform
resource "stackit_redis_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `instance_id` (String) ID of the Redis instance.
- `project_id` (String) STACKIT Project ID to which the instance is associated.
### Read-Only
- `credentials_id` (String) The credentials ID.
- `host` (String)
- `hosts` (List of String)
- `http_api_uri` (String)
- `id` (String) Terraform's internal resource identifier.
- `name` (String)
- `password` (String, Sensitive)
- `port` (Number)
- `uri` (String)
- `username` (String)

View file

@ -0,0 +1,57 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_redis_instance Resource - stackit"
subcategory: ""
description: |-
Redis instance resource schema.
---
# stackit_redis_instance (Resource)
Redis instance resource schema.
## Example Usage
```terraform
resource "stackit_redis_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Instance name.
- `plan_name` (String) The selected plan name.
- `project_id` (String) STACKIT project ID to which the instance is associated.
- `version` (String) The service version.
### Optional
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
### Read-Only
- `cf_guid` (String)
- `cf_space_guid` (String)
- `dashboard_url` (String)
- `id` (String) Terraform's internal resource ID.
- `image_url` (String)
- `instance_id` (String) ID of the Redis instance.
- `organization_guid` (String)
- `plan_id` (String) The selected plan ID.
<a id="nestedatt--parameters"></a>
### Nested Schema for `parameters`
Optional:
- `sgw_acl` (String)

View file

@ -0,0 +1,43 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_resourcemanager_project Resource - stackit"
subcategory: ""
description: |-
Resource Manager project resource schema.
---
# stackit_resourcemanager_project (Resource)
Resource Manager project resource schema.
## Example Usage
```terraform
resource "stackit_resourcemanager_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
parent_container_id = "example-parent-container-abc123"
name = "example-container"
labels = {
"Label 1" = "foo"
}
owner_email = "aa@bb.ccc"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String) Project name.
- `owner_email` (String) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
- `parent_container_id` (String) Parent container ID
### Optional
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}
### Read-Only
- `container_id` (String) Project container ID. Globally unique, user-friendly identifier.
- `id` (String) Terraform's internal unique identifier of the project, equivalent to the container ID

View file

@ -0,0 +1,152 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_ske_cluster Resource - stackit"
subcategory: ""
description: |-
SKE Cluster Resource schema.
---
# stackit_ske_cluster (Resource)
SKE Cluster Resource schema.
## Example Usage
```terraform
resource "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-name"
kubernetes_version = "1.25"
node_pools = [
{
name = "np-example"
machine_type = "b1.2"
os_version = "3510.2.5"
minimum = "2"
maximum = "3"
availability_zones = ["eu01-3"]
}
]
maintenance = {
enable_kubernetes_version_updates = true
enable_machine_image_version_updates = true
start = "01:00:00Z"
end = "02:00:00Z"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `kubernetes_version` (String) Kubernetes version. Must only contain major and minor version (e.g. 1.22)
- `name` (String) The cluster name.
- `node_pools` (Attributes List) One or more `node_pool` block as defined below. (see [below for nested schema](#nestedatt--node_pools))
- `project_id` (String) STACKIT project ID to which the cluster is associated.
### Optional
- `allow_privileged_containers` (Boolean) Flag to specify if privileged mode for containers is enabled or not.
This should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).
Deprecated as of Kubernetes 1.25 and later
- `extensions` (Attributes) A single extensions block as defined below. (see [below for nested schema](#nestedatt--extensions))
- `hibernations` (Attributes List) One or more hibernation block as defined below. (see [below for nested schema](#nestedatt--hibernations))
- `maintenance` (Attributes) A single maintenance block as defined below. (see [below for nested schema](#nestedatt--maintenance))
### Read-Only
- `id` (String) Terraform's internal resource ID.
- `kube_config` (String, Sensitive) Kube config file used for connecting to the cluster
- `kubernetes_version_used` (String) Full Kubernetes version used. For example, if 1.22 was selected, this value may result to 1.22.15
<a id="nestedatt--node_pools"></a>
### Nested Schema for `node_pools`
Required:
- `availability_zones` (List of String) Specify a list of availability zones. E.g. `eu01-m`
- `machine_type` (String) The machine type.
- `maximum` (Number) Maximum number of nodes in the pool.
- `minimum` (Number) Minimum number of nodes in the pool.
- `name` (String) Specifies the name of the node pool.
- `os_version` (String) The OS image version.
Optional:
- `cri` (String) Specifies the container runtime. E.g. `containerd`
- `labels` (Map of String) Labels to add to each node.
- `max_surge` (Number) Maximum number of additional VMs that are created during an update.
- `max_unavailable` (Number) Maximum number of VMs that that can be unavailable during an update.
- `os_name` (String) The name of the OS image. E.g. `flatcar`.
- `taints` (Attributes List) Specifies a taint list as defined below. (see [below for nested schema](#nestedatt--node_pools--taints))
- `volume_size` (Number) The volume size in GB. E.g. `20`
- `volume_type` (String) Specifies the volume type. E.g. `storage_premium_perf1`.
<a id="nestedatt--node_pools--taints"></a>
### Nested Schema for `node_pools.taints`
Required:
- `effect` (String) The taint effect. E.g `PreferNoSchedule`.
- `key` (String) Taint key to be applied to a node.
Optional:
- `value` (String) Taint value corresponding to the taint key.
<a id="nestedatt--extensions"></a>
### Nested Schema for `extensions`
Optional:
- `acl` (Attributes) Cluster access control configuration. (see [below for nested schema](#nestedatt--extensions--acl))
- `argus` (Attributes) A single argus block as defined below. (see [below for nested schema](#nestedatt--extensions--argus))
<a id="nestedatt--extensions--acl"></a>
### Nested Schema for `extensions.acl`
Required:
- `allowed_cidrs` (List of String) Specify a list of CIDRs to whitelist.
- `enabled` (Boolean) Is ACL enabled?
<a id="nestedatt--extensions--argus"></a>
### Nested Schema for `extensions.argus`
Required:
- `enabled` (Boolean) Flag to enable/disable Argus extensions.
Optional:
- `argus_instance_id` (String) Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`.
<a id="nestedatt--hibernations"></a>
### Nested Schema for `hibernations`
Required:
- `end` (String) End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am.
- `start` (String) Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm.
Optional:
- `timezone` (String) Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`.
<a id="nestedatt--maintenance"></a>
### Nested Schema for `maintenance`
Required:
- `enable_kubernetes_version_updates` (Boolean) Flag to enable/disable auto-updates of the Kubernetes version.
- `enable_machine_image_version_updates` (Boolean) Flag to enable/disable auto-updates of the OS image version.
- `end` (String) Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
- `start` (String) Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.

View file

@ -0,0 +1,30 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "stackit_ske_project Resource - stackit"
subcategory: ""
description: |-
---
# stackit_ske_project (Resource)
## Example Usage
```terraform
resource "stackit_ske_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `project_id` (String) STACKIT Project ID in which the kubernetes project is enabled.
### Read-Only
- `id` (String) Terraform's internal resource ID.

View file

@ -0,0 +1,4 @@
data "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
job_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_dns_record_set" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
record_set_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_dns_zone" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_logme_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_logme_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_mariadb_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_mariadb_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_opensearch_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_opensearch_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_postgresflex_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_postgresflex_user" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_postgresql_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_postgresql_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_rabbitmq_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_rabbitmq_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,5 @@
data "stackit_redis_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
credentials_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_redis_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,4 @@
data "stackit_resourcemanager_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
container_id = "example-container-abc123"
}

View file

@ -0,0 +1,4 @@
data "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-name"
}

View file

@ -0,0 +1,3 @@
data "stackit_ske_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,3 @@
provider "stackit" {
region = "eu01"
}

View file

@ -0,0 +1,5 @@
resource "stackit_argus_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Monitoring-Medium-EU01"
}

View file

@ -0,0 +1,17 @@
resource "stackit_argus_scrapeconfig" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job"
metrics_path = "/my-metrics"
saml2 = {
enable_url_parameters = true
}
targets = [
{
urls = ["url1", "urls2"]
labels = {
"url1" = "dev"
}
}
]
}

View file

@ -0,0 +1,8 @@
resource "stackit_dns_record_set" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-record-set.www.example-zone.com"
type = "A"
comment = "Example comment"
records = ["1.2.3.4"]
}

View file

@ -0,0 +1,10 @@
resource "stackit_dns_zone" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "Example zone"
dns_name = "www.example-zone.com"
contact_email = "aa@bb.ccc"
type = "primary"
acl = "192.168.0.0/24"
description = "Example description"
default_ttl = 1230
}

View file

@ -0,0 +1,4 @@
resource "stackit_logme_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,9 @@
resource "stackit_logme_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}

View file

@ -0,0 +1,4 @@
resource "stackit_mariadb_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,9 @@
resource "stackit_mariadb_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}

View file

@ -0,0 +1,4 @@
resource "stackit_opensearch_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,9 @@
resource "stackit_opensearch_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}

View file

@ -0,0 +1,16 @@
resource "stackit_postgresflex_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
backup_schedule = "00 00 * * *"
flavor = {
cpu = 2
ram = 4
}
replicas = 3
storage = {
class = "class"
size = 5
}
version = 14
}

View file

@ -0,0 +1,6 @@
resource "stackit_postgresflex_user" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
username = "username"
roles = ["role"]
}

View file

@ -0,0 +1,4 @@
resource "stackit_postgresql_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,9 @@
resource "stackit_postgresql_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}

View file

@ -0,0 +1,4 @@
resource "stackit_rabbitmq_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,9 @@
resource "stackit_rabbitmq_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}

View file

@ -0,0 +1,4 @@
resource "stackit_redis_credentials" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

View file

@ -0,0 +1,9 @@
resource "stackit_redis_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
version = "10"
plan_name = "example-plan-name"
parameters = {
sgw_acl = "x.x.x.x/x,y.y.y.y/y"
}
}

View file

@ -0,0 +1,9 @@
resource "stackit_resourcemanager_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
parent_container_id = "example-parent-container-abc123"
name = "example-container"
labels = {
"Label 1" = "foo"
}
owner_email = "aa@bb.ccc"
}

View file

@ -0,0 +1,21 @@
resource "stackit_ske_cluster" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-name"
kubernetes_version = "1.25"
node_pools = [
{
name = "np-example"
machine_type = "b1.2"
os_version = "3510.2.5"
minimum = "2"
maximum = "3"
availability_zones = ["eu01-3"]
}
]
maintenance = {
enable_kubernetes_version_updates = true
enable_machine_image_version_updates = true
start = "01:00:00Z"
end = "02:00:00Z"
}
}

View file

@ -0,0 +1,3 @@
resource "stackit_ske_project" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

82
go.mod Normal file
View file

@ -0,0 +1,82 @@
module github.com/stackitcloud/terraform-provider-stackit
go 1.20
require (
github.com/google/go-cmp v0.5.9
github.com/google/uuid v1.3.0
github.com/hashicorp/terraform-plugin-framework v1.3.5
github.com/hashicorp/terraform-plugin-framework-validators v0.12.0
github.com/hashicorp/terraform-plugin-go v0.18.0
github.com/hashicorp/terraform-plugin-log v0.9.0
github.com/hashicorp/terraform-plugin-testing v1.5.1
github.com/stackitcloud/stackit-sdk-go/core v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/argus v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/dns v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/logme v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/postgresql v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/redis v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.1.0
github.com/stackitcloud/stackit-sdk-go/services/ske v0.1.0
golang.org/x/mod v0.12.0
)
require (
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
github.com/agext/levenshtein v1.2.2 // indirect
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
github.com/cloudflare/circl v1.3.3 // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-checkpoint v0.5.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect
github.com/hashicorp/go-hclog v1.5.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-plugin v1.4.10 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
github.com/hashicorp/hc-install v0.5.2 // indirect
github.com/hashicorp/hcl/v2 v2.17.0 // indirect
github.com/hashicorp/logutils v1.0.0 // indirect
github.com/hashicorp/terraform-exec v0.18.1 // indirect
github.com/hashicorp/terraform-json v0.17.1 // indirect
github.com/hashicorp/terraform-plugin-sdk/v2 v2.28.0 // indirect
github.com/hashicorp/terraform-registry-address v0.2.1 // indirect
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/go-wordwrap v1.0.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/run v1.0.0 // indirect
github.com/stretchr/testify v1.8.3 // indirect
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/zclconf/go-cty v1.13.3 // indirect
golang.org/x/crypto v0.12.0 // indirect
golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819 // indirect
golang.org/x/net v0.14.0 // indirect
golang.org/x/oauth2 v0.11.0 // indirect
golang.org/x/sys v0.11.0 // indirect
golang.org/x/text v0.12.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
google.golang.org/grpc v1.56.1 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
k8s.io/apimachinery v0.28.1 // indirect
k8s.io/klog/v2 v2.100.1 // indirect
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
)

222
go.sum Normal file
View file

@ -0,0 +1,222 @@
github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA=
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA=
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ=
github.com/agext/levenshtein v1.2.2 h1:0S/Yg6LYmFJ5stwQeRp6EeOcCbj7xiqQSdNelsXvaqE=
github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs=
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4=
github.com/go-git/go-git/v5 v5.6.1 h1:q4ZRqQl4pR/ZJHc1L5CFjGA1a10u76aV1iC+nh+bHsk=
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU=
github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI=
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320/go.mod h1:EiZBMaudVLy8fmjf9Npq1dq9RalhveqZG5w/yz3mHWs=
github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c=
github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk=
github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0=
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/hc-install v0.5.2 h1:SfwMFnEXVVirpwkDuSF5kymUOhrUxrTq3udEseZdOD0=
github.com/hashicorp/hc-install v0.5.2/go.mod h1:9QISwe6newMWIfEiXpzuu1k9HAGtQYgnSH8H9T8wmoI=
github.com/hashicorp/hcl/v2 v2.17.0 h1:z1XvSUyXd1HP10U4lrLg5e0JMVz6CPaJvAgxM0KNZVY=
github.com/hashicorp/hcl/v2 v2.17.0/go.mod h1:gJyW2PTShkJqQBKpAmPO3yxMxIuoXkOF2TpqXzrQyx4=
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.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4=
github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980=
github.com/hashicorp/terraform-json v0.17.1 h1:eMfvh/uWggKmY7Pmb3T85u86E2EQg6EQHgyRwf3RkyA=
github.com/hashicorp/terraform-json v0.17.1/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o=
github.com/hashicorp/terraform-plugin-framework v1.3.5 h1:FJ6s3CVWVAxlhiF/jhy6hzs4AnPHiflsp9KgzTGl1wo=
github.com/hashicorp/terraform-plugin-framework v1.3.5/go.mod h1:2gGDpWiTI0irr9NSTLFAKlTi6KwGti3AoU19rFqU30o=
github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc=
github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg=
github.com/hashicorp/terraform-plugin-go v0.18.0 h1:IwTkOS9cOW1ehLd/rG0y+u/TGLK9y6fGoBjXVUquzpE=
github.com/hashicorp/terraform-plugin-go v0.18.0/go.mod h1:l7VK+2u5Kf2y+A+742GX0ouLut3gttudmvMgN0PA74Y=
github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0=
github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow=
github.com/hashicorp/terraform-plugin-sdk/v2 v2.28.0 h1:gY4SG34ANc6ZSeWEKC9hDTChY0ZiN+Myon17fSA0Xgc=
github.com/hashicorp/terraform-plugin-sdk/v2 v2.28.0/go.mod h1:deXEw/iJXtJxNV9d1c/OVJrvL7Zh0a++v7rzokW6wVY=
github.com/hashicorp/terraform-plugin-testing v1.5.1 h1:T4aQh9JAhmWo4+t1A7x+rnxAJHCDIYW9kXyo4sVO92c=
github.com/hashicorp/terraform-plugin-testing v1.5.1/go.mod h1:dg8clO6K59rZ8w9EshBmDp1CxTIPu3yA4iaDpX1h5u0=
github.com/hashicorp/terraform-registry-address v0.2.1 h1:QuTf6oJ1+WSflJw6WYOHhLgwUiQ0FrROpHPYFtwTYWM=
github.com/hashicorp/terraform-registry-address v0.2.1/go.mod h1:BSE9fIFzp0qWsJUUyGquo4ldV9k2n+psif6NYkBRS3Y=
github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ=
github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU=
github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4=
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0=
github.com/stackitcloud/stackit-sdk-go/core v0.1.0 h1:rvYOBuUUcje+jbfkCVOb417T3E5d5HMnJ5lKA4Y3fP0=
github.com/stackitcloud/stackit-sdk-go/core v0.1.0/go.mod h1:oajmlnz8XdRji0VnQhqoa3tcta8HIBuYB0uDzHDvMes=
github.com/stackitcloud/stackit-sdk-go/services/argus v0.1.0 h1:kjAYf7WnjhQ2JlYiUBH34n51KBej8a7rVbKF7+4UpNQ=
github.com/stackitcloud/stackit-sdk-go/services/argus v0.1.0/go.mod h1:9Y9MzEOos9xFFCs6YdYWb0k8Ij4JrJYfYGro9b1pVUY=
github.com/stackitcloud/stackit-sdk-go/services/dns v0.1.0 h1:PEfzbpktaK7Fj8O8zxLM3bpXwazmGhG59D15Vi8z/sE=
github.com/stackitcloud/stackit-sdk-go/services/dns v0.1.0/go.mod h1:eD6fRbn/pS9sdRYeq3EBKvFj2qlDu25Ir/doWfPaBcI=
github.com/stackitcloud/stackit-sdk-go/services/logme v0.1.0 h1:3PQQniOQIxGQjYNpkukjivvcvO0PjIaPGh7JHwC6888=
github.com/stackitcloud/stackit-sdk-go/services/logme v0.1.0/go.mod h1:KkWI0vWfBHRepIrH0VT2e1xwf1WaaNb/zPfSTRXAXjs=
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.1.0 h1:puJISDlTEKO9ROZLzzjfijUEe0sODK2WK4TUiHUmbJI=
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.1.0/go.mod h1:uTotoums0lfsmlTQVP5bYz4wWmfWlLuFx9i1ZzAyAkA=
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.1.0 h1:t/uLNsqkpzARY9kfGR8pahfwScDdJZ+bRbZCGZ9o1lk=
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.1.0/go.mod h1:pTTPSxx/BpcAm0ttcH+g4AiovC+oT7lXqca2C1XOxzY=
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v0.1.0 h1:vm3AgvTA6TaHd0WpmzKT6HY6fSLOJUNPslqeLByO5P4=
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v0.1.0/go.mod h1:sPEBUNRxaEsyhVOQKZrUdebexVX/z1RbvUFXxXOrICo=
github.com/stackitcloud/stackit-sdk-go/services/postgresql v0.1.0 h1:/P9LOqYbbMso7FP2wfqqsUKbBrWVlb73vflgCA8N/rI=
github.com/stackitcloud/stackit-sdk-go/services/postgresql v0.1.0/go.mod h1:9tfn47ltmTxuuchpn0Ui2n1KHMk4L/6T3K04NysSkTs=
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.1.0 h1:PSNXnc5QUOvYjIL4yYk3vLd0Ri9Lzu06MTfYEKOx1ys=
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.1.0/go.mod h1:TKYrlRjk4WJROlC23Wo6TuXntgYu8afkJfYtDd2JdiQ=
github.com/stackitcloud/stackit-sdk-go/services/redis v0.1.0 h1:sXbTo85QAcZ1hdZWKf3ZM+sdgBca1yYrrTiwS0ny4tY=
github.com/stackitcloud/stackit-sdk-go/services/redis v0.1.0/go.mod h1:7n6KxrNErscuXKGvXK93qEqd9jg9X9IT4tSGR2TsSg8=
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.1.0 h1:3kvXPm9EeJQA3xe3nV4GQu+dPLoAeErza2g0xjWPMJo=
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.1.0/go.mod h1:VhGU0mhxY7FQj02evme9Xxtyo/H5iOlrU38i3wY7krw=
github.com/stackitcloud/stackit-sdk-go/services/ske v0.1.0 h1:nifb5LIei6d/8B7wKzqyxZ/u8lT6Dd9bFSpyOxX0kU4=
github.com/stackitcloud/stackit-sdk-go/services/ske v0.1.0/go.mod h1:Q+jqrxRJvoLNihVP5Bc7nqJ/l3TFyIFFavEiwRZuuMk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
github.com/zclconf/go-cty v1.13.3 h1:m+b9q3YDbg6Bec5rr+KGy1MzEVzY/jC2X+YX4yqKtHI=
github.com/zclconf/go-cty v1.13.3/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819 h1:EDuYyU/MkFXllv9QF9819VlI9a4tzGuCbhG0ExK9o1U=
golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/oauth2 v0.11.0 h1:vPL4xzxBM4niKCW6g9whtaWVXTJf1U5e4aZxxFx/gbU=
golang.org/x/oauth2 v0.11.0/go.mod h1:LdF7O/8bLR/qWK9DrpXmbHLTouvRHK0SgJl0GmDBchk=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ=
google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/apimachinery v0.28.1 h1:EJD40og3GizBSV3mkIoXQBsws32okPOy+MkRyzh6nPY=
k8s.io/apimachinery v0.28.1/go.mod h1:X0xh/chESs2hP9koe+SdIAcXWcQ+RM5hy0ZynB+yEvw=
k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=
k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=

100
golang-ci.yaml Normal file
View file

@ -0,0 +1,100 @@
# This file contains all available configuration options
# with their default values.
# options for analysis running
run:
# default concurrency is a available CPU number
concurrency: 4
# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 5m
linters-settings:
goimports:
# put imports beginning with prefix after 3rd-party packages;
# it's a comma-separated list of prefixes
local-prefixes: github.com/freiheit-com/nmww
depguard:
list-type: blacklist
include-go-root: false
packages:
- github.com/stretchr/testify
packages-with-error-message:
# specify an error message to output when a blacklisted package is used
- github.com/stretchr/testify: "do not use a testing framework"
misspell:
# Correct spellings using locale preferences for US or UK.
# Default is to use a neutral variety of English.
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
locale: US
golint:
min-confidence: 0.8
gosec:
excludes:
# Suppressions: (see https://github.com/securego/gosec#available-rules for details)
- G104 # "Audit errors not checked" -> which we don't need and is a badly implemented version of errcheck
- G102 # "Bind to all interfaces" -> since this is normal in k8s
- G304 # "File path provided as taint input" -> too many false positives
- G307 # "Deferring unsafe method "Close" on type "io.ReadCloser" -> false positive when calling defer resp.Body.Close()
nakedret:
max-func-lines: 0
revive:
ignore-generated-header: true
severity: error
# https://github.com/mgechev/revive
rules:
- name: errorf
- name: context-as-argument
- name: error-return
- name: increment-decrement
- name: indent-error-flow
- name: superfluous-else
- name: unused-parameter
- name: unreachable-code
- name: atomic
- name: empty-lines
- name: early-return
gocritic:
enabled-tags:
- performance
- style
- experimental
disabled-checks:
- wrapperFunc
- typeDefFirst
- ifElseChain
- dupImport # https://github.com/go-critic/go-critic/issues/845
linters:
enable:
# https://golangci-lint.run/usage/linters/
# default linters
- gosimple
- govet
- ineffassign
- staticcheck
- typecheck
- unused
# additional linters
- errorlint
- exportloopref
- gochecknoinits
- gocritic
- gofmt
- goimports
- gosec
- misspell
- nakedret
- revive
- depguard
- bodyclose
- sqlclosecheck
- wastedassign
- forcetypeassert
- errcheck
disable:
- structcheck # deprecated
- deadcode # deprecated
- varcheck # deprecated
- noctx # false positive: finds errors with http.NewRequest that dont make sense
- unparam # false positives
issues:
exclude-use-default: false

23
main.go Normal file
View file

@ -0,0 +1,23 @@
package main
import (
"context"
"log"
"github.com/hashicorp/terraform-plugin-framework/providerserver"
"github.com/stackitcloud/terraform-provider-stackit/stackit"
)
var (
// goreleaser configuration will override this value
version string = "dev"
)
func main() {
err := providerserver.Serve(context.Background(), stackit.New(version), providerserver.ServeOpts{
Address: "registry.terraform.io/providers/stackitcloud/stackit",
})
if err != nil {
log.Fatal(err.Error())
}
}

18
scripts/lint-golangci-lint.sh Executable file
View file

@ -0,0 +1,18 @@
#!/bin/bash
# This script lints the SDK modules and the internal examples
# Pre-requisites: golangci-lint
set -eo pipefail
ROOT_DIR=$(git rev-parse --show-toplevel)
GOLANG_CI_YAML_PATH="${ROOT_DIR}/golang-ci.yaml"
GOLANG_CI_ARGS="--allow-parallel-runners --timeout=5m --config=${GOLANG_CI_YAML_PATH}"
if type -p golangci-lint >/dev/null; then
:
else
echo "golangci-lint not installed, unable to proceed."
exit 1
fi
cd ${ROOT_DIR}
golangci-lint run ${GOLANG_CI_ARGS}

Some files were not shown because too many files have changed in this diff Show more