Skip to content

Commit 0ea5627

Browse files
authored
feat(interlink): add support for RoutingPolicyV4ID, RoutingPolicyV6ID and IsIPv6 (scaleway#2593)
1 parent e96c0dd commit 0ea5627

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

api/interlink/v1beta1/interlink_sdk.go

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,8 +543,8 @@ type Link struct {
543543
// VpcID: ID of the Scaleway VPC attached to the link.
544544
VpcID *string `json:"vpc_id"`
545545

546-
// RoutingPolicyID: ID of the routing policy attached to the link.
547-
RoutingPolicyID *string `json:"routing_policy_id"`
546+
// Deprecated: RoutingPolicyID: deprecated. Use routing_policy_v4_id or routing_policy_v6_id instead.
547+
RoutingPolicyID *string `json:"routing_policy_id,omitempty"`
548548

549549
// EnableRoutePropagation: defines whether route propagation is enabled or not. To enable or disable route propagation, use the dedicated endpoint.
550550
EnableRoutePropagation bool `json:"enable_route_propagation"`
@@ -572,6 +572,12 @@ type Link struct {
572572
// PeerBgpConfig: bGP configuration on peer's side (on-premises or other hosting provider).
573573
PeerBgpConfig *BgpConfig `json:"peer_bgp_config"`
574574

575+
// RoutingPolicyV4ID: ID of the routing policy IPv4 attached to the link.
576+
RoutingPolicyV4ID *string `json:"routing_policy_v4_id"`
577+
578+
// RoutingPolicyV6ID: ID of the routing policy IPv6 attached to the link.
579+
RoutingPolicyV6ID *string `json:"routing_policy_v6_id"`
580+
575581
// Region: region of the link.
576582
Region scw.Region `json:"region"`
577583
}
@@ -656,6 +662,9 @@ type RoutingPolicy struct {
656662
// UpdatedAt: last modification date of the routing policy.
657663
UpdatedAt *time.Time `json:"updated_at"`
658664

665+
// IsIPv6: IP prefixes version of the routing policy.
666+
IsIPv6 bool `json:"is_ipv6"`
667+
659668
// Region: region of the routing policy.
660669
Region scw.Region `json:"region"`
661670
}
@@ -735,6 +744,9 @@ type CreateRoutingPolicyRequest struct {
735744

736745
// PrefixFilterOut: IP prefix filters to advertise to the peer (ranges of routes to advertise).
737746
PrefixFilterOut []scw.IPNet `json:"prefix_filter_out"`
747+
748+
// IsIPv6: IP prefixes version of the routing policy.
749+
IsIPv6 bool `json:"is_ipv6"`
738750
}
739751

740752
// DeleteLinkRequest: delete link request.
@@ -762,6 +774,9 @@ type DetachRoutingPolicyRequest struct {
762774

763775
// LinkID: ID of the link to detach a routing policy from.
764776
LinkID string `json:"-"`
777+
778+
// RoutingPolicyID: ID of the routing policy to be detached.
779+
RoutingPolicyID string `json:"routing_policy_id"`
765780
}
766781

767782
// DetachVpcRequest: detach vpc request.
@@ -1127,6 +1142,9 @@ type ListRoutingPoliciesRequest struct {
11271142

11281143
// Tags: tags to filter for.
11291144
Tags []string `json:"-"`
1145+
1146+
// IPv6: filter for the routing policies based on IP prefixes version.
1147+
IPv6 *bool `json:"-"`
11301148
}
11311149

11321150
// ListRoutingPoliciesResponse: list routing policies response.
@@ -1856,6 +1874,7 @@ func (s *API) ListRoutingPolicies(req *ListRoutingPoliciesRequest, opts ...scw.R
18561874
parameter.AddToQuery(query, "organization_id", req.OrganizationID)
18571875
parameter.AddToQuery(query, "name", req.Name)
18581876
parameter.AddToQuery(query, "tags", req.Tags)
1877+
parameter.AddToQuery(query, "ipv6", req.IPv6)
18591878

18601879
if fmt.Sprint(req.Region) == "" {
18611880
return nil, errors.New("field Region cannot be empty in request")

0 commit comments

Comments
 (0)