pkg/server/proto/server.proto
Waypoint
UpdateAddOn updates an existing Add-on
Body Parameters
id
string
name
string
name
string
The new name of the Add-on.
CreateAddOn adds an Add-on to a project from an Add-on definition
Body Parameters
project
object
The project for which the Add-on is to be created
Project references a project.
definition
object
The Add-on definition from which this Add-on is to be created
name
string
name is the name of the Add-on
UpdateAddOnDefinition updates an existing Add-on definition
Body Parameters
id
string
name
string
name
string
Name of the Add-on definition
terraform_nocode_module
object
Terraform No Code module used for provisioning the Add-on
short_summary
string
Short description of the Add-on
long_summary
string
Longer description of the Add-on
readme_markdown_template
string
A templated README describing the Add-on
tags
string[]
tf_variable_set_ids
string[]
CreateAddOnDefinition creates a new Add-on definition
Body Parameters
name
string
Name of the Add-on definition
terraform_nocode_module
object
Terraform No Code module used for provisioning the Add-on
short_summary
string
Short description of the Add-on
long_summary
string
Longer description of the Add-on
readme_markdown_template
string
A templated README describing the Add-on
tags
string[]
tf_variable_set_ids
string[]
GetAddOnDefinition returns an Add-on definition, referenced by name or ID
Path Parameters
add_on_definition.id
string
RequiredQuery Parameters
add_on_definition.name
string
DeleteAddOnDefinition deletes an existing Add-on definition
Path Parameters
add_on_definition.id
string
RequiredQuery Parameters
add_on_definition.name
string
GetAddOnDefinition returns an Add-on definition, referenced by name or ID
Path Parameters
add_on_definition.name
string
RequiredQuery Parameters
add_on_definition.id
string
DeleteAddOnDefinition deletes an existing Add-on definition
Path Parameters
add_on_definition.name
string
RequiredQuery Parameters
add_on_definition.id
string
ListAddOnDefinitions returns all existing Add-on definitions
Query Parameters
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetAddOn returns an existing Add-on
Path Parameters
add_on.id
string
RequiredQuery Parameters
add_on.name
string
DestroyAddOn destroys an existing Add-on
Path Parameters
add_on.id
string
RequiredQuery Parameters
add_on.name
string
ListAddOns returns all existing Add-ons
Query Parameters
project.project
string
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetPushedArtifact returns a deployment
Path Parameters
ref.id
string
RequiredQuery Parameters
ref.sequence.application.application
string
ref.sequence.application.project
string
ref.sequence.number
string
UpsertAuthMethod upserts the auth method. All users logged in with this auth method will remain logged in even if settings change.
Body Parameters
auth_method
object
AuthMethod is a mechanism for authenticating to the Waypoint server. An AuthMethod deals with AuthN only: it provides identity and trades that for a Waypoint token.
GetAuthMethod returns the auth method.
Path Parameters
auth_method.name
string
RequiredDelete an auth method. This will invalidate all users authenticated using this auth method and they will have to reauthenticate some other way.
Path Parameters
auth_method.name
string
RequiredListAuthMethods returns a list of all the auth methods.
GetBuild returns a build
Path Parameters
ref.id
string
RequiredQuery Parameters
ref.sequence.application.application
string
ref.sequence.application.project
string
ref.sequence.number
string
Get the matching configuration source for the request. This will return the most specific matching config source given the scope in the request. For example, if you search for an app-specific config source and only a global config exists, the global config will be returned.
Query Parameters
project.project
string
application.application
string
application.project
string
all
boolean
workspace.workspace
string
type
string
config source type. This is optional. If this is omitted, all config source types matching the above scoping will be returned. This is a prefix-search. All config sources with this type prefix will be returned.
Set the configuration for a dynamic configuration source. If you're looking to set application configuration, you probably want SetConfig instead.
Body Parameters
delete
boolean
delete may be set to true on SetConfigSource to delete this config source. This is a field on ConfigSource since there are a variety of ways to identify a ConfigSource. Therefore, the recommend deletion process is to query the ConfigSource using GetConfigSource and then set delete on a return value to ensure the correct value is deleted.
global
object
Global references the entire server. This is used in some APIs as a way to read/write values that are server-global.
project
string
application
string
project
string
workspace
string
type
string
type of the config source. This should match the plugin name.
config
object
config is the configuration for the config source.
hash
string
hash is set automatically on write and available on read and is a content hash of the configuration. This can be used to determine uniqueness or changes in the configuration. Setting this value with SetConfigSource has no effect and will be overwritten. Note that this hash may take more into account than just "config" as other fields are introduced to this message type.
Delete the configuration for a dynamic configuration source
Body Parameters
delete
boolean
delete may be set to true on SetConfigSource to delete this config source. This is a field on ConfigSource since there are a variety of ways to identify a ConfigSource. Therefore, the recommend deletion process is to query the ConfigSource using GetConfigSource and then set delete on a return value to ensure the correct value is deleted.
global
object
Global references the entire server. This is used in some APIs as a way to read/write values that are server-global.
project
string
application
string
project
string
workspace
string
type
string
type of the config source. This should match the plugin name.
config
object
config is the configuration for the config source.
hash
string
hash is set automatically on write and available on read and is a content hash of the configuration. This can be used to determine uniqueness or changes in the configuration. Setting this value with SetConfigSource has no effect and will be overwritten. Note that this hash may take more into account than just "config" as other fields are introduced to this message type.
ExpediteStatusReport returns the queued status report job id
Path Parameters
deployment.id
string
RequiredBody Parameters
workspace
string
id
string
application
string
project
string
number
string
release
object
the release id that this status report was generated on
Operation references an operation (build, deploy, etc.). This can reference an operation in multiple ways so you must use the oneof to choose.
GetLogStream reads the log stream for a deployment. This will immediately send a single LogEntry with the lines we have so far. If there are no available lines this will NOT block and instead will return an error. The client can choose to retry or not.
Path Parameters
deployment_id
string
RequiredDeployment to request logs for.
Body Parameters
deployment_id
string
Deployment to request logs for.
application
string
project
string
workspace
string
limit_backlog
integer
limit_backlog sets the maximum backlog lines to return on the initial
connection. This setting is per instance, not global. The maximum
backlog to expect is n * limit_backlog
where n is the number of
instances.
A negative value will not limit the backlog.
A value of zero will default to a value of 50.
GetDeployment returns a deployment
Path Parameters
ref.id
string
RequiredQuery Parameters
ref.sequence.application.application
string
ref.sequence.application.project
string
ref.sequence.number
string
load_details
string
Indicate if the fetched deployments should include additional information about each deployment.
StartExecStream starts an exec session.
Body Parameters
deployment_id
string
Deployment to exec into
instance_id
string
Instance to send the exec request to. This is indicates that the client wants an exec session to this specific instance, rather than one the server picks. Targeted instances can be any instance type, where as untargeted have to be LONG_RUNNING.
args
string[]
enable
boolean
term
string
term is the TERM value to request on the remote side. This should be set.
rows
integer
cols
integer
width
integer
height
integer
data
string
winch
object
input_eof
undefined
input_eof should be sent as an event when the input stream is closed. After this, no more Input messages can be sent. Any Input messages sent will be ignored. This will send an EOF on the remote end as well to close stdin for the exec process.
WaypointHclFmt formats a waypoint.hcl file. This must be in HCL format. JSON formatting is not supported.
Body Parameters
waypoint_hcl
string
Delete a hostname with the URL service.
Path Parameters
hostname
string
RequiredListInstances returns the running instances of deployments.
Path Parameters
deployment_id
string
RequiredList instances for a specific deployment.
Query Parameters
application.application.application
string
application.application.project
string
application.workspace.workspace
string
wait_timeout
string
Time to wait before retrying a request to connect to requested instance.
CancelJob cancels a job. If the job is still queued this is a quick and easy operation. If the job is already completed, then this does nothing. If the job is assigned or running, then this will signal the runner about the cancellation but it may take time.
Path Parameters
job_id
string
RequiredThe job to cancel
Body Parameters
job_id
string
The job to cancel
force
boolean
Forcefully attempt to cancel the job
ListJobs will return a list of jobs known to Waypoint server. Can be filtered by request on values like workspace, project, application, job state, etc.
Path Parameters
project.project
string
RequiredQuery Parameters
workspace.workspace
string
application.application
string
application.project
string
targetRunner.id.id
string
pipeline.pipeline_id
string
ID of the current pipeline (the one containing the current step).
pipeline.pipeline_name
string
Name of the current pipeline.
pipeline.step
string
Step name within the current pipeline.
pipeline.run_sequence
string
Run sequence for the root pipeline.
pipeline.root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
).
pipeline.root_pipeline_name
string
Name of the root pipeline.
jobState
string[]
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
QueueJob queues a job for execution by a runner. This will return as soon as the job is queued, it will not wait for execution.
Body Parameters
id
string
id of the job. This is generated on the server side when queued. If you are queueing a job, this must be empty or unset.
singleton_id
string
If this is set, then only one job with this singleton_id may exist at any point in the QUEUED state. If QueueJob is called with this set and an existing job is already queued with a matching singleton_id, that job will be overwritten with this job. This is optional.
depends_on
string[]
depends_on_allow_failure
string[]
application
string
project
string
workspace
string
any
object
RunnerAny will reference any runner.
id
string
labels
object
id
string
name
string
oci_url
string
The URL of the OCI image to execute the task under.
environment_variables
object
The environment variables that will be exposed to the task.
entrypoint
string[]
arguments
string[]
skip_operation
boolean
If true, the operation will not be queued. This only works with Noop operations out of safety. This is primarliy for tasks that are NOT runners.
labels
object
Labels are the labels to set for this operation. This is optional.
local
object
local means the runner has access to the data locally and will know what to do. This is primarily only useful if the target_runner is a specific runner and should not be used by any runner unless your runners are configured to have access to the proper data.
url
string
url of the repository to clone. Local paths are not allowed.
ref
string
a ref to checkout. If this isn't specified, then the default ref that is cloned from the URL above will be used.
path
string
path is a subdirectory within the checked out repository to go into for the project's configuration. This must be a relative path and may not contain ".."
ignore_changes_outside_path
boolean
This setting only takes effect if both "path" is true AND the Git polling is enabled. Under those conditions, if this option is true, then only changes in Git commits within the "path" will trigger a deploy. Changes outside the "path" will be ignored.
recurse_submodules
integer
The max depth for recursively cloning submodules. 0 disables submodule cloning.
username
string
username for authentication. If using access token based auth for something like GitHub, this can be any non-empty string.
password
string
password for authentication. If using access token based auth for GitHub, this should be the access token.
private_key_pem
string
private_key_pem is a PEM-encoded private key.
password
string
password is an optional password for decoding the private key.
user
string
user is the SSH user to use when cloning. This will default to "git" if not specified.
description
string
Description is information about how the Waypoint server acquires the data.
git_remote
object
If remote refers to a git repo, git_remote will be partially populate with information about which information within the git repo to use.
deploy_on_change
boolean
This corresponds with the implicit behavior associated with data source polling, whereby if the polling is successful, we perform an Up operation.
data_source_overrides
object
contents
string
Raw contents of the HCL file.
format
string
Format of HCL contents
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
name
string
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format, and converts it to hcl when we evaluate variables. This is used when loading values from a file or from the server/UI.
cli
undefined
Cli is set if a variable value is set via a -var flag
fileName
string
filename
string
line
integer
column
integer
byte
integer
env
undefined
Env is set if a variable value is set in the local environment via a WP_VAR_*
fileName
string
server
undefined
Server is set if the variable value comes from the server. When we add support for workspace variables, we can store the workspace id here.
dynamic
undefined
Dynamic config source plugin
sensitive
string
'sensitive' values are hashed as SHA256 values for the purposes of output and logging
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format
source
string
- UNKNOWN: This is the final used value's source that is supplied to the user in outputs.
sensitive
boolean
noop
object
Noop operations do nothing. This is primarily used for testing. This operation will still download the data from the data source. A noop may be useful outside of testing to verify a runner is executing properly or can access data properly.
disable_push
boolean
Don't push the build to any configured registry.
application
object
The application that this build is part of.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID of the build
state
string
state is the state of this operation.
details
string
details may be non-empty to provide human-friendly information about the current status. This may change between status updates for the same state to provide updated details about the state.
code
integer
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
message
string
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details
array
A list of messages that carry the error details. There is a common set of message types for APIs to use.
start_time
string
start_time is the time the operation was started.
complete_time
string
complete_time is the time the operation completed (success or fail).
type
string
type of the component
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
name of the component
type_url
string
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one "/" character. The last segment of the URL's path must represent
the fully qualified name of the type (as in
path/google.protobuf.Duration
). The name should be in a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme http
, https
, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
- If no scheme is provided,
https
is assumed. - An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
- Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than http
, https
(or the empty scheme) might be
used with implementation specific semantics.
value
string
Must be a valid serialized protocol buffer of the above specified type.
artifact_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this build. This may be empty.
unknown
undefined
unknown is set if the ref is not known or not supported, such as for local data sources where we have no way to uniquely identify.
commit
string
commit is the full commit hash
timestamp
string
timestamp is the timestamp of the commit
commit_message
string
commit_message is the commit message, contains arbitrary text
application
object
application that this belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is a unique ID for this push
status
object
status of the push operation
Status represents the status of an async operation.
component
object
component that pushed this artifact
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact
object
artifact is the artifact that was a result from the push.
build_id
string
the id of the build that this pushed artifact was sourced from.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
build
object
If include_build was set on the list request, this will include the Build value associated with the given build_id.
job_id
string
ID of the job that created this. This may be empty.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
workspace
undefined
workspace will delete the app in the workspace that the job is targeting.
application
object
application that this deployment belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this deployment
url
string
url is the URL to the Deployment this URL might be empty, indicating that the deployment doesn't have the possibility to be contacted directly (e.g: Kubernetes pod) and thus the URL Service (Hashicorp Horizon) will be used instead, if enabled.
id
string
Id is the unique identifier for this generation. This value is opaque. Waypoint internally only requires that two different generations have two different IDs. The format of the value can be anything.
initial_sequence
string
This is the sequence number of the first operation that introduced this generation. Once all operations using a sequence number are fully destroyed, a reused generation will introduce a new sequence number.
This should not be manually set. This value will be automatically populated on insert. Updates should not modify this value.
Consumers can compare this to the sequence number of the operation to determine if this generation is new or existing.
state
string
state is the state of this deployment.
status
object
status tracks the status of the most recent operation (creation, destroy, etc. NOTE(mitchellh): I want to separate these out so that you can keep history of the status of multiple operations.
component
object
component that initiated this deployment
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact_id
string
ID of the PushedArtifact that was deployed.
deployment
object
deployment is the full raw deployment object encoded directly from the plugin. The client must have all the plugins setup to properly decode this.
deployment_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this. This may be empty.
has_entrypoint_config
boolean
True if this deployment had the environment variables available for the entrypoint to talk to. If this is false, this deployment should not be able to communicate back to the server even if it has the entrypoint available. This means this deployment will not support logs, exec, etc.
has_exec_plugin
boolean
True if the deployment was done by a plugin that defined an exec plugin
has_logs_plugin
boolean
True if the deployment was done by a plugin that defined an logs plugin
name
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
category_display_hint
string
high level type of the resource, used for display purposes.
name
string
Unique name name for the resource. Usually derived from the platform. Required.
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
artifact
object
Populated when a Deployment is read with LoadDetails set to ARTIFACT or BUILD
build
object
Populated when a Deployment is read with LoadDetails set to BUILD
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
deploy_url
string
The deployment-specific URL from the URL service. This is set on all deployment API calls. This will be empty if the URL service is not enabled or there was an error loading this information.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
prune
boolean
Prune settings. This will prune the deployments that aren't released.
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
validate
object
ValidateOp validates various aspects of a configuration.
check_only
boolean
if true, auth will only be checked but not attempted. Currently this must ALWAYS be true. Only authentication checking is supported.
type
string
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
docs
object
config_sync
object
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
release
object
Options for the release stage. The "deployment" field in this will be ignored since we'll always use the deployment from the deploy step in Up.
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
start_time
string
Indicates the time horizon that log entries must be beyond for them to be emitted.
limit
integer
The maximum of log entries to be output.
job_template
object
The template for the job to queue for each application. The "application" field will be overwritten for each application. All other fields are untouched.
poll
object
PollOp triggers a poll action for a project. The job will fail if there is no data source configured for the project.
A poll operation can be queued even if a project has polling disabled. If a project has polling enabled, a manually queued poll operation will have no effect on the poll timer or intervals.
deployment
object
The deployment that should be associated with this status report operation
application
object
application that this release belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this release.
status
object
status of the release operation.
state
string
The physical state of the release resources.
component
object
component managing the release process.
release
object
release is the raw release object encoded directly from the plugin.
release_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
deployment_id
string
ID of the deployment that is being released.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
url
string
URL for this release. This is valid while the release is still in use. After the release is not in use, this may still be set but may no longer be valid.
job_id
string
ID of the job that created this. This may be empty.
unimplemented
boolean
A boolean to mark this release message as unimplemented by the plugin that generated the message. If true, that means there was not a releaser to execute for the release lifecycle phase.
declared_resources
array
A platform resource that this release has created, depends on, or manages.
destroyed_resources
array
Resources that a destroy operation has destroyed
deployment
object
Populated when LoadDetails is set.
artifact
object
Populated when LoadDetails is set.
build
object
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
info
object
The info to use to create the task
TaskLaunchInfo gets stored on the job/operation when queued for execution. It details various options required for the task it will launch.
plugin_type
string
The plugin type to invoke for the task plugin.
hcl_config
string
The configuration information for the task. This is HCL that is decoded to figure out the task plugin and then provide that task plugin with configuration
hcl_format
string
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
params
object
TaskPluginParams contains the information about a specific task plugin that is used by both StartTask and StopTask
Params is needed to spawn the plugin so we can send it the stop.
direct
object
The state can be directly provided.
start_job_id
string
The state can be looked up from the result of a StartTask job.
init
object
InitOp triggers an init action for a project (the equivalent of waypoint init
). The job will fail if there is no data source configured for the
project. As with waypoint init
, this operation is idempotent.
id
string
name
string
Name of the step. This is unique within a pipeline. In the "steps" map, this must match the map key.
depends_on
string[]
image
string
TODO(briancain): update this to use the Step exec instead of the plugin Docker image to execute. This should be a fully qualified image URL.
command
string
Command to execute within the image. If blank, the default command will be executed.
args
string[]
disable_push
boolean
Whether or not to push the built artifact to a remote container registry TODO(briancain): ensure default to false because this will be inside an ODR container
release
boolean
Whether or not to run a release immediately after the deploy. Defaults to false. Users would probably write a Release step to opt into a release but lets support the option here just like the CLI does.
latest
boolean
sequence
string
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
id
string
Reference a single pipeline by ID.
project
string
pipeline_name
string
the name of the defined pipeline config
image
string
Docker image to execute. This should be a fully qualified image URL.
workspace
object
Workspace to use in step execution. If undefined, will default to the Workspace used when running the pipeline, otherwise 'default'
Workspace references a workspace.
project
object
Project references a project.
skip_destroy_resources
boolean
state
string
state of the job
assigned_runner
object
RunnerId references a runner by ID.
queue_time
string
The time when the job was queued.
assign_time
string
ack_time
string
complete_time
string
data_source_ref
object
Ref of the data was fetched for this job. This is available after the Ref event is sent down by GetJobStream. This is NOT used to specify the ref that should be downloaded. That level of configuration should be exposed via the data_source parameter itself.
variable_final_values
object
Variable refs store the final value used on the operation for each variable
defined in the waypoint.hcl. Any variables with sensitive
set in the
waypoint.hcl will have a value hashed with SHA256 so the user can verify
the value used.
source
string
Source is the location where the configuration was loaded from.
error
object
error is set if state == ERROR
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
build
object
The resulting build
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
push
object
The artifact that was pushed. This will be nil if DisablePush was set.
artifact
object
release
object
The release that was just created. If the release operation was a noop, for example if the target deployment shares a generation with the previously released deployment, then this may be an existing release. Callers can verify by checking if the target deployment changed or not.
validate
object
component
object
component that was checked
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
check_result
boolean
result of the auth check. If the component didn't implement the auth interface this will be set to true. You can check for interface implementation using auth_supported. If auth is attempted, the auth operation will recheck the status and this value will reflect the check post-auth attempt. You can use this to verify if the auth succeeded.
check_error
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
auth_completed
boolean
this is true if the component was authenticated using the Auth callback. If false, then no attempt was made to authenticate. This can be on purpose for example if "check_only" is set to true on the op.
auth_supported
boolean
auth supported is true if this component implemented the auth interface.
component
object
component that the docs are for
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
description
string
example
string
input
string
output
string
fields
object
input
string
output
string
description
string
config_sync
object
release_url
string
release_url is the equivalent of Release.Url. This is the URL that the release plugin generates directly from the platform. For example, on AWS this might be an ALB addr, on K8S this might be a load balancer addr, etc.
This can be empty if the release plugin does not support getting a URL.
app_url
string
app_url is the HashiCorp URL service URL for the entire application. Example: mistakenly-crucial-malamute.waypoint.run. If there are multiple hostnames registered for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
deploy_url
string
deploy_url is the HashiCorp URL service URL for this specific deploy. Example: mistakenly-crucial-malamute--v1.waypoint.run. Similar to app_url, if there are multiple registered hostnames for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
job_id
string
ID of the job that was queued.
job_id
string
This field will be non-empty if and only if polling resulted in new data that needs to be deployed. This will be the ID of the job that queues the "up" operation.
old_ref
object
If the poll resulted in new data, old_ref and new_ref will contain the two refs that were currently in use. These are nil if the polling didn't find new data.
new_ref
object
Ref is a reference to the exact set of data used by a data source.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
deployment_id
string
the deployment id that this status report was generated on
release_id
string
the release id that this status report was generated on
status
object
Status of the StatusReport operation executed by the server. Note that this status is not related to the status report, but the current state of the StatusReport operation
Status represents the status of an async operation.
id
string
id is the unique ID for this status report.
status_report
object
StatusReport is the raw SDK report object encoded directly from the plugin. This message is a StatusReport proto that exists inside the SDK
status_report_json
string
health_status
string
the overall health of the report for a resource
health_message
string
the overall health message of the report for a resource
deprecated_name
string
deprecated_id
string
generated_time
string
the time when this report was generated Copied from the plugin generated raw SDK status report for convenient API access.
external
boolean
where the health check was performed. External means not executed by Waypoint, but by the platform deployed to.
id
string
The id of the resource, according to the platform.
name
string
parent_resource_id
string
Resources that created this resource.
name
string
Friendly name of the resource, if applicable
platform
string
The platform on which the resource exists.
type
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
platform_url
string
A link directly to the resource in the platform, if applicable.
category_display_hint
string
The high level category of the resource, used as a hint to the UI on how to display the resource.
created_time
string
platform-reported time of resource creation
state_json
string
any additional metadata about the resource, encoded as JSON
health
string
the current health state for a single resource
health_message
string
a simple human readable message detailing the Health state
deprecated_health
object
deprecated in favor of the Health enum and message to match the plugin protos. Was never used.
deprecated_resources_health
object[]
instances_count
integer
count of active instance connections from waypoint-entrypoint (ceb). This is currently only applicable to deployment type status reports
state
object
The state of the create task, used to identify it later.
init
object
exit_code
integer
result
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
synced_pipelines
object
synced_pipelines is a map of Pipeline Name Keys to Pipeline ID Refs for each pipeline that was synced in the config sync request.
job_id
string
cancel_time
string
cancel time is the time that cancellation of this job was requested. If this is zero then this job was not cancelled. Note that this is the cancellation request time. The actual time a job ended is noted by the complete_time field.
expire_time
string
expire time is the time when this job would expire. If this isn't set then this is a non-expiring job. This will remain set even if the job never expired because it was accepted and run. This field can be used to detect that it was configured to expire.
id
string
the id of the tracktask record
job_id
string
The main "run" job ID that the task initiated
pipeline_id
string
ID of the current pipeline (the one containing the current step)
pipeline_name
string
Name of the current pipeline
step
string
Step name within the current pipeline
run_sequence
string
Run sequence for the root pipeline
root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
)
root_pipeline_name
string
Name of the root pipeline
expires_in
string
Set an expiration duration. If the job is not assigned and acked in the given duration then the job will be automatically cancelled.
ListJobs will return a list of jobs known to Waypoint server. Can be filtered by request on values like workspace, project, application, job state, etc.
Path Parameters
targetRunner.id.id
string
RequiredQuery Parameters
workspace.workspace
string
project.project
string
application.application
string
application.project
string
pipeline.pipeline_id
string
ID of the current pipeline (the one containing the current step).
pipeline.pipeline_name
string
Name of the current pipeline.
pipeline.step
string
Step name within the current pipeline.
pipeline.run_sequence
string
Run sequence for the root pipeline.
pipeline.root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
).
pipeline.root_pipeline_name
string
Name of the root pipeline.
jobState
string[]
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
ListJobs will return a list of jobs known to Waypoint server. Can be filtered by request on values like workspace, project, application, job state, etc.
Path Parameters
jobState
string[]
Query Parameters
workspace.workspace
string
project.project
string
application.application
string
application.project
string
targetRunner.id.id
string
pipeline.pipeline_id
string
ID of the current pipeline (the one containing the current step).
pipeline.pipeline_name
string
Name of the current pipeline.
pipeline.step
string
Step name within the current pipeline.
pipeline.run_sequence
string
Run sequence for the root pipeline.
pipeline.root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
).
pipeline.root_pipeline_name
string
Name of the root pipeline.
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetJobStream opens a job event stream for a running job. This can be used to listen for terminal output and other events of a running job. Multiple listeners can open a job stream.
Path Parameters
job_id
string
RequiredValidateJob checks if a job appears valid. This will check the job structure itself (i.e. missing fields) and can also check to ensure the job is assignable to a runner.
Body Parameters
id
string
id of the job. This is generated on the server side when queued. If you are queueing a job, this must be empty or unset.
singleton_id
string
If this is set, then only one job with this singleton_id may exist at any point in the QUEUED state. If QueueJob is called with this set and an existing job is already queued with a matching singleton_id, that job will be overwritten with this job. This is optional.
depends_on
string[]
depends_on_allow_failure
string[]
application
string
project
string
workspace
string
any
object
RunnerAny will reference any runner.
id
string
labels
object
id
string
name
string
oci_url
string
The URL of the OCI image to execute the task under.
environment_variables
object
The environment variables that will be exposed to the task.
entrypoint
string[]
arguments
string[]
skip_operation
boolean
If true, the operation will not be queued. This only works with Noop operations out of safety. This is primarliy for tasks that are NOT runners.
labels
object
Labels are the labels to set for this operation. This is optional.
local
object
local means the runner has access to the data locally and will know what to do. This is primarily only useful if the target_runner is a specific runner and should not be used by any runner unless your runners are configured to have access to the proper data.
url
string
url of the repository to clone. Local paths are not allowed.
ref
string
a ref to checkout. If this isn't specified, then the default ref that is cloned from the URL above will be used.
path
string
path is a subdirectory within the checked out repository to go into for the project's configuration. This must be a relative path and may not contain ".."
ignore_changes_outside_path
boolean
This setting only takes effect if both "path" is true AND the Git polling is enabled. Under those conditions, if this option is true, then only changes in Git commits within the "path" will trigger a deploy. Changes outside the "path" will be ignored.
recurse_submodules
integer
The max depth for recursively cloning submodules. 0 disables submodule cloning.
username
string
username for authentication. If using access token based auth for something like GitHub, this can be any non-empty string.
password
string
password for authentication. If using access token based auth for GitHub, this should be the access token.
private_key_pem
string
private_key_pem is a PEM-encoded private key.
password
string
password is an optional password for decoding the private key.
user
string
user is the SSH user to use when cloning. This will default to "git" if not specified.
description
string
Description is information about how the Waypoint server acquires the data.
git_remote
object
If remote refers to a git repo, git_remote will be partially populate with information about which information within the git repo to use.
deploy_on_change
boolean
This corresponds with the implicit behavior associated with data source polling, whereby if the polling is successful, we perform an Up operation.
data_source_overrides
object
contents
string
Raw contents of the HCL file.
format
string
Format of HCL contents
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
name
string
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format, and converts it to hcl when we evaluate variables. This is used when loading values from a file or from the server/UI.
cli
undefined
Cli is set if a variable value is set via a -var flag
fileName
string
filename
string
line
integer
column
integer
byte
integer
env
undefined
Env is set if a variable value is set in the local environment via a WP_VAR_*
fileName
string
server
undefined
Server is set if the variable value comes from the server. When we add support for workspace variables, we can store the workspace id here.
dynamic
undefined
Dynamic config source plugin
sensitive
string
'sensitive' values are hashed as SHA256 values for the purposes of output and logging
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format
source
string
- UNKNOWN: This is the final used value's source that is supplied to the user in outputs.
sensitive
boolean
noop
object
Noop operations do nothing. This is primarily used for testing. This operation will still download the data from the data source. A noop may be useful outside of testing to verify a runner is executing properly or can access data properly.
disable_push
boolean
Don't push the build to any configured registry.
application
object
The application that this build is part of.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID of the build
state
string
state is the state of this operation.
details
string
details may be non-empty to provide human-friendly information about the current status. This may change between status updates for the same state to provide updated details about the state.
error
object
error is set if the state == ERROR with the error that occurred.
start_time
string
start_time is the time the operation was started.
complete_time
string
complete_time is the time the operation completed (success or fail).
type
string
type of the component
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
name of the component
type_url
string
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one "/" character. The last segment of the URL's path must represent
the fully qualified name of the type (as in
path/google.protobuf.Duration
). The name should be in a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme http
, https
, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
- If no scheme is provided,
https
is assumed. - An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
- Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than http
, https
(or the empty scheme) might be
used with implementation specific semantics.
value
string
Must be a valid serialized protocol buffer of the above specified type.
artifact_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this build. This may be empty.
unknown
undefined
unknown is set if the ref is not known or not supported, such as for local data sources where we have no way to uniquely identify.
commit
string
commit is the full commit hash
timestamp
string
timestamp is the timestamp of the commit
commit_message
string
commit_message is the commit message, contains arbitrary text
application
object
application that this belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is a unique ID for this push
status
object
status of the push operation
Status represents the status of an async operation.
component
object
component that pushed this artifact
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact
object
artifact is the artifact that was a result from the push.
build_id
string
the id of the build that this pushed artifact was sourced from.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
build
object
If include_build was set on the list request, this will include the Build value associated with the given build_id.
job_id
string
ID of the job that created this. This may be empty.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
workspace
undefined
workspace will delete the app in the workspace that the job is targeting.
application
object
application that this deployment belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this deployment
url
string
url is the URL to the Deployment this URL might be empty, indicating that the deployment doesn't have the possibility to be contacted directly (e.g: Kubernetes pod) and thus the URL Service (Hashicorp Horizon) will be used instead, if enabled.
id
string
Id is the unique identifier for this generation. This value is opaque. Waypoint internally only requires that two different generations have two different IDs. The format of the value can be anything.
initial_sequence
string
This is the sequence number of the first operation that introduced this generation. Once all operations using a sequence number are fully destroyed, a reused generation will introduce a new sequence number.
This should not be manually set. This value will be automatically populated on insert. Updates should not modify this value.
Consumers can compare this to the sequence number of the operation to determine if this generation is new or existing.
state
string
state is the state of this deployment.
status
object
status tracks the status of the most recent operation (creation, destroy, etc. NOTE(mitchellh): I want to separate these out so that you can keep history of the status of multiple operations.
component
object
component that initiated this deployment
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact_id
string
ID of the PushedArtifact that was deployed.
deployment
object
deployment is the full raw deployment object encoded directly from the plugin. The client must have all the plugins setup to properly decode this.
deployment_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this. This may be empty.
has_entrypoint_config
boolean
True if this deployment had the environment variables available for the entrypoint to talk to. If this is false, this deployment should not be able to communicate back to the server even if it has the entrypoint available. This means this deployment will not support logs, exec, etc.
has_exec_plugin
boolean
True if the deployment was done by a plugin that defined an exec plugin
has_logs_plugin
boolean
True if the deployment was done by a plugin that defined an logs plugin
name
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
category_display_hint
string
high level type of the resource, used for display purposes.
name
string
Unique name name for the resource. Usually derived from the platform. Required.
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
artifact
object
Populated when a Deployment is read with LoadDetails set to ARTIFACT or BUILD
build
object
Populated when a Deployment is read with LoadDetails set to BUILD
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
deploy_url
string
The deployment-specific URL from the URL service. This is set on all deployment API calls. This will be empty if the URL service is not enabled or there was an error loading this information.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
prune
boolean
Prune settings. This will prune the deployments that aren't released.
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
validate
object
ValidateOp validates various aspects of a configuration.
check_only
boolean
if true, auth will only be checked but not attempted. Currently this must ALWAYS be true. Only authentication checking is supported.
type
string
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
docs
object
config_sync
object
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
release
object
Options for the release stage. The "deployment" field in this will be ignored since we'll always use the deployment from the deploy step in Up.
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
start_time
string
Indicates the time horizon that log entries must be beyond for them to be emitted.
limit
integer
The maximum of log entries to be output.
job_template
object
The template for the job to queue for each application. The "application" field will be overwritten for each application. All other fields are untouched.
poll
object
PollOp triggers a poll action for a project. The job will fail if there is no data source configured for the project.
A poll operation can be queued even if a project has polling disabled. If a project has polling enabled, a manually queued poll operation will have no effect on the poll timer or intervals.
deployment
object
The deployment that should be associated with this status report operation
application
object
application that this release belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this release.
status
object
status of the release operation.
state
string
The physical state of the release resources.
component
object
component managing the release process.
release
object
release is the raw release object encoded directly from the plugin.
release_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
deployment_id
string
ID of the deployment that is being released.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
url
string
URL for this release. This is valid while the release is still in use. After the release is not in use, this may still be set but may no longer be valid.
job_id
string
ID of the job that created this. This may be empty.
unimplemented
boolean
A boolean to mark this release message as unimplemented by the plugin that generated the message. If true, that means there was not a releaser to execute for the release lifecycle phase.
declared_resources
array
A platform resource that this release has created, depends on, or manages.
destroyed_resources
array
Resources that a destroy operation has destroyed
deployment
object
Populated when LoadDetails is set.
artifact
object
Populated when LoadDetails is set.
build
object
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
info
object
The info to use to create the task
TaskLaunchInfo gets stored on the job/operation when queued for execution. It details various options required for the task it will launch.
plugin_type
string
The plugin type to invoke for the task plugin.
hcl_config
string
The configuration information for the task. This is HCL that is decoded to figure out the task plugin and then provide that task plugin with configuration
hcl_format
string
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
params
object
TaskPluginParams contains the information about a specific task plugin that is used by both StartTask and StopTask
Params is needed to spawn the plugin so we can send it the stop.
direct
object
The state can be directly provided.
start_job_id
string
The state can be looked up from the result of a StartTask job.
init
object
InitOp triggers an init action for a project (the equivalent of waypoint init
). The job will fail if there is no data source configured for the
project. As with waypoint init
, this operation is idempotent.
id
string
name
string
Name of the step. This is unique within a pipeline. In the "steps" map, this must match the map key.
depends_on
string[]
image
string
TODO(briancain): update this to use the Step exec instead of the plugin Docker image to execute. This should be a fully qualified image URL.
command
string
Command to execute within the image. If blank, the default command will be executed.
args
string[]
disable_push
boolean
Whether or not to push the built artifact to a remote container registry TODO(briancain): ensure default to false because this will be inside an ODR container
release
boolean
Whether or not to run a release immediately after the deploy. Defaults to false. Users would probably write a Release step to opt into a release but lets support the option here just like the CLI does.
latest
boolean
sequence
string
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
id
string
Reference a single pipeline by ID.
project
string
pipeline_name
string
the name of the defined pipeline config
image
string
Docker image to execute. This should be a fully qualified image URL.
workspace
object
Workspace to use in step execution. If undefined, will default to the Workspace used when running the pipeline, otherwise 'default'
Workspace references a workspace.
project
object
Project references a project.
skip_destroy_resources
boolean
state
string
state of the job
assigned_runner
object
RunnerId references a runner by ID.
queue_time
string
The time when the job was queued.
assign_time
string
ack_time
string
complete_time
string
data_source_ref
object
Ref of the data was fetched for this job. This is available after the Ref event is sent down by GetJobStream. This is NOT used to specify the ref that should be downloaded. That level of configuration should be exposed via the data_source parameter itself.
variable_final_values
object
Variable refs store the final value used on the operation for each variable
defined in the waypoint.hcl. Any variables with sensitive
set in the
waypoint.hcl will have a value hashed with SHA256 so the user can verify
the value used.
source
string
Source is the location where the configuration was loaded from.
error
object
error is set if state == ERROR
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
build
object
The resulting build
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
push
object
The artifact that was pushed. This will be nil if DisablePush was set.
artifact
object
release
object
The release that was just created. If the release operation was a noop, for example if the target deployment shares a generation with the previously released deployment, then this may be an existing release. Callers can verify by checking if the target deployment changed or not.
validate
object
component
object
component that was checked
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
check_result
boolean
result of the auth check. If the component didn't implement the auth interface this will be set to true. You can check for interface implementation using auth_supported. If auth is attempted, the auth operation will recheck the status and this value will reflect the check post-auth attempt. You can use this to verify if the auth succeeded.
auth_completed
boolean
this is true if the component was authenticated using the Auth callback. If false, then no attempt was made to authenticate. This can be on purpose for example if "check_only" is set to true on the op.
auth_supported
boolean
auth supported is true if this component implemented the auth interface.
component
object
component that the docs are for
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
description
string
example
string
input
string
output
string
fields
object
input
string
output
string
description
string
config_sync
object
release_url
string
release_url is the equivalent of Release.Url. This is the URL that the release plugin generates directly from the platform. For example, on AWS this might be an ALB addr, on K8S this might be a load balancer addr, etc.
This can be empty if the release plugin does not support getting a URL.
app_url
string
app_url is the HashiCorp URL service URL for the entire application. Example: mistakenly-crucial-malamute.waypoint.run. If there are multiple hostnames registered for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
deploy_url
string
deploy_url is the HashiCorp URL service URL for this specific deploy. Example: mistakenly-crucial-malamute--v1.waypoint.run. Similar to app_url, if there are multiple registered hostnames for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
job_id
string
ID of the job that was queued.
job_id
string
This field will be non-empty if and only if polling resulted in new data that needs to be deployed. This will be the ID of the job that queues the "up" operation.
old_ref
object
If the poll resulted in new data, old_ref and new_ref will contain the two refs that were currently in use. These are nil if the polling didn't find new data.
new_ref
object
Ref is a reference to the exact set of data used by a data source.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
deployment_id
string
the deployment id that this status report was generated on
release_id
string
the release id that this status report was generated on
status
object
Status of the StatusReport operation executed by the server. Note that this status is not related to the status report, but the current state of the StatusReport operation
Status represents the status of an async operation.
id
string
id is the unique ID for this status report.
status_report
object
StatusReport is the raw SDK report object encoded directly from the plugin. This message is a StatusReport proto that exists inside the SDK
status_report_json
string
health_status
string
the overall health of the report for a resource
health_message
string
the overall health message of the report for a resource
deprecated_name
string
deprecated_id
string
generated_time
string
the time when this report was generated Copied from the plugin generated raw SDK status report for convenient API access.
external
boolean
where the health check was performed. External means not executed by Waypoint, but by the platform deployed to.
id
string
The id of the resource, according to the platform.
name
string
parent_resource_id
string
Resources that created this resource.
name
string
Friendly name of the resource, if applicable
platform
string
The platform on which the resource exists.
type
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
platform_url
string
A link directly to the resource in the platform, if applicable.
category_display_hint
string
The high level category of the resource, used as a hint to the UI on how to display the resource.
created_time
string
platform-reported time of resource creation
state_json
string
any additional metadata about the resource, encoded as JSON
health
string
the current health state for a single resource
health_message
string
a simple human readable message detailing the Health state
deprecated_health
object
deprecated in favor of the Health enum and message to match the plugin protos. Was never used.
deprecated_resources_health
object[]
instances_count
integer
count of active instance connections from waypoint-entrypoint (ceb). This is currently only applicable to deployment type status reports
state
object
The state of the create task, used to identify it later.
init
object
exit_code
integer
result
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
synced_pipelines
object
synced_pipelines is a map of Pipeline Name Keys to Pipeline ID Refs for each pipeline that was synced in the config sync request.
job_id
string
cancel_time
string
cancel time is the time that cancellation of this job was requested. If this is zero then this job was not cancelled. Note that this is the cancellation request time. The actual time a job ended is noted by the complete_time field.
expire_time
string
expire time is the time when this job would expire. If this isn't set then this is a non-expiring job. This will remain set even if the job never expired because it was accepted and run. This field can be used to detect that it was configured to expire.
id
string
the id of the tracktask record
job_id
string
The main "run" job ID that the task initiated
pipeline_id
string
ID of the current pipeline (the one containing the current step)
pipeline_name
string
Name of the current pipeline
step
string
Step name within the current pipeline
run_sequence
string
Run sequence for the root pipeline
root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
)
root_pipeline_name
string
Name of the root pipeline
disable_assign
boolean
If true, will NOT validate that the job is assignable.
ListJobs will return a list of jobs known to Waypoint server. Can be filtered by request on values like workspace, project, application, job state, etc.
Path Parameters
workspace.workspace
string
RequiredQuery Parameters
project.project
string
application.application
string
application.project
string
targetRunner.id.id
string
pipeline.pipeline_id
string
ID of the current pipeline (the one containing the current step).
pipeline.pipeline_name
string
Name of the current pipeline.
pipeline.step
string
Step name within the current pipeline.
pipeline.run_sequence
string
Run sequence for the root pipeline.
pipeline.root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
).
pipeline.root_pipeline_name
string
Name of the root pipeline.
jobState
string[]
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
ListJobs will return a list of jobs known to Waypoint server. Can be filtered by request on values like workspace, project, application, job state, etc.
Path Parameters
workspace.workspace
string
RequiredjobState
string[]
Query Parameters
project.project
string
application.application
string
application.project
string
targetRunner.id.id
string
pipeline.pipeline_id
string
ID of the current pipeline (the one containing the current step).
pipeline.pipeline_name
string
Name of the current pipeline.
pipeline.step
string
Step name within the current pipeline.
pipeline.run_sequence
string
Run sequence for the root pipeline.
pipeline.root_pipeline_id
string
Name of the root pipeline (the one invoked in waypoint pipeline run <pipeline>
).
pipeline.root_pipeline_name
string
Name of the root pipeline.
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetJob queries a job by ID.
Path Parameters
job_id
string
RequiredID of the job to request.
List the available OIDC providers for authentication. The "name" of the OIDC provider can be used with GetOIDCAuthURL and CompleteOIDCAuth to perform OIDC-based authentication.
Complete the OIDC auth cycle after receiving the callback from the OIDC provider.
Path Parameters
auth_method.name
string
RequiredBody Parameters
name
string
redirect_uri
string
This should match the GetOIDCAuthURL RPC. This is not used anymore except for verification.
state
string
This should be provided from the parameters given to the redirect URL.
nonce
string
code
string
Get the URL to visit to start authentication with OIDC.
Path Parameters
auth_method.name
string
RequiredBody Parameters
name
string
redirect_uri
string
The URL that authorization should redirect to.
nonce
string
Nonce is a randomly generated string to prevent replay attacks. It is up to the client to generate this. This must then be passed back to CompleteOIDCAuthRequest.
GetOnDemandRunnerConfig returns the on-demand runner configuration.
Path Parameters
config.id
string
RequiredQuery Parameters
config.name
string
GetOnDemandRunnerConfig returns the on-demand runner configuration.
Path Parameters
config.name
string
RequiredQuery Parameters
config.id
string
ListOnDemandRunnerConfigs returns a list of all the on-demand runners configs.
GetPipeline returns a pipeline proto by pipeline ref id
Path Parameters
pipeline.id
string
RequiredReference a single pipeline by ID.
Query Parameters
pipeline.owner.project.project
string
pipeline.owner.pipeline_name
string
the name of the defined pipeline config.
GetLatestPipelineRun returns a pipeline run proto by pipeline ref id and sequence
Path Parameters
pipeline.id
string
RequiredReference a single pipeline by ID.
Query Parameters
pipeline.owner.project.project
string
pipeline.owner.pipeline_name
string
the name of the defined pipeline config.
RunPipeline queues a pipeline execution.
Path Parameters
pipeline.id
string
RequiredReference a single pipeline by ID.
Body Parameters
id
string
Reference a single pipeline by ID.
project
string
pipeline_name
string
the name of the defined pipeline config
id
string
id of the job. This is generated on the server side when queued. If you are queueing a job, this must be empty or unset.
singleton_id
string
If this is set, then only one job with this singleton_id may exist at any point in the QUEUED state. If QueueJob is called with this set and an existing job is already queued with a matching singleton_id, that job will be overwritten with this job. This is optional.
depends_on
string[]
depends_on_allow_failure
string[]
application
string
project
string
workspace
string
any
object
RunnerAny will reference any runner.
id
string
labels
object
id
string
name
string
oci_url
string
The URL of the OCI image to execute the task under.
environment_variables
object
The environment variables that will be exposed to the task.
entrypoint
string[]
arguments
string[]
skip_operation
boolean
If true, the operation will not be queued. This only works with Noop operations out of safety. This is primarliy for tasks that are NOT runners.
labels
object
Labels are the labels to set for this operation. This is optional.
local
object
local means the runner has access to the data locally and will know what to do. This is primarily only useful if the target_runner is a specific runner and should not be used by any runner unless your runners are configured to have access to the proper data.
url
string
url of the repository to clone. Local paths are not allowed.
ref
string
a ref to checkout. If this isn't specified, then the default ref that is cloned from the URL above will be used.
path
string
path is a subdirectory within the checked out repository to go into for the project's configuration. This must be a relative path and may not contain ".."
ignore_changes_outside_path
boolean
This setting only takes effect if both "path" is true AND the Git polling is enabled. Under those conditions, if this option is true, then only changes in Git commits within the "path" will trigger a deploy. Changes outside the "path" will be ignored.
recurse_submodules
integer
The max depth for recursively cloning submodules. 0 disables submodule cloning.
username
string
username for authentication. If using access token based auth for something like GitHub, this can be any non-empty string.
password
string
password for authentication. If using access token based auth for GitHub, this should be the access token.
private_key_pem
string
private_key_pem is a PEM-encoded private key.
password
string
password is an optional password for decoding the private key.
user
string
user is the SSH user to use when cloning. This will default to "git" if not specified.
description
string
Description is information about how the Waypoint server acquires the data.
git_remote
object
If remote refers to a git repo, git_remote will be partially populate with information about which information within the git repo to use.
deploy_on_change
boolean
This corresponds with the implicit behavior associated with data source polling, whereby if the polling is successful, we perform an Up operation.
data_source_overrides
object
contents
string
Raw contents of the HCL file.
format
string
Format of HCL contents
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
name
string
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format, and converts it to hcl when we evaluate variables. This is used when loading values from a file or from the server/UI.
cli
undefined
Cli is set if a variable value is set via a -var flag
fileName
string
filename
string
line
integer
column
integer
byte
integer
env
undefined
Env is set if a variable value is set in the local environment via a WP_VAR_*
fileName
string
server
undefined
Server is set if the variable value comes from the server. When we add support for workspace variables, we can store the workspace id here.
dynamic
undefined
Dynamic config source plugin
sensitive
string
'sensitive' values are hashed as SHA256 values for the purposes of output and logging
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format
source
string
- UNKNOWN: This is the final used value's source that is supplied to the user in outputs.
sensitive
boolean
noop
object
Noop operations do nothing. This is primarily used for testing. This operation will still download the data from the data source. A noop may be useful outside of testing to verify a runner is executing properly or can access data properly.
disable_push
boolean
Don't push the build to any configured registry.
application
object
The application that this build is part of.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID of the build
state
string
state is the state of this operation.
details
string
details may be non-empty to provide human-friendly information about the current status. This may change between status updates for the same state to provide updated details about the state.
code
integer
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
message
string
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details
array
A list of messages that carry the error details. There is a common set of message types for APIs to use.
start_time
string
start_time is the time the operation was started.
complete_time
string
complete_time is the time the operation completed (success or fail).
type
string
type of the component
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
name of the component
type_url
string
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one "/" character. The last segment of the URL's path must represent
the fully qualified name of the type (as in
path/google.protobuf.Duration
). The name should be in a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme http
, https
, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
- If no scheme is provided,
https
is assumed. - An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
- Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than http
, https
(or the empty scheme) might be
used with implementation specific semantics.
value
string
Must be a valid serialized protocol buffer of the above specified type.
artifact_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this build. This may be empty.
unknown
undefined
unknown is set if the ref is not known or not supported, such as for local data sources where we have no way to uniquely identify.
commit
string
commit is the full commit hash
timestamp
string
timestamp is the timestamp of the commit
commit_message
string
commit_message is the commit message, contains arbitrary text
application
object
application that this belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is a unique ID for this push
status
object
status of the push operation
Status represents the status of an async operation.
component
object
component that pushed this artifact
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact
object
artifact is the artifact that was a result from the push.
build_id
string
the id of the build that this pushed artifact was sourced from.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
build
object
If include_build was set on the list request, this will include the Build value associated with the given build_id.
job_id
string
ID of the job that created this. This may be empty.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
workspace
undefined
workspace will delete the app in the workspace that the job is targeting.
application
object
application that this deployment belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this deployment
url
string
url is the URL to the Deployment this URL might be empty, indicating that the deployment doesn't have the possibility to be contacted directly (e.g: Kubernetes pod) and thus the URL Service (Hashicorp Horizon) will be used instead, if enabled.
id
string
Id is the unique identifier for this generation. This value is opaque. Waypoint internally only requires that two different generations have two different IDs. The format of the value can be anything.
initial_sequence
string
This is the sequence number of the first operation that introduced this generation. Once all operations using a sequence number are fully destroyed, a reused generation will introduce a new sequence number.
This should not be manually set. This value will be automatically populated on insert. Updates should not modify this value.
Consumers can compare this to the sequence number of the operation to determine if this generation is new or existing.
state
string
state is the state of this deployment.
status
object
status tracks the status of the most recent operation (creation, destroy, etc. NOTE(mitchellh): I want to separate these out so that you can keep history of the status of multiple operations.
component
object
component that initiated this deployment
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact_id
string
ID of the PushedArtifact that was deployed.
deployment
object
deployment is the full raw deployment object encoded directly from the plugin. The client must have all the plugins setup to properly decode this.
deployment_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this. This may be empty.
has_entrypoint_config
boolean
True if this deployment had the environment variables available for the entrypoint to talk to. If this is false, this deployment should not be able to communicate back to the server even if it has the entrypoint available. This means this deployment will not support logs, exec, etc.
has_exec_plugin
boolean
True if the deployment was done by a plugin that defined an exec plugin
has_logs_plugin
boolean
True if the deployment was done by a plugin that defined an logs plugin
name
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
category_display_hint
string
high level type of the resource, used for display purposes.
name
string
Unique name name for the resource. Usually derived from the platform. Required.
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
artifact
object
Populated when a Deployment is read with LoadDetails set to ARTIFACT or BUILD
build
object
Populated when a Deployment is read with LoadDetails set to BUILD
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
deploy_url
string
The deployment-specific URL from the URL service. This is set on all deployment API calls. This will be empty if the URL service is not enabled or there was an error loading this information.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
prune
boolean
Prune settings. This will prune the deployments that aren't released.
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
validate
object
ValidateOp validates various aspects of a configuration.
check_only
boolean
if true, auth will only be checked but not attempted. Currently this must ALWAYS be true. Only authentication checking is supported.
type
string
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
docs
object
config_sync
object
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
release
object
Options for the release stage. The "deployment" field in this will be ignored since we'll always use the deployment from the deploy step in Up.
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
start_time
string
Indicates the time horizon that log entries must be beyond for them to be emitted.
limit
integer
The maximum of log entries to be output.
job_template
object
The template for the job to queue for each application. The "application" field will be overwritten for each application. All other fields are untouched.
poll
object
PollOp triggers a poll action for a project. The job will fail if there is no data source configured for the project.
A poll operation can be queued even if a project has polling disabled. If a project has polling enabled, a manually queued poll operation will have no effect on the poll timer or intervals.
deployment
object
The deployment that should be associated with this status report operation
application
object
application that this release belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this release.
status
object
status of the release operation.
state
string
The physical state of the release resources.
component
object
component managing the release process.
release
object
release is the raw release object encoded directly from the plugin.
release_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
deployment_id
string
ID of the deployment that is being released.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
url
string
URL for this release. This is valid while the release is still in use. After the release is not in use, this may still be set but may no longer be valid.
job_id
string
ID of the job that created this. This may be empty.
unimplemented
boolean
A boolean to mark this release message as unimplemented by the plugin that generated the message. If true, that means there was not a releaser to execute for the release lifecycle phase.
declared_resources
array
A platform resource that this release has created, depends on, or manages.
destroyed_resources
array
Resources that a destroy operation has destroyed
deployment
object
Populated when LoadDetails is set.
artifact
object
Populated when LoadDetails is set.
build
object
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
info
object
The info to use to create the task
TaskLaunchInfo gets stored on the job/operation when queued for execution. It details various options required for the task it will launch.
plugin_type
string
The plugin type to invoke for the task plugin.
hcl_config
string
The configuration information for the task. This is HCL that is decoded to figure out the task plugin and then provide that task plugin with configuration
hcl_format
string
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
params
object
TaskPluginParams contains the information about a specific task plugin that is used by both StartTask and StopTask
Params is needed to spawn the plugin so we can send it the stop.
direct
object
The state can be directly provided.
start_job_id
string
The state can be looked up from the result of a StartTask job.
init
object
InitOp triggers an init action for a project (the equivalent of waypoint init
). The job will fail if there is no data source configured for the
project. As with waypoint init
, this operation is idempotent.
id
string
name
string
Name of the step. This is unique within a pipeline. In the "steps" map, this must match the map key.
depends_on
string[]
image
string
TODO(briancain): update this to use the Step exec instead of the plugin Docker image to execute. This should be a fully qualified image URL.
command
string
Command to execute within the image. If blank, the default command will be executed.
args
string[]
disable_push
boolean
Whether or not to push the built artifact to a remote container registry TODO(briancain): ensure default to false because this will be inside an ODR container
release
boolean
Whether or not to run a release immediately after the deploy. Defaults to false. Users would probably write a Release step to opt into a release but lets support the option here just like the CLI does.
latest
boolean
sequence
string
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
ref
object
Pipeline references a pipeline using one or more lookup types.
image
string
Docker image to execute. This should be a fully qualified image URL.
workspace
object
Workspace to use in step execution. If undefined, will default to the Workspace used when running the pipeline, otherwise 'default'
Workspace references a workspace.
project
object
Project references a project.
skip_destroy_resources
boolean
state
string
state of the job
assigned_runner
object
RunnerId references a runner by ID.
queue_time
string
The time when the job was queued.
assign_time
string
ack_time
string
complete_time
string
data_source_ref
object
Ref of the data was fetched for this job. This is available after the Ref event is sent down by GetJobStream. This is NOT used to specify the ref that should be downloaded. That level of configuration should be exposed via the data_source parameter itself.
variable_final_values
object
Variable refs store the final value used on the operation for each variable
defined in the waypoint.hcl. Any variables with sensitive
set in the
waypoint.hcl will have a value hashed with SHA256 so the user can verify
the value used.
source
string
Source is the location where the configuration was loaded from.
error
object
error is set if state == ERROR
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
build
object
The resulting build
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
push
object
The artifact that was pushed. This will be nil if DisablePush was set.
artifact
object
release
object
The release that was just created. If the release operation was a noop, for example if the target deployment shares a generation with the previously released deployment, then this may be an existing release. Callers can verify by checking if the target deployment changed or not.
validate
object
component
object
component that was checked
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
check_result
boolean
result of the auth check. If the component didn't implement the auth interface this will be set to true. You can check for interface implementation using auth_supported. If auth is attempted, the auth operation will recheck the status and this value will reflect the check post-auth attempt. You can use this to verify if the auth succeeded.
check_error
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
auth_completed
boolean
this is true if the component was authenticated using the Auth callback. If false, then no attempt was made to authenticate. This can be on purpose for example if "check_only" is set to true on the op.
auth_supported
boolean
auth supported is true if this component implemented the auth interface.
component
object
component that the docs are for
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
description
string
example
string
input
string
output
string
fields
object
input
string
output
string
description
string
config_sync
object
release_url
string
release_url is the equivalent of Release.Url. This is the URL that the release plugin generates directly from the platform. For example, on AWS this might be an ALB addr, on K8S this might be a load balancer addr, etc.
This can be empty if the release plugin does not support getting a URL.
app_url
string
app_url is the HashiCorp URL service URL for the entire application. Example: mistakenly-crucial-malamute.waypoint.run. If there are multiple hostnames registered for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
deploy_url
string
deploy_url is the HashiCorp URL service URL for this specific deploy. Example: mistakenly-crucial-malamute--v1.waypoint.run. Similar to app_url, if there are multiple registered hostnames for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
job_id
string
ID of the job that was queued.
job_id
string
This field will be non-empty if and only if polling resulted in new data that needs to be deployed. This will be the ID of the job that queues the "up" operation.
old_ref
object
If the poll resulted in new data, old_ref and new_ref will contain the two refs that were currently in use. These are nil if the polling didn't find new data.
new_ref
object
Ref is a reference to the exact set of data used by a data source.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
deployment_id
string
the deployment id that this status report was generated on
release_id
string
the release id that this status report was generated on
status
object
Status of the StatusReport operation executed by the server. Note that this status is not related to the status report, but the current state of the StatusReport operation
Status represents the status of an async operation.
id
string
id is the unique ID for this status report.
status_report
object
StatusReport is the raw SDK report object encoded directly from the plugin. This message is a StatusReport proto that exists inside the SDK
status_report_json
string
health_status
string
the overall health of the report for a resource
health_message
string
the overall health message of the report for a resource
deprecated_name
string
deprecated_id
string
generated_time
string
the time when this report was generated Copied from the plugin generated raw SDK status report for convenient API access.
external
boolean
where the health check was performed. External means not executed by Waypoint, but by the platform deployed to.
id
string
The id of the resource, according to the platform.
name
string
parent_resource_id
string
Resources that created this resource.
name
string
Friendly name of the resource, if applicable
platform
string
The platform on which the resource exists.
type
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
platform_url
string
A link directly to the resource in the platform, if applicable.
category_display_hint
string
The high level category of the resource, used as a hint to the UI on how to display the resource.
created_time
string
platform-reported time of resource creation
state_json
string
any additional metadata about the resource, encoded as JSON
health
string
the current health state for a single resource
health_message
string
a simple human readable message detailing the Health state
deprecated_health
object
deprecated in favor of the Health enum and message to match the plugin protos. Was never used.
deprecated_resources_health
object[]
instances_count
integer
count of active instance connections from waypoint-entrypoint (ceb). This is currently only applicable to deployment type status reports
state
object
The state of the create task, used to identify it later.
init
object
exit_code
integer
result
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
synced_pipelines
object
synced_pipelines is a map of Pipeline Name Keys to Pipeline ID Refs for each pipeline that was synced in the config sync request.
job_id
string
cancel_time
string
cancel time is the time that cancellation of this job was requested. If this is zero then this job was not cancelled. Note that this is the cancellation request time. The actual time a job ended is noted by the complete_time field.
expire_time
string
expire time is the time when this job would expire. If this isn't set then this is a non-expiring job. This will remain set even if the job never expired because it was accepted and run. This field can be used to detect that it was configured to expire.
id
string
the id of the tracktask record
job_id
string
The main "run" job ID that the task initiated
pipeline
object
PipelineStep is a reference to the pipeline and step that might have triggered this job. If the PipelineStep is nil, this job was not initiated by a pipeline. If the Pipeline Ref is set, this job is part of the referenced pipeline.
GetPipelineRun returns a pipeline run proto by pipeline ref id and sequence
Path Parameters
pipeline.id
string
RequiredReference a single pipeline by ID.
sequence
string
RequiredQuery Parameters
pipeline.owner.project.project
string
pipeline.owner.pipeline_name
string
the name of the defined pipeline config.
ListPipelineRuns takes a pipeline ref and returns a list of runs of that pipeline. It will return an error if the requested pipeline does not exist, or an empty response if there are no runs for the pipeline.
Path Parameters
pipeline.id
string
RequiredReference a single pipeline by ID.
Query Parameters
pipeline.owner.project.project
string
pipeline.owner.pipeline_name
string
the name of the defined pipeline config.
UpsertProject upserts the project.
Body Parameters
project
object
Project to upsert. See the message for what fields to set.
CreateProjectTemplate creates a new projecttemplate.
GetProjectTemplate returns a projecttemplate by the projecttemplate name or id
Path Parameters
project_template.name
string
RequiredName of the ProjectTemplate
Query Parameters
project_template.id
string
ID of the ProjectTemplate.
GetProjectTemplate returns a projecttemplate by the projecttemplate name or id
Path Parameters
project_template.id
string
RequiredID of the ProjectTemplate
Query Parameters
project_template.name
string
Name of the ProjectTemplate.
UpdateProjectTemplate updates an existing projecttemplate.
Path Parameters
project_template.id
string
RequiredUnique ID of the ProjectTemplate
DeleteProjectTemplate deletes a projecttemplate by the projecttemplate name or id
Path Parameters
project_template.id
string
RequiredID of the ProjectTemplate
Query Parameters
project_template.name
string
Name of the ProjectTemplate.
ListProjectTemplates returns a list of all projecttemplates known. (Pagination is currently ignored on this request)
Query Parameters
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
Set one or more configuration variables for applications or runners.
Body Parameters
global
object
Global references the entire server. This is used in some APIs as a way to read/write values that are server-global.
project
string
application
string
project
string
workspace
string
label_selector
string
Label selector specifies an additional filtering mechanism. If this is set, then the labels of the current environment must match for this config variable to be set. Labels are determined by the operation: the labels of the deploy, for example.
any
object
RunnerAny will reference any runner.
id
string
labels
object
name
string
name is the name of the environment variable that this config var is setting
unset
undefined
unset, if set, unsets this value. For historical reasons, empty static values also unset the value.
static
string
static, direct value.
from
string
from is the config source plugin to use
config
object
config is the configuration for the config source plugin that defines how the value is read. For example, for a "Vault" config source this may contain the path in the KV store to read the value.
internal
boolean
Indicates if the variable is not meant to be exposed applications or runners. It exists only to be referenced by other variables.
name_is_path
boolean
Indicates that this is actually be written as a file, with the name field being the filename.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
runner
object
Runner references a runner process which executes operations. This can reference a runner by any of the more specific types, such as by ID. If you want to constrain which runners can be targeted, a different ref type should be used.
Delete one or more configuration variables for applications or runners.
Body Parameters
global
object
Global references the entire server. This is used in some APIs as a way to read/write values that are server-global.
project
string
application
string
project
string
workspace
string
label_selector
string
Label selector specifies an additional filtering mechanism. If this is set, then the labels of the current environment must match for this config variable to be set. Labels are determined by the operation: the labels of the deploy, for example.
any
object
RunnerAny will reference any runner.
id
string
labels
object
name
string
name is the name of the environment variable that this config var is setting
unset
undefined
unset, if set, unsets this value. For historical reasons, empty static values also unset the value.
static
string
static, direct value.
from
string
from is the config source plugin to use
config
object
config is the configuration for the config source plugin that defines how the value is read. For example, for a "Vault" config source this may contain the path in the KV store to read the value.
internal
boolean
Indicates if the variable is not meant to be exposed applications or runners. It exists only to be referenced by other variables.
name_is_path
boolean
Indicates that this is actually be written as a file, with the name field being the filename.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
runner
object
Runner references a runner process which executes operations. This can reference a runner by any of the more specific types, such as by ID. If you want to constrain which runners can be targeted, a different ref type should be used.
CreateProjectFromTemplate is in BETA. It creates a new Waypoint project from a Project Template, provisioning infrastructure before upserting the Waypoint project to the database
Body Parameters
project_name
string
project_template
object
ListInstances returns the running instances of deployments.
Path Parameters
application.application.project
string
Requiredapplication.application.application
string
RequiredQuery Parameters
deployment_id
string
List instances for a specific deployment.
application.workspace.workspace
string
wait_timeout
string
Time to wait before retrying a request to connect to requested instance.
GetLogStream reads the log stream for a deployment. This will immediately send a single LogEntry with the lines we have so far. If there are no available lines this will NOT block and instead will return an error. The client can choose to retry or not.
Path Parameters
application.application.project
string
Requiredapplication.application.application
string
RequiredBody Parameters
deployment_id
string
Deployment to request logs for.
application
string
project
string
workspace
string
limit_backlog
integer
limit_backlog sets the maximum backlog lines to return on the initial
connection. This setting is per instance, not global. The maximum
backlog to expect is n * limit_backlog
where n is the number of
instances.
A negative value will not limit the backlog.
A value of zero will default to a value of 50.
ListInstances returns the running instances of deployments.
Path Parameters
application.application.project
string
Requiredapplication.application.application
string
Requiredapplication.workspace.workspace
string
RequiredQuery Parameters
deployment_id
string
List instances for a specific deployment.
wait_timeout
string
Time to wait before retrying a request to connect to requested instance.
GetLogStream reads the log stream for a deployment. This will immediately send a single LogEntry with the lines we have so far. If there are no available lines this will NOT block and instead will return an error. The client can choose to retry or not.
Path Parameters
application.application.project
string
Requiredapplication.application.application
string
Requiredapplication.workspace.workspace
string
RequiredBody Parameters
deployment_id
string
Deployment to request logs for.
application
string
project
string
workspace
string
limit_backlog
integer
limit_backlog sets the maximum backlog lines to return on the initial
connection. This setting is per instance, not global. The maximum
backlog to expect is n * limit_backlog
where n is the number of
instances.
A negative value will not limit the backlog.
A value of zero will default to a value of 50.
GetApplication returns one application on the project.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredGetLatestPushedArtifact returns the most recent successfully completed artifact push for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
ListPushedArtifacts returns the builds.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
include_build
boolean
Indicate if the Build value should be returned for each of the artifacts as well.
GetLatestBuild returns the most recent successfully completed build for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
ListBuilds returns the builds.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
Retrieve merged configuration values for a specific scope. You can determine where a configuration variable was set by looking at the scope field on each variable.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
project.project
string
runner.id
string
workspace.workspace
string
prefix
string
Get all configuration entries under the given prefix. When empty, returns all config variables.
GetLatestDeployment returns the most recent successfully completed deployment for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
load_details
string
Load additional details about the deployment. These will become available in the Preload section.
ListDeployments returns the deployments.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
physical_state
string
The physical state to filter for. If this is zero or unset then no filtering on physical state will be done.
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
load_details
string
Inidicate of the fetched deployments should include additional information about each deployment.
GetLatestRelease returns the most recent successfully completed release for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
load_details
string
Load additional details about the release. These will become available in the Preload section.
ListReleases returns the releases.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
physical_state
string
The physical state to filter for. If this is zero or unset then no filtering on physical state will be done.
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
load_details
string
Load additional details about the release. These will become available in the Preload section.
GetLatestStatusReport returns the most recent successfully completed health report for an app
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
deployment_id
string
release_id
string
ListStatusReports returns the deployments.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
workspace.workspace
string
deployment.id
string
deployment.sequence.number
string
release.id
string
release.sequence.number
string
ListTriggers takes a request filter, and returns any matching existing triggers
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
project.project
string
tags
string[]
GetLatestPushedArtifact returns the most recent successfully completed artifact push for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredListPushedArtifacts returns the builds.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
include_build
boolean
Indicate if the Build value should be returned for each of the artifacts as well.
GetLatestBuild returns the most recent successfully completed build for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredListBuilds returns the builds.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
GetLatestDeployment returns the most recent successfully completed deployment for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
load_details
string
Load additional details about the deployment. These will become available in the Preload section.
ListDeployments returns the deployments.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
physical_state
string
The physical state to filter for. If this is zero or unset then no filtering on physical state will be done.
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
load_details
string
Inidicate of the fetched deployments should include additional information about each deployment.
GetLatestRelease returns the most recent successfully completed release for an app.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
load_details
string
Load additional details about the release. These will become available in the Preload section.
ListReleases returns the releases.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
physical_state
string
The physical state to filter for. If this is zero or unset then no filtering on physical state will be done.
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
load_details
string
Load additional details about the release. These will become available in the Preload section.
GetLatestStatusReport returns the most recent successfully completed health report for an app
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
deployment_id
string
release_id
string
ListStatusReports returns the deployments.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
deployment.id
string
deployment.sequence.number
string
release.id
string
release.sequence.number
string
ListTriggers takes a request filter, and returns any matching existing triggers
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
project.project
string
tags
string[]
ListWorkspaces returns a list of all workspaces.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
project.project
string
Retrieve merged configuration values for a specific scope. You can determine where a configuration variable was set by looking at the scope field on each variable.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
project.project
string
runner.id
string
workspace.workspace
string
prefix
string
Get all configuration entries under the given prefix. When empty, returns all config variables.
ExpediteStatusReport returns the queued status report job id
Path Parameters
deployment.sequence.application.project
string
Requireddeployment.sequence.application.application
string
Requireddeployment.sequence.number
string
RequiredBody Parameters
workspace
string
id
string
application
string
project
string
number
string
release
object
the release id that this status report was generated on
Operation references an operation (build, deploy, etc.). This can reference an operation in multiple ways so you must use the oneof to choose.
GetPipeline returns a pipeline proto by pipeline ref id
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
Query Parameters
pipeline.id
string
Reference a single pipeline by ID.
GetLatestPipelineRun returns a pipeline run proto by pipeline ref id and sequence
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
Query Parameters
pipeline.id
string
Reference a single pipeline by ID.
RunPipeline queues a pipeline execution.
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
Body Parameters
id
string
Reference a single pipeline by ID.
project
string
pipeline_name
string
the name of the defined pipeline config
id
string
id of the job. This is generated on the server side when queued. If you are queueing a job, this must be empty or unset.
singleton_id
string
If this is set, then only one job with this singleton_id may exist at any point in the QUEUED state. If QueueJob is called with this set and an existing job is already queued with a matching singleton_id, that job will be overwritten with this job. This is optional.
depends_on
string[]
depends_on_allow_failure
string[]
application
string
project
string
workspace
string
any
object
RunnerAny will reference any runner.
id
string
labels
object
id
string
name
string
oci_url
string
The URL of the OCI image to execute the task under.
environment_variables
object
The environment variables that will be exposed to the task.
entrypoint
string[]
arguments
string[]
skip_operation
boolean
If true, the operation will not be queued. This only works with Noop operations out of safety. This is primarliy for tasks that are NOT runners.
labels
object
Labels are the labels to set for this operation. This is optional.
local
object
local means the runner has access to the data locally and will know what to do. This is primarily only useful if the target_runner is a specific runner and should not be used by any runner unless your runners are configured to have access to the proper data.
url
string
url of the repository to clone. Local paths are not allowed.
ref
string
a ref to checkout. If this isn't specified, then the default ref that is cloned from the URL above will be used.
path
string
path is a subdirectory within the checked out repository to go into for the project's configuration. This must be a relative path and may not contain ".."
ignore_changes_outside_path
boolean
This setting only takes effect if both "path" is true AND the Git polling is enabled. Under those conditions, if this option is true, then only changes in Git commits within the "path" will trigger a deploy. Changes outside the "path" will be ignored.
recurse_submodules
integer
The max depth for recursively cloning submodules. 0 disables submodule cloning.
username
string
username for authentication. If using access token based auth for something like GitHub, this can be any non-empty string.
password
string
password for authentication. If using access token based auth for GitHub, this should be the access token.
private_key_pem
string
private_key_pem is a PEM-encoded private key.
password
string
password is an optional password for decoding the private key.
user
string
user is the SSH user to use when cloning. This will default to "git" if not specified.
description
string
Description is information about how the Waypoint server acquires the data.
git_remote
object
If remote refers to a git repo, git_remote will be partially populate with information about which information within the git repo to use.
deploy_on_change
boolean
This corresponds with the implicit behavior associated with data source polling, whereby if the polling is successful, we perform an Up operation.
data_source_overrides
object
contents
string
Raw contents of the HCL file.
format
string
Format of HCL contents
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
name
string
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format, and converts it to hcl when we evaluate variables. This is used when loading values from a file or from the server/UI.
cli
undefined
Cli is set if a variable value is set via a -var flag
fileName
string
filename
string
line
integer
column
integer
byte
integer
env
undefined
Env is set if a variable value is set in the local environment via a WP_VAR_*
fileName
string
server
undefined
Server is set if the variable value comes from the server. When we add support for workspace variables, we can store the workspace id here.
dynamic
undefined
Dynamic config source plugin
sensitive
string
'sensitive' values are hashed as SHA256 values for the purposes of output and logging
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format
source
string
- UNKNOWN: This is the final used value's source that is supplied to the user in outputs.
sensitive
boolean
noop
object
Noop operations do nothing. This is primarily used for testing. This operation will still download the data from the data source. A noop may be useful outside of testing to verify a runner is executing properly or can access data properly.
disable_push
boolean
Don't push the build to any configured registry.
application
object
The application that this build is part of.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID of the build
state
string
state is the state of this operation.
details
string
details may be non-empty to provide human-friendly information about the current status. This may change between status updates for the same state to provide updated details about the state.
code
integer
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
message
string
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details
array
A list of messages that carry the error details. There is a common set of message types for APIs to use.
start_time
string
start_time is the time the operation was started.
complete_time
string
complete_time is the time the operation completed (success or fail).
type
string
type of the component
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
name of the component
type_url
string
A URL/resource name that uniquely identifies the type of the serialized
protocol buffer message. This string must contain at least
one "/" character. The last segment of the URL's path must represent
the fully qualified name of the type (as in
path/google.protobuf.Duration
). The name should be in a canonical form
(e.g., leading "." is not accepted).
In practice, teams usually precompile into the binary all types that they
expect it to use in the context of Any. However, for URLs which use the
scheme http
, https
, or no scheme, one can optionally set up a type
server that maps type URLs to message definitions as follows:
- If no scheme is provided,
https
is assumed. - An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
- Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.
Schemes other than http
, https
(or the empty scheme) might be
used with implementation specific semantics.
value
string
Must be a valid serialized protocol buffer of the above specified type.
artifact_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this build. This may be empty.
unknown
undefined
unknown is set if the ref is not known or not supported, such as for local data sources where we have no way to uniquely identify.
commit
string
commit is the full commit hash
timestamp
string
timestamp is the timestamp of the commit
commit_message
string
commit_message is the commit message, contains arbitrary text
application
object
application that this belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is a unique ID for this push
status
object
status of the push operation
Status represents the status of an async operation.
component
object
component that pushed this artifact
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact
object
artifact is the artifact that was a result from the push.
build_id
string
the id of the build that this pushed artifact was sourced from.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
build
object
If include_build was set on the list request, this will include the Build value associated with the given build_id.
job_id
string
ID of the job that created this. This may be empty.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
workspace
undefined
workspace will delete the app in the workspace that the job is targeting.
application
object
application that this deployment belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this deployment
url
string
url is the URL to the Deployment this URL might be empty, indicating that the deployment doesn't have the possibility to be contacted directly (e.g: Kubernetes pod) and thus the URL Service (Hashicorp Horizon) will be used instead, if enabled.
id
string
Id is the unique identifier for this generation. This value is opaque. Waypoint internally only requires that two different generations have two different IDs. The format of the value can be anything.
initial_sequence
string
This is the sequence number of the first operation that introduced this generation. Once all operations using a sequence number are fully destroyed, a reused generation will introduce a new sequence number.
This should not be manually set. This value will be automatically populated on insert. Updates should not modify this value.
Consumers can compare this to the sequence number of the operation to determine if this generation is new or existing.
state
string
state is the state of this deployment.
status
object
status tracks the status of the most recent operation (creation, destroy, etc. NOTE(mitchellh): I want to separate these out so that you can keep history of the status of multiple operations.
component
object
component that initiated this deployment
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
artifact_id
string
ID of the PushedArtifact that was deployed.
deployment
object
deployment is the full raw deployment object encoded directly from the plugin. The client must have all the plugins setup to properly decode this.
deployment_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
job_id
string
ID of the job that created this. This may be empty.
has_entrypoint_config
boolean
True if this deployment had the environment variables available for the entrypoint to talk to. If this is false, this deployment should not be able to communicate back to the server even if it has the entrypoint available. This means this deployment will not support logs, exec, etc.
has_exec_plugin
boolean
True if the deployment was done by a plugin that defined an exec plugin
has_logs_plugin
boolean
True if the deployment was done by a plugin that defined an logs plugin
name
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
category_display_hint
string
high level type of the resource, used for display purposes.
name
string
Unique name name for the resource. Usually derived from the platform. Required.
type
string
platform-specific type of the resource type. i.e. instance, pod, auto-scaling group, etc
platform
string
The platform on which the resource should exist, i.e. docker, gcp, k8s, etc.
state
object
Internal ResourceManager representation of the resource.
state_json
string
Any additional information a plugin wants to expose on this resource. EX: Availability zones on a load balancer, concurrency limit on a lambda function, etc.
artifact
object
Populated when a Deployment is read with LoadDetails set to ARTIFACT or BUILD
build
object
Populated when a Deployment is read with LoadDetails set to BUILD
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
deploy_url
string
The deployment-specific URL from the URL service. This is set on all deployment API calls. This will be empty if the URL service is not enabled or there was an error loading this information.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
prune
boolean
Prune settings. This will prune the deployments that aren't released.
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
validate
object
ValidateOp validates various aspects of a configuration.
check_only
boolean
if true, auth will only be checked but not attempted. Currently this must ALWAYS be true. Only authentication checking is supported.
type
string
Supported component types, the values here MUST match the enum values in the Go sdk/component package exactly. A test in internal/server validates this.
name
string
docs
object
config_sync
object
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
release
object
Options for the release stage. The "deployment" field in this will be ignored since we'll always use the deployment from the deploy step in Up.
instance_id
string
Id to assign the virtual instance created
deployment
object
The deployment to create the exec session context. Ie, what application code will be available within the exec session.
start_time
string
Indicates the time horizon that log entries must be beyond for them to be emitted.
limit
integer
The maximum of log entries to be output.
job_template
object
The template for the job to queue for each application. The "application" field will be overwritten for each application. All other fields are untouched.
poll
object
PollOp triggers a poll action for a project. The job will fail if there is no data source configured for the project.
A poll operation can be queued even if a project has polling disabled. If a project has polling enabled, a manually queued poll operation will have no effect on the poll timer or intervals.
deployment
object
The deployment that should be associated with this status report operation
application
object
application that this release belongs to
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
sequence
string
The sequence number for this build.
id
string
id is the unique ID for this release.
status
object
status of the release operation.
state
string
The physical state of the release resources.
component
object
component managing the release process.
release
object
release is the raw release object encoded directly from the plugin.
release_json
string
This is the JSON-encoded protobuf structure of the Any field above. This is generated by the plugin and Waypoint core does not modify this value or have any enforced structure. This will be different per-plugin.
deployment_id
string
ID of the deployment that is being released.
labels
object
labels are the set of labels that are present on this build.
template_data
string
template data for HCL variables and template functions, json-encoded
url
string
URL for this release. This is valid while the release is still in use. After the release is not in use, this may still be set but may no longer be valid.
job_id
string
ID of the job that created this. This may be empty.
unimplemented
boolean
A boolean to mark this release message as unimplemented by the plugin that generated the message. If true, that means there was not a releaser to execute for the release lifecycle phase.
declared_resources
array
A platform resource that this release has created, depends on, or manages.
destroyed_resources
array
Resources that a destroy operation has destroyed
deployment
object
Populated when LoadDetails is set.
artifact
object
Populated when LoadDetails is set.
build
object
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
job_data_source_ref
object
The ref that was used in the job to run this operation. This is also accessible by querying the job via the job_id and should always match.
This may be null under multiple circumstances: (1) the job was manually triggered with local data (no datasource) or (2) the job was run in earlier versions of Waypoint before we tracked this or (3) the job hasn't yet loaded the data.
This is always pre-populated if it is exists.
info
object
The info to use to create the task
TaskLaunchInfo gets stored on the job/operation when queued for execution. It details various options required for the task it will launch.
plugin_type
string
The plugin type to invoke for the task plugin.
hcl_config
string
The configuration information for the task. This is HCL that is decoded to figure out the task plugin and then provide that task plugin with configuration
hcl_format
string
HCL files can be in either HCL or JSON syntax. We need to know ahead of time in order to parse it properly. We could perform heuristics but we prefer to be explicit.
params
object
TaskPluginParams contains the information about a specific task plugin that is used by both StartTask and StopTask
Params is needed to spawn the plugin so we can send it the stop.
direct
object
The state can be directly provided.
start_job_id
string
The state can be looked up from the result of a StartTask job.
init
object
InitOp triggers an init action for a project (the equivalent of waypoint init
). The job will fail if there is no data source configured for the
project. As with waypoint init
, this operation is idempotent.
id
string
name
string
Name of the step. This is unique within a pipeline. In the "steps" map, this must match the map key.
depends_on
string[]
image
string
TODO(briancain): update this to use the Step exec instead of the plugin Docker image to execute. This should be a fully qualified image URL.
command
string
Command to execute within the image. If blank, the default command will be executed.
args
string[]
disable_push
boolean
Whether or not to push the built artifact to a remote container registry TODO(briancain): ensure default to false because this will be inside an ODR container
release
boolean
Whether or not to run a release immediately after the deploy. Defaults to false. Users would probably write a Release step to opt into a release but lets support the option here just like the CLI does.
latest
boolean
sequence
string
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
prune
boolean
prune_retain
integer
This sets the number of unreleased deployments to retain when pruning. This only has an effect if "prune_retain_override" is true. If that is false, then pruning uses the default behavior (retain 2).
prune_retain_override
boolean
ref
object
Pipeline references a pipeline using one or more lookup types.
image
string
Docker image to execute. This should be a fully qualified image URL.
workspace
object
Workspace to use in step execution. If undefined, will default to the Workspace used when running the pipeline, otherwise 'default'
Workspace references a workspace.
project
object
Project references a project.
skip_destroy_resources
boolean
state
string
state of the job
assigned_runner
object
RunnerId references a runner by ID.
queue_time
string
The time when the job was queued.
assign_time
string
ack_time
string
complete_time
string
data_source_ref
object
Ref of the data was fetched for this job. This is available after the Ref event is sent down by GetJobStream. This is NOT used to specify the ref that should be downloaded. That level of configuration should be exposed via the data_source parameter itself.
variable_final_values
object
Variable refs store the final value used on the operation for each variable
defined in the waypoint.hcl. Any variables with sensitive
set in the
waypoint.hcl will have a value hashed with SHA256 so the user can verify
the value used.
source
string
Source is the location where the configuration was loaded from.
error
object
error is set if state == ERROR
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
build
object
The resulting build
Build represents a process of creating an artifact that can be in any state, such as complete. A successful complete build produces an artifact.
push
object
The artifact that was pushed. This will be nil if DisablePush was set.
artifact
object
release
object
The release that was just created. If the release operation was a noop, for example if the target deployment shares a generation with the previously released deployment, then this may be an existing release. Callers can verify by checking if the target deployment changed or not.
validate
object
component
object
component that was checked
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
check_result
boolean
result of the auth check. If the component didn't implement the auth interface this will be set to true. You can check for interface implementation using auth_supported. If auth is attempted, the auth operation will recheck the status and this value will reflect the check post-auth attempt. You can use this to verify if the auth succeeded.
check_error
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
auth_completed
boolean
this is true if the component was authenticated using the Auth callback. If false, then no attempt was made to authenticate. This can be on purpose for example if "check_only" is set to true on the op.
auth_supported
boolean
auth supported is true if this component implemented the auth interface.
component
object
component that the docs are for
Component represents metadata about a component. A component is the generic name for a builder, registry, platform, etc.
description
string
example
string
input
string
output
string
fields
object
input
string
output
string
description
string
config_sync
object
release_url
string
release_url is the equivalent of Release.Url. This is the URL that the release plugin generates directly from the platform. For example, on AWS this might be an ALB addr, on K8S this might be a load balancer addr, etc.
This can be empty if the release plugin does not support getting a URL.
app_url
string
app_url is the HashiCorp URL service URL for the entire application. Example: mistakenly-crucial-malamute.waypoint.run. If there are multiple hostnames registered for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
deploy_url
string
deploy_url is the HashiCorp URL service URL for this specific deploy. Example: mistakenly-crucial-malamute--v1.waypoint.run. Similar to app_url, if there are multiple registered hostnames for the application, this always picks the first one.
This can be blank if the URL service is disabled or errored.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
job_id
string
ID of the job that was queued.
job_id
string
This field will be non-empty if and only if polling resulted in new data that needs to be deployed. This will be the ID of the job that queues the "up" operation.
old_ref
object
If the poll resulted in new data, old_ref and new_ref will contain the two refs that were currently in use. These are nil if the polling didn't find new data.
new_ref
object
Ref is a reference to the exact set of data used by a data source.
application
object
Application references an application. To uniquely identify an application, this must encapsulate the full hierarchy to the application.
workspace
object
The workspace that this exists in
Workspace references a workspace.
deployment_id
string
the deployment id that this status report was generated on
release_id
string
the release id that this status report was generated on
status
object
Status of the StatusReport operation executed by the server. Note that this status is not related to the status report, but the current state of the StatusReport operation
Status represents the status of an async operation.
id
string
id is the unique ID for this status report.
status_report
object
StatusReport is the raw SDK report object encoded directly from the plugin. This message is a StatusReport proto that exists inside the SDK
status_report_json
string
health_status
string
the overall health of the report for a resource
health_message
string
the overall health message of the report for a resource
deprecated_name
string
deprecated_id
string
generated_time
string
the time when this report was generated Copied from the plugin generated raw SDK status report for convenient API access.
external
boolean
where the health check was performed. External means not executed by Waypoint, but by the platform deployed to.
id
string
The id of the resource, according to the platform.
name
string
parent_resource_id
string
Resources that created this resource.
name
string
Friendly name of the resource, if applicable
platform
string
The platform on which the resource exists.
type
string
platform-specific name of the resource type. i.e. instance, pod, auto-scaling group, etc
platform_url
string
A link directly to the resource in the platform, if applicable.
category_display_hint
string
The high level category of the resource, used as a hint to the UI on how to display the resource.
created_time
string
platform-reported time of resource creation
state_json
string
any additional metadata about the resource, encoded as JSON
health
string
the current health state for a single resource
health_message
string
a simple human readable message detailing the Health state
deprecated_health
object
deprecated in favor of the Health enum and message to match the plugin protos. Was never used.
deprecated_resources_health
object[]
instances_count
integer
count of active instance connections from waypoint-entrypoint (ceb). This is currently only applicable to deployment type status reports
state
object
The state of the create task, used to identify it later.
init
object
exit_code
integer
result
object
The Status
type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status
message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
synced_pipelines
object
synced_pipelines is a map of Pipeline Name Keys to Pipeline ID Refs for each pipeline that was synced in the config sync request.
job_id
string
cancel_time
string
cancel time is the time that cancellation of this job was requested. If this is zero then this job was not cancelled. Note that this is the cancellation request time. The actual time a job ended is noted by the complete_time field.
expire_time
string
expire time is the time when this job would expire. If this isn't set then this is a non-expiring job. This will remain set even if the job never expired because it was accepted and run. This field can be used to detect that it was configured to expire.
id
string
the id of the tracktask record
job_id
string
The main "run" job ID that the task initiated
pipeline
object
PipelineStep is a reference to the pipeline and step that might have triggered this job. If the PipelineStep is nil, this job was not initiated by a pipeline. If the Pipeline Ref is set, this job is part of the referenced pipeline.
GetPipelineRun returns a pipeline run proto by pipeline ref id and sequence
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
sequence
string
RequiredQuery Parameters
pipeline.id
string
Reference a single pipeline by ID.
ListPipelineRuns takes a pipeline ref and returns a list of runs of that pipeline. It will return an error if the requested pipeline does not exist, or an empty response if there are no runs for the pipeline.
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
Query Parameters
pipeline.id
string
Reference a single pipeline by ID.
GetProject returns the project.
Path Parameters
project.project
string
RequiredDestroyProject deletes a project from the database as well as (optionally) destroys all resources created within a project
Path Parameters
project.project
string
RequiredUpsertApplication upserts an application with a project.
Path Parameters
project.project
string
RequiredBody Parameters
project
object
project to register the app against
Project references a project.
name
string
name of the application to register
file_change_signal
string
a signal to send the application when config files change
Retrieve merged configuration values for a specific scope. You can determine where a configuration variable was set by looking at the scope field on each variable.
Path Parameters
project.project
string
RequiredQuery Parameters
application.application
string
application.project
string
runner.id
string
workspace.workspace
string
prefix
string
Get all configuration entries under the given prefix. When empty, returns all config variables.
ConfigSyncPipeline takes a request for a given project and syncs the current project config to the Waypoint database.
Path Parameters
project.project
string
RequiredBody Parameters
project
object
The project to sync all pipeline configs on
Project references a project.
ListPipelines takes a project and evaluates the projects config to get a list of Pipeline protos to return in the response. These pipelines are scoped to a single project from the request. It will return an error if the requested project does not exist, or an empty response if no pipelines are defined for the project.
Path Parameters
project.project
string
RequiredDeprecated in favor of GetTFRunStatus GetTFCRunStatus is in BETA. It returns the status of a TFC run, which was run to render a project template.
Path Parameters
project.project
string
RequiredListTriggers takes a request filter, and returns any matching existing triggers
Path Parameters
project.project
string
RequiredQuery Parameters
workspace.workspace
string
application.application
string
application.project
string
tags
string[]
ListWorkspaces returns a list of all workspaces.
Path Parameters
project.project
string
RequiredQuery Parameters
application.application
string
application.project
string
GetPushedArtifact returns a deployment
Path Parameters
ref.sequence.application.project
string
Requiredref.sequence.application.application
string
Requiredref.sequence.number
string
RequiredQuery Parameters
ref.id
string
GetBuild returns a build
Path Parameters
ref.sequence.application.project
string
Requiredref.sequence.application.application
string
Requiredref.sequence.number
string
RequiredQuery Parameters
ref.id
string
GetDeployment returns a deployment
Path Parameters
ref.sequence.application.project
string
Requiredref.sequence.application.application
string
Requiredref.sequence.number
string
RequiredQuery Parameters
ref.id
string
load_details
string
Indicate if the fetched deployments should include additional information about each deployment.
GetRelease returns a release
Path Parameters
ref.sequence.application.project
string
Requiredref.sequence.application.application
string
Requiredref.sequence.number
string
RequiredQuery Parameters
ref.id
string
load_details
string
Load additional details about the release. These will become available in the Preload section.
ExpediteStatusReport returns the queued status report job id
Path Parameters
release.sequence.application.project
string
Requiredrelease.sequence.application.application
string
Requiredrelease.sequence.number
string
RequiredBody Parameters
workspace
string
id
string
application
string
project
string
number
string
release
object
the release id that this status report was generated on
Operation references an operation (build, deploy, etc.). This can reference an operation in multiple ways so you must use the oneof to choose.
Create a hostname with the URL service.
Path Parameters
target.application.application.project
string
Requiredtarget.application.application.application
string
RequiredBody Parameters
hostname
string
hostname to register. This may be empty to autogenerate a hostname.
application
string
project
string
workspace
string
List all our registered hostnames.
Path Parameters
target.application.application.project
string
Requiredtarget.application.application.application
string
RequiredQuery Parameters
target.application.workspace.workspace
string
Create a hostname with the URL service.
Path Parameters
target.application.application.project
string
Requiredtarget.application.application.application
string
Requiredtarget.application.workspace.workspace
string
RequiredBody Parameters
hostname
string
hostname to register. This may be empty to autogenerate a hostname.
application
string
project
string
workspace
string
List all our registered hostnames.
Path Parameters
target.application.application.project
string
Requiredtarget.application.application.application
string
Requiredtarget.application.workspace.workspace
string
RequiredListProjects returns a list of all the projects. There is no equivalent ListApplications because applications are a part of projects and you can use GetProject to get more information about the project.
Query Parameters
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetStatusReport returns a StatusReport
Path Parameters
ref.id
string
RequiredQuery Parameters
ref.sequence.application.application
string
ref.sequence.application.project
string
ref.sequence.number
string
GetRelease returns a release
Path Parameters
ref.id
string
RequiredQuery Parameters
ref.sequence.application.application
string
ref.sequence.application.project
string
ref.sequence.number
string
load_details
string
Load additional details about the release. These will become available in the Preload section.
ExpediteStatusReport returns the queued status report job id
Path Parameters
release.id
string
RequiredBody Parameters
workspace
string
id
string
application
string
project
string
number
string
release
object
the release id that this status report was generated on
Operation references an operation (build, deploy, etc.). This can reference an operation in multiple ways so you must use the oneof to choose.
UpsertOnDemandRunnerConfig updates or inserts a on-demand runner configuration. This configuration can be used by projects for running operations on just-in-time launched runners.
Body Parameters
config
object
OnDemand Runners
ondemand_runner to upsert. If the id is empty, then this is an insert, otherwise this is an update operation.
GetRunner gets information about a single runner.
Path Parameters
runner_id
string
RequiredID of the runner to request.
AdoptRunners allows marking a runner as adopted or rejected.
Path Parameters
runner_id
string
RequiredID of the runner to change the adoption status.
Body Parameters
runner_id
string
ID of the runner to change the adoption status.
adopt
boolean
Whether to adopt or reject. True for adopt, false for reject.
ForgetRunner deletes an existing runner entry and makes the server behave as if the runner no longer exists. If the runner is currently running, it will receive errors on subsequent jobs, and will have to re-register. A forgotten runner will not be assigned new jobs until re-registered.
Path Parameters
runner_id
string
RequiredID of the runner to forget
ListRunners lists runners that are currently registered with the waypoint server. This list does not include previous on-demand runners that have exited.
GetServerConfig sets configuration for the Waypoint server.
SetServerConfig sets configuration for the Waypoint server.
Body Parameters
addr
string
tls
boolean
tls_skip_verify
boolean
platform
string
The platform that the server is currently installed to. This is set through the CLI flag '-platform' on installation.
cookie
string
Cookie is a unique cookie for this server. This can be sent in metadata as a semi-secret mechanism to just ensure you're talking to the correct cluster. The cookie does not enable access to data directly. Some API endpoints (such as RunnerToken) require it. This is auto-generated on startup and cannot currently be changed. Any attempts to change this value are ignored.
GetTask returns a requested Task message. Or an error if it does not exist.
Path Parameters
ref.job_id
string
RequiredThe main "run" job ID that the task initiated
Query Parameters
ref.id
string
the id of the tracktask record.
CancelTask will attempt to gracefully cancel each job in the task job triple
Path Parameters
ref.job_id
string
RequiredThe main "run" job ID that the task initiated
Body Parameters
id
string
the id of the tracktask record
job_id
string
The main "run" job ID that the task initiated
GetTask returns a requested Task message. Or an error if it does not exist.
Path Parameters
ref.id
string
Requiredthe id of the tracktask record
Query Parameters
ref.job_id
string
The main "run" job ID that the task initiated.
CancelTask will attempt to gracefully cancel each job in the task job triple
Path Parameters
ref.id
string
Requiredthe id of the tracktask record
Body Parameters
id
string
the id of the tracktask record
job_id
string
The main "run" job ID that the task initiated
ListTask will return a list of all existing Tasks
Query Parameters
taskState
string[]
GetTFRunStatus returns the status of the latest run of a Terraform workspace
Path Parameters
workspace_name
string
RequiredDecodeToken takes a token string and returns the structured information about the given token. This is useful for frontends (CLI, UI, etc.) to learn more about a token before using it. For example, if a UI wants to create a signup flow around signup tokens, they can validate the token ahead of time.
Body Parameters
token
string
The token to decode.
Exchange a invite token for a login token. If the invite token is for a new user, this will create a new user account with the provided username hint.
Body Parameters
token
string
A token previous returned by GenerateInviteToken.
Generate a new invite token that users can exchange for a login token. This can be used to also invite new users to the Waypoint server.
Body Parameters
duration
string
How long the token should be valid until. The resulting token has a timestamp encoded within it by adding the current time to this duration.
user_id
string
User that this token represents. This is the internal user ID (ULID), not the username/email/etc. The special value of "waypoint" means the superuser (default user) that is setup on bootstrap. This is for historical reasons only and is the only valid non-ULID value.
deployment_id
string
deployment id is the deployment to restrict this token to.
initial_username
string
The initial username that the new user should be given. If this username is taken, a random number will be appended. If this is empty, a totally random username will be given to the new user.
unused_entrypoint
object
Old field, used only for backwards compatibility. If this is set, the old behavior will be followed. If you don't know what that is, then do not use this field.
Generate a new login token that users can use to login directly. This can only be called for existing users.
Body Parameters
duration
string
How long the token should be valid from the time the request is made. If this is empty then the login token never expires on its own.
id
string
username
string
trigger
boolean
The token generated will only be used for Trigger URL actions. The token will not be authorized to make any other requests to any other endpoints
Generate a new runner token that can be used with runners so they immediately begin work. The recommended appraoch is to instead use the adoption flow but this also works.
Body Parameters
duration
string
How long the token should be valid from the time the request is made. If this is empty then the runner token never expires on its own.
id
string
ID to restrict this token to work with. This can be empty to allow it for all runner IDs.
labels
object
The set of labels to restrict this runner token to work for. The runner labels must match this label set exactly. If this is not set, then runners with any labels may use the resulting token.
GetTrigger returns a requested trigger message. Or an error if it does not exist.
Path Parameters
ref.id
string
RequiredRunTrigger will look up the referenced trigger and attempt to queue a job based on the trigger configuration.
Path Parameters
ref.id
string
RequiredBody Parameters
id
string
name
string
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format, and converts it to hcl when we evaluate variables. This is used when loading values from a file or from the server/UI.
cli
undefined
Cli is set if a variable value is set via a -var flag
fileName
string
filename
string
line
integer
column
integer
byte
integer
env
undefined
Env is set if a variable value is set in the local environment via a WP_VAR_*
fileName
string
server
undefined
Server is set if the variable value comes from the server. When we add support for workspace variables, we can store the workspace id here.
dynamic
undefined
Dynamic config source plugin
sensitive
string
'sensitive' values are hashed as SHA256 values for the purposes of output and logging
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format
source
string
- UNKNOWN: This is the final used value's source that is supplied to the user in outputs.
sensitive
boolean
GetTrigger returns a requested trigger message. Or an error if it does not exist.
Path Parameters
ref.id
string
RequiredListTriggers takes a request filter, and returns any matching existing triggers
Query Parameters
workspace.workspace
string
project.project
string
application.application
string
application.project
string
tags
string[]
UpsertTrigger updates or inserts a trigger URL configuration.
Body Parameters
trigger
object
The Trigger message is a representation of a URL that can be requested for invoking specific lifecycle operations on a projects applications. These trigger URLs are intended to be used in a CI system for easy configuration. The user is expected to configure and generate the URL ahead of time, and Waypoint will generate a trigger based on the configuration here and return a URL to make requests with.
Attempts to run a trigger given a trigger ID reference. If the trigger does not exist, we return not found. If the trigger exists but requires authentication we return an error.
Path Parameters
ref.id
string
RequiredBody Parameters
id
string
name
string
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format, and converts it to hcl when we evaluate variables. This is used when loading values from a file or from the server/UI.
cli
undefined
Cli is set if a variable value is set via a -var flag
fileName
string
filename
string
line
integer
column
integer
byte
integer
env
undefined
Env is set if a variable value is set in the local environment via a WP_VAR_*
fileName
string
server
undefined
Server is set if the variable value comes from the server. When we add support for workspace variables, we can store the workspace id here.
dynamic
undefined
Dynamic config source plugin
sensitive
string
'sensitive' values are hashed as SHA256 values for the purposes of output and logging
str
string
bool
boolean
num
string
hcl
string
hcl stores values of any complex type in a raw string format
source
string
- UNKNOWN: This is the final used value's source that is supplied to the user in outputs.
sensitive
boolean
GetDeployment returns a deployment
Path Parameters
ref.id
string
RequiredQuery Parameters
ref.sequence.application.application
string
ref.sequence.application.project
string
ref.sequence.number
string
load_details
string
Indicate if the fetched deployments should include additional information about each deployment.
List possible event data types.
Get a pipline run with additional computed data.
Path Parameters
pipeline.id
string
RequiredReference a single pipeline by ID.
sequence
string
RequiredQuery Parameters
pipeline.owner.project.project
string
pipeline.owner.pipeline_name
string
the name of the defined pipeline config.
List deployments for a given application.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
physical_state
string
The physical state to filter for. If this is zero or unset then no filtering on physical state will be done.
List UI events for a given application.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
sorting.order_by
string[]
project.project
string
List releases for a given application.
Path Parameters
application.project
string
Requiredapplication.application
string
RequiredQuery Parameters
workspace.workspace
string
order.order
string
Order for the results.
order.desc
boolean
order.limit
integer
Limit the number of results.
physical_state
string
The physical state to filter for. If this is zero or unset then no filtering on physical state will be done.
List UI events for a given application.
Path Parameters
application.project
string
Requiredapplication.application
string
Requiredworkspace.workspace
string
RequiredQuery Parameters
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
sorting.order_by
string[]
project.project
string
Get a pipline run with additional computed data.
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
sequence
string
RequiredQuery Parameters
pipeline.id
string
Reference a single pipeline by ID.
List pipeline runs with pagination for a given pipeline
Path Parameters
pipeline.owner.project.project
string
Requiredpipeline.owner.pipeline_name
string
Requiredthe name of the defined pipeline config
Query Parameters
pipeline.id
string
Reference a single pipeline by ID.
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
Get a given project with useful related records.
Path Parameters
project.project
string
RequiredList pipelines with last run for each for a given project.
Path Parameters
project.project
string
RequiredQuery Parameters
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetDeployment returns a deployment
Path Parameters
ref.sequence.application.project
string
Requiredref.sequence.application.application
string
Requiredref.sequence.number
string
RequiredQuery Parameters
ref.id
string
load_details
string
Indicate if the fetched deployments should include additional information about each deployment.
List full projects (not just refs)
Query Parameters
pagination.page_size
integer
The max number of results per page that should be returned. If the number
of available results is larger than page_size
, a next_page_token
is
returned which can be used to get the next page of results in subsequent
requests. A value of zero will cause page_size
to be defaulted.
pagination.next_page_token
string
Specifies a page token to use to retrieve the next page. Set this to the
next_page_token
returned by previous list requests to get the next page of
results. If set, previous_page_token
must not be set.
pagination.previous_page_token
string
Specifies a page token to use to retrieve the previous page. Set this to
the previous_page_token
returned by previous list requests to get the
previous page of results. If set, next_page_token
must not be set.
GetUser returns the current logged in user or some other user.
Path Parameters
user.id.id
string
RequiredQuery Parameters
user.username.username
string
Delete a user. This will invalidate all authentication for this user as well since they no longer exist.
Path Parameters
user.id.id
string
RequiredQuery Parameters
user.username.username
string
GetUser returns the current logged in user or some other user.
Path Parameters
user.username.username
string
RequiredQuery Parameters
user.id.id
string
Delete a user. This will invalidate all authentication for this user as well since they no longer exist.
Path Parameters
user.username.username
string
RequiredQuery Parameters
user.id.id
string
Update the details about an existing user.
Path Parameters
user.id
string
RequiredId that is unique to the Waypoint server (usually a ULID).
Body Parameters
user
object
User represents a single user identity within the Waypoint server. A user account may represent multiple authentication methods (OIDC from multiple sources, tokens, etc.).
List all users in the system.
GetVersionInfo returns information about the server. This RPC call does NOT require authentication. It can be used by clients to determine if they are capable of talking to this server.
UpsertWorkspace upserts the workspace. Changes to a Workspace's Projects are ignored at this time.
GetWorkspace returns the workspace.
Path Parameters
workspace.workspace
string
RequiredListWorkspaces returns a list of all workspaces.
Query Parameters
project.project
string
application.application
string
application.project
string