Skip to content

Commit

Permalink
feat(api): OpenAPI spec update via Stainless API (#389)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed May 7, 2024
1 parent 2e6c806 commit 3fc0ac5
Show file tree
Hide file tree
Showing 9 changed files with 5 additions and 494 deletions.
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 1266
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-c4098fcb3861719a0115fe0bd93ede436f466e42ea623f1ed1feeb1f126d9c3d.yml
configured_endpoints: 1259
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-eaeee7cb7327c83a8a9dca926a685e6e2aedc0f64ede2722f8a9004610dc8b3a.yml
26 changes: 0 additions & 26 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6285,36 +6285,10 @@ Methods:

# Snippets

Types:

- <code><a href="./src/resources/snippets/snippets.ts">Snippet</a></code>
- <code><a href="./src/resources/snippets/snippets.ts">SnippetDeleteResponse</a></code>

Methods:

- <code title="put /zones/{zone_identifier}/snippets/{snippet_name}">client.snippets.<a href="./src/resources/snippets/snippets.ts">update</a>(zoneIdentifier, snippetName, { ...params }) -> Snippet</code>
- <code title="get /zones/{zone_identifier}/snippets">client.snippets.<a href="./src/resources/snippets/snippets.ts">list</a>(zoneIdentifier) -> SnippetsSinglePage</code>
- <code title="delete /zones/{zone_identifier}/snippets/{snippet_name}">client.snippets.<a href="./src/resources/snippets/snippets.ts">delete</a>(zoneIdentifier, snippetName) -> SnippetDeleteResponse</code>
- <code title="get /zones/{zone_identifier}/snippets/{snippet_name}">client.snippets.<a href="./src/resources/snippets/snippets.ts">get</a>(zoneIdentifier, snippetName) -> Snippet</code>

## Content

Methods:

- <code title="get /zones/{zone_identifier}/snippets/{snippet_name}/content">client.snippets.content.<a href="./src/resources/snippets/content.ts">get</a>(zoneIdentifier, snippetName) -> Response</code>

## Rules

Types:

- <code><a href="./src/resources/snippets/rules.ts">RuleUpdateResponse</a></code>
- <code><a href="./src/resources/snippets/rules.ts">RuleListResponse</a></code>

Methods:

- <code title="put /zones/{zone_identifier}/snippets/snippet_rules">client.snippets.rules.<a href="./src/resources/snippets/rules.ts">update</a>(zoneIdentifier, { ...params }) -> RuleUpdateResponse</code>
- <code title="get /zones/{zone_identifier}/snippets/snippet_rules">client.snippets.rules.<a href="./src/resources/snippets/rules.ts">list</a>(zoneIdentifier) -> RuleListResponsesSinglePage</code>

# Calls

Types:
Expand Down
14 changes: 1 addition & 13 deletions src/resources/snippets/content.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import { type Response } from 'cloudflare/_shims/index';

export class Content extends APIResource {
/**
* Snippet Content
*/
get(zoneIdentifier: string, snippetName: string, options?: Core.RequestOptions): Core.APIPromise<Response> {
return this._client.get(`/zones/${zoneIdentifier}/snippets/${snippetName}/content`, {
...options,
__binaryResponse: true,
});
}
}
export class Content extends APIResource {}
8 changes: 1 addition & 7 deletions src/resources/snippets/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

export { Content } from './content';
export {
RuleUpdateResponse,
RuleListResponse,
RuleUpdateParams,
RuleListResponsesSinglePage,
Rules,
} from './rules';
export { Rules } from './rules';
export { Snippets } from './snippets';
109 changes: 1 addition & 108 deletions src/resources/snippets/rules.ts
Original file line number Diff line number Diff line change
@@ -1,112 +1,5 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import { isRequestOptions } from 'cloudflare/core';
import * as RulesAPI from 'cloudflare/resources/snippets/rules';
import { SinglePage } from 'cloudflare/pagination';

export class Rules extends APIResource {
/**
* Put Rules
*/
update(
zoneIdentifier: string,
body?: RuleUpdateParams,
options?: Core.RequestOptions,
): Core.APIPromise<RuleUpdateResponse>;
update(zoneIdentifier: string, options?: Core.RequestOptions): Core.APIPromise<RuleUpdateResponse>;
update(
zoneIdentifier: string,
body: RuleUpdateParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.APIPromise<RuleUpdateResponse> {
if (isRequestOptions(body)) {
return this.update(zoneIdentifier, {}, body);
}
return (
this._client.put(`/zones/${zoneIdentifier}/snippets/snippet_rules`, {
body,
...options,
}) as Core.APIPromise<{ result: RuleUpdateResponse }>
)._thenUnwrap((obj) => obj.result);
}

/**
* Rules
*/
list(
zoneIdentifier: string,
options?: Core.RequestOptions,
): Core.PagePromise<RuleListResponsesSinglePage, RuleListResponse> {
return this._client.getAPIList(
`/zones/${zoneIdentifier}/snippets/snippet_rules`,
RuleListResponsesSinglePage,
options,
);
}
}

export class RuleListResponsesSinglePage extends SinglePage<RuleListResponse> {}

/**
* List of snippet rules
*/
export type RuleUpdateResponse = Array<RuleUpdateResponse.RuleUpdateResponseItem>;

export namespace RuleUpdateResponse {
export interface RuleUpdateResponseItem {
description?: string;

enabled?: boolean;

expression?: string;

/**
* Snippet identifying name
*/
snippet_name?: string;
}
}

export interface RuleListResponse {
description?: string;

enabled?: boolean;

expression?: string;

/**
* Snippet identifying name
*/
snippet_name?: string;
}

export interface RuleUpdateParams {
/**
* List of snippet rules
*/
rules?: Array<RuleUpdateParams.Rule>;
}

export namespace RuleUpdateParams {
export interface Rule {
description?: string;

enabled?: boolean;

expression?: string;

/**
* Snippet identifying name
*/
snippet_name?: string;
}
}

export namespace Rules {
export import RuleUpdateResponse = RulesAPI.RuleUpdateResponse;
export import RuleListResponse = RulesAPI.RuleListResponse;
export import RuleListResponsesSinglePage = RulesAPI.RuleListResponsesSinglePage;
export import RuleUpdateParams = RulesAPI.RuleUpdateParams;
}
export class Rules extends APIResource {}
114 changes: 0 additions & 114 deletions src/resources/snippets/snippets.ts
Original file line number Diff line number Diff line change
@@ -1,129 +1,15 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import { isRequestOptions } from 'cloudflare/core';
import * as ContentAPI from 'cloudflare/resources/snippets/content';
import * as RulesAPI from 'cloudflare/resources/snippets/rules';
import { multipartFormRequestOptions } from 'cloudflare/core';
import { SinglePage } from 'cloudflare/pagination';

export class Snippets extends APIResource {
content: ContentAPI.Content = new ContentAPI.Content(this._client);
rules: RulesAPI.Rules = new RulesAPI.Rules(this._client);

/**
* Put Snippet
*/
update(
zoneIdentifier: string,
snippetName: string,
body?: SnippetUpdateParams,
options?: Core.RequestOptions,
): Core.APIPromise<Snippet>;
update(
zoneIdentifier: string,
snippetName: string,
options?: Core.RequestOptions,
): Core.APIPromise<Snippet>;
update(
zoneIdentifier: string,
snippetName: string,
body: SnippetUpdateParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.APIPromise<Snippet> {
if (isRequestOptions(body)) {
return this.update(zoneIdentifier, snippetName, {}, body);
}
return (
this._client.put(
`/zones/${zoneIdentifier}/snippets/${snippetName}`,
multipartFormRequestOptions({ body, ...options }),
) as Core.APIPromise<{ result: Snippet }>
)._thenUnwrap((obj) => obj.result);
}

/**
* All Snippets
*/
list(zoneIdentifier: string, options?: Core.RequestOptions): Core.PagePromise<SnippetsSinglePage, Snippet> {
return this._client.getAPIList(`/zones/${zoneIdentifier}/snippets`, SnippetsSinglePage, options);
}

/**
* Delete Snippet
*/
delete(
zoneIdentifier: string,
snippetName: string,
options?: Core.RequestOptions,
): Core.APIPromise<SnippetDeleteResponse> {
return (
this._client.delete(`/zones/${zoneIdentifier}/snippets/${snippetName}`, options) as Core.APIPromise<{
result: SnippetDeleteResponse;
}>
)._thenUnwrap((obj) => obj.result);
}

/**
* Snippet
*/
get(zoneIdentifier: string, snippetName: string, options?: Core.RequestOptions): Core.APIPromise<Snippet> {
return (
this._client.get(`/zones/${zoneIdentifier}/snippets/${snippetName}`, options) as Core.APIPromise<{
result: Snippet;
}>
)._thenUnwrap((obj) => obj.result);
}
}

export class SnippetsSinglePage extends SinglePage<Snippet> {}

/**
* Snippet Information
*/
export interface Snippet {
/**
* Creation time of the snippet
*/
created_on?: string;

/**
* Modification time of the snippet
*/
modified_on?: string;

/**
* Snippet identifying name
*/
snippet_name?: string;
}

export type SnippetDeleteResponse = unknown | Array<unknown> | string;

export interface SnippetUpdateParams {
/**
* Content files of uploaded snippet
*/
files?: string;

metadata?: SnippetUpdateParams.Metadata;
}

export namespace SnippetUpdateParams {
export interface Metadata {
/**
* Main module name of uploaded snippet
*/
main_module?: string;
}
}

export namespace Snippets {
export import Content = ContentAPI.Content;
export import Rules = RulesAPI.Rules;
export import RuleUpdateResponse = RulesAPI.RuleUpdateResponse;
export import RuleListResponse = RulesAPI.RuleListResponse;
export import RuleListResponsesSinglePage = RulesAPI.RuleListResponsesSinglePage;
export import RuleUpdateParams = RulesAPI.RuleUpdateParams;
}
21 changes: 0 additions & 21 deletions tests/api-resources/snippets/content.test.ts

This file was deleted.

Loading

0 comments on commit 3fc0ac5

Please sign in to comment.