Skip to content

Commit

Permalink
feat(addressing)!: move service bindings to dedicated namespace (#2273)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and meorphis committed Jan 13, 2025
1 parent a984ead commit 66e2a04
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 79 deletions.
18 changes: 9 additions & 9 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2831,21 +2831,21 @@ Methods:
- <code title="patch /accounts/{account_id}/addressing/prefixes/{prefix_id}">client.addressing.prefixes.<a href="./src/resources/addressing/prefixes/prefixes.ts">edit</a>(prefixId, { ...params }) -> Prefix</code>
- <code title="get /accounts/{account_id}/addressing/prefixes/{prefix_id}">client.addressing.prefixes.<a href="./src/resources/addressing/prefixes/prefixes.ts">get</a>(prefixId, { ...params }) -> Prefix</code>

### BGP

#### Bindings
### ServiceBindings

Types:

- <code><a href="./src/resources/addressing/prefixes/bgp/bindings.ts">ServiceBinding</a></code>
- <code><a href="./src/resources/addressing/prefixes/bgp/bindings.ts">BindingDeleteResponse</a></code>
- <code><a href="./src/resources/addressing/prefixes/service-bindings.ts">ServiceBinding</a></code>
- <code><a href="./src/resources/addressing/prefixes/service-bindings.ts">ServiceBindingDeleteResponse</a></code>

Methods:

- <code title="post /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings">client.addressing.prefixes.bgp.bindings.<a href="./src/resources/addressing/prefixes/bgp/bindings.ts">create</a>(prefixId, { ...params }) -> ServiceBinding</code>
- <code title="get /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings">client.addressing.prefixes.bgp.bindings.<a href="./src/resources/addressing/prefixes/bgp/bindings.ts">list</a>(prefixId, { ...params }) -> ServiceBindingsSinglePage</code>
- <code title="delete /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}">client.addressing.prefixes.bgp.bindings.<a href="./src/resources/addressing/prefixes/bgp/bindings.ts">delete</a>(prefixId, bindingId, { ...params }) -> BindingDeleteResponse</code>
- <code title="get /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}">client.addressing.prefixes.bgp.bindings.<a href="./src/resources/addressing/prefixes/bgp/bindings.ts">get</a>(prefixId, bindingId, { ...params }) -> ServiceBinding</code>
- <code title="post /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings">client.addressing.prefixes.serviceBindings.<a href="./src/resources/addressing/prefixes/service-bindings.ts">create</a>(prefixId, { ...params }) -> ServiceBinding</code>
- <code title="get /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings">client.addressing.prefixes.serviceBindings.<a href="./src/resources/addressing/prefixes/service-bindings.ts">list</a>(prefixId, { ...params }) -> ServiceBindingsSinglePage</code>
- <code title="delete /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}">client.addressing.prefixes.serviceBindings.<a href="./src/resources/addressing/prefixes/service-bindings.ts">delete</a>(prefixId, bindingId, { ...params }) -> ServiceBindingDeleteResponse</code>
- <code title="get /accounts/{account_id}/addressing/prefixes/{prefix_id}/bindings/{binding_id}">client.addressing.prefixes.serviceBindings.<a href="./src/resources/addressing/prefixes/service-bindings.ts">get</a>(prefixId, bindingId, { ...params }) -> ServiceBinding</code>

### BGP

#### Prefixes

Expand Down
25 changes: 0 additions & 25 deletions src/resources/addressing/prefixes/bgp/bgp.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../../../resource';
import * as BindingsAPI from './bindings';
import {
BindingCreateParams,
BindingDeleteParams,
BindingDeleteResponse,
BindingGetParams,
BindingListParams,
Bindings,
ServiceBinding,
ServiceBindingsSinglePage,
} from './bindings';
import * as PrefixesAPI from './prefixes';
import {
BGPPrefix,
Expand All @@ -32,29 +21,15 @@ import {
} from './statuses';

export class BGP extends APIResource {
bindings: BindingsAPI.Bindings = new BindingsAPI.Bindings(this._client);
prefixes: PrefixesAPI.Prefixes = new PrefixesAPI.Prefixes(this._client);
statuses: StatusesAPI.Statuses = new StatusesAPI.Statuses(this._client);
}

BGP.Bindings = Bindings;
BGP.ServiceBindingsSinglePage = ServiceBindingsSinglePage;
BGP.Prefixes = Prefixes;
BGP.BGPPrefixesSinglePage = BGPPrefixesSinglePage;
BGP.Statuses = Statuses;

export declare namespace BGP {
export {
Bindings as Bindings,
type ServiceBinding as ServiceBinding,
type BindingDeleteResponse as BindingDeleteResponse,
ServiceBindingsSinglePage as ServiceBindingsSinglePage,
type BindingCreateParams as BindingCreateParams,
type BindingListParams as BindingListParams,
type BindingDeleteParams as BindingDeleteParams,
type BindingGetParams as BindingGetParams,
};

export {
Prefixes as Prefixes,
type BGPPrefix as BGPPrefix,
Expand Down
10 changes: 0 additions & 10 deletions src/resources/addressing/prefixes/bgp/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,6 @@ export {
type PrefixEditParams,
type PrefixGetParams,
} from './prefixes';
export {
ServiceBindingsSinglePage,
Bindings,
type ServiceBinding,
type BindingDeleteResponse,
type BindingCreateParams,
type BindingListParams,
type BindingDeleteParams,
type BindingGetParams,
} from './bindings';
export {
Statuses,
type StatusEditResponse,
Expand Down
10 changes: 10 additions & 0 deletions src/resources/addressing/prefixes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,13 @@ export {
type PrefixEditParams,
type PrefixGetParams,
} from './prefixes';
export {
ServiceBindingsSinglePage,
ServiceBindings,
type ServiceBinding,
type ServiceBindingDeleteResponse,
type ServiceBindingCreateParams,
type ServiceBindingListParams,
type ServiceBindingDeleteParams,
type ServiceBindingGetParams,
} from './service-bindings';
25 changes: 25 additions & 0 deletions src/resources/addressing/prefixes/prefixes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,23 @@ import {
Delegations,
DelegationsSinglePage,
} from './delegations';
import * as ServiceBindingsAPI from './service-bindings';
import {
ServiceBinding,
ServiceBindingCreateParams,
ServiceBindingDeleteParams,
ServiceBindingDeleteResponse,
ServiceBindingGetParams,
ServiceBindingListParams,
ServiceBindings,
ServiceBindingsSinglePage,
} from './service-bindings';
import * as BGPAPI from './bgp/bgp';
import { BGP } from './bgp/bgp';
import { SinglePage } from '../../../pagination';

export class Prefixes extends APIResource {
serviceBindings: ServiceBindingsAPI.ServiceBindings = new ServiceBindingsAPI.ServiceBindings(this._client);
bgp: BGPAPI.BGP = new BGPAPI.BGP(this._client);
delegations: DelegationsAPI.Delegations = new DelegationsAPI.Delegations(this._client);

Expand Down Expand Up @@ -247,6 +259,8 @@ export interface PrefixGetParams {
}

Prefixes.PrefixesSinglePage = PrefixesSinglePage;
Prefixes.ServiceBindings = ServiceBindings;
Prefixes.ServiceBindingsSinglePage = ServiceBindingsSinglePage;
Prefixes.BGP = BGP;
Prefixes.DelegationsSinglePage = DelegationsSinglePage;

Expand All @@ -262,6 +276,17 @@ export declare namespace Prefixes {
type PrefixGetParams as PrefixGetParams,
};

export {
ServiceBindings as ServiceBindings,
type ServiceBinding as ServiceBinding,
type ServiceBindingDeleteResponse as ServiceBindingDeleteResponse,
ServiceBindingsSinglePage as ServiceBindingsSinglePage,
type ServiceBindingCreateParams as ServiceBindingCreateParams,
type ServiceBindingListParams as ServiceBindingListParams,
type ServiceBindingDeleteParams as ServiceBindingDeleteParams,
type ServiceBindingGetParams as ServiceBindingGetParams,
};

export { BGP as BGP };

export {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../../../resource';
import * as Core from '../../../../core';
import * as Shared from '../../../shared';
import { SinglePage } from '../../../../pagination';
import { APIResource } from '../../../resource';
import * as Core from '../../../core';
import * as Shared from '../../shared';
import { SinglePage } from '../../../pagination';

export class Bindings extends APIResource {
export class ServiceBindings extends APIResource {
/**
* Creates a new Service Binding, routing traffic to IPs within the given CIDR to a
* service running on Cloudflare's network. **Note:** This API may only be used on
Expand All @@ -14,7 +14,7 @@ export class Bindings extends APIResource {
*/
create(
prefixId: string,
params: BindingCreateParams,
params: ServiceBindingCreateParams,
options?: Core.RequestOptions,
): Core.APIPromise<ServiceBinding> {
const { account_id, ...body } = params;
Expand All @@ -36,7 +36,7 @@ export class Bindings extends APIResource {
*/
list(
prefixId: string,
params: BindingListParams,
params: ServiceBindingListParams,
options?: Core.RequestOptions,
): Core.PagePromise<ServiceBindingsSinglePage, ServiceBinding> {
const { account_id } = params;
Expand All @@ -53,9 +53,9 @@ export class Bindings extends APIResource {
delete(
prefixId: string,
bindingId: string,
params: BindingDeleteParams,
params: ServiceBindingDeleteParams,
options?: Core.RequestOptions,
): Core.APIPromise<BindingDeleteResponse> {
): Core.APIPromise<ServiceBindingDeleteResponse> {
const { account_id } = params;
return this._client.delete(
`/accounts/${account_id}/addressing/prefixes/${prefixId}/bindings/${bindingId}`,
Expand All @@ -69,7 +69,7 @@ export class Bindings extends APIResource {
get(
prefixId: string,
bindingId: string,
params: BindingGetParams,
params: ServiceBindingGetParams,
options?: Core.RequestOptions,
): Core.APIPromise<ServiceBinding> {
const { account_id } = params;
Expand Down Expand Up @@ -124,7 +124,7 @@ export namespace ServiceBinding {
}
}

export interface BindingDeleteResponse {
export interface ServiceBindingDeleteResponse {
errors: Array<Shared.ResponseInfo>;

messages: Array<Shared.ResponseInfo>;
Expand All @@ -135,7 +135,7 @@ export interface BindingDeleteResponse {
success: true;
}

export interface BindingCreateParams {
export interface ServiceBindingCreateParams {
/**
* Path param: Identifier
*/
Expand All @@ -152,37 +152,37 @@ export interface BindingCreateParams {
service_id?: string;
}

export interface BindingListParams {
export interface ServiceBindingListParams {
/**
* Identifier
*/
account_id: string;
}

export interface BindingDeleteParams {
export interface ServiceBindingDeleteParams {
/**
* Identifier
*/
account_id: string;
}

export interface BindingGetParams {
export interface ServiceBindingGetParams {
/**
* Identifier
*/
account_id: string;
}

Bindings.ServiceBindingsSinglePage = ServiceBindingsSinglePage;
ServiceBindings.ServiceBindingsSinglePage = ServiceBindingsSinglePage;

export declare namespace Bindings {
export declare namespace ServiceBindings {
export {
type ServiceBinding as ServiceBinding,
type BindingDeleteResponse as BindingDeleteResponse,
type ServiceBindingDeleteResponse as ServiceBindingDeleteResponse,
ServiceBindingsSinglePage as ServiceBindingsSinglePage,
type BindingCreateParams as BindingCreateParams,
type BindingListParams as BindingListParams,
type BindingDeleteParams as BindingDeleteParams,
type BindingGetParams as BindingGetParams,
type ServiceBindingCreateParams as ServiceBindingCreateParams,
type ServiceBindingListParams as ServiceBindingListParams,
type ServiceBindingDeleteParams as ServiceBindingDeleteParams,
type ServiceBindingGetParams as ServiceBindingGetParams,
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ const client = new Cloudflare({
baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
});

describe('resource bindings', () => {
describe('resource serviceBindings', () => {
test('create: only required params', async () => {
const responsePromise = client.addressing.prefixes.bgp.bindings.create(
const responsePromise = client.addressing.prefixes.serviceBindings.create(
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
);
Expand All @@ -25,7 +25,7 @@ describe('resource bindings', () => {
});

test('create: required and optional params', async () => {
const response = await client.addressing.prefixes.bgp.bindings.create(
const response = await client.addressing.prefixes.serviceBindings.create(
'023e105f4ecef8ad9ca31a8372d0c353',
{
account_id: '023e105f4ecef8ad9ca31a8372d0c353',
Expand All @@ -36,9 +36,10 @@ describe('resource bindings', () => {
});

test('list: only required params', async () => {
const responsePromise = client.addressing.prefixes.bgp.bindings.list('023e105f4ecef8ad9ca31a8372d0c353', {
account_id: '023e105f4ecef8ad9ca31a8372d0c353',
});
const responsePromise = client.addressing.prefixes.serviceBindings.list(
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
);
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
const response = await responsePromise;
Expand All @@ -49,13 +50,14 @@ describe('resource bindings', () => {
});

test('list: required and optional params', async () => {
const response = await client.addressing.prefixes.bgp.bindings.list('023e105f4ecef8ad9ca31a8372d0c353', {
account_id: '023e105f4ecef8ad9ca31a8372d0c353',
});
const response = await client.addressing.prefixes.serviceBindings.list(
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
);
});

test('delete: only required params', async () => {
const responsePromise = client.addressing.prefixes.bgp.bindings.delete(
const responsePromise = client.addressing.prefixes.serviceBindings.delete(
'023e105f4ecef8ad9ca31a8372d0c353',
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
Expand All @@ -70,15 +72,15 @@ describe('resource bindings', () => {
});

test('delete: required and optional params', async () => {
const response = await client.addressing.prefixes.bgp.bindings.delete(
const response = await client.addressing.prefixes.serviceBindings.delete(
'023e105f4ecef8ad9ca31a8372d0c353',
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
);
});

test('get: only required params', async () => {
const responsePromise = client.addressing.prefixes.bgp.bindings.get(
const responsePromise = client.addressing.prefixes.serviceBindings.get(
'023e105f4ecef8ad9ca31a8372d0c353',
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
Expand All @@ -93,7 +95,7 @@ describe('resource bindings', () => {
});

test('get: required and optional params', async () => {
const response = await client.addressing.prefixes.bgp.bindings.get(
const response = await client.addressing.prefixes.serviceBindings.get(
'023e105f4ecef8ad9ca31a8372d0c353',
'023e105f4ecef8ad9ca31a8372d0c353',
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
Expand Down

0 comments on commit 66e2a04

Please sign in to comment.