Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions fern/products/sdks/overview/csharp/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,59 +18,59 @@ groups:

## SDK configuration options

<ParamField path="namespace" type="string" required={false}>
<ParamField path="namespace" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="base-api-exception-class-name" type="string" required={false}>
<ParamField path="base-api-exception-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="base-exception-class-name" type="string" required={false}>
<ParamField path="base-exception-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="client-class-name" type="string" required={false}>
<ParamField path="client-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="environment-class-name" type="string" required={false}>
<ParamField path="environment-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="exported-client-class-name" type="string" required={false}>
<ParamField path="exported-client-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="explicit-namespaces" type="boolean" required={false}>
<ParamField path="explicit-namespaces" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="inline-path-parameters" type="boolean" required={false}>
<ParamField path="inline-path-parameters" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="read-only-memory-types" type="List<string>" required={false}>
<ParamField path="read-only-memory-types" type="List<string>" required={false} toc={true}>
</ParamField>

<ParamField path="root-namespace-for-core-classes" type="boolean" required={false}>
<ParamField path="root-namespace-for-core-classes" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="use-discriminated-unions" type="boolean" required={false}>
<ParamField path="use-discriminated-unions" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="root-client-class-access" type="'public' | 'internal'" required={false}>
<ParamField path="root-client-class-access" type="'public' | 'internal'" required={false} toc={true}>
</ParamField>

<ParamField path="custom-pager-name" type="string" required={false}>
<ParamField path="custom-pager-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="enable-forward-compatible-enums" type="boolean" required={false}>
<ParamField path="enable-forward-compatible-enums" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="additional-properties" type="boolean" required={false}>
<ParamField path="additional-properties" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="generate-error-types" type="boolean" required={false}>
<ParamField path="generate-error-types" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="package-id" type="string" required={false}>
<ParamField path="package-id" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="generate-mock-server-tests" type="boolean" required={false}>
<ParamField path="generate-mock-server-tests" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="include-exception-handler" type="boolean" required={false}>
<ParamField path="include-exception-handler" type="boolean" required={false} toc={true}>
</ParamField>
26 changes: 13 additions & 13 deletions fern/products/sdks/overview/go/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ groups:

## SDK Configuration Options

<ParamField path="module" type="ModuleConfigSchema" required={false}>
<ParamField path="module" type="ModuleConfigSchema" required={false} toc={true}>
Use this option if you plan to distribute the generated Go SDK as a separate, published Go module.

<Note>If you only plan to use the generated SDK within your own Go module, use the `importPath` configuration option instead.</Note>
Expand Down Expand Up @@ -79,10 +79,10 @@ replace "github.com/your/sdk" v0.0.0 => "path/to/generated/sdk"

</ParamField>

<ParamField path="packageName" type="string" required={false}>
<ParamField path="packageName" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="importPath" type="string" required={false}>
<ParamField path="importPath" type="string" required={false} toc={true}>
Use this option if you plan to depend on the generated Go SDK from within your project, and **not** depend on it as a separate, published Go module.

<Note>If you plan to to distribute the generated Go SDK as a separate, published Go module, use the `module` configuration option instead.</Note>
Expand All @@ -108,32 +108,32 @@ with the relevant elements in your `go.mod` path. In this case, the generated Go

</ParamField>

<ParamField path="alwaysSendRequiredProperties" type="boolean" required={false}>
<ParamField path="alwaysSendRequiredProperties" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="clientConstructorName" type="string" required={false}>
<ParamField path="clientConstructorName" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="clientName" type="string" required={false}>
<ParamField path="clientName" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="exportedClientName" type="string" required={false}>
<ParamField path="exportedClientName" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="includeLegacyClientOptions" type="boolean" required={false}>
<ParamField path="includeLegacyClientOptions" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="inlinePathParameters" type="boolean" required={false}>
<ParamField path="inlinePathParameters" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="inlineFileProperties" type="boolean" required={false}>
<ParamField path="inlineFileProperties" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="packageLayout" type="'flat' | 'nested'" required={false}>
<ParamField path="packageLayout" type="'flat' | 'nested'" required={false} toc={true}>
</ParamField>

<ParamField path="union" type="'v0' | 'v1'" required={false}>
<ParamField path="union" type="'v0' | 'v1'" required={false} toc={true}>
</ParamField>

<ParamField path="useReaderForBytesRequest" type="boolean" required={false}>
<ParamField path="useReaderForBytesRequest" type="boolean" required={false} toc={true}>
</ParamField>
32 changes: 16 additions & 16 deletions fern/products/sdks/overview/java/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ groups:

## SDK Configuration Options

<ParamField path="client-class-name" type="string" default="<Organization>ApiClient" required={false}>
<ParamField path="client-class-name" type="string" default="<Organization>ApiClient" required={false} toc={true}>

The provided string will be used as the client class name.
</ParamField>

<ParamField path="base-api-exception-class-name" type="string" required={false}>
<ParamField path="base-api-exception-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="base-exception-class-name" type="string" required={false}>
<ParamField path="base-exception-class-name" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="custom-dependencies" type="List<string>" required={false}>
<ParamField path="custom-dependencies" type="List<string>" required={false} toc={true}>

Example:

Expand All @@ -41,44 +41,44 @@ Example:

</ParamField>

<ParamField path="publish-to" type="'central' | 'ossrh'" required={false}>
<ParamField path="publish-to" type="'central' | 'ossrh'" required={false} toc={true}>
</ParamField>

<ParamField path="inline-file-properties" type="boolean" default="false" required={false}>
<ParamField path="inline-file-properties" type="boolean" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="wrapped-aliases" type="boolean" default="false" required={false}>
<ParamField path="wrapped-aliases" type="boolean" default="false" required={false} toc={true}>
When enabled, generates wrapper types for each alias to increase type-safety.
For example, if you have an alias `ResourceId: string` then if this is true, the
generator will generate a `ResourceId.java` file. If false, it will just treat it
as `java.util.String`.
</ParamField>

<ParamField path="enable-forward-compatible-enums" type="boolean" default="false" required={false}>
<ParamField path="enable-forward-compatible-enums" type="boolean" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="generate-unknown-as-json-node" type="boolean" default="false" required={false}>
<ParamField path="generate-unknown-as-json-node" type="boolean" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="json-include" type="'non-empty' | 'non-absent'" default="non-absent" required={false}>
<ParamField path="json-include" type="'non-empty' | 'non-absent'" default="non-absent" required={false} toc={true}>
</ParamField>

<ParamField path="enable-public-constructors" type="boolean" default="false" required={false}>
<ParamField path="enable-public-constructors" type="boolean" default="false" required={false} toc={true}>

When enabled, generates public constructors for model types.
</ParamField>

<ParamField path="disable-required-property-builder-checks" type="boolean" default="false" required={false}>
<ParamField path="disable-required-property-builder-checks" type="boolean" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="inline-path-parameters" type="boolean" default="false" required={false}>
<ParamField path="inline-path-parameters" type="boolean" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="enable-inline-types" type="boolean" default="false" required={false}>
<ParamField path="enable-inline-types" type="boolean" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="package-prefix" type="string" required={false}>
<ParamField path="package-prefix" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="package-layout" type="'nested' | 'flat'" default="nested" required={false}>
<ParamField path="package-layout" type="'nested' | 'flat'" default="nested" required={false} toc={true}>
</ParamField>
14 changes: 7 additions & 7 deletions fern/products/sdks/overview/php/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@ groups:

## SDK Configuration Options

<ParamField path="clientName" type="string" required={false}>
<ParamField path="clientName" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="inlinePathParameters" type="boolean" required={false}>
<ParamField path="inlinePathParameters" type="boolean" required={false} toc={true}>
</ParamField>

<ParamField path="packageName" type="string" required={false}>
<ParamField path="packageName" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="packagePath" type="string" required={false}>
<ParamField path="packagePath" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="propertyAccess" type="'public' | 'private'" required={false}>
<ParamField path="propertyAccess" type="'public' | 'private'" required={false} toc={true}>
</ParamField>

<ParamField path="namespace" type="string" required={false}>
<ParamField path="namespace" type="string" required={false} toc={true}>
</ParamField>

<ParamField path="composerJson" type="Record<string, any>" required={false}>
<ParamField path="composerJson" type="Record<string, any>" required={false} toc={true}>
</ParamField>

54 changes: 27 additions & 27 deletions fern/products/sdks/overview/python/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ groups:

## SDK Configuration Options

<ParamField path="extra_dependencies" type="object" default="{}" required={false}>
<ParamField path="extra_dependencies" type="object" default="{}" required={false} toc={true}>
If you want to add custom dependencies to your generated SDK, you can specify them using this configuration. For example, to add a dependency on boto3, your config would look like:
```
config:
Expand All @@ -28,38 +28,38 @@ groups:
```
</ParamField>

<ParamField path="extra_dev_dependencies" type="object" default="{}" required={false}>
<ParamField path="extra_dev_dependencies" type="object" default="{}" required={false} toc={true}>
</ParamField>

<ParamField path="extras" type="object" default="{}" required={false}>
<ParamField path="extras" type="object" default="{}" required={false} toc={true}>
</ParamField>

<ParamField path="skip_formatting" type="bool" default="false" required={false}>
<ParamField path="skip_formatting" type="bool" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="client" type="ClientConfiguration" default="ClientConfiguration()" required={false}>
<ParamField path="client" type="ClientConfiguration" default="ClientConfiguration()" required={false} toc={true}>
</ParamField>

<ParamField path="include_union_utils" type="bool" default="false" required={false}>
<ParamField path="include_union_utils" type="bool" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="use_api_name_in_package" type="bool" default="false" required={false}>
<ParamField path="use_api_name_in_package" type="bool" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="package_name" type="string" default="null" required={false}>
<ParamField path="package_name" type="string" default="null" required={false} toc={true}>
</ParamField>

<ParamField path="timeout_in_seconds" type="number | 'infinity'" default="60" required={false}>
<ParamField path="timeout_in_seconds" type="number | 'infinity'" default="60" required={false} toc={true}>
By default, the generator generates a client that times out after 60 seconds. You can customize this value by providing a different number or setting to `infinity` to get rid of timeouts.
</ParamField>

<ParamField path="flat_layout" type="bool" default="false" required={false}>
<ParamField path="flat_layout" type="bool" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="pydantic_config" type="SdkPydanticModelCustomConfig" default="SdkPydanticModelCustomConfig()" required={false}>
<ParamField path="pydantic_config" type="SdkPydanticModelCustomConfig" default="SdkPydanticModelCustomConfig()" required={false} toc={true}>
</ParamField>

<ParamField path="pydantic_config.include_union_utils" type="bool" default="false" required={false}>
<ParamField path="pydantic_config.include_union_utils" type="bool" default="false" required={false} toc={true}>
When enabled, the generator will output a Pydantic `__root__` class that will contain utilities to visit the union. For example, for the following union type:

```
Expand All @@ -85,7 +85,7 @@ groups:
When enabled, the python generator will not run Black formatting in the generated code. Black is slow so this can potentially speed up code generation quite a bit.
</ParamField>

<ParamField path="pydantic_config.version" type="'v1' | 'v2' | 'both' | 'v1_on_v2'" default="both" required={false}>
<ParamField path="pydantic_config.version" type="'v1' | 'v2' | 'both' | 'v1_on_v2'" default="both" required={false} toc={true}>
By default, the generator generates pydantic models that are v1 and v2 compatible. However you can override them to:
- `v1`: strictly use Pydantic v1
- `v2`: strictly use Pydantic v2
Expand All @@ -100,55 +100,55 @@ groups:
```
</ParamField>

<ParamField path="additional_init_exports" type="array" default="null" required={false}>
<ParamField path="additional_init_exports" type="array" default="null" required={false} toc={true}>
</ParamField>

<ParamField path="exclude_types_from_init_exports" type="bool" default="false" required={false}>
<ParamField path="exclude_types_from_init_exports" type="bool" default="false" required={false} toc={true}>
</ParamField>

<ParamField path="improved_imports" type="bool" default="true" required={false}>
<ParamField path="improved_imports" type="bool" default="true" required={false} toc={true}>
Feature flag that improves imports in the Python SDK by removing nested `resources` directory
</ParamField>

<ParamField path="follow_redirects_by_default" type="bool" default="true" required={false}>
<ParamField path="follow_redirects_by_default" type="bool" default="true" required={false} toc={true}>
Whether to follow redirects by default in HTTP requests.
</ParamField>

<ParamField path="inline_request_params" type="bool" default="true" required={false}>
<ParamField path="inline_request_params" type="bool" default="true" required={false} toc={true}>
Feature flag that removes the usage of request objects, and instead uses parameters in function signatures where possible.
</ParamField>

<ParamField path="inline_path_params" type="bool" default="false" required={false}>
<ParamField path="inline_path_params" type="bool" default="false" required={false} toc={true}>
If true, treats path parameters as named parameters in endpoint functions.
</ParamField>

<ParamField path="should_generate_websocket_clients" type="bool" default="false" required={false}>
<ParamField path="should_generate_websocket_clients" type="bool" default="false" required={false} toc={true}>
Feature flag that enables generation of Python websocket clients.
</ParamField>

<ParamField path="pyproject_python_version" type="string" default="^3.8" required={false}>
<ParamField path="pyproject_python_version" type="string" default="^3.8" required={false} toc={true}>
<Warning>This changes your declared python dependency, which is not meant to be done often if at all. This is a last resort if any dependencies force you to change your version requirements.</Warning>
</ParamField>

<ParamField path="use_typeddict_requests" type="bool" default="false" required={false}>
<ParamField path="use_typeddict_requests" type="bool" default="false" required={false} toc={true}>
Whether or not to generate `TypedDicts` instead of Pydantic Models for request objects.
</ParamField>

<ParamField path="use_typeddict_requests_for_file_upload" type="bool" default="false" required={false}>
<ParamField path="use_typeddict_requests_for_file_upload" type="bool" default="false" required={false} toc={true}>
Whether or not to generate TypedDicts instead of Pydantic Models for file upload request objects. Note that this flag was only introduced due to an oversight in the `use_typeddict_requests` flag implementation; it should be removed in the future.
</ParamField>

<ParamField path="use_inheritance_for_extended_models" type="bool" default="true" required={false}>
<ParamField path="use_inheritance_for_extended_models" type="bool" default="true" required={false} toc={true}>
Whether to generate Pydantic models that implement inheritance when a model utilizes the Fern `extends` keyword.
</ParamField>

<ParamField path="pyproject_toml" type="string" default="null" required={false}>
<ParamField path="pyproject_toml" type="string" default="null" required={false} toc={true}>
</ParamField>

<ParamField path="default_bytes_stream_chunk_size" type="number" default="null" required={false}>
<ParamField path="default_bytes_stream_chunk_size" type="number" default="null" required={false} toc={true}>
The chunk size to use (if any) when processing a response bytes stream within `iter_bytes` or `aiter_bytes` results in: `for chunk in response.iter_bytes(chunk_size=<default_bytes_stream_chunk_size>):`
</ParamField>

<ParamField path="include_legacy_wire_tests" type="bool" default="false" required={false}>
<ParamField path="include_legacy_wire_tests" type="bool" default="false" required={false} toc={true}>
Whether or not to include legacy wire tests in the generated SDK
</ParamField>
Loading