import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";
const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
security: {
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
oauth: "<YOUR_OAUTH_HERE>",
},
});
async function run() {
const result = await conductoroneSDKTypescript.functions.updateFunction();
console.log(result);
}
run();package main
import(
"context"
"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
"log"
)
func main() {
ctx := context.Background()
s := conductoronesdkgo.New(
conductoronesdkgo.WithSecurity(shared.Security{
BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
Oauth: "<YOUR_OAUTH_HERE>",
}),
)
res, err := s.Functions.UpdateFunction(ctx, nil)
if err != nil {
log.Fatal(err)
}
if res.FunctionsServiceUpdateFunctionResponse != nil {
// handle response
}
}curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/functions/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commitMessage": "<string>",
"content": {},
"function": {
"description": "<string>",
"displayName": "<string>",
"head": "<string>",
"id": "<string>",
"isDraft": true,
"outboundNetworkAllowlist": [
"<string>"
],
"provisionedConcurrency": 123,
"publishedCommitId": "<string>",
"scopedRoleIds": [
"<string>"
],
"secret": {}
},
"updateMask": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/functions/update"
payload = {
"commitMessage": "<string>",
"content": {},
"function": {
"description": "<string>",
"displayName": "<string>",
"head": "<string>",
"id": "<string>",
"isDraft": True,
"outboundNetworkAllowlist": ["<string>"],
"provisionedConcurrency": 123,
"publishedCommitId": "<string>",
"scopedRoleIds": ["<string>"],
"secret": {}
},
"updateMask": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
commitMessage: '<string>',
content: {},
function: {
description: '<string>',
displayName: '<string>',
head: '<string>',
id: '<string>',
isDraft: true,
outboundNetworkAllowlist: ['<string>'],
provisionedConcurrency: 123,
publishedCommitId: '<string>',
scopedRoleIds: ['<string>'],
secret: {}
},
updateMask: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/functions/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenantDomain}.conductor.one/api/v1/functions/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'commitMessage' => '<string>',
'content' => [
],
'function' => [
'description' => '<string>',
'displayName' => '<string>',
'head' => '<string>',
'id' => '<string>',
'isDraft' => true,
'outboundNetworkAllowlist' => [
'<string>'
],
'provisionedConcurrency' => 123,
'publishedCommitId' => '<string>',
'scopedRoleIds' => [
'<string>'
],
'secret' => [
]
],
'updateMask' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v1/functions/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commitMessage\": \"<string>\",\n \"content\": {},\n \"function\": {\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"head\": \"<string>\",\n \"id\": \"<string>\",\n \"isDraft\": true,\n \"outboundNetworkAllowlist\": [\n \"<string>\"\n ],\n \"provisionedConcurrency\": 123,\n \"publishedCommitId\": \"<string>\",\n \"scopedRoleIds\": [\n \"<string>\"\n ],\n \"secret\": {}\n },\n \"updateMask\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/functions/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"commitMessage\": \"<string>\",\n \"content\": {},\n \"function\": {\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"head\": \"<string>\",\n \"id\": \"<string>\",\n \"isDraft\": true,\n \"outboundNetworkAllowlist\": [\n \"<string>\"\n ],\n \"provisionedConcurrency\": 123,\n \"publishedCommitId\": \"<string>\",\n \"scopedRoleIds\": [\n \"<string>\"\n ],\n \"secret\": {}\n },\n \"updateMask\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"commit": {
"author": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"functionId": "<string>",
"id": "<string>",
"message": "<string>"
},
"function": {
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"head": "<string>",
"hookRefs": [
"<string>"
],
"id": "<string>",
"isDraft": true,
"outboundNetworkAllowlist": [
"<string>"
],
"provisionedConcurrency": 123,
"publishedCommitId": "<string>",
"scopedRoleIds": [
"<string>"
],
"secret": {},
"updatedAt": "2023-11-07T05:31:56Z",
"useSpn": true,
"workflowTemplateRefs": [
"<string>"
]
}
}Update Function
Update an existing function’s metadata, code, or both. Also the publish path: set function.published_commit_id and include “published_commit_id” in update_mask to make a commit the default runnable version. To push a new code commit, set content (and optionally commit_message); this is independent of update_mask, since commits are versioned separately from function metadata. A single request cannot publish the commit it just created, since published_commit_id is validated against existing commits before content is committed: publishing new code takes two calls, push then publish with the returned commit.id.
import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";
const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
security: {
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
oauth: "<YOUR_OAUTH_HERE>",
},
});
async function run() {
const result = await conductoroneSDKTypescript.functions.updateFunction();
console.log(result);
}
run();package main
import(
"context"
"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
"log"
)
func main() {
ctx := context.Background()
s := conductoronesdkgo.New(
conductoronesdkgo.WithSecurity(shared.Security{
BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
Oauth: "<YOUR_OAUTH_HERE>",
}),
)
res, err := s.Functions.UpdateFunction(ctx, nil)
if err != nil {
log.Fatal(err)
}
if res.FunctionsServiceUpdateFunctionResponse != nil {
// handle response
}
}curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/functions/update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"commitMessage": "<string>",
"content": {},
"function": {
"description": "<string>",
"displayName": "<string>",
"head": "<string>",
"id": "<string>",
"isDraft": true,
"outboundNetworkAllowlist": [
"<string>"
],
"provisionedConcurrency": 123,
"publishedCommitId": "<string>",
"scopedRoleIds": [
"<string>"
],
"secret": {}
},
"updateMask": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/functions/update"
payload = {
"commitMessage": "<string>",
"content": {},
"function": {
"description": "<string>",
"displayName": "<string>",
"head": "<string>",
"id": "<string>",
"isDraft": True,
"outboundNetworkAllowlist": ["<string>"],
"provisionedConcurrency": 123,
"publishedCommitId": "<string>",
"scopedRoleIds": ["<string>"],
"secret": {}
},
"updateMask": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
commitMessage: '<string>',
content: {},
function: {
description: '<string>',
displayName: '<string>',
head: '<string>',
id: '<string>',
isDraft: true,
outboundNetworkAllowlist: ['<string>'],
provisionedConcurrency: 123,
publishedCommitId: '<string>',
scopedRoleIds: ['<string>'],
secret: {}
},
updateMask: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/functions/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenantDomain}.conductor.one/api/v1/functions/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'commitMessage' => '<string>',
'content' => [
],
'function' => [
'description' => '<string>',
'displayName' => '<string>',
'head' => '<string>',
'id' => '<string>',
'isDraft' => true,
'outboundNetworkAllowlist' => [
'<string>'
],
'provisionedConcurrency' => 123,
'publishedCommitId' => '<string>',
'scopedRoleIds' => [
'<string>'
],
'secret' => [
]
],
'updateMask' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v1/functions/update")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"commitMessage\": \"<string>\",\n \"content\": {},\n \"function\": {\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"head\": \"<string>\",\n \"id\": \"<string>\",\n \"isDraft\": true,\n \"outboundNetworkAllowlist\": [\n \"<string>\"\n ],\n \"provisionedConcurrency\": 123,\n \"publishedCommitId\": \"<string>\",\n \"scopedRoleIds\": [\n \"<string>\"\n ],\n \"secret\": {}\n },\n \"updateMask\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/functions/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"commitMessage\": \"<string>\",\n \"content\": {},\n \"function\": {\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"head\": \"<string>\",\n \"id\": \"<string>\",\n \"isDraft\": true,\n \"outboundNetworkAllowlist\": [\n \"<string>\"\n ],\n \"provisionedConcurrency\": 123,\n \"publishedCommitId\": \"<string>\",\n \"scopedRoleIds\": [\n \"<string>\"\n ],\n \"secret\": {}\n },\n \"updateMask\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"commit": {
"author": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"functionId": "<string>",
"id": "<string>",
"message": "<string>"
},
"function": {
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"head": "<string>",
"hookRefs": [
"<string>"
],
"id": "<string>",
"isDraft": true,
"outboundNetworkAllowlist": [
"<string>"
],
"provisionedConcurrency": 123,
"publishedCommitId": "<string>",
"scopedRoleIds": [
"<string>"
],
"secret": {},
"updatedAt": "2023-11-07T05:31:56Z",
"useSpn": true,
"workflowTemplateRefs": [
"<string>"
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
This API uses OAuth2 with the Client Credential flow. Client Credentials must be sent in the BODY, not the headers. For an example of how to implement this, refer to the c1TokenSource.Token() function.
Body
The FunctionsServiceUpdateFunctionRequest message.
The commit message describing this code update. Defaults to a generic message if content is set and this is empty. Ignored if content is empty.
File map for a new code commit, applied as the function's new head commit. Keys are file paths in the function root; values are file contents as bytes. See CreateFunctionRequest.initial_content for the required entry-file signature. Independent of update_mask.
Show child attributes
Show child attributes
Function represents a customer-provided code extension in the API
Show child attributes
Show child attributes
Response
Successful response
Was this page helpful?