From 625302bbd0e3cd59567a58a619372873bf5da58a Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Fri, 5 Apr 2024 14:19:41 +0000 Subject: [PATCH] feat: update generated APIs --- api/vpc/v2/vpc_sdk.go | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/api/vpc/v2/vpc_sdk.go b/api/vpc/v2/vpc_sdk.go index f91590086..10475107b 100644 --- a/api/vpc/v2/vpc_sdk.go +++ b/api/vpc/v2/vpc_sdk.go @@ -394,6 +394,14 @@ type EnableDHCPRequest struct { PrivateNetworkID string `json:"-"` } +// EnableRoutingRequest: enable routing request. +type EnableRoutingRequest struct { + // Region: region to target. If none is passed will use default region from the config. + Region scw.Region `json:"-"` + + VpcID string `json:"-"` +} + // GetPrivateNetworkRequest: get private network request. type GetPrivateNetworkRequest struct { // Region: region to target. If none is passed will use default region from the config. @@ -1119,6 +1127,42 @@ func (s *API) EnableDHCP(req *EnableDHCPRequest, opts ...scw.RequestOption) (*Pr return &resp, nil } +// EnableRouting: Enable routing on an existing VPC. Note that you will not be able to deactivate it afterwards. +func (s *API) EnableRouting(req *EnableRoutingRequest, opts ...scw.RequestOption) (*VPC, error) { + var err error + + if req.Region == "" { + defaultRegion, _ := s.client.GetDefaultRegion() + req.Region = defaultRegion + } + + if fmt.Sprint(req.Region) == "" { + return nil, errors.New("field Region cannot be empty in request") + } + + if fmt.Sprint(req.VpcID) == "" { + return nil, errors.New("field VpcID cannot be empty in request") + } + + scwReq := &scw.ScalewayRequest{ + Method: "POST", + Path: "/vpc/v2/regions/" + fmt.Sprint(req.Region) + "/vpcs/" + fmt.Sprint(req.VpcID) + "/enable-routing", + } + + err = scwReq.SetBody(req) + if err != nil { + return nil, err + } + + var resp VPC + + err = s.client.Do(scwReq, &resp, opts...) + if err != nil { + return nil, err + } + return &resp, nil +} + // SetSubnets: Set subnets for an existing Private Network. Note that the method is PUT and not PATCH. Any existing subnets will be removed in favor of the new specified set of subnets. func (s *API) SetSubnets(req *SetSubnetsRequest, opts ...scw.RequestOption) (*SetSubnetsResponse, error) { var err error