Version 1
WickConfig
Root configuration that can be any one of the possible Wick configuration formats.
Any one of the following types:
LocationReference
A reference to a location on disk, URL, or registry.
Type: string
LiquidJsonValue
A liquid JSON value. Liquid-JSON is a way of using Liquid templates in structured JSON-like data.
See liquid-json and liquid’s website for more information.
Type: string
LiquidTemplate
A liquid template. Liquid-JSON is a way of using Liquid templates in structured JSON-like data. See liquid's [homepage](https://shopify.github.io/liquid/) for more information.
Type: string
Glob
A glob pattern, e.g. **/*.html
Type: string
AppConfiguration
Configuration for a standalone Wick application.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/app@v1" | Yes | |
metadata |
| Associated metadata for this application. | ||
package |
| Details about the package for this application. | ||
resources |
| Resources and configuration that the application and its components can access. | ||
import |
| Components that to import and make available to the application. | ||
triggers |
| Triggers to load and instantiate to drive the application’s behavior. |
Metadata
Metadata to associate with an artifact.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
version |
| The version of the artifact. | ||
authors |
| A list of the authors. | ||
vendors |
| A list of any vendors associated with the artifact. | ||
description |
| A short description. | ||
documentation |
| Where to find documentation. | ||
licenses |
| The license(s) for the artifact. | ||
icon |
| An icon to associate with the artifact. |
PackageDefinition
Configuration for packaging and publishing Wick configurations.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
files |
| The list of files and folders to be included with the package. | ||
registry |
| Configuration for publishing the package to a registry. |
RegistryDefinition
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
host |
| The registry to publish to, e.g. registry.candle.dev | ||
namespace |
| The namespace on the registry. e.g.: [your username] |
ResourceBinding
An identifier bound to a resource.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the binding. | Yes | |
resource |
| The resource to bind to. | Yes |
ImportBinding
An identifier bound to an imported component or type manifest.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the binding. | Yes | |
component |
| The import to bind to. | Yes |
ResourceDefinition
The possible types of resources. Resources are system-level resources and sensitive configuration.
Any one of the following types:
TcpPort
A TCP port to bind to.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/tcpport@v1" | Yes | |
address |
| The address to bind to. |
UdpPort
A UDP port to bind to.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/udpport@v1" | Yes | |
address |
| The address to bind to. |
Volume
A filesystem or network volume resource.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/volume@v1" | Yes |
Url
A URL configured as a resource.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/url@v1" | Yes |
TriggerDefinition
Triggers that operate off events and translate environment data to components. Triggers are the way that Wick handles standard use cases and translates them into the component world.
Any one of the following types:
CliTrigger
A trigger that runs when an application is called via the command line.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/trigger/cli@v1" | Yes |
TimeTrigger
A trigger that runs on a schedule similar to cron.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/trigger/time@v1" | Yes | |
operation |
| The operation to execute on the schedule. | Yes | Yes |
payload |
| Values passed to the operation as inputs |
OperationInput
Input to use when calling an operation
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the input. | Yes | |
value |
| The value to pass. | Yes |
Schedule
The schedule to run the Time trigger with.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
cron |
| Schedule in cron format with second precision. See cron.help for more information. | Yes | |
repeat |
| repeat n times. Use 0 to repeat indefinitely |
ComponentOperationExpression
A reference to an operation. This type can be shortened to
This type can be abbreviated with shortform syntaxcomponent_id::operation_name
with the short-form syntax.Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
component |
| The component that exports the operation. | Yes | Yes |
name |
| The operation name. | Yes | |
with |
| Configuration to pass to this operation on invocation. | ||
timeout |
| Timeout (in milliseconds) to wait for the operation to complete. Use 0 to wait indefinitely. |
HttpTrigger
An HTTP server that delegates to HTTP routers on every request.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/trigger/http@v1" | Yes | |
routers |
| The router to handle incoming requests |
HttpRouter
The types of routers that can be configured on the HttpTrigger.
Any one of the following types:
ProxyRouter
A router that proxies to the configured URL when the path matches.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/router/proxy@v1" | Yes | |
middleware |
| Middleware operations for this router. | ||
url |
| The URL resource to proxy to. | Yes | |
strip_path |
| Whether or not to strip the router’s path from the proxied request. |
RestRouter
A router that can be configured to delegate to specific operations on a per-route, per-method basis.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/router/rest@v1" | Yes | |
tools |
| Additional tools and services to enable. | ||
middleware |
| Middleware operations for this router. | ||
routes |
| The routes to serve and operations that handle them. | ||
info |
| Information about the router to use when generating documentation and other tools. |
Route
A route to serve and the operation that handles it.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
sub_path |
| The path to serve this route from. See URI documentation for more information on specifying query and path parameters. | Yes | |
operation |
| The operation that will act as the main entrypoint for this route. | Yes | Yes |
methods |
| The HTTP methods to serve this route for. | ||
id |
| The unique ID of the route, used for documentation and tooling. | ||
description |
| A short description of the route. | ||
summary |
| A longer description of the route. |
Tools
Additional tools and services to enable.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
openapi |
| Set to true to generate an OpenAPI specification and serve it at router_path/openapi.json |
Info
Information about the router to use when generating documentation and other tools.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
title |
| The title of the API. | ||
description |
| A short description of the API. | ||
tos |
| The terms of service for the API. | ||
contact |
| The contact information for the API. | ||
license |
| The license information for the API. | ||
version |
| The version of the API. | ||
documentation |
| The URL to the API’s terms of service. |
Documentation
Information about where and how the API is documented.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
url |
| The URL to the API’s documentation. | ||
description |
| A short description of the documentation. |
License
Any licensing information for the API.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the license. | Yes | |
url |
| The URL to the license. |
Contact
Contact information to expose for the API.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the contact. | ||
url |
| The URL to the contact. | ||
email |
| The email address of the contact. |
StaticRouter
A router that serves static files.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/router/static@v1" | Yes | |
middleware |
| Middleware operations for this router. | ||
volume |
| The volume to serve static files from. | Yes | |
fallback |
| Fallback path (relative to volume resource ) for files to serve in case of a 404. Useful for SPA’s. if volume resource is: /www and fallback: index.html, then a 404 will serve /www/index.html | ||
indexes |
| Whether or not to serve directory listings when a directory is requested. |
RawRouter
A router that delegates all requests to the configured operation, optionally encoding/decoding based on the specified codec.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/router/raw@v1" | Yes | |
middleware |
| Middleware operations for this router. | ||
codec |
| The codec to use when encoding/decoding data. | ||
operation |
| The operation that handles HTTP requests. | Yes | Yes |
Middleware
Request and response operations that run before and after the main operation.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
request |
| The middleware to apply to requests. | ||
response |
| The middleware to apply to responses. |
TypesConfiguration
A type definition for a Wick Components and Operations
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/types@v1" | Yes | |
metadata |
| Associated metadata for this type. | ||
types |
| Additional types to export and make available to the type. | ||
operations |
| A list of operation signatures. | ||
package |
| Details about the package for this types. |
TestConfiguration
A configuration for a Wick Component
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/tests@v1" | Yes | |
with |
| Configuration used to instantiate this component. | ||
cases |
| Unit tests to run against components and operations. |
LockdownConfiguration
A lockdown configuration used to secure Wick components and applications
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/lockdown@v1" | Yes | |
resources |
| Restrictions to apply to resources before an application or component can be run. |
ResourceRestriction
Restrictions to assert against an application or component.
Any one of the following types:
VolumeRestriction
Restrictions to apply against Volume resources
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/volume@v1" | Yes | |
allow |
| The volumes to allow | Yes |
UrlRestriction
Restrictions to apply against URL resources
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/url@v1" | Yes | |
allow |
| The URLs to allow | Yes |
TcpPortRestriction
Restrictions to apply against TCP Port resources
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/tcpport@v1" | Yes | |
address |
| The address to allow | Yes | |
port |
| The port to allow | Yes |
UdpPortRestriction
Restrictions to apply against UDP Port resources
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/resource/udpport@v1" | Yes | |
address |
| The address to allow | Yes | |
port |
| The port to allow | Yes |
ComponentConfiguration
A configuration for a Wick Component
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component@v1" | Yes | |
metadata |
| Associated metadata for this component. | ||
package |
| Details about the package for this component. | ||
host |
| Configuration for when wick hosts this component as a service. | ||
resources |
| Resources that the component can access. | ||
import |
| Components or types to import into this component’s scope. | ||
types |
| Additional types to export and make available to the component. | ||
requires |
| Interfaces the component requires to operate. | ||
component |
| Configuration specific to different kinds of components. | Yes | |
tests |
| Assertions that can be run against the component to validate its behavior. |
InterfaceBinding
An interface bound to an ID. Used in the require/provide relationship between components.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the interface. | Yes | |
interface |
| The interface to bind to. | Yes |
InterfaceDefinition
A interface definition. Used as a signature that components can require or provide.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
types |
| Types used by the interface’s operations | ||
operations |
| A list of operations defined by this interface. |
CompositeComponentConfiguration
A component made from connectiong other components.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/composite@v1" | Yes | |
with |
| Configuration necessary to provide when instantiating the component. | ||
extends |
| A component or components whose operations you want to inherit from. |
WasmComponentConfiguration
A component whose implementation is a WasmRS WebAssembly module.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/wasmrs@v1" | Yes | |
volumes |
| Volumes to expose to the component. | ||
max_packet_size |
| The default size to allocate to the component’s send/receive buffer. | ||
with |
| Configuration necessary to provide when instantiating the component. | ||
operations |
| A list of operations implemented by the WebAssembly module. |
ExposedVolume
Volumes to expose to a component and the internal paths they map to.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
resource |
| The resource ID of the volume. | Yes | |
path |
| The path to map it to in the component. | Yes |
ComponentKind
Root component types. These are the components that can be instantiated and run.
Any one of the following types:
ImportDefinition
Types of possible imports.
Any one of the following types:
ComponentDefinition
Component types used when referencing operations or linking components.
Any one of the following types:
TypesComponent
A types configuration to import into this component's scope.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/types@v1" | Yes | |
types |
| The types to import from the manifest. |
ComponentReference
A reference to a component in the application's scope.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/reference@v1" | Yes |
HostConfig
Host configuration options.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
allow_latest |
| Whether or not to allow the :latest tag on remote artifacts. | ||
insecure_registries |
| A list of registries to connect to insecurely (over HTTP vs HTTPS). | ||
rpc |
| Configuration for the GRPC server. |
HttpConfig
Configuration for the GRPC service.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
enabled |
| Enable/disable the server. | ||
port |
| The port to bind to. | ||
address |
| The address to bind to. | ||
pem |
| Path to pem file for TLS. | ||
key |
| Path to key file for TLS. | ||
ca |
| Path to CA file. |
GrpcUrlComponent
A component hosted as an independent microservice.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/grpc@v1" | Yes | |
with |
| Any configuration necessary for the component. |
ManifestComponent
A configuration defined in a Wick component manifest.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/manifest@v1" | Yes | |
with |
| Any configuration necessary for the component. | ||
provide |
| External components to provide to the referenced component. | ||
max_packet_size |
| If applicable, the default size to allocate to the component’s send/receive buffer. |
CompositeOperationDefinition
Composite operations are operations whose implementations come from connecting other operations into a flow or series of pipelines.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the operation. | ||
with |
| Any configuration required by the operation. | ||
inputs |
| Types of the inputs to the operation. | ||
outputs |
| Types of the outputs to the operation. | ||
uses |
| A map of IDs to specific operations. | ||
flow |
| A list of connections from operation to operation. | ||
operations |
| Additional CompositeOperationDefinition s to define as children. |
FlowExpression
A flow operation, i.e. a connection from one operation's outputs to another's inputs.
This type can be abbreviated with shortform syntaxAny one of the following types:
BlockExpression
A list of FlowExpressions. Typically used only when expanding a shortform `FlowExpression` into multiple `FlowExpression`s.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
expressions |
|
ConnectionDefinition
A connection between Operations and their ports. This can be specified in short-form syntax.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
from |
| An upstream operation’s output. | Yes | |
to |
| A downstream operation’s input. | Yes |
ConnectionTargetDefinition
A connection target e.g. a specific input or output on an operation instance. This can be specified in shortform syntax.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
instance |
| The instance ID of the component operation. | Yes | |
port |
| The operation’s input or output (depending on to/from). | ||
data |
| The default value to provide on this connection in the event of an error. |
OperationDefinition
An operation name and its input and output signatures
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the operation. | ||
with |
| Any configuration required by the operation. | ||
inputs |
| Types of the inputs to the operation. | ||
outputs |
| Types of the outputs to the operation. |
Field
Field definition with a name and type signature
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the field. | Yes | |
type |
| The type signature of the field. | Yes | |
description |
| The description of the field. |
TypeSignature
This type can be abbreviated with shortform syntax
Any one of the following types:
I8
Field name | Type | Description | Required? | Shortform? |
---|
I16
Field name | Type | Description | Required? | Shortform? |
---|
I32
Field name | Type | Description | Required? | Shortform? |
---|
I64
Field name | Type | Description | Required? | Shortform? |
---|
U8
Field name | Type | Description | Required? | Shortform? |
---|
U16
Field name | Type | Description | Required? | Shortform? |
---|
U32
Field name | Type | Description | Required? | Shortform? |
---|
U64
Field name | Type | Description | Required? | Shortform? |
---|
F32
Field name | Type | Description | Required? | Shortform? |
---|
F64
Field name | Type | Description | Required? | Shortform? |
---|
Bool
Field name | Type | Description | Required? | Shortform? |
---|
StringType
Field name | Type | Description | Required? | Shortform? |
---|
Datetime
Field name | Type | Description | Required? | Shortform? |
---|
Bytes
Field name | Type | Description | Required? | Shortform? |
---|
Custom
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the custom type. |
Optional
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
type |
| Yes |
List
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
type |
| Yes |
Map
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
key |
| Yes | ||
value |
| Yes |
Object
Field name | Type | Description | Required? | Shortform? |
---|
TypeDefinition
A Struct or Enum type definition.
Any one of the following types:
StructSignature
A struct definition of named fields and types.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/type/struct@v1" | Yes | |
fields |
| The fields in this struct. | ||
description |
| The description of the struct. |
UnionSignature
An enum definition of named variants.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/type/union@v1" | Yes | |
types |
| The types in the union. | ||
description |
| The description of the union. |
EnumSignature
An enum definition of named variants.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/type/enum@v1" | Yes | |
variants |
| The variants in the enum. | ||
description |
| The description of the enum. |
EnumVariant
An enum variant.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the variant. | ||
index |
| The index of the variant. | ||
value |
| The optional value of the variant. | ||
description |
| A description of the variant. |
OperationInstance
An identifier bound to a component's operation.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the binding. | Yes | |
operation |
| The operation to bind to. | Yes | Yes |
with |
| Data to associate with the reference, if any. | ||
timeout |
| Timeout (in milliseconds) to wait for the operation to complete. Use 0 to wait indefinitely. |
TestDefinition
A test case for a component's operation.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the test. | ||
operation |
| The operaton to test. | Yes | |
inherent |
| Inherent data to use for the test. | ||
with |
| The configuration for the operation, if any. | ||
inputs |
| The inputs to the test. | ||
outputs |
| The expected outputs of the operation. |
InherentData
Data inherent to all invocations.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
seed |
| A random seed, i.e. to initialize a random number generator. | ||
timestamp |
| A timestamp. |
PacketData
Either a success packet or an error packet.
Any one of the following types:
TestPacketData
Packet assertions.
Any one of the following types:
SuccessPacket
A simplified representation of a Wick data packet & payload, used when writing tests.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the input or output this packet is going to or coming from. | Yes | |
flags |
| Any flags set on the packet. Deprecated, use ‘flag:’ instead | ||
flag |
| The flag set on the packet. | ||
value |
| The packet payload. |
PacketAssertionDef
A test case for a component's operation that uses loose equality for comparing data.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the input or output this packet is going to or coming from. | Yes | |
assertions |
| An assertion to test against the packet. |
PacketAssertion
A packet assertion.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
path |
| The optional path to a value in the packet to assert against. | ||
operator |
| The operation to use when asserting against a packet. | Yes | |
value |
| A value or object combine with the operator to assert against a packet value. | Yes |
AssertionOperator
An operation that drives the logic in a packet assertion.
Field name | Type | Description |
---|---|---|
Equals | unknown type | |
LessThan | unknown type | |
GreaterThan | unknown type | |
Regex | unknown type | |
Contains | unknown type |
ErrorPacket
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the input or output this packet is going to or coming from. | Yes | |
flags |
| Any flags set on the packet. Deprecated, use ‘flag:’ instead | ||
flag |
| The flag set on the packet. | ||
error |
| The error message. | Yes |
PacketFlags
Flags set on a packet.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
done |
| Indicates the port should be considered closed. | ||
open |
| Indicates the opening of a new substream context within the parent stream. | ||
close |
| Indicates the closing of a substream context within the parent stream. |
PacketFlag
Possible flags that can be set on a packet.
Field name | Type | Description |
---|---|---|
Done | unknown type | Indicates the port should be considered closed. |
Open | unknown type | Indicates the opening of a new substream context within the parent stream. |
Close | unknown type | Indicates the closing of a substream context within the parent stream. |
SqlComponent
A dynamic component whose operations are SQL queries to a database.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/sql@v1" | Yes | |
tls |
| Whether or not to use TLS. | ||
with |
| Configuration necessary to provide when instantiating the component. | ||
operations |
| A list of operations to expose on this component. |
SqlQueryKind
Any one of the following types:
SqlQueryOperationDefinition
A dynamic operation whose implementation is a SQL query.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the operation. | ||
with |
| Any configuration required by the operation. | ||
inputs |
| Types of the inputs to the operation. | ||
outputs |
| Types of the outputs to the operation. | ||
query |
| The query to execute. | Yes | |
arguments |
| The positional arguments to the query, defined as a list of input names. | ||
on_error |
| What to do when an error occurs. |
SqlExecOperationDefinition
A dynamic operation whose implementation is a SQL query that returns the number of rows affected or failure.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the operation. | ||
with |
| Any configuration required by the operation. | ||
inputs |
| Types of the inputs to the operation. | ||
outputs |
| Types of the outputs to the operation. | ||
exec |
| The query to execute. | Yes | |
arguments |
| The positional arguments to the query, defined as a list of input names. | ||
on_error |
| What to do when an error occurs. |
ErrorBehavior
What to do when an error occurs.
Field name | Type | Description |
---|---|---|
Ignore | unknown type | Errors will be ignored. |
Commit | unknown type | The operation will commit what has succeeded. |
Rollback | unknown type | The operation will rollback changes. |
HttpClientComponent
A component whose operations are HTTP requests.
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
kind | string | must be "wick/component/http@v1" | Yes | |
codec |
| The codec to use when encoding/decoding data. Can be overridden by individual operations. | ||
proxy |
| The proxy HTTP / HTTPS to use. | ||
timeout |
| The timeout in seconds | ||
with |
| Configuration necessary to provide when instantiating the component. | ||
operations |
| A list of operations to expose on this component. |
Proxy
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
resource |
| The URL base to use. http, https are supported. | ||
username |
| The username to use when authenticating with the proxy. | ||
password |
| The password to use when authenticating with the proxy. |
HttpClientOperationDefinition
A dynamic operation whose implementation is an HTTP request. The outputs of HttpClientOperationDefinition are always `response` & `body`
Field name | Type | Description | Required? | Shortform? |
---|---|---|---|---|
name |
| The name of the operation. | ||
with |
| Any configuration required by the operation. | ||
inputs |
| Types of the inputs to the operation. | ||
method |
| The HTTP method to use. | ||
codec |
| The codec to use when encoding/decoding data. | ||
headers |
| Any headers to add to the request. | ||
body |
| The body to send, processed as a structured JSON liquid template. | ||
path |
| The path to append to our base URL, processed as a liquid template with each input as part of the template data. |
Codec
Codec to use when encoding/decoding data.
Field name | Type | Description |
---|---|---|
Json | unknown type | JSON data |
Raw | unknown type | Raw bytes |
FormData | unknown type | Form Data |
Text | unknown type | Raw text |
HttpMethod
Supported HTTP methods
Field name | Type | Description |
---|---|---|
Get | unknown type | GET method |
Post | unknown type | POST method |
Put | unknown type | PUT method |
Delete | unknown type | DELETE method |