From 3fa94fd28626799e61efadab64528e5ca9f03e33 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 5 May 2023 18:27:25 +0000 Subject: [PATCH] chore(release): 1.6.0 --- CHANGELOG.md | 7 ++++ docs/resources/ovpn_server.md | 62 +++++++++++++++++++++++++++++++++-- docs/resources/system_user.md | 42 ++++++++++++++++++++++++ package.json | 2 +- 4 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 docs/resources/system_user.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 81ecddf4..b501eba2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.6.0](https://github.com/terraform-routeros/terraform-provider-routeros/compare/v1.5.0...v1.6.0) (2023-05-05) + + +### Features + +* Support creating users [#200](https://github.com/terraform-routeros/terraform-provider-routeros/issues/200) ([#201](https://github.com/terraform-routeros/terraform-provider-routeros/issues/201)) ([78191e2](https://github.com/terraform-routeros/terraform-provider-routeros/commit/78191e2038607af5081d06dfaabc208010f6d667)) + ## [1.5.0](https://github.com/terraform-routeros/terraform-provider-routeros/compare/v1.4.0...v1.5.0) (2023-05-04) diff --git a/docs/resources/ovpn_server.md b/docs/resources/ovpn_server.md index c2de3458..052e71ea 100644 --- a/docs/resources/ovpn_server.md +++ b/docs/resources/ovpn_server.md @@ -1,7 +1,61 @@ # routeros_ovpn_server (Resource) -** A minimum version of RouterOS 7.8 is required to use this resource. ** +##### *This resource requires a minimum version of RouterOS 7.8!* +## Example Usage +```terraform +resource "routeros_ip_pool" "ovpn-pool" { + name = "ovpn-pool" + ranges = ["192.168.77.2-192.168.77.254"] +} +resource "routeros_system_certificate" "ovpn_ca" { + name = "OpenVPN-Root-CA" + common_name = "OpenVPN Root CA" + key_size = "prime256v1" + key_usage = ["key-cert-sign", "crl-sign"] + trusted = true + sign { + } +} + +resource "routeros_system_certificate" "ovpn_server_crt" { + name = "OpenVPN-Server-Certificate" + common_name = "Mikrotik OpenVPN" + key_size = "prime256v1" + key_usage = ["digital-signature", "key-encipherment", "tls-server"] + sign { + ca = routeros_system_certificate.ovpn_ca.name + } +} + +resource "routeros_ppp_profile" "test" { + name = "ovpn" + local_address = "192.168.77.1" + remote_address = "ovpn-pool" + use_upnp = "no" +} + +resource "routeros_ppp_secret" "test" { + name = "user-test" + password = "123" + profile = routeros_ppp_profile.test.name +} + +resource "routeros_ovpn_server" "server" { + enabled = true + certificate = routeros_system_certificate.ovpn_server_crt.name + auth = "sha256,sha512" + tls_version = "only-1.2" + default_profile = routeros_ppp_profile.test.name +} + +# The resource should be created only after the OpenVPN server is enabled! +resource "routeros_interface_ovpn_server" "user1" { + name = "ovpn-in1" + user = "user1" + depends_on = [routeros_ovpn_server.server] +} +``` ## Schema @@ -35,4 +89,8 @@ - `id` (String) The ID of this resource. - +## Import +Import is supported using the following syntax: +```shell +terraform import routeros_openvpn_server.server . +``` diff --git a/docs/resources/system_user.md b/docs/resources/system_user.md new file mode 100644 index 00000000..ff708235 --- /dev/null +++ b/docs/resources/system_user.md @@ -0,0 +1,42 @@ +# routeros_system_user (Resource) + + +## Example Usage +```terraform +resource "routeros_system_user" "test" { + name = "test-user-1" + address = "0.0.0.0/0" + group = "read" + password = "secret" + comment = "Test User" +} +``` + + +## Schema + +### Required + +- `group` (String) Name of the group the user belongs to. +- `name` (String) User name. Although it must start with an alphanumeric character, it may contain '*', '_', '.' and '@' symbols. + +### Optional + +- `address` (String) Host or network address from which the user is allowed to log in. +- `comment` (String) +- `disabled` (Boolean) +- `password` (String, Sensitive) User password. If not specified, it is left blank (hit [Enter] when logging in). It conforms to standard Unix characteristics of passwords and may contain letters, digits, '*' and '_' symbols. + +### Read-Only + +- `expired` (Boolean) Password expired. +- `id` (String) The ID of this resource. +- `last_logged_in` (String) Read-only field. Last time and date when a user logged in. + +## Import +Import is supported using the following syntax: +```shell +#The ID can be found via API or the terminal +#The command for the terminal is -> :put [/user get [print show-ids]] +terraform import routeros_system_user.test *1 +``` diff --git a/package.json b/package.json index 6c59cf07..3cac7a7d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "terraform-provider-routeros", - "version": "1.5.0", + "version": "1.6.0", "repository": { "type": "git", "url": "https://github.com/terraform-routeros/terraform-provider-routeros"