Commit graph

45 commits

Author SHA1 Message Date
Marcel Jacek
b5ce160d13
feat: Onboard affinity groups resource and data source (#652)
* onboard affinity_groups resource and data source
- add tests and descriptions
- fix: server doesn't use affinity_group value for payload

* Update descriptions
2025-01-30 11:07:32 +01:00
João Palet
700bdc90d0
Implement new stackit_image resource and datasource (#609)
* feat: Implement image resource and datasource

* feat: Add remaining config options

* feat: Make protected field only computed

* feat: Update dependency to use IaaS beta API

* fix: Minor fix in acc test

---------

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>
2025-01-09 11:57:25 +00:00
Marcel
d7e4ab2adb
Deprecate service_account_email config (#610)
* Deprecate service_account_email config
 - it could be extracted from the JWT if needed

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-12-13 10:42:17 +01:00
a_nackov
100704c0f4
ref 635294: server update schedules (#607)
Signed-off-by: Adrian Nackov <adrian.nackov@mail.schwarz>
2024-12-12 17:20:29 +00:00
GokceGK
2a2d62a429
Onboard public_ip_associate resource (#582)
* onboard public_ip_associate resource

* add warnings

* add example

* edit warning message

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/publicipassociate/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* add requiresReplace in network_interface_id

* change function name to toCreatePayload

* change deletion of the public ip association

* add unit test

* Add missing space between sentences

* update conflict warning message

* update conflict warning message

* Adjust warning message

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
Co-authored-by: João Palet <joao.palet@freiheit.com>
2024-11-22 10:14:44 +00:00
João Palet
b1f928f6be
Implement key pair resource (#588)
* Revert "Revert "Implement key pair resource (#578)" (#581)"

This reverts commit 600847a2ea.

* feat: Update iaas SDK module version; Use beta API in key pair resource
2024-11-11 11:08:05 +00:00
João Palet
600847a2ea
Revert "Implement key pair resource (#578)" (#581)
This reverts commit 153947fd7b.
2024-11-06 14:21:17 +00:00
João Palet
153947fd7b
Implement key pair resource (#578)
* feat: Implement key pair resource

* feat: Implement acceptance test

* fix: Minor fixes to server and public IP resources

* fix: Lint fixes

* fix: Generalize description

* feat: Update examples to read key from file; Add datasource example

* fix: Fix field descriptions

* fix: Fix example

* feat: Add link to key pair resource in server example

* feat: Add links to key pair resource in other examples
2024-11-05 09:50:55 +00:00
Vicente Pinto
93fe2fe89f
IaaS Release (#543)
* IaaS Volume (#541)

* Onboard IaaS Volume

* Labels mapping

* Add acceptance test

* Remove source field

* Fix lint

* Add examples and docs

* Fix lint

* Fix lint

* Fix lint

* Volume source field (#542)

* Onboard IaaS Volume

* Labels mapping

* Add acceptance test

* Remove source field

* Fix lint

* Add examples and docs

* Fix lint

* Fix lint

* Fix lint

* Add source field supoort

* Fix labels and source mapping

* Remove unecessary source mapping

* Move methods to conversion pkg

* Revert change

* Update stackit/internal/services/iaas/volume/datasource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/volume/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/volume/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/iaas/volume/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Changes after review

* Change after revie

---------

Co-authored-by: João Palet <joao.palet@outlook.com>

* Onboard IaaS security groups (#545)

* onboard iaas security group

* add examples and generate docs

* fix linter issues

* fix deletion

* Update stackit/internal/services/iaas/securitygroup/resource.go

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* rename data source example file

* update docs

* remove field

* remove field

* remove plan modifier from the name field

* refactor labels in mapFields

* change function from utils to conversion

* remove rules from the security group

* update docs

* add security group acceptance test

* add plan modifiers to stateful field

* sort imports

* change stateful description

---------

Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud>
Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* IaaS Server baseline configuration (#546)

* Server resource schema

* Implemente CRUD methods and unit testsg

* Bug fixes

* Bug fix

* Make variable private

* Remove delete_on_termination and update descriptions

* Add security_group field to initial networking

* Add examples and acc test

* Generate docs

* Fix lint

* Fix lint issue

* Fix unit test

* Update desc

* Gen docs

* Onboard IaaS network interface (#544)

* implement network interface

* handle labels

* add CIDR validation

* fix linter issues and generate docs

* remove computed from the allowed addresses and fix the conditions

* Update stackit/internal/services/iaas/networkinterface/resource.go

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* Update stackit/internal/services/iaas/networkinterface/datasource.go

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* apply code review changes

* remove status from schema

* remove unnecessary GET call

* Update stackit/internal/services/iaas/networkinterface/resource.go

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* Update stackit/internal/services/iaas/networkinterface/resource.go

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* rename nic_security to security

* add beta markdown description

* use existing validateIP function

* use utils function for the options listing

* refactor labels

* change function from utils to conversion

* make allowed addresses a list of strings

* add acceptance test for network interfaces

* fix acceptance test

* rename security_groups as security_group_ids

* extend descriptions

* fix acc test

---------

Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud>
Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* rename volume data source example (#552)

Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud>

* add requires replace to ipv4 and ipv6 fields (#549)

Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud>
Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* Server resource improvements (#548)

* Improvements to server resource

* Fix example

* Remove useStateForUnknown

* Update SDK modules

* Update iaasalpha moduel (#555)

* Remove initial networking field (#556)

* Server attachment resources (#557)

* Server attachemnt resources

* Add examples

* Update volume datasource example

* Fix linting issues

* Fix linting

* Fix examples formatting

* Update go.mod

* Revert iaas to v0.11

* Onboard iaas public ip (#551)

* onboard public ip

* onboard public ip

* add public ip acceptance test

* Update examples/data-sources/stackit_public_ip/data-source.tf

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* add plan modifier to IP

* change type in the volume data source

* add network_interface field to public ip resource

* rename network_interface to network_interface_id

* remove obsolete checks

* extend unit tests

* add network_interface_id in example

* extend unit test

* extend acceptance test

* sort imports

---------

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* Add labels to network, network are and network area route resources (#559)

* Fix network_interface example

* Extend network, network area and network area route with labels

* Revert iaas to v0.11.0

---------

Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com>

* Onboard iaas security group rule (#553)

* onboard security group rule

* add security group rule to acceptance test

* change type in examples

* fix acc test issues

* extend example with objects

* remove obsolete field from acceptance test

* remove unnecessary plan modifier

* adapt schema fields

* adapt schema fields

* add requires replace to all fields

* extend descriptions with protocol limitations

* rename subfield protocol to number

* add requires replace to objects

* make icmp_parameters fields required

* add empty field checks for nested objects

* make max and min fields required in the port_range object

* make number field computed in the protocol object

* add UseStateForUnknown in protocol number

* remove obsolete unit test

* add checks for empty protocol and adapt unit test

* add atLeastOneOf validation in protocol fields

* fix linter issues

* Add project existence check before deleting SNA (#561)

* add project list check and error in network area deletion

* Update stackit/internal/services/iaas/networkarea/resource.go

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

---------

Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>

* Example server use cases and other fixes (#560)

* Add example usage to server resource

* Update examples

* Fix beta warning

* Update docs and examples

* Remove size from example

* Fix server description, fix security group rule error message

* Other fixes

* remove field from datasource

---------

Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com>

* Security group rule fixes (#562)

* Add example usage to server resource

* Update examples

* Fix beta warning

* Update docs and examples

* Remove size from example

* Fix server description, fix security group rule error message

* Other fixes

* Fixes to sec group rule

* Fix lint

* Change after review

---------

Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com>

* Fix server example (#565)

* Fix server example

* Fixes to examples, add CIDR validation to nic

* Migrate iaasalpha to iaas (#568)

* Migrate iaasalpha to iaas

* Fix lint

* Update example

* Improvements to security group rule (#569)

* Improvements to security group rule

* Fix lint

* Fix example and remove computed from description

* Fix formatting

* Update description

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
Co-authored-by: GokceGK <161626272+GokceGK@users.noreply.github.com>
Co-authored-by: Gökçe Gök Klingel <goekce.goek_klingel@stackit.cloud>
2024-10-18 16:37:41 +01:00
Vicente Pinto
fe777fd9bc
Remove leftover Postgresql code and documentation (#527)
* Remove leftover postgresql code

* Remove examples

* revert go.mod

* Revert loadbalancer doc
2024-09-04 16:16:24 +01:00
Vicente Pinto
a58940981e
Remove PostgreSQL (#526)
* Remove postgresql service

* Update index
2024-09-04 13:42:14 +01:00
GokceGK
fc5f63bc86
remove deprecated jwks endpoint (#523) 2024-09-03 08:55:37 +02:00
GokceGK
9c89e02e4c
Revert "Revert "Rename argus to observability (#510)" (#515)" (#516)
This reverts commit ddcbc77685.
2024-08-26 11:28:35 +02:00
João Palet
ddcbc77685
Revert "Rename argus to observability (#510)" (#515)
This reverts commit cc3cf05307.
2024-08-23 12:29:17 +01:00
GokceGK
cc3cf05307
Rename argus to observability (#510)
* Create observability resources

* add deprecation message to argus

* add warning to readme

* remove warning from readme

* add info back to migration md

* Update MIGRATION.md

Co-authored-by: João Palet <joao.palet@outlook.com>

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-08-23 09:29:52 +02:00
GokceGK
b58bd0f640
Onboard iaas network area (#500)
* Onboard network-area resource (#469)

* onboard network-area resource

* fix update network ranges

* fix linter issues

* add organization id to test util

* add examples

* change project count to computed and adapt unit tests

* extend acceptance tests

* add docs

* fix linter issues

* add datasource to provider

* remove routes from the datasource schema

* remove obsolete api cals

* remove raw response from create network area

* change network ranges to list of objects

* update examples

* fix linter issues

* Update stackit/internal/services/iaas/networkarea/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* add network range id to schema

* map network_range_id

* fix unit tests

* adapt acceptance test

* fix acceptance tests

* Update stackit/internal/services/iaas/iaas_acc_test.go

Co-authored-by: João Palet <joao.palet@outlook.com>

---------

Co-authored-by: João Palet <joao.palet@outlook.com>

* Add network area to beta resources list (#481)

* add network area to beta resources list

* add accidentally removed line

* add accidentally removed line

* Fix multi range creation issue (#483)

* fix multi range creation issue

* fix network range update issue

* fix some unit tests

* fix order issue

* Update stackit/internal/services/iaas/networkarea/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* add unit test to cover the reconciled list

---------

Co-authored-by: João Palet <joao.palet@outlook.com>

* Onboard IaaS network area route (#491)

* onboard network area route

* generate docs

* add route to beta resources

* extend acceptance test

* fix import id handling

* Update next_hop description

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update prefix description

Co-authored-by: João Palet <joao.palet@outlook.com>

* change descriptions in datasource

* add IP and CIDR validators

* use requiresReplace in resource

* improve error logs

* change the create response handling

* update docs

* change route and route id detection

---------

Co-authored-by: João Palet <joao.palet@outlook.com>

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-08-09 12:38:35 +02:00
GokceGK
1e767d56dc
Fix service enablement custom endpoint (#489)
* add service enablement custom endpoint

* generate docs
2024-08-01 08:54:49 +02:00
João Palet
31ce9ab36d
Allow managing members in the project resource (#480)
* Extend resource and datasource

* Adapt acc test to work without members

* Extend acc test and adjust resource

* Generate docs

* Fix lint

* Fix unit test

* Uniformize description with datasource and extend unit test

* Improve role field description

* Update TF state before adding/removing members

* Remove unused function

* Move intermediate map top state to mapProjectFields

* Improve code
2024-07-29 09:57:06 +01:00
João Palet
34388eb361
Implement PostgreSQL Flex database resource and data source (#453)
* Implement db resource

* Implement db data source

* Extend acc test

* Improve logs in other resources

* Add examples

* Generate docs

* Fix linter
2024-07-09 14:05:58 +01:00
a_nackov
b5eb8bd379
ref 624723: server backup schedules (#416)
Signed-off-by: Adrian Nackov <adrian.nackov@mail.schwarz>
2024-06-26 11:51:06 +01:00
GokceGK
932fff6223
Onboard SQLServer Flex user resource (#403)
* Onboard SQLServer Flex user resource

* change roles

* fix unit tests

* make database field optional // adapt test and documentation

* add sleep time to instance creation

* fix service name in logs and descriptions

* extend username plan modifiers

* update docs

* remove database field

* remove database // make roles optional

* update docs
2024-06-24 14:09:55 +02:00
Diogo Ferrão
a07ff3f9ba
Support beta functionality (#412)
* support beta functionality

* add testing, improve logic and code quality

* improve testing and code quality

* Fix warning message
2024-06-20 17:54:23 +01:00
Vicente Pinto
335e1cabb6
Add sqlserverflex instance (#381)
* Draft implementation sqlserverflex instance

* Finish implementation

* Fix acc test

* Changes after review
2024-05-31 15:54:05 +01:00
João Palet
76b8e5692d
Implement new stackit_network resource and datasource (#366)
* Copy file from DNS zone resource

* Implement resource

* Implement datasource

* Add examples

* Implement acceptance test; Some fixes

* Add docs

* Fix linter

* Fixes after review
2024-05-20 17:17:39 +01:00
João Palet
ee905a3a5f
Deprecate stackit_loadbalancer_credential and add new stackit_loadbalancer_observability_credential (#357)
* Copy over old resource files

* Adjustments to the new observability credential resource.go

* Register new resource in the provider

* Add example

* Adapt acc test

* Update docs

* Add deprecation message

* Fix linter

* Add deprecation message to dscription
2024-05-13 15:30:51 +01:00
Henrique Santos
a88688ce93
Deprecate setting for JWKS custom endpoint (#272)
* Update core

* Deprecate JWKS custom endpoint

---------

Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2024-02-19 15:22:21 +00:00
Vicente Pinto
bde1fc55e4
Deprecate kubeconfig field and add stackit_ske_kubeconfig resource (#256)
* Implement kubeconfig resource

* Update acc test, skip get credentials

* Update acc test

* Add warning on Create

* Add option to refresh

* Fix lint

* Add comment, generate docs

* Update stackit/internal/services/ske/cluster/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Update stackit/internal/services/ske/kubeconfig/resource.go

Co-authored-by: João Palet <joao.palet@outlook.com>

* Changes after review

* Fix schema

* Gen docs

* Rename

* Credentials handling in datasource, update acc test

* Fix datasource

* Update descriptions

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-02-09 10:17:04 +00:00
João Palet
d8734270f5
Add new resource and datasource for Load Balancer credentials (#255)
* Implement and test credential resource and data source

* Fix descriptions in load balancer instance schema

* Extend acceptance tests

* Add acceptance test requirements to README

* Generate updated docs

* Fix linter issues

* Add examples and update docs

* Fix examples

* Improvements from review

* Remove credential data source
2024-02-08 12:49:05 +01:00
Vicente Pinto
ba19c9cc74
Update core and key flow documentation (#198)
* Update sdk and documentation of key flow

* Generate docs

* Update README

* Update README.md

Co-authored-by: João Palet <joao.palet@outlook.com>

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-01-09 14:06:24 +00:00
Vicente Pinto
62b6a1b3de
Support project UUID identifier in resource manager project (#161)
* Add projectId to resource manager project, fix value conversion error

* Support both uuid and container id, update acceptance tests

* Update docs

* Fix unit tests

* Adapt acc test names
2023-12-13 14:17:28 +00:00
João Palet
7188e13e92
Onboard Load Balancer (part 4: acc tests, examples and documentation) (#117)
* Implement acceptance test

* Add resource and data source to the provider

* Add examples and markdown description

* Generate docs

* Adjustments after review

* Move load balancer supporting infrastructure from resource config to example
2023-10-31 18:13:50 +01:00
Henrique Santos
245e10a8e8
Fix load balancer custom endpoint missing from schema (#115)
Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2023-10-30 16:39:55 +00:00
João Palet
8323db836d
Onboard Load Balancer (part 1: implement creation payload helpers) (#107)
* Add initial resource schema and model

* Configure client

* Implement toCreatePayload and test

* Unwire load balancer resource from the provider

* Add schema fields descriptions

* Review adjustments

* Lint adjustments
2023-10-27 11:40:29 +02:00
Henrique Santos
7a7f28a306
Implement Secrets Manager User, change ACL to Set (#94)
* Implement secrets manager user

* Add user tests

* Add secrets manager user

* Fix typo

* Change ACL to set

* Fix field name

* Change ACLs to set

* Fix typo

* Fix formatting

* Fix update not using existing password

* Add repeating ACLs to test case

* Fix signature

* Add user checks

* Reorder list

---------

Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2023-10-19 13:56:24 +01:00
João Palet
20f3496242
Onboard MongoDB Flex user (#88)
* Onboard user

* Add examples and generate docs

* Adjustments after review
2023-10-17 15:09:02 +02:00
João Palet
ade77eb544
Onboard MongoDB Flex instance (#86)
* Onboard instance resource

* Add options.type as required field

* Implement resource unit tests

* Implement data source

* Implement acc tests

* Adjust update acc test

* Fix typo

* Adjust update unit tests

* Adjustments after review

* Minor adjustment for uniformity

* Adjustments after review
2023-10-17 11:20:22 +02:00
Henrique Santos
6372434e56
Implement Secrets Manager instance (#85)
* Implement secrets manager instance resource

* Implement secrets manager data source

* Implement secrets manager acc tests

* Add secrets manager to provider

* Fix typos

* Fix test name

* Fix typo

* Fix instance name

* Lint fix

* Remove unnecessary modifier

---------

Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2023-10-16 11:37:34 +01:00
Henrique Santos
0fb7d0d793
Implement object storage credential (#79)
* Implement credential resource

* Implement test

* Fix test

* Implement data source

* Implement credential acc test

* Add objectstorage credential

* Add test for enableProject

* Add readCredentials test

* Removed unnecessary test case

* Generate docs

* Fix lint

* Fix field name

* Readd credentials group checks

* Fix comment

* Fix comment

* Remove auth

---------

Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2023-10-12 14:42:31 +01:00
Vicente Pinto
b8d2d94156
Onboard object storage credentials group (#74)
* Onboard credentials group resource

* Update object storage acc test

* Fix typo

* Generate docs, add examples, fix typos

* Refactor map fiels

* Add unit test for readCredentialsGroups

* Fix lint issues§
g

* Use projectId from Model

* Fix errors§
g

* Fix test

* Simplify signature of enableProject

* Change comment

* Add TestEnableProject

* Rename variable

* Add enableProject test

* Remove unused test setting

* Fix wrong error message

* Improve test case, rename mocked data

* Fix typo

* Removed unnecessary test case

* Removed unnecessary test case

---------

Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2023-10-12 09:34:38 +01:00
João Palet
fee47a6400
Rename DSA credentials to credential (#76)
* Rename in LogMe

* Rename in other DSA

* Rename examples

* Rename folder names

* Rename in error messages
2023-10-11 09:54:08 +02:00
Vicente Pinto
bc27bc20db
Key flow authentication (#67)
* Add key flow params to provider

* Update docs, add examples
2023-10-09 08:15:14 +01:00
Henrique Santos
d926e2d559
Object Storage: implement bucket (#45)
* Add object storage dependency

* Add object storage

* Add object storage

* Implement bucket resource

* Add map fields test

* Fix typos

* Implement data source

* Add Object Storage bucket

* Fix typo

* Implement Object Storage acc tests

* Go mod tidy

* Reword description

* Fix typos

* Fix typo

* Implement check destroy

* Add region in check destroy

* Add timeout in check destroy

---------

Co-authored-by: Henrique Santos <henrique.santos@freiheit.com>
2023-09-29 14:37:32 +01:00
João Palet
f8c9e4c0af
Move internal packages into internal folder (#33)
* Move internal packages into internal folder

* Fix testutil imports
2023-09-26 19:44:16 +02:00
Henrique Santos
4e8514df00
Logging and error handling improvements, bug fixes (#21)
- Uniformed logs and diagnostics:
  - Logging and adding to diagnostics is done by the highest level function (Create/Read/Update/Delete/Import) using `LogAndAddError`
  - Lower-level routines' signature changed to return error instead of writing to diagnostics
  - Standardize summary and details across services
  - Removed manual adding of relevant variables to details (they're in the context, TF adds them to logs)
- Changed validators to be closer to official implementation
- Fix logging wrong output after wait
- Fix Argus checking wrong diagnostics
- Fix Resource Manager not updating state after project update
- Fix unnecessary pointer in LogAndAddError
2023-09-21 14:52:52 +01:00
vicentepinto98
e4c8a6fbf4 Initial commit 2023-09-07 11:34:45 +01:00