Skip to content

Commit e96c0dd

Browse files
authored
feat(function): add support for VPC integration (scaleway#2591)
1 parent 8a6aadb commit e96c0dd

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

api/function/v1beta1/function_sdk.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1120,6 +1120,9 @@ type Function struct {
11201120

11211121
// Tags: list of tags applied to the Serverless Function.
11221122
Tags []string `json:"tags"`
1123+
1124+
// PrivateNetworkID: when connected to a Private Network, the function can access other Scaleway resources in this Private Network.
1125+
PrivateNetworkID *string `json:"private_network_id"`
11231126
}
11241127

11251128
// Namespace: namespace.
@@ -1169,6 +1172,10 @@ type Namespace struct {
11691172

11701173
// UpdatedAt: last update date of the namespace.
11711174
UpdatedAt *time.Time `json:"updated_at"`
1175+
1176+
// Deprecated: VpcIntegrationActivated: when activated, functions in the namespace can be connected to a Private Network.
1177+
// Note that activating the VPC integration can only be done when creating a new namespace.
1178+
VpcIntegrationActivated *bool `json:"vpc_integration_activated,omitempty"`
11721179
}
11731180

11741181
// Token: token.
@@ -1330,6 +1337,11 @@ type CreateFunctionRequest struct {
13301337

13311338
// Tags: tags of the Serverless Function.
13321339
Tags []string `json:"tags"`
1340+
1341+
// PrivateNetworkID: when connected to a Private Network, the function can access other Scaleway resources in this Private Network.
1342+
//
1343+
// Note: this feature is currently in beta and requires a namespace with VPC integration activated, using the `activate_vpc_integration` flag.
1344+
PrivateNetworkID *string `json:"private_network_id,omitempty"`
13331345
}
13341346

13351347
// CreateNamespaceRequest: create namespace request.
@@ -1353,6 +1365,9 @@ type CreateNamespaceRequest struct {
13531365

13541366
// Tags: tags of the Serverless Function Namespace.
13551367
Tags []string `json:"tags"`
1368+
1369+
// ActivateVpcIntegration: when activated, functions in the namespace can be connected to a Private Network.
1370+
ActivateVpcIntegration bool `json:"activate_vpc_integration"`
13561371
}
13571372

13581373
// CreateTokenRequest: create token request.
@@ -1963,6 +1978,11 @@ type UpdateFunctionRequest struct {
19631978

19641979
// Tags: tags of the Serverless Function.
19651980
Tags *[]string `json:"tags,omitempty"`
1981+
1982+
// PrivateNetworkID: when connected to a Private Network, the function can access other Scaleway resources in this Private Network.
1983+
//
1984+
// Note: this feature is currently in beta and requires a namespace with VPC integration activated, using the `activate_vpc_integration` flag.
1985+
PrivateNetworkID *string `json:"private_network_id,omitempty"`
19661986
}
19671987

19681988
// UpdateNamespaceRequest: update namespace request.

0 commit comments

Comments
 (0)