diff --git a/packages/clients/src/api/interlink/v1beta1/api.gen.ts b/packages/clients/src/api/interlink/v1beta1/api.gen.ts index 3d8348729..2b15f7bc3 100644 --- a/packages/clients/src/api/interlink/v1beta1/api.gen.ts +++ b/packages/clients/src/api/interlink/v1beta1/api.gen.ts @@ -71,9 +71,8 @@ const jsonContentHeaders = { /** * InterLink API. - * - * This API allows you to manage your Scaleway InterLink, to connect your - * on-premises infrastructure with your Scaleway VPC. + +This API allows you to manage your Scaleway InterLink, to connect your on-premises infrastructure with your Scaleway VPC. */ export class API extends ParentAPI { /** Lists the available regions of the API. */ @@ -110,10 +109,7 @@ export class API extends ParentAPI { ) /** - * List dedicated connections. For self-hosted users, list their dedicated - * physical connections in a given region. By default, the connections - * returned in the list are ordered by name in ascending order, though this - * can be modified via the `order_by` field. + * List dedicated connections. For self-hosted users, list their dedicated physical connections in a given region. By default, the connections returned in the list are ordered by name in ascending order, though this can be modified via the `order_by` field. * * @param request - The request {@link ListDedicatedConnectionsRequest} * @returns A Promise of ListDedicatedConnectionsResponse @@ -128,9 +124,7 @@ export class API extends ParentAPI { ) /** - * Get a dedicated connection. For self-hosted users, get a dedicated physical - * connection corresponding to the given ID. The response object includes - * information such as the connection's name, status and total bandwidth. + * Get a dedicated connection. For self-hosted users, get a dedicated physical connection corresponding to the given ID. The response object includes information such as the connection's name, status and total bandwidth. * * @param request - The request {@link GetDedicatedConnectionRequest} * @returns A Promise of DedicatedConnection @@ -189,9 +183,7 @@ export class API extends ParentAPI { ) /** - * List available partners. List all available partners. By default, the - * partners returned in the list are ordered by name in ascending order, - * though this can be modified via the `order_by` field. + * List available partners. List all available partners. By default, the partners returned in the list are ordered by name in ascending order, though this can be modified via the `order_by` field. * * @param request - The request {@link ListPartnersRequest} * @returns A Promise of ListPartnersResponse @@ -200,9 +192,7 @@ export class API extends ParentAPI { enrichForPagination('partners', this.pageOfListPartners, request) /** - * Get a partner. Get a partner for the given partner IP. The response object - * includes information such as the partner's name, email address and portal - * URL. + * Get a partner. Get a partner for the given partner IP. The response object includes information such as the partner's name, email address and portal URL. * * @param request - The request {@link GetPartnerRequest} * @returns A Promise of Partner @@ -239,8 +229,7 @@ export class API extends ParentAPI { ) /** - * List PoPs. List all available PoPs (locations) for a given region. By - * default, the results are returned in ascending alphabetical order by name. + * List PoPs. List all available PoPs (locations) for a given region. By default, the results are returned in ascending alphabetical order by name. * * @param request - The request {@link ListPopsRequest} * @returns A Promise of ListPopsResponse @@ -249,8 +238,7 @@ export class API extends ParentAPI { enrichForPagination('pops', this.pageOfListPops, request) /** - * Get a PoP. Get a PoP for the given PoP ID. The response object includes the - * PoP's name and information about its physical location. + * Get a PoP. Get a PoP for the given PoP ID. The response object includes the PoP's name and information about its physical location. * * @param request - The request {@link GetPopRequest} * @returns A Promise of Pop @@ -297,8 +285,7 @@ export class API extends ParentAPI { ) /** - * List links. List all your links (InterLink connections). A number of - * filters are available, including Project ID, name, tags and status. + * List links. List all your links (InterLink connections). A number of filters are available, including Project ID, name, tags and status. * * @param request - The request {@link ListLinksRequest} * @returns A Promise of ListLinksResponse @@ -307,9 +294,7 @@ export class API extends ParentAPI { enrichForPagination('links', this.pageOfListLinks, request) /** - * Get a link. Get a link (InterLink session / logical InterLink resource) for - * the given link ID. The response object includes information about the - * link's various configuration details. + * Get a link. Get a link (InterLink session / logical InterLink resource) for the given link ID. The response object includes information about the link's various configuration details. * * @param request - The request {@link GetLinkRequest} * @returns A Promise of Link @@ -346,11 +331,7 @@ export class API extends ParentAPI { ) /** - * Create a link. Create a link (InterLink session / logical InterLink - * resource) in a given PoP, specifying its various configuration details. - * Links can either be hosted (faciliated by partners' shared physical - * connections) or self-hosted (for users who have purchased a dedicated - * physical connection). + * Create a link. Create a link (InterLink session / logical InterLink resource) in a given PoP, specifying its various configuration details. Links can either be hosted (faciliated by partners' shared physical connections) or self-hosted (for users who have purchased a dedicated physical connection). * * @param request - The request {@link CreateLinkRequest} * @returns A Promise of Link @@ -369,8 +350,7 @@ export class API extends ParentAPI { ) /** - * Update a link. Update an existing link, specified by its link ID. Only its - * name and tags can be updated. + * Update a link. Update an existing link, specified by its link ID. Only its name and tags can be updated. * * @param request - The request {@link UpdateLinkRequest} * @returns A Promise of Link @@ -389,11 +369,7 @@ export class API extends ParentAPI { ) /** - * Delete a link. Delete an existing link, specified by its link ID. Note that - * as well as deleting the link here on the Scaleway side, it is also - * necessary to request deletion from the partner on their side. Only when - * this action has been carried out on both sides will the resource be - * completely deleted. + * Delete a link. Delete an existing link, specified by its link ID. Note that as well as deleting the link here on the Scaleway side, it is also necessary to request deletion from the partner on their side. Only when this action has been carried out on both sides will the resource be completely deleted. * * @param request - The request {@link DeleteLinkRequest} * @returns A Promise of Link @@ -408,9 +384,7 @@ export class API extends ParentAPI { ) /** - * Attach a VPC. Attach a VPC to an existing link. This facilitates - * communication between the resources in your Scaleway VPC, and your - * on-premises infrastructure. + * Attach a VPC. Attach a VPC to an existing link. This facilitates communication between the resources in your Scaleway VPC, and your on-premises infrastructure. * * @param request - The request {@link AttachVpcRequest} * @returns A Promise of Link @@ -446,10 +420,7 @@ export class API extends ParentAPI { ) /** - * Attach a routing policy. Attach a routing policy to an existing link. As - * all routes across the link are blocked by default, you must attach a - * routing policy to set IP prefix filters for allowed routes, facilitating - * traffic flow. + * Attach a routing policy. Attach a routing policy to an existing link. As all routes across the link are blocked by default, you must attach a routing policy to set IP prefix filters for allowed routes, facilitating traffic flow. * * @param request - The request {@link AttachRoutingPolicyRequest} * @returns A Promise of Link @@ -468,9 +439,7 @@ export class API extends ParentAPI { ) /** - * Detach a routing policy. Detach a routing policy from an existing link. - * Without a routing policy, all routes across the link are blocked by - * default. + * Detach a routing policy. Detach a routing policy from an existing link. Without a routing policy, all routes across the link are blocked by default. * * @param request - The request {@link DetachRoutingPolicyRequest} * @returns A Promise of Link @@ -487,12 +456,7 @@ export class API extends ParentAPI { ) /** - * Enable route propagation. Enable all allowed prefixes (defined in a routing - * policy) to be announced in the BGP session. This allows traffic to flow - * between the attached VPC and the on-premises infrastructure along the - * announced routes. Note that by default, even when route propagation is - * enabled, all routes are blocked. It is essential to attach a routing policy - * to define the ranges of routes to announce. + * Enable route propagation. Enable all allowed prefixes (defined in a routing policy) to be announced in the BGP session. This allows traffic to flow between the attached VPC and the on-premises infrastructure along the announced routes. Note that by default, even when route propagation is enabled, all routes are blocked. It is essential to attach a routing policy to define the ranges of routes to announce. * * @param request - The request {@link EnableRoutePropagationRequest} * @returns A Promise of Link @@ -509,9 +473,7 @@ export class API extends ParentAPI { ) /** - * Disable route propagation. Prevent any prefixes from being announced in the - * BGP session. Traffic will not be able to flow over the InterLink until - * route propagation is re-enabled. + * Disable route propagation. Prevent any prefixes from being announced in the BGP session. Traffic will not be able to flow over the InterLink until route propagation is re-enabled. * * @param request - The request {@link DisableRoutePropagationRequest} * @returns A Promise of Link @@ -553,9 +515,7 @@ export class API extends ParentAPI { ) /** - * List routing policies. List all routing policies in a given region. A - * routing policy can be attached to one or multiple links (InterLink - * connections). + * List routing policies. List all routing policies in a given region. A routing policy can be attached to one or multiple links (InterLink connections). * * @param request - The request {@link ListRoutingPoliciesRequest} * @returns A Promise of ListRoutingPoliciesResponse @@ -568,9 +528,7 @@ export class API extends ParentAPI { ) /** - * Get routing policy. Get a routing policy for the given routing policy ID. - * The response object gives information including the policy's name, tags and - * prefix filters. + * Get routing policy. Get a routing policy for the given routing policy ID. The response object gives information including the policy's name, tags and prefix filters. * * @param request - The request {@link GetRoutingPolicyRequest} * @returns A Promise of RoutingPolicy @@ -585,9 +543,7 @@ export class API extends ParentAPI { ) /** - * Create a routing policy. Create a routing policy. Routing policies allow - * you to set IP prefix filters to define the incoming route announcements to - * accept from the peer, and the outgoing routes to announce to the peer. + * Create a routing policy. Create a routing policy. Routing policies allow you to set IP prefix filters to define the incoming route announcements to accept from the peer, and the outgoing routes to announce to the peer. * * @param request - The request {@link CreateRoutingPolicyRequest} * @returns A Promise of RoutingPolicy @@ -606,9 +562,7 @@ export class API extends ParentAPI { ) /** - * Update a routing policy. Update an existing routing policy, specified by - * its routing policy ID. Its name, tags and incoming/outgoing prefix filters - * can be updated. + * Update a routing policy. Update an existing routing policy, specified by its routing policy ID. Its name, tags and incoming/outgoing prefix filters can be updated. * * @param request - The request {@link UpdateRoutingPolicyRequest} * @returns A Promise of RoutingPolicy @@ -627,8 +581,7 @@ export class API extends ParentAPI { ) /** - * Delete a routing policy. Delete an existing routing policy, specified by - * its routing policy ID. + * Delete a routing policy. Delete an existing routing policy, specified by its routing policy ID. * * @param request - The request {@link DeleteRoutingPolicyRequest} */ diff --git a/packages/clients/src/api/interlink/v1beta1/marshalling.gen.ts b/packages/clients/src/api/interlink/v1beta1/marshalling.gen.ts index 64f7f6768..fe88fbf1f 100644 --- a/packages/clients/src/api/interlink/v1beta1/marshalling.gen.ts +++ b/packages/clients/src/api/interlink/v1beta1/marshalling.gen.ts @@ -288,6 +288,7 @@ export const marshalCreateLinkRequest = ( ): Record => ({ bandwidth_mbps: request.bandwidthMbps, name: request.name, + peer_asn: request.peerAsn, pop_id: request.popId, project_id: request.projectId ?? defaults.defaultProjectId, tags: request.tags, @@ -313,6 +314,7 @@ export const marshalUpdateLinkRequest = ( defaults: DefaultValues, ): Record => ({ name: request.name, + peer_asn: request.peerAsn, tags: request.tags, }) diff --git a/packages/clients/src/api/interlink/v1beta1/types.gen.ts b/packages/clients/src/api/interlink/v1beta1/types.gen.ts index a9a2e152f..5add737df 100644 --- a/packages/clients/src/api/interlink/v1beta1/types.gen.ts +++ b/packages/clients/src/api/interlink/v1beta1/types.gen.ts @@ -60,98 +60,157 @@ export type ListRoutingPoliciesRequestOrderBy = | 'name_desc' export interface BgpConfig { - /** AS Number of the BGP peer. */ + /** + * AS Number of the BGP peer. + */ asn: number - /** IPv4 address of the BGP peer. */ + /** + * IPv4 address of the BGP peer. + */ ipv4: string - /** IPv6 address of the BGP peer. */ + /** + * IPv6 address of the BGP peer. + */ ipv6: string } export interface PartnerHost { - /** ID of the partner facilitating the link. */ + /** + * ID of the partner facilitating the link. + */ partnerId: string - /** Used to identify a link from a user or partner's point of view. */ + /** + * Used to identify a link from a user or partner's point of view. + */ pairingKey: string /** - * Reason given by partner to explain why they did not approve the request for - * a hosted link. + * Reason given by partner to explain why they did not approve the request for a hosted link. */ disapprovedReason?: string } export interface SelfHost { - /** Dedicated physical connection supporting the link. */ + /** + * Dedicated physical connection supporting the link. + */ connectionId: string } export interface DedicatedConnection { - /** Unique identifier of the dedicated connection. */ + /** + * Unique identifier of the dedicated connection. + */ id: string - /** Project ID. */ + /** + * Project ID. + */ projectId: string - /** Organization ID. */ + /** + * Organization ID. + */ organizationId: string - /** Status of the dedicated connection. */ + /** + * Status of the dedicated connection. + */ status: DedicatedConnectionStatus - /** Name of the dedicated connection. */ + /** + * Name of the dedicated connection. + */ name: string - /** List of tags associated with the dedicated connection. */ + /** + * List of tags associated with the dedicated connection. + */ tags: string[] - /** ID of the PoP where the dedicated connection is located. */ + /** + * ID of the PoP where the dedicated connection is located. + */ popId: string - /** Bandwidth size of the dedicated connection. */ + /** + * Bandwidth size of the dedicated connection. + */ bandwidthMbps: number - /** Size of the links supported on this dedicated connection. */ + /** + * Size of the links supported on this dedicated connection. + */ availableLinkBandwidths: number[] - /** Creation date of the dedicated connection. */ + /** + * Creation date of the dedicated connection. + */ createdAt?: Date - /** Last modification date of the dedicated connection. */ + /** + * Last modification date of the dedicated connection. + */ updatedAt?: Date /** - * Demarcation details required by the data center to set up the supporting - * Cross Connect. This generally includes the physical space in the facility, - * the cabinet or rack the connection should land in, the patch panel to go - * in, the port designation, and the media type. + * Demarcation details required by the data center to set up the supporting Cross Connect. This generally includes the physical space in the facility, the cabinet or rack the connection should land in, the patch panel to go in, the port designation, and the media type. */ demarcationInfo?: string - /** Region of the dedicated connection. */ + /** + * Region of the dedicated connection. + */ region: ScwRegion } export interface Link { - /** Unique identifier of the link. */ + /** + * Unique identifier of the link. + */ id: string - /** Project ID. */ + /** + * Project ID. + */ projectId: string - /** Organization ID. */ + /** + * Organization ID. + */ organizationId: string - /** Name of the link. */ + /** + * Name of the link. + */ name: string - /** List of tags associated with the link. */ + /** + * List of tags associated with the link. + */ tags: string[] - /** ID of the PoP where the link's corresponding connection is located. */ + /** + * ID of the PoP where the link's corresponding connection is located. + */ popId: string - /** Rate limited bandwidth of the link. */ + /** + * Rate limited bandwidth of the link. + */ bandwidthMbps: number - /** Status of the link. */ + /** + * Status of the link. + */ status: LinkStatus - /** Status of the link's BGP IPv4 session. */ + /** + * Status of the link's BGP IPv4 session. + */ bgpV4Status: BgpStatus - /** Status of the link's BGP IPv6 session. */ + /** + * Status of the link's BGP IPv6 session. + */ bgpV6Status: BgpStatus - /** ID of the Scaleway VPC attached to the link. */ + /** + * ID of the Scaleway VPC attached to the link. + */ vpcId?: string - /** ID of the routing policy attached to the link. */ + /** + * ID of the routing policy attached to the link. + */ routingPolicyId?: string /** - * Defines whether route propagation is enabled or not. To enable or disable - * route propagation, use the dedicated endpoint. + * Defines whether route propagation is enabled or not. To enable or disable route propagation, use the dedicated endpoint. */ enableRoutePropagation: boolean - /** Creation date of the link. */ + /** + * Creation date of the link. + */ createdAt?: Date - /** Last modification date of the link. */ + /** + * Last modification date of the link. + */ updatedAt?: Date /** * Partner host information. @@ -165,441 +224,618 @@ export interface Link { * One-of ('hostInfo'): at most one of 'partner', 'self' could be set. */ self?: SelfHost - /** VLAN of the link. */ + /** + * VLAN of the link. + */ vlan: number - /** BGP configuration on Scaleway's side. */ + /** + * BGP configuration on Scaleway's side. + */ scwBgpConfig?: BgpConfig - /** BGP configuration on peer's side (on-premises or other hosting provider). */ + /** + * BGP configuration on peer's side (on-premises or other hosting provider). + */ peerBgpConfig?: BgpConfig - /** Region of the link. */ + /** + * Region of the link. + */ region: ScwRegion } export interface Partner { - /** Unique identifier of the partner. */ + /** + * Unique identifier of the partner. + */ id: string - /** Name of the partner. */ + /** + * Name of the partner. + */ name: string - /** Contact email address of partner. */ + /** + * Contact email address of partner. + */ contactEmail: string - /** Image URL of the partner's logo. */ + /** + * Image URL of the partner's logo. + */ logoUrl: string - /** URL of the partner's portal. */ + /** + * URL of the partner's portal. + */ portalUrl: string - /** Creation date of the partner. */ + /** + * Creation date of the partner. + */ createdAt?: Date - /** Last modification date of the partner. */ + /** + * Last modification date of the partner. + */ updatedAt?: Date } export interface Pop { - /** Unique identifier of the PoP. */ + /** + * Unique identifier of the PoP. + */ id: string - /** Name of the PoP. It is the common reference of Hosting DC (ex: TH2). */ + /** + * Name of the PoP. It is the common reference of Hosting DC (ex: TH2). + */ name: string /** - * Name of the PoP's hosting provider, e.g. Telehouse for TH2 or OpCore for - * DC3. + * Name of the PoP's hosting provider, e.g. Telehouse for TH2 or OpCore for DC3. */ hostingProviderName: string - /** Physical address of the PoP. */ + /** + * Physical address of the PoP. + */ address: string - /** City where PoP is located. */ + /** + * City where PoP is located. + */ city: string - /** Image URL of the PoP's logo. */ + /** + * Image URL of the PoP's logo. + */ logoUrl: string /** - * Available bandwidth in Mbits/s for future hosted links from available - * connections in this PoP. + * Available bandwidth in Mbits/s for future hosted links from available connections in this PoP. */ availableLinkBandwidthsMbps: number[] - /** Region of the PoP. */ + /** + * Region of the PoP. + */ region: ScwRegion } export interface RoutingPolicy { - /** Unique identifier of the routing policy. */ + /** + * Unique identifier of the routing policy. + */ id: string - /** Project ID. */ + /** + * Project ID. + */ projectId: string - /** Organization ID. */ + /** + * Organization ID. + */ organizationId: string - /** Name of the routing policy. */ + /** + * Name of the routing policy. + */ name: string - /** List of tags associated with the routing policy. */ + /** + * List of tags associated with the routing policy. + */ tags: string[] /** - * IP prefixes to accept from the peer (ranges of route announcements to - * accept). + * IP prefixes to accept from the peer (ranges of route announcements to accept). */ prefixFilterIn: string[] - /** IP prefix filters to advertise to the peer (ranges of routes to advertise). */ + /** + * IP prefix filters to advertise to the peer (ranges of routes to advertise). + */ prefixFilterOut: string[] - /** Creation date of the routing policy. */ + /** + * Creation date of the routing policy. + */ createdAt?: Date - /** Last modification date of the routing policy. */ + /** + * Last modification date of the routing policy. + */ updatedAt?: Date - /** Region of the routing policy. */ + /** + * Region of the routing policy. + */ region: ScwRegion } export type AttachRoutingPolicyRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to attach a routing policy to. */ + /** + * ID of the link to attach a routing policy to. + */ linkId: string - /** ID of the routing policy to be attached. */ + /** + * ID of the routing policy to be attached. + */ routingPolicyId: string } export type AttachVpcRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to attach VPC to. */ + /** + * ID of the link to attach VPC to. + */ linkId: string - /** ID of the VPC to attach. */ + /** + * ID of the VPC to attach. + */ vpcId: string } export type CreateLinkRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the Project to create the link in. */ + /** + * ID of the Project to create the link in. + */ projectId?: string - /** Name of the link. */ + /** + * Name of the link. + */ name: string - /** List of tags to apply to the link. */ + /** + * List of tags to apply to the link. + */ tags?: string[] - /** PoP (location) where the link will be created. */ + /** + * PoP (location) where the link will be created. + */ popId: string /** - * Desired bandwidth for the link. Must be compatible with available link - * bandwidths and remaining bandwidth capacity of the connection. + * Desired bandwidth for the link. Must be compatible with available link bandwidths and remaining bandwidth capacity of the connection. */ bandwidthMbps: number /** - * If set, creates a self-hosted link using this dedicated physical - * connection. As the customer, specify the ID of the physical connection you - * already have for this link. + * If set, creates a self-hosted link using this dedicated physical connection. As the customer, specify the ID of the physical connection you already have for this link. * * One-of ('host'): at most one of 'connectionId', 'partnerId' could be set. */ connectionId?: string /** - * If set, creates a hosted link on a partner's connection. Specify the ID of - * the chosen partner, who already has a shared connection with available - * bandwidth. + * If set, creates a hosted link on a partner's connection. Specify the ID of the chosen partner, who already has a shared connection with available bandwidth. * * One-of ('host'): at most one of 'connectionId', 'partnerId' could be set. */ partnerId?: string + /** + * For self-hosted links we need the peer AS Number to establish BGP session. If not given, a default one will be assigned. + */ + peerAsn?: number } export type CreateRoutingPolicyRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the Project to create the routing policy in. */ + /** + * ID of the Project to create the routing policy in. + */ projectId?: string - /** Name of the routing policy. */ + /** + * Name of the routing policy. + */ name: string - /** List of tags to apply to the routing policy. */ + /** + * List of tags to apply to the routing policy. + */ tags?: string[] /** - * IP prefixes to accept from the peer (ranges of route announcements to - * accept). + * IP prefixes to accept from the peer (ranges of route announcements to accept). */ prefixFilterIn?: string[] - /** IP prefix filters to advertise to the peer (ranges of routes to advertise). */ + /** + * IP prefix filters to advertise to the peer (ranges of routes to advertise). + */ prefixFilterOut?: string[] } export type DeleteLinkRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to delete. */ + /** + * ID of the link to delete. + */ linkId: string } export type DeleteRoutingPolicyRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the routing policy to delete. */ + /** + * ID of the routing policy to delete. + */ routingPolicyId: string } export type DetachRoutingPolicyRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to detach a routing policy from. */ + /** + * ID of the link to detach a routing policy from. + */ linkId: string } export type DetachVpcRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to detach the VPC from. */ + /** + * ID of the link to detach the VPC from. + */ linkId: string } export type DisableRoutePropagationRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link on which to disable route propagation. */ + /** + * ID of the link on which to disable route propagation. + */ linkId: string } export type EnableRoutePropagationRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link on which to enable route propagation. */ + /** + * ID of the link on which to enable route propagation. + */ linkId: string } export type GetDedicatedConnectionRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of connection to get. */ + /** + * ID of connection to get. + */ connectionId: string } export type GetLinkRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to get. */ + /** + * ID of the link to get. + */ linkId: string } export type GetPartnerRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of partner to get. */ + /** + * ID of partner to get. + */ partnerId: string } export type GetPopRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of PoP to get. */ + /** + * ID of PoP to get. + */ popId: string } export type GetRoutingPolicyRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the routing policy to get. */ + /** + * ID of the routing policy to get. + */ routingPolicyId: string } export type ListDedicatedConnectionsRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** Order in which to return results. */ + /** + * Order in which to return results. + */ orderBy?: ListDedicatedConnectionsRequestOrderBy - /** Page number to return. */ + /** + * Page number to return. + */ page?: number - /** Maximum number of connections to return per page. */ + /** + * Maximum number of connections to return per page. + */ pageSize?: number - /** Project ID to filter for. */ + /** + * Project ID to filter for. + */ projectId?: string - /** Organization ID to filter for. */ + /** + * Organization ID to filter for. + */ organizationId?: string - /** Link name to filter for. */ + /** + * Link name to filter for. + */ name?: string - /** Tags to filter for. */ + /** + * Tags to filter for. + */ tags?: string[] - /** Connection status to filter for. */ + /** + * Connection status to filter for. + */ status?: DedicatedConnectionStatus - /** Filter for dedicated connections with this bandwidth size. */ + /** + * Filter for dedicated connections with this bandwidth size. + */ bandwidthMbps?: number - /** Filter for dedicated connections present in this PoP. */ + /** + * Filter for dedicated connections present in this PoP. + */ popId?: string } export interface ListDedicatedConnectionsResponse { - /** List of connections on current page. */ + /** + * List of connections on current page. + */ connections: DedicatedConnection[] - /** Total number of connections returned. */ + /** + * Total number of connections returned. + */ totalCount: number } export type ListLinksRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** Order in which to return results. */ + /** + * Order in which to return results. + */ orderBy?: ListLinksRequestOrderBy - /** Page number to return. */ + /** + * Page number to return. + */ page?: number - /** Maximum number of links to return per page. */ + /** + * Maximum number of links to return per page. + */ pageSize?: number - /** Project ID to filter for. */ + /** + * Project ID to filter for. + */ projectId?: string - /** Organization ID to filter for. */ + /** + * Organization ID to filter for. + */ organizationId?: string - /** Link name to filter for. */ + /** + * Link name to filter for. + */ name?: string - /** Tags to filter for. */ + /** + * Tags to filter for. + */ tags?: string[] - /** Link status to filter for. */ + /** + * Link status to filter for. + */ status?: LinkStatus - /** BGP IPv4 status to filter for. */ + /** + * BGP IPv4 status to filter for. + */ bgpV4Status?: BgpStatus - /** BGP IPv6 status to filter for. */ + /** + * BGP IPv6 status to filter for. + */ bgpV6Status?: BgpStatus - /** Filter for links attached to this PoP (via connections). */ + /** + * Filter for links attached to this PoP (via connections). + */ popId?: string - /** Filter for link bandwidth (in Mbps). */ + /** + * Filter for link bandwidth (in Mbps). + */ bandwidthMbps?: number - /** Filter for links hosted by this partner. */ + /** + * Filter for links hosted by this partner. + */ partnerId?: string - /** Filter for links attached to this VPC. */ + /** + * Filter for links attached to this VPC. + */ vpcId?: string - /** Filter for links using this routing policy. */ + /** + * Filter for links using this routing policy. + */ routingPolicyId?: string - /** Filter for the link with this pairing_key. */ + /** + * Filter for the link with this pairing_key. + */ pairingKey?: string - /** Filter for hosted or self-hosted links. */ + /** + * Filter for hosted or self-hosted links. + */ kind?: LinkKind - /** Filter for links self-hosted on this connection. */ + /** + * Filter for links self-hosted on this connection. + */ connectionId?: string } export interface ListLinksResponse { - /** List of links on the current page. */ + /** + * List of links on the current page. + */ links: Link[] - /** Total number of links. */ + /** + * Total number of links. + */ totalCount: number } export type ListPartnersRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** Order in which to return results. */ + /** + * Order in which to return results. + */ orderBy?: ListPartnersRequestOrderBy - /** Page number to return. */ + /** + * Page number to return. + */ page?: number - /** Maximum number of partners to return per page. */ + /** + * Maximum number of partners to return per page. + */ pageSize?: number - /** Filter for partners present (offering a connection) in one of these PoPs. */ + /** + * Filter for partners present (offering a connection) in one of these PoPs. + */ popIds?: string[] } export interface ListPartnersResponse { - /** List of partners on current page. */ + /** + * List of partners on current page. + */ partners: Partner[] - /** Total number of partners returned. */ + /** + * Total number of partners returned. + */ totalCount: number } export type ListPopsRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** Order in which to return results. */ + /** + * Order in which to return results. + */ orderBy?: ListPopsRequestOrderBy - /** Page number to return. */ + /** + * Page number to return. + */ page?: number - /** Maximum number of PoPs to return per page. */ + /** + * Maximum number of PoPs to return per page. + */ pageSize?: number - /** PoP name to filter for. */ + /** + * PoP name to filter for. + */ name?: string - /** Hosting provider name to filter for. */ + /** + * Hosting provider name to filter for. + */ hostingProviderName?: string - /** Filter for PoPs hosting an available shared connection from this partner. */ + /** + * Filter for PoPs hosting an available shared connection from this partner. + */ partnerId?: string /** - * Filter for PoPs with a shared connection allowing this bandwidth size. Note - * that we cannot guarantee that PoPs returned will have available capacity. + * Filter for PoPs with a shared connection allowing this bandwidth size. Note that we cannot guarantee that PoPs returned will have available capacity. */ linkBandwidthMbps?: number /** - * Filter for PoPs with a dedicated connection available for self-hosted - * links. + * Filter for PoPs with a dedicated connection available for self-hosted links. */ dedicatedAvailable?: boolean } export interface ListPopsResponse { - /** List of PoPs on the current page. */ + /** + * List of PoPs on the current page. + */ pops: Pop[] - /** Total number of PoPs. */ + /** + * Total number of PoPs. + */ totalCount: number } export type ListRoutingPoliciesRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** Order in which to return results. */ + /** + * Order in which to return results. + */ orderBy?: ListRoutingPoliciesRequestOrderBy - /** Page number to return. */ + /** + * Page number to return. + */ page?: number - /** Maximum number of routing policies to return per page. */ + /** + * Maximum number of routing policies to return per page. + */ pageSize?: number - /** Project ID to filter for. */ + /** + * Project ID to filter for. + */ projectId?: string - /** Organization ID to filter for. */ + /** + * Organization ID to filter for. + */ organizationId?: string - /** Routing policy name to filter for. */ + /** + * Routing policy name to filter for. + */ name?: string - /** Tags to filter for. */ + /** + * Tags to filter for. + */ tags?: string[] } @@ -610,38 +846,50 @@ export interface ListRoutingPoliciesResponse { export type UpdateLinkRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the link to update. */ + /** + * ID of the link to update. + */ linkId: string - /** Name of the link. */ + /** + * Name of the link. + */ name?: string - /** List of tags to apply to the link. */ + /** + * List of tags to apply to the link. + */ tags?: string[] + /** + * For self-hosted links, AS Number to establish BGP session. + */ + peerAsn?: number } export type UpdateRoutingPolicyRequest = { /** - * Region to target. If none is passed will use default region from the - * config. + * Region to target. If none is passed will use default region from the config. */ region?: ScwRegion - /** ID of the routing policy to update. */ + /** + * ID of the routing policy to update. + */ routingPolicyId: string - /** Name of the routing policy. */ + /** + * Name of the routing policy. + */ name?: string - /** List of tags to apply to the routing policy. */ + /** + * List of tags to apply to the routing policy. + */ tags?: string[] /** - * IP prefixes to accept from the peer (ranges of route announcements to - * accept). + * IP prefixes to accept from the peer (ranges of route announcements to accept). */ prefixFilterIn?: string[] /** - * IP prefix filters for routes to advertise to the peer (ranges of routes to - * advertise). + * IP prefix filters for routes to advertise to the peer (ranges of routes to advertise). */ prefixFilterOut?: string[] } diff --git a/packages/clients/src/api/interlink/v1beta1/validation-rules.gen.ts b/packages/clients/src/api/interlink/v1beta1/validation-rules.gen.ts index e1bfad75f..8d7730dfe 100644 --- a/packages/clients/src/api/interlink/v1beta1/validation-rules.gen.ts +++ b/packages/clients/src/api/interlink/v1beta1/validation-rules.gen.ts @@ -17,6 +17,10 @@ export const CreateLinkRequest = { maxLength: 255, minLength: 1, }, + peerAsn: { + greaterThanOrEqual: 1, + lessThanOrEqual: 65534, + }, } export const CreateRoutingPolicyRequest = { @@ -114,6 +118,10 @@ export const UpdateLinkRequest = { maxLength: 255, minLength: 1, }, + peerAsn: { + greaterThanOrEqual: 1, + lessThanOrEqual: 65534, + }, } export const UpdateRoutingPolicyRequest = {