Skip to content
Open
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
1 change: 1 addition & 0 deletions docs/stackit_beta.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,5 @@ stackit beta [flags]
* [stackit beta intake](./stackit_beta_intake.md) - Provides functionality for intake
* [stackit beta sfs](./stackit_beta_sfs.md) - Provides functionality for SFS (STACKIT File Storage)
* [stackit beta sqlserverflex](./stackit_beta_sqlserverflex.md) - Provides functionality for SQLServer Flex
* [stackit beta vpn](./stackit_beta_vpn.md) - Provides functionality for VPN

34 changes: 34 additions & 0 deletions docs/stackit_beta_vpn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
## stackit beta vpn

Provides functionality for VPN

### Synopsis

Provides functionality for VPN.

```
stackit beta vpn [flags]
```

### Options

```
-h, --help Help for "stackit beta vpn"
```

### Options inherited from parent commands

```
-y, --assume-yes If set, skips all confirmation prompts
--async If set, runs the command asynchronously
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
-p, --project-id string Project ID
--region string Target region for region-specific requests
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
```

### SEE ALSO

* [stackit beta](./stackit_beta.md) - Contains beta STACKIT CLI commands
* [stackit beta vpn connection](./stackit_beta_vpn_connection.md) - Provides functionality for VPN connections

37 changes: 37 additions & 0 deletions docs/stackit_beta_vpn_connection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
## stackit beta vpn connection

Provides functionality for VPN connections

### Synopsis

Provides functionality for VPN connections.

```
stackit beta vpn connection [flags]
```

### Options

```
-h, --help Help for "stackit beta vpn connection"
```

### Options inherited from parent commands

```
-y, --assume-yes If set, skips all confirmation prompts
--async If set, runs the command asynchronously
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
-p, --project-id string Project ID
--region string Target region for region-specific requests
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
```

### SEE ALSO

* [stackit beta vpn](./stackit_beta_vpn.md) - Provides functionality for VPN
* [stackit beta vpn connection create](./stackit_beta_vpn_connection_create.md) - Creates a VPN connection
* [stackit beta vpn connection delete](./stackit_beta_vpn_connection_delete.md) - Deletes a VPN connection
* [stackit beta vpn connection describe](./stackit_beta_vpn_connection_describe.md) - Shows details of a VPN connection
* [stackit beta vpn connection list](./stackit_beta_vpn_connection_list.md) - Lists all VPN connections of a gateway

94 changes: 94 additions & 0 deletions docs/stackit_beta_vpn_connection_create.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
## stackit beta vpn connection create

Creates a VPN connection

### Synopsis

Creates a VPN connection.

```
stackit beta vpn connection create [flags]
```

### Examples

```
Create a VPN connection
$ stackit beta vpn connection create --gateway-id xxx --display-name my-connection --tunnel1-remote-address 1.2.3.4 --tunnel2-remote-address 5.6.7.8
```

### Options

```
--display-name string Required: A user friendly name for the connection.
--enabled Enable the connection (default true)
--gateway-id string Required: Gateway ID
-h, --help Help for "stackit beta vpn connection create"
--labels stringToString Map of custom labels. Key and values must be a string with max 63 chars, start/end with alphanumeric. The key of a label follows the same rules as the LabelValue except that it cannot be empty. (example: foo=bar) (default [])
--local-subnets strings Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based.
--remote-subnets strings Defaults to 0.0.0.0/0 for Route-based VPN configurations. Mandatory for Policy-based.
--static-routes strings Use this for route-based VPN.
--tunnel1-bgp-remote-asn int Required: Tunnel 1 BGP Remote ASN.
ASN for private use (reserved by IANA), both 16Bit and 32Bit ranges are valid (RFC 6996).
--tunnel1-peering-local-address string Tunnel 1 Peering Local Address.
The peering object defines the point-to-point IP configuration for the Tunnel Interface. These addresses serve as next-hop identifiers and are used for BGP peering sessions and can be used in Static Route-Based connectivity.
--tunnel1-peering-remote-address string Tunnel 1 Peering Remote Address
--tunnel1-phase1-dh-groups strings Tunnel 1 Phase 1 DH Groups.
The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. (possible values: [modp1024, modp2048, ecp256, ecp384, modp2048s256]) (default [])
--tunnel1-phase1-encryption-algorithms strings Required: Tunnel 1 Phase 1 Encryption Algorithms (possible values: [aes256, aes128gcm16, aes256gcm16]) (default [])
--tunnel1-phase1-integrity-algorithms strings Required: Tunnel 1 Phase 1 Integrity Algorithms (possible values: [sha1, sha2_256, sha2_384]) (default [])
--tunnel1-phase1-rekey-time int Tunnel 1 Phase 1 Rekey Time.
Time to schedule a IKE re-keying (in seconds).
--tunnel1-phase2-dh-groups strings Tunnel 1 Phase 2 DH Groups (possible values: [modp1024, modp2048, ecp256, ecp384, modp2048s256]) (default [])
--tunnel1-phase2-dpd-action string Tunnel 1 Phase 2 DPD Action.
Action to perform for this CHILD_SA on DPD timeout. "clear": Closes the CHILD_SA and does not take further action. "restart": immediately tries to re-negotiate the CILD_SA under a fresh IKE_SA. (possible values: [clear, restart])
--tunnel1-phase2-encryption-algorithms strings Required: Tunnel 1 Phase 2 Encryption Algorithms (possible values: [aes256, aes128gcm16, aes256gcm16]) (default [])
--tunnel1-phase2-integrity-algorithms strings Required: Tunnel 1 Phase 2 Integrity Algorithms (possible values: [sha1, sha2_256, sha2_384]) (default [])
--tunnel1-phase2-rekey-time int Tunnel 1 Phase 2 Rekey Time.
Time to schedule a Child SA re-keying (in seconds).
--tunnel1-phase2-start-action string Tunnel 1 Phase 2 Start Action.
Action to perform after loading the connection configuration. "none": The connection will be loaded but needs to be manually initiated. "start": initiates the connection actively. (possible values: [none, start])
--tunnel1-pre-shared-key string Required: Tunnel 1 Pre Shared Key.
A Pre-Shared Key for authentication. Required in create-requests, optional in update-requests and omitted in every response.
--tunnel1-remote-address string Tunnel 1 Remote Address
--tunnel2-bgp-remote-asn int Tunnel 2 BGP Remote ASN
--tunnel2-peering-local-address string Tunnel 2 Peering Local Address.
The peering object defines the point-to-point IP configuration for the Tunnel Interface. These addresses serve as next-hop identifiers and are used for BGP peering sessions and can be used in Static Route-Based connectivity.
--tunnel2-peering-remote-address string Tunnel 2 Peering Remote Address
--tunnel2-phase1-dh-groups strings Tunnel 2 Phase 1 DH Groups
The Diffie-Hellman Group. Required, except if AEAD algorithms are selected. (possible values: [modp1024, modp2048, ecp256, ecp384, modp2048s256]) (default [])
--tunnel2-phase1-encryption-algorithms strings Required: Tunnel 2 Phase 1 Encryption Algorithms (possible values: [aes256, aes128gcm16, aes256gcm16]) (default [])
--tunnel2-phase1-integrity-algorithms strings Required: Tunnel 2 Phase 1 Integrity Algorithms (possible values: [sha1, sha2_256, sha2_384]) (default [])
--tunnel2-phase1-rekey-time int Tunnel 2 Phase 1 Rekey Time.
Time to schedule a IKE re-keying (in seconds).
--tunnel2-phase2-dh-groups strings Tunnel 2 Phase 2 DH Groups (possible values: [modp1024, modp2048, ecp256, ecp384, modp2048s256]) (default [])
--tunnel2-phase2-dpd-action string Tunnel 2 Phase 2 DPD Action.
Action to perform for this CHILD_SA on DPD timeout. "clear": Closes the CHILD_SA and does not take further action. "restart": immediately tries to re-negotiate the CILD_SA under a fresh IKE_SA. (possible values: [clear, restart])
--tunnel2-phase2-encryption-algorithms strings Required: Tunnel 2 Phase 2 Encryption Algorithms (possible values: [aes256, aes128gcm16, aes256gcm16]) (default [])
--tunnel2-phase2-integrity-algorithms strings Required: Tunnel 2 Phase 2 Integrity Algorithms (possible values: [sha1, sha2_256, sha2_384]) (default [])
--tunnel2-phase2-rekey-time int Tunnel 2 Phase 2 Rekey Time.
Time to schedule a Child SA re-keying (in seconds).
--tunnel2-phase2-start-action string Tunnel 2 Phase 2 Start Action.
Default: "start"
Enum: "none" "start"
Action to perform after loading the connection configuration. "none": The connection will be loaded but needs to be manually initiated. "start": initiates the connection actively. (possible values: [none, start])
--tunnel2-pre-shared-key string Required: Tunnel 2 Pre Shared Key.
A Pre-Shared Key for authentication. Required in create-requests, optional in update-requests and omitted in every response.
--tunnel2-remote-address string Tunnel 2 Remote Address
```

### Options inherited from parent commands

```
-y, --assume-yes If set, skips all confirmation prompts
--async If set, runs the command asynchronously
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
-p, --project-id string Project ID
--region string Target region for region-specific requests
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
```

### SEE ALSO

* [stackit beta vpn connection](./stackit_beta_vpn_connection.md) - Provides functionality for VPN connections

41 changes: 41 additions & 0 deletions docs/stackit_beta_vpn_connection_delete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## stackit beta vpn connection delete

Deletes a VPN connection

### Synopsis

Deletes a VPN connection.

```
stackit beta vpn connection delete CONNECTION_ID [flags]
```

### Examples

```
Delete a VPN connection
$ stackit beta vpn connection delete xxx --gateway-id yyy
```

### Options

```
--gateway-id string Gateway ID
-h, --help Help for "stackit beta vpn connection delete"
```

### Options inherited from parent commands

```
-y, --assume-yes If set, skips all confirmation prompts
--async If set, runs the command asynchronously
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
-p, --project-id string Project ID
--region string Target region for region-specific requests
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
```

### SEE ALSO

* [stackit beta vpn connection](./stackit_beta_vpn_connection.md) - Provides functionality for VPN connections

41 changes: 41 additions & 0 deletions docs/stackit_beta_vpn_connection_describe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## stackit beta vpn connection describe

Shows details of a VPN connection

### Synopsis

Shows details of a VPN connection.

```
stackit beta vpn connection describe CONNECTION_ID [flags]
```

### Examples

```
Show details of a VPN connection
$ stackit beta vpn connection describe xxx --gateway-id yyy
```

### Options

```
--gateway-id string Gateway ID
-h, --help Help for "stackit beta vpn connection describe"
```

### Options inherited from parent commands

```
-y, --assume-yes If set, skips all confirmation prompts
--async If set, runs the command asynchronously
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
-p, --project-id string Project ID
--region string Target region for region-specific requests
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
```

### SEE ALSO

* [stackit beta vpn connection](./stackit_beta_vpn_connection.md) - Provides functionality for VPN connections

41 changes: 41 additions & 0 deletions docs/stackit_beta_vpn_connection_list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
## stackit beta vpn connection list

Lists all VPN connections of a gateway

### Synopsis

Lists all VPN connections of a gateway.

```
stackit beta vpn connection list [flags]
```

### Examples

```
List all VPN connections of a gateway
$ stackit beta vpn connection list --gateway-id xxx
```

### Options

```
--gateway-id string Gateway ID
-h, --help Help for "stackit beta vpn connection list"
```

### Options inherited from parent commands

```
-y, --assume-yes If set, skips all confirmation prompts
--async If set, runs the command asynchronously
-o, --output-format string Output format, one of ["json" "pretty" "none" "yaml"]
-p, --project-id string Project ID
--region string Target region for region-specific requests
--verbosity string Verbosity of the CLI, one of ["debug" "info" "warning" "error"] (default "info")
```

### SEE ALSO

* [stackit beta vpn connection](./stackit_beta_vpn_connection.md) - Provides functionality for VPN connections

1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ require (
github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.12.0
github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.7
github.com/stackitcloud/stackit-sdk-go/services/ske v1.11.0
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0
github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0
github.com/zalando/go-keyring v0.2.6
golang.org/x/mod v0.34.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -654,8 +654,8 @@ github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0 h1:JWAFnskRbNKT8x62pZ
github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
github.com/stackitcloud/stackit-sdk-go/services/ske v1.11.0 h1:QoKyQPe8FqDqJLNgE5uRlZ/y1c1GUxjV1DDLu5QEBD8=
github.com/stackitcloud/stackit-sdk-go/services/ske v1.11.0/go.mod h1:KhVYCR58wETqdI7Quwhe3OR3BhB2T/b7DzaMsfDnr8g=
github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3 h1:AQrcr+qeIuZob+3TT2q1L4WOPtpsu5SEpkTnOUHDqfE=
github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3/go.mod h1:8BBGC69WFXWWmKgzSjgE4HvsI7pEgO0RN2cASwuPJ18=
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 h1:LMgbzhPunuelsIsfyEj/5O/aYfNcg/eGHsnZ7AZOhYg=
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0/go.mod h1:toIjQk1dhxdUFVyCWJJja0w/0nFpDid8MWX0ukQfvfo=
github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0 h1:PwjQeupEnXxhu+uWCUzO/hUfL4yqNblOcZbP2jvaQtU=
github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
github.com/stbenjam/no-sprintf-host-port v0.3.1 h1:AyX7+dxI4IdLBPtDbsGAyqiTSLpCP9hWRrXQDU4Cm/g=
Expand Down
2 changes: 2 additions & 0 deletions internal/cmd/beta/beta.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/intake"
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/sfs"
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/sqlserverflex"
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/vpn"
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
"github.com/stackitcloud/stackit-cli/internal/pkg/examples"
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
Expand Down Expand Up @@ -47,4 +48,5 @@ func addSubcommands(cmd *cobra.Command, params *types.CmdParams) {
cmd.AddCommand(edge.NewCmd(params))
cmd.AddCommand(intake.NewCmd(params))
cmd.AddCommand(cdn.NewCmd(params))
cmd.AddCommand(vpn.NewCmd(params))
}
32 changes: 32 additions & 0 deletions internal/cmd/beta/vpn/connection/connection.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package connection

import (
"github.com/spf13/cobra"

"github.com/stackitcloud/stackit-cli/internal/cmd/beta/vpn/connection/create"
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/vpn/connection/delete"
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/vpn/connection/describe"
"github.com/stackitcloud/stackit-cli/internal/cmd/beta/vpn/connection/list"
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
"github.com/stackitcloud/stackit-cli/internal/pkg/types"
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
)

func NewCmd(p *types.CmdParams) *cobra.Command {
cmd := &cobra.Command{
Use: "connection",
Short: "Provides functionality for VPN connections",
Long: "Provides functionality for VPN connections.",
Args: args.NoArgs,
Run: utils.CmdHelp,
}
addSubcommands(cmd, p)
return cmd
}

func addSubcommands(cmd *cobra.Command, p *types.CmdParams) {
cmd.AddCommand(create.NewCmd(p))
cmd.AddCommand(delete.NewCmd(p))
cmd.AddCommand(describe.NewCmd(p))
cmd.AddCommand(list.NewCmd(p))
}
Loading
Loading