Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating key sets for WireGuard tunnels. #264

Merged
merged 2 commits into from
Sep 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions docs/data-sources/wireguard_keys.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# routeros_wireguard_keys (Data Source)
Creating keys for a WireGuard tunnels.



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

### Optional

- `number` (Number) The number of key sets.

### Read-Only

- `id` (String) The ID of this resource.
- `keys` (List of Object) (see [below for nested schema](#nestedatt--keys))

<a id="nestedatt--keys"></a>
### Nested Schema for `keys`

Read-Only:

- `preshared` (String)
- `private` (String)
- `public` (String)


11 changes: 11 additions & 0 deletions examples/data-sources/wireguard_keys.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
data "routeros_wireguard_keys" "wgk" {
number = 3
}

output "wg_keys" {
value = data.routeros_wireguard_keys.wgk.keys[*]
}

output "wg_key" {
value = data.routeros_wireguard_keys.wgk.keys[2].private
}
19 changes: 1 addition & 18 deletions routeros/datasource_firewall_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

const testDatasourceFirewall = "data.routeros_firewall.fw"
Expand All @@ -23,7 +21,7 @@ func TestAccDatasourceFirewallTest_basic(t *testing.T) {
{
Config: testAccDatasourceFirewallConfig(),
Check: resource.ComposeTestCheckFunc(
testAccCheckDatasourceFirewallExists(testDatasourceFirewall),
testResourcePrimaryInstanceId(testDatasourceFirewall),
),
},
},
Expand All @@ -33,21 +31,6 @@ func TestAccDatasourceFirewallTest_basic(t *testing.T) {
}
}

func testAccCheckDatasourceFirewallExists(name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[name]
if !ok {
return fmt.Errorf("not found: %s", name)
}

if rs.Primary.ID == "" {
return fmt.Errorf("no id is set")
}

return nil
}
}

func testAccDatasourceFirewallConfig() string {
return `

Expand Down
19 changes: 1 addition & 18 deletions routeros/datasource_interfaces_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

const testDatasourceInterfaces = "data.routeros_interfaces.interfaces"
Expand All @@ -23,7 +21,7 @@ func TestAccDatasourceInterfacesTest_basic(t *testing.T) {
{
Config: testAccDatasourceInterfacesConfig(),
Check: resource.ComposeTestCheckFunc(
testAccCheckDatasourceInterfacesExists(testDatasourceInterfaces),
testResourcePrimaryInstanceId(testDatasourceInterfaces),
),
},
},
Expand All @@ -33,21 +31,6 @@ func TestAccDatasourceInterfacesTest_basic(t *testing.T) {
}
}

func testAccCheckDatasourceInterfacesExists(name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[name]
if !ok {
return fmt.Errorf("not found: %s", name)
}

if rs.Primary.ID == "" {
return fmt.Errorf("no id is set")
}

return nil
}
}

func testAccDatasourceInterfacesConfig() string {
return `

Expand Down
19 changes: 1 addition & 18 deletions routeros/datasource_ip_address_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

const testDatasourceIpAddressesAddress = "data.routeros_ip_addresses.addresses"
Expand All @@ -23,7 +21,7 @@ func TestAccDatasourceIpAddressesTest_basic(t *testing.T) {
{
Config: testAccDatasourceIpAddressesConfig(),
Check: resource.ComposeTestCheckFunc(
testAccCheckDatasourceIpAddressesExists(testDatasourceIpAddressesAddress),
testResourcePrimaryInstanceId(testDatasourceIpAddressesAddress),
),
},
},
Expand All @@ -33,21 +31,6 @@ func TestAccDatasourceIpAddressesTest_basic(t *testing.T) {
}
}

func testAccCheckDatasourceIpAddressesExists(name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[name]
if !ok {
return fmt.Errorf("not found: %s", name)
}

if rs.Primary.ID == "" {
return fmt.Errorf("no id is set")
}

return nil
}
}

func testAccDatasourceIpAddressesConfig() string {
return `

Expand Down
19 changes: 1 addition & 18 deletions routeros/datasource_ip_routes_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

const testDatasourceIpRoutes = "data.routeros_ip_routes.routes"
Expand All @@ -23,7 +21,7 @@ func TestAccDatasourceIpRoutesTest_basic(t *testing.T) {
{
Config: testAccDatasourceIpRoutesConfig(),
Check: resource.ComposeTestCheckFunc(
testAccCheckDatasourceIpRoutesExists(testDatasourceIpRoutes),
testResourcePrimaryInstanceId(testDatasourceIpRoutes),
),
},
},
Expand All @@ -33,21 +31,6 @@ func TestAccDatasourceIpRoutesTest_basic(t *testing.T) {
}
}

func testAccCheckDatasourceIpRoutesExists(name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[name]
if !ok {
return fmt.Errorf("not found: %s", name)
}

if rs.Primary.ID == "" {
return fmt.Errorf("no id is set")
}

return nil
}
}

func testAccDatasourceIpRoutesConfig() string {
return `

Expand Down
19 changes: 1 addition & 18 deletions routeros/datasource_ipv6_addresses_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package routeros

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

const testDatasourceIpv6AddressesAddress = "data.routeros_ipv6_addresses.addresses"
Expand All @@ -23,7 +21,7 @@ func TestAccDatasourceIpv6AddressesTest_basic(t *testing.T) {
{
Config: testAccDatasourceIpv6AddressesConfig(),
Check: resource.ComposeTestCheckFunc(
testAccCheckDatasourceIpv6AddressesExists(testDatasourceIpv6AddressesAddress),
testResourcePrimaryInstanceId(testDatasourceIpv6AddressesAddress),
),
},
},
Expand All @@ -32,21 +30,6 @@ func TestAccDatasourceIpv6AddressesTest_basic(t *testing.T) {
}
}

func testAccCheckDatasourceIpv6AddressesExists(name string) resource.TestCheckFunc {
return func(s *terraform.State) error {
rs, ok := s.RootModule().Resources[name]
if !ok {
return fmt.Errorf("not found: %s", name)
}

if rs.Primary.ID == "" {
return fmt.Errorf("no id is set")
}

return nil
}
}

func testAccDatasourceIpv6AddressesConfig() string {
return `

Expand Down
Loading
Loading