GKE Apply Deployment

POST Parameters

NameTypeDescription
name
Required
StringThe name of the action.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set to KUBERNETES_APPLY.
integration
Required
IntegrationThe integration.
gke_auth_type
Required
StringAuthorization type. Can be one of BASIC, SERVICE_ACCOUNT or CERTS`.
zone_id
Required
StringThe ID of the GKE zone.
cluster
Required
StringThe ID of the GKE cluster.
application_id
Required
StringThe ID of the GKE application.
config_path
Required
StringThe path to the configuration file.
server_keyStringThe server key required when gke_auth_type is set to SERVICE_ACCOUNT.
record_argStringRecord current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
save_config_argBooleanIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
force_argBooleanDelete and re-create the specified resource, when PATCH encounters conflict and has retried for 5 times.
overwrite_argBooleanAutomatically resolve conflicts between the modified and live configuration by using values from the modified configuration.
cascade_argBooleanOnly relevant during a prune or a force apply. If true, cascade the deletion of the resources managed by pruned or deleted resources (e.g. Pods created by a ReplicationController).
all_argBooleanDefines whether to select all the specified resources.
grace_period_argIntegerOnly relevant during a prune or a force apply. Period of time in seconds given to pruned or deleted resources to terminate gracefully. Ignored if negative.
prune_argBooleanAutomatically delete resource objects that do not appear in the configs and are created by either apply or create –save-config. Should be used with either -l or –all.
prune_whitelist_argStringOverwrite the default whitelist with <group/version/kind> for –prune.
timeout_argStringOnly relevant during a force apply. The length of time to wait before giving up on a delete of the old resource, zero means determine a timeout from the size of the object. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h).
after_action_idIntegerThe numerical ID of the action, after which this action should be added.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Apply deployment",
"type": "KUBERNETES_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"zone_id": "europe-west1-c",
"cluster": "cluster-1",
"application_id": "tokyo-house-138923",
"gke_auth_type": "BASIC",
"config_path": "config.yaml",
"record_arg": "NOT_SET",
"save_config_arg": false,
"force_arg": false,
"overwrite_arg": false,
"cascade_arg": false,
"all_arg": true,
"grace_period_arg": 0,
"prune_arg": true,
"prune_whitelist_arg": "",
"timeout_arg": "0s",
"integration": {
"id": 2
}
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
"id": 2,
"name": "Apply deployment",
"type": "KUBERNETES_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"zone_id": "europe-west1-c",
"cluster": "cluster-1",
"application_id": "tokyo-house-138923",
"gke_auth_type": "BASIC",
"config_path": "config.yaml",
"record_arg": "NOT_SET",
"save_config_arg": false,
"force_arg": false,
"overwrite_arg": false,
"cascade_arg": false,
"all_arg": true,
"grace_period_arg": 0,
"prune_arg": true,
"prune_whitelist_arg": "",
"timeout_arg": "0s",
"integration": {
"url": "https://api.buddy.works/workspaces/buddy/user/integrations/2",
"html_url": "https://app.buddy.works/my-id",
"id": 2
},
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "test pipeline",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}