Create container
client.Containers.New(ctx, body) (*ContainerNewResponse, error)
post /containers
Create Container
Parameters
-
body ContainerNewParams-
Name param.Field[string]Name of the container to create.
-
ExpiresAfter param.Field[ContainerNewParamsExpiresAfter]Container expiration time in seconds relative to the 'anchor' time.
-
Anchor stringTime anchor for the expiration time. Currently only 'last_active_at' is supported.
const ContainerNewParamsExpiresAfterAnchorLastActiveAt ContainerNewParamsExpiresAfterAnchor = "last_active_at"
-
Minutes int64
-
-
FileIDs param.Field[[]string]IDs of files to copy to the container.
-
MemoryLimit param.Field[ContainerNewParamsMemoryLimit]Optional memory limit for the container. Defaults to "1g".
-
const ContainerNewParamsMemoryLimit1g ContainerNewParamsMemoryLimit = "1g" -
const ContainerNewParamsMemoryLimit4g ContainerNewParamsMemoryLimit = "4g" -
const ContainerNewParamsMemoryLimit16g ContainerNewParamsMemoryLimit = "16g" -
const ContainerNewParamsMemoryLimit64g ContainerNewParamsMemoryLimit = "64g"
-
-
NetworkPolicy param.Field[ContainerNewParamsNetworkPolicyUnion]Network access policy for the container.
-
type ContainerNetworkPolicyDisabled struct{…}-
Type DisabledDisable outbound network access. Always
disabled.const DisabledDisabled Disabled = "disabled"
-
-
type ContainerNetworkPolicyAllowlist struct{…}-
AllowedDomains []stringA list of allowed domains when type is
allowlist. -
Type AllowlistAllow outbound network access only to specified domains. Always
allowlist.const AllowlistAllowlist Allowlist = "allowlist"
-
DomainSecrets []ContainerNetworkPolicyDomainSecretOptional domain-scoped secrets for allowlisted domains.
-
Domain stringThe domain associated with the secret.
-
Name stringThe name of the secret to inject for the domain.
-
Value stringThe secret value to inject for the domain.
-
-
-
-
Skills param.Field[[]ContainerNewParamsSkillUnion]An optional list of skills referenced by id or inline data.
-
type SkillReference struct{…}-
SkillID stringThe ID of the referenced skill.
-
Type SkillReferenceReferences a skill created with the /v1/skills endpoint.
const SkillReferenceSkillReference SkillReference = "skill_reference"
-
Version stringOptional skill version. Use a positive integer or 'latest'. Omit for default.
-
-
type InlineSkill struct{…}-
Description stringThe description of the skill.
-
Name stringThe name of the skill.
-
Source InlineSkillSourceInline skill payload
-
Data stringBase64-encoded skill zip bundle.
-
MediaType ApplicationZipThe media type of the inline skill payload. Must be
application/zip.const ApplicationZipApplicationZip ApplicationZip = "application/zip"
-
Type Base64The type of the inline skill source. Must be
base64.const Base64Base64 Base64 = "base64"
-
-
Type InlineDefines an inline skill for this request.
const InlineInline Inline = "inline"
-
-
-
Returns
-
type ContainerNewResponse struct{…}-
ID stringUnique identifier for the container.
-
CreatedAt int64Unix timestamp (in seconds) when the container was created.
-
Name stringName of the container.
-
Object stringThe type of this object.
-
Status stringStatus of the container (e.g., active, deleted).
-
ExpiresAfter ContainerNewResponseExpiresAfterThe container will expire after this time period. The anchor is the reference point for the expiration. The minutes is the number of minutes after the anchor before the container expires.
-
Anchor stringThe reference point for the expiration.
const ContainerNewResponseExpiresAfterAnchorLastActiveAt ContainerNewResponseExpiresAfterAnchor = "last_active_at"
-
Minutes int64The number of minutes after the anchor before the container expires.
-
-
LastActiveAt int64Unix timestamp (in seconds) when the container was last active.
-
MemoryLimit ContainerNewResponseMemoryLimitThe memory limit configured for the container.
-
const ContainerNewResponseMemoryLimit1g ContainerNewResponseMemoryLimit = "1g" -
const ContainerNewResponseMemoryLimit4g ContainerNewResponseMemoryLimit = "4g" -
const ContainerNewResponseMemoryLimit16g ContainerNewResponseMemoryLimit = "16g" -
const ContainerNewResponseMemoryLimit64g ContainerNewResponseMemoryLimit = "64g"
-
-
NetworkPolicy ContainerNewResponseNetworkPolicyNetwork access policy for the container.
-
Type stringThe network policy mode.
-
const ContainerNewResponseNetworkPolicyTypeAllowlist ContainerNewResponseNetworkPolicyType = "allowlist" -
const ContainerNewResponseNetworkPolicyTypeDisabled ContainerNewResponseNetworkPolicyType = "disabled"
-
-
AllowedDomains []stringAllowed outbound domains when
typeisallowlist.
-
-
Example
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"),
)
container, err := client.Containers.New(context.TODO(), openai.ContainerNewParams{
Name: "name",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", container.ID)
}
Response
{
"id": "id",
"created_at": 0,
"name": "name",
"object": "object",
"status": "status",
"expires_after": {
"anchor": "last_active_at",
"minutes": 0
},
"last_active_at": 0,
"memory_limit": "1g",
"network_policy": {
"type": "allowlist",
"allowed_domains": [
"string"
]
}
}