Commit graph

256 commits

Author SHA1 Message Date
Alexander Dahmen
f5f99d1709
fix(objectstorage): Removed unused attributes from datasource (#744)
Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
2025-03-28 09:46:20 +01:00
Rüdiger Schmitz
a870b71d0a
Addd regional support for serverbackup resource and data-source (#745)
* feat(serverbackup): add regional support

* fix: corrections for review findings
2025-03-28 09:24:52 +01:00
Ruben Hönle
727d67af01
chore(iaas): move beta resources and datasources to GA (#717)
relates to STACKITTPR-103
2025-03-26 09:23:25 +01:00
Marcel Jacek
176fb8408f
feat: region adjustment for load balancer (#721)
* remove deprecated "credential" resource of loadbalancer

* region adjustment load balancer
- adapted load balancer example
2025-03-25 11:36:26 +01:00
Alexander Dahmen
3dc4fedba1
Ft/region adjustment service enablement (#718)
* feat(serviceenablement): Region adjustment

Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>

* chore(ske): Remove deprecated ske project

This resource was removed on October 10th 2024.

Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>

---------

Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
2025-03-24 14:37:43 +01:00
Mauritz Uphoff
646c15d7f8
feat/implement-sa-keys (#720)
* feat: implement service account key resource
2025-03-24 12:24:42 +01:00
Kai Kummerer
95ec24556a
fix(docs): wrong description for ske cluster max_unavailable field (#716)
* fix(docs): ske cluster `max_unavailable` description

* generate-docs
2025-03-21 16:13:38 +01:00
Ruben Hönle
698bbca3cc
chore(docs): update docs (#725)
* chore(deps): bump terraform-plugin-docs from v0.16.0 to v0.21.0

* chore(docs): fix docs after generation using a patchfile

* chore(docs): re-generate docs
2025-03-21 15:31:33 +01:00
Alexander Dahmen
6cc1dffc22
feat(postgresql): Region adjustment (#713)
Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
2025-03-21 13:52:10 +01:00
Mauritz Uphoff
d443b5416d
Feat: implement sa tokens (#712)
* feat: implement sa access token resource
2025-03-21 09:29:56 +01:00
Mauritz Uphoff
23e9a25b4f
feat: add stackit service account creation to tf provider (#708)
* feat: implement service account resource/datasource
2025-03-19 16:51:56 +01:00
Mauritz Uphoff
637213d718
docs: add hint on how to create a project within sna (#722) 2025-03-18 15:53:51 +01:00
Benjamin Ritter
dadea7a904
IAM Role Assignment (#665)
* Initial PoC for a Project Role Assignment resource

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* fix: move project_role_assignment into new "authorization" resource group

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* feat: add authorization_project_role_assignment acceptance test

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* docs: add authorization_project_role_assignment docs and examples

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* fix: linting

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* feat: add generic role_assignment resources

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* feat: add infrastructure for experimental features

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* feat: Make IAM resources part of the iam experiment

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* fix: Log an error if an experiment does not exist

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

* fix: Do not cache the experiment check

Caching the experiment check causes problems when
running the provider in debug mode, since
configure in the provider can be called multiple
times there with different configurations, with
different experiments enabled.

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>

---------

Signed-off-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>
Co-authored-by: Benjamin Ritter <benjamin.ritter@stackit.cloud>
2025-03-14 10:31:05 +01:00
Rüdiger Schmitz
c257ac49e2
Fix/stackittpr 102 objectstorage handling region in individual resources (#711)
* Revert "fix: make resource/data-source specific region attribute read-only (#682)"

This reverts commit 3e8dcc542b.

* fix: Support individual regions

* fix: review findings
2025-03-12 09:49:47 +00:00
Marcel Jacek
81f876adea
feat: region adjustments SQLServerFlex (#707)
* feat: region adjustment sqlserverflex

* adapt acceptance tests

* add region to internal id of sqlserverflex resources to support import of different regions
2025-03-11 08:06:46 +01:00
Marcel Jacek
dd4013c1bc
feat: Onboard IaaS Public IP range datasource (#633)
* Add "stackit_public_ip_range" datasource
  * Add docs and example
2025-03-04 13:57:28 +01:00
Mauritz Uphoff
fda9622cbc
feat: add new sql-server roles (#699)
* feat: add new sql-server roles

* feat: remove role validation
2025-03-03 12:18:44 +01:00
Mauritz Uphoff
468dc24b7a
docs: remove list of beta resources (#678) 2025-02-19 10:28:10 +01:00
Marcel Jacek
ada9e096fe
fix: docs/argus_scrapeconfig (#680) 2025-02-12 15:52:24 +01:00
Rüdiger Schmitz
2923621ab0
Feat/stackittpr 20 region adjustments | tfp (migrate first service to new regions concept) (#664)
* feat: completed bucket and credential group

* feat: fix linter warnings

* feat: updated documentation

* feat: updated to current version of the regional api

* feat: implement review findings

* feat: implement further review findings

* fix: make sure region is stored for the data-source in the state
2025-02-10 14:28:33 +01:00
Mauritz Uphoff
c4e25f560b
Feat: add egress_address_ranges attribute to ske resource (#672)
* feat: add egress_address_ranges attribute to ske resource

* docs: generate new docs for ske
2025-02-10 10:14:11 +01:00
Marcel Jacek
531950f4aa
Extend mariadb_instance docs for monitoring_instance_id (#662) 2025-02-06 09:07:13 +01:00
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
Alexander Dahmen
b6f3c70f15
Allow deleting root volume when deleting server (#651)
Introduce delete_on_termination field.

Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
2025-01-29 09:23:11 +01:00
Christopher Paul
11875602b8
Fix/logme params and update examples in dsa service docs (#644)
* APL-204: remove syslog use udp field from logme due to wrong implementation

* APL-208: update examples and regenerate logs

* fix linting error

* remove syslog-use-udp field from test

* re-generate docs

* remove doc changes that were generated by make command

* remove doc changes that were generated by make command

* remove doc changes that were generated by make command

* remove doc changes that were generated by make command

* remove doc changes that were generated by make command

* remove doc changes that were generated by make command

* remove doc changes that were generated by make command
2025-01-28 16:03:35 +01:00
Marcel Jacek
19fdcd5d10
fix: description of "server_network_interface_attachment" (#648) 2025-01-27 13:19:20 +01:00
Marcel Jacek
4d6f860b26
feature: Add "network_interfaces" field to server resource (#628)
* Add network_interfaces field to server resource

* Update docs

* Update description of stackit_server_network_interface_attach

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

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2025-01-22 11:22:39 +01:00
Alexander Dahmen
3adff492b6
Update kubeconfig when invalid (#627)
- kubeconfig expires
- credentials rotation
- cluster recreation

Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
2025-01-20 14:18:49 +01:00
João Palet
1a66887c01
feat: Allow move state on new Observability resources (#593)
* feat: Allow move state on new Observability resources

* Extend description to explain how to move a argus resource to observability

* Update argus docs with examples how to move a resource to observability

---------

Co-authored-by: Marcel Jacek <Marcel.Jacek@stackit.cloud>
2025-01-20 09:54:30 +01:00
Rüdiger Schmitz
f04ced9981
feat: Allow managing server state in stackit_server resource (#623)
* feat: implement state switching in resource

* chore: fix linter issues

* feat: fix testcases

* chore: update documentation

* feat: replace backoff implementation with canonical wait functionality

* feat: refactor update method to correctly handle state changes of shelved servers

* chore: reverted documentation changes

* feat: updated server documentation

* feat: configured desired_state as "write-only" attribute

* feat: update to command help
2025-01-15 11:28:50 +01:00
Vicente Pinto
80966da59e
Fix guide formatting (#624)
* Fix guide formatting

* Fix template
2025-01-10 13:08:37 +00: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
Vicente Pinto
80c9e58052
Update nic field description (#619) 2024-12-23 12:35:02 +00:00
Rüdiger Schmitz
a297043c72
Feat/674070 tfp | cleanup logic for old ske credentials rotation flow (#611)
* feat: removed deprecated getCredentials call

* feat: update generated documentation

* feature: removed further kube_config references

* feature: updated documentation

* chore: integrated review findings
2024-12-19 08:30:34 +01: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
Alexander Dahmen
58e99b4d67
Update loadbalancer example to use stackit sources instead of openstack (#601)
Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
2024-12-02 13:52:12 +01:00
GokceGK
1051995ad6
Change the public ip resource conflict warning message order (#600)
* change the warning message order

* change the warning message

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

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

* adapt warning in schema and docs

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-11-25 11:41:12 +01: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
GokceGK
b1fb9ab9b6
Extend network resource fields (#576)
* deprecate nameservers filed

* onboard routed field

* onboard new ipv4 fields

* onboard new ipv6 fields

* update examples

* update examples

* update examples

* remove nameserver(deprecated) mapping

* make fields computed

* Revert "remove nameserver(deprecated) mapping"

This reverts commit e4bf1dc184289f3bddc10c5d3b2320966b529649.

* remove routed from update payload (not yet supported)

* Update docs/resources/network.md

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

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

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

* fix the field descriptions

* remove ipv6 from examples

* use nameservers as rollback value to support deprecated field

* extend acceptance tests

* add condition that nameserver and ipv4_nameserver cannot be provided at the same time

* extend acc test

* improve conditions in create payload

* adapt modify plan to support update and delete operations

* fix acceptance test

* deprecate prefixes and create ipv4_prefixes field

* fix unit tests

* fix update issues

* fix linter issues

* extend modifyPlan condition

* add validateConfig function

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

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

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

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

* update descriptions

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

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

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

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

* implement no_gateway field and condition check

* implement no_ipv6_gateway field and condition check

* update examples

* update examples and descriptions

* fix linter issues

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

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

* adapt descriptions

* apply acceptance comments

* adapt conditions in create and update

* add plan modifiers

* add requiresReplace

---------

Co-authored-by: João Palet <joao.palet@outlook.com>
2024-11-19 15:25:56 +01:00
Mauritz Uphoff
3ac1d50253
Feature: allow system components on nodepools (#591)
* feat: allow system components on nodepools

* docs: generated docs for ske

* lint: sort imports

* revert changes
2024-11-13 10:44:55 +00:00
Mauritz Uphoff
2bf6a8dce7
Docs: add docs to use aws s3 provider for stackit s3 (#583)
* docs: add docs to use aws s3 provider for stackit s3

* review changes

* fix indent
2024-11-13 08:26:50 +00:00
João Palet
ea2da2cc25
fix: Fix formatting of key pair example (#592) 2024-11-12 17:45:43 +01: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
Mauritz Uphoff
f1a6179ccf
Typo in the docs for iaas beta ressources (#573)
* docs: add guide to retrieve outgoing ske ip-address

* docs: fix volume attach example

* Revert "docs: add guide to retrieve outgoing ske ip-address (#476)"

This reverts commit 3c530797b4.

---------

Co-authored-by: Mauritz Uphoff <mauritz.uphoff@mail.schwarz>
2024-10-24 09:31:06 +01:00
GokceGK
005d0c15bc
add link to the available service plans page (#575) 2024-10-23 14:04:08 +02: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
Christian Hamm
04ce56b3d6
Increase the target count per pool from 250 to 1000 to be ready for large SKE clusters (#550)
Co-authored-by: Christian Hamm <Christian.Hamm@mail.schwarz>
2024-10-10 11:15:01 +01:00