{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
Container Groups
Create Container Group
Creates a new container group
POST
/
organizations
/
{organization_name}
/
projects
/
{project_name}
/
containers
C#
using Salad.Cloud.SDK;using Salad.Cloud.SDK.Config;using Salad.Cloud.SDK.Models;var config = new SaladCloudSdkConfig{};var client = new SaladCloudSdkClient(config);var gpuClasses = new List<string>() { "gpu_classes" };var resources = new CreateContainerResourceRequirements(827, 734164836, gpuClasses, 64, 761306530849177.9);var command = new List<string>() { "command" };var axiom = new AxiomLoggingConfiguration("api_token", "dataset", "host");var tagsItem = new DatadogTagForContainerLogging("name", "value");var tags = new List<DatadogTagForContainerLogging>() { tagsItem };var datadog = new DatadogLoggingConfiguration("api_key", "host", tags);var headersItem = new ContainerLoggingHttpHeader("name", "value");var headers = new List<ContainerLoggingHttpHeader>() { headersItem };var http = new ContainerLoggingConfigurationHttp2(ContainerLoggingHttpCompression.None, ContainerLoggingHttpFormat.Json, "host", 42056, headers, "password", "path", "user");var newRelic = new NewRelicLoggingConfiguration("host", "ingestion_key");var splunk = new ContainerLoggingSplunkConfiguration("host", "token");var tcp = new TcpLoggingConfiguration("host", 44671);var logging = new ContainerConfigurationLogging(axiom, datadog, http, newRelic, splunk, tcp);var awsEcr = new ContainerRegistryAuthenticationAwsEcr("access_key_id", "secret_access_key");var basic = new ContainerRegistryAuthenticationBasic("password", "username");var dockerHub = new ContainerRegistryAuthenticationDockerHub("personal_access_token", "username");var gcpGar = new ContainerRegistryAuthenticationGcpGar("service_key");var gcpGcr = new ContainerRegistryAuthenticationGcpGcr("service_key");var registryAuthentication = new ContainerRegistryAuthentication(awsEcr, basic, dockerHub, gcpGar, gcpGcr);var container = new ContainerConfiguration("acme/:latest", resources, command, new object(), true, logging, ContainerGroupPriority.High, registryAuthentication);var countryCodes = new List<CountryCode>() { CountryCode.Af };var command = new List<string>() { "command" };var exec = new ContainerGroupProbeExec(command);var grpc = new ContainerGroupGRpcProbe(37648, "service");var headersItem = new ContainerGroupProbeHttpHeader("name", "value");var headers = new List<ContainerGroupProbeHttpHeader>() { headersItem };var http = new ContainerGroupHttpProbeConfiguration(headers, "path", 29069, HttpScheme.Http);var tcp = new ContainerGroupTcpProbe(13817);var livenessProbe = new ContainerGroupLivenessProbe(3, 670, 10, 1, 30, exec, grpc, http, tcp);var networking = new CreateContainerGroupNetworking(false, 60000, ContainerNetworkingProtocol.Http, 100000, TheContainerGroupNetworkingLoadBalancer.RoundRobin, 100000, false);var queueAutoscaler = new QueueBasedAutoscalerConfiguration(53, 321, 54, 59, 100, 140);var queueConnection = new ContainerGroupQueueConnection("path", 47568, "z1h-3z01x9");var command = new List<string>() { "command" };var exec = new ContainerGroupProbeExec(command);var grpc = new ContainerGroupGRpcProbe(37648, "service");var headersItem = new ContainerGroupProbeHttpHeader("name", "value");var headers = new List<ContainerGroupProbeHttpHeader>() { headersItem };var http = new ContainerGroupHttpProbeConfiguration(headers, "path", 29069, HttpScheme.Http);var tcp = new ContainerGroupTcpProbe(13817);var readinessProbe = new ContainerGroupReadinessProbe(3, 262, 1, 1, 1, exec, grpc, http, tcp);var scalingActionsItem = new ContainerGroupScalingAction(461, "7kwC/T8C da x6Ci bM-rgGYn bDY6,vT");var scalingActions = new List<ContainerGroupScalingAction>() { scalingActionsItem };var command = new List<string>() { "command" };var exec = new ContainerGroupProbeExec(command);var grpc = new ContainerGroupGRpcProbe(37648, "service");var headersItem = new ContainerGroupProbeHttpHeader("name", "value");var headers = new List<ContainerGroupProbeHttpHeader>() { headersItem };var http = new ContainerGroupHttpProbeConfiguration(headers, "path", 29069, HttpScheme.Http);var tcp = new ContainerGroupTcpProbe(13817);var startupProbe = new ContainerGroupStartupProbe(15, 503, 3, 2, 10, exec, grpc, http, tcp);var input = new ContainerGroupCreationRequest(false, container, "name", 77, ContainerRestartPolicy.Always, countryCodes, "KMg0KyVwpb", livenessProbe, networking, queueAutoscaler, queueConnection, readinessProbe, scalingActions, true, startupProbe);var response = await client.ContainerGroups.CreateContainerGroupAsync(input, "acme-corp", "dev-env");Console.WriteLine(response);
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
{
"detail": "The container group could not be found.",
"instance": "https://example.com/error-instances/12345",
"status": 404,
"title": "Not Found",
"type": "https://example.com/errors/invalid-request"
}
Your organization name. This identifies the billing context for the API operation and represents a security boundary for SaladCloud resources. The organization must be created before using the API, and you must be a member of the organization.
The organization name.
Configuration for creating a container within a container group. Defines the container image, resource requirements, environment variables, and other settings needed to deploy and run the container.
Defines configuration for automatically scaling container instances based on queue length. The autoscaler monitors a queue and adjusts the number of running replicas to maintain the desired queue length.
Defines how to check if a container is ready to serve traffic. The readiness probe determines whether the container's application is ready to accept traffic. If the readiness probe fails, the container is considered not ready and traffic will not be sent to it.
Defines a probe that checks if a container application has started successfully. Startup probes help prevent applications from being prematurely marked as unhealthy during initialization. The probe can use HTTP requests, TCP connections, gRPC calls, or shell commands to determine startup status.
Show child attributes
Response
Created
A container group definition that represents a scalable set of identical containers running as a distributed service
Represents the operational state of a container group during its lifecycle, including timing information, status, and instance distribution metrics. This state captures the current execution status, start and finish times, and provides visibility into the operational health across instances.
Defines configuration for automatically scaling container instances based on queue length. The autoscaler monitors a queue and adjusts the number of running replicas to maintain the desired queue length.
Defines how to check if a container is ready to serve traffic. The readiness probe determines whether the container's application is ready to accept traffic. If the readiness probe fails, the container is considered not ready and traffic will not be sent to it.
Defines a probe that checks if a container application has started successfully. Startup probes help prevent applications from being prematurely marked as unhealthy during initialization. The probe can use HTTP requests, TCP connections, gRPC calls, or shell commands to determine startup status.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SaladCloud","description":"SaladCloud documentation: Salad Container Engine, AI Gateway, Transcription API, S4 storage, and Gateway Service. Agents: start at /general/tutorials/build-with-ai-agents.","colors":{"primary":"#53A626","light":"#53A626","dark":"#53A626"},"logo":{"light":"https://mintcdn.com/salad/EawwuVEIAqrvltQ2/logo/light.svg?fit=max\u0026auto=format\u0026n=EawwuVEIAqrvltQ2\u0026q=85\u0026s=1ad3f967dcd4a77e38b71e493c2bb856","dark":"https://mintcdn.com/salad/EawwuVEIAqrvltQ2/logo/dark.svg?fit=max\u0026auto=format\u0026n=EawwuVEIAqrvltQ2\u0026q=85\u0026s=9912147ab9e28fe6afc254360302b732"},"favicon":"https://mintcdn.com/salad/B_utM-6XUMV1Xhv8/favicon.png?fit=max\u0026auto=format\u0026n=B_utM-6XUMV1Xhv8\u0026q=85\u0026s=4a570954d5b07e93adbe36fa38ea01e4","navbar":{"links":[{"href":"https://blog.salad.com","label":"Blog"},{"href":"https://discord.gg/ApSm4Kn7Aq","label":"Community"}],"primary":{"type":"button","label":"Portal","href":"https://portal.salad.com"}},"footer":{"socials":{"website":"https://salad.com","discord":"https://discord.gg/ApSm4Kn7Aq","github":"https://github.com/SaladTechnologies","youtube":"https://www.youtube.com/channel/UCFqO8W9-bxGCf-PdSrc7wVg","x":"https://x.com/SaladTech","linkedin":"https://www.linkedin.com/company/salad-technologies"}},"search":{"prompt":"Search..."},"integrations":{"ga4":{"measurementId":"G-C9B6SKYZEY"},"mixpanel":{"projectToken":"26a3dcda21415501306f3f077a446ec5"}},"contextual":{"options":["copy","view","claude","chatgpt","cursor","mcp","add-mcp"],"display":"header"},"markdown":{"instructions":"For autonomous tasks, use live SaladCloud API responses for current state, availability, quotas, models, and other dynamic values. Use current OpenAPI specifications where provided for paths, schemas, required fields, and enums. Never invent endpoints, fields, prices, availability, quotas, models, or state. Prefer API workflows over Portal steps. Read before changing and never expose credentials, signed media URLs, prompts, or sensitive outputs. Retry only safe or idempotent operations with bounded backoff, honoring Retry-After. Verify every write with a read. Stop rather than repeat an uncertain non-idempotent or billable request. AI Gateway uses an organization-specific Bearer key and live /v1/models discovery. Do not delete, cancel, stop, or reduce capacity without explicit user intent. Bind shared operation IDs to the selected product path. Treat Container Engine instances as interruptible and local state as ephemeral. Install the SaladCloud skills (npx skills add https://docs.salad.com), start from the salad skill and /agents/overview; docs MCP: https://docs.salad.com/mcp."},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"salad","hasAudioNarration":false,"actualSubdomain":"salad","customDomains":["docs.salad.com"],"gitSource":{"type":"github","owner":"saladtechnologies","repo":"salad-cloud-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad681d2c8809c060cc4b203","collectionId":"41daa9a9-a3eb-4a29-912b-2a280b3f4fe4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad681d2c8809c060cc4b203"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad681d2c8809c060cc4b203","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Container Engine","count":176},{"language":"default","tag":"API Reference","count":110},{"language":"default","tag":"How-to Guides","count":97},{"language":"default","tag":"Explanation","count":52},{"language":"default","tag":"Reference","count":45},{"language":"default","tag":"Transcription","count":40},{"language":"default","tag":"SaladCloud API","count":36},{"language":"default","tag":"Tutorials","count":33},{"language":"default","tag":"Recipes","count":32},{"language":"default","tag":"AI Gateway","count":26}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"reference/saladcloud-api/container-groups/create-container-group","slug":"/reference/saladcloud-api/container-groups/create-container-group","pageMetadata":{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers","title":"Create Container Group","description":"Creates a new container group","href":"/reference/saladcloud-api/container-groups/create-container-group"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Creates a new container group\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={em:`em`,p:`p`,..._provideComponents(),...props.components};return _jsx(_components.p,{children:_jsx(_components.em,{children:`Last Updated: July 1, 2025`})})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers","title":"Create Container Group","description":"Creates a new container group","href":"/reference/saladcloud-api/container-groups/create-container-group"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/salad/4a7f0413c61b75a8/site-scripts/helpscout.js","/_mintlify/custom/salad/969fb03c373fd4ea/site-scripts/hubspot.js","/_mintlify/custom/salad/93b4d0bae5310d7b/site-scripts/mixpanel.js","/_mintlify/custom/salad/762698e4ad15ffc1/site-scripts/vimeo.js","/_mintlify/custom/salad/4a9dce76fa120355/scripts/add-metadata-header.js","/_mintlify/custom/salad/ec690830dcac8b9c/scripts/validate-agent-operations.js"],"openApiReferenceData":{"operation":{"operationId":"create_container_group","summary":"Create Container Group","description":"Creates a new container group","requestBody":"64b17d17-24af-419a-a09c-36b6b91e1999","responses":{"201":"527f52c9-abec-4583-8012-13956fbb298a","400":"705e1be8-80fb-41a5-b2e1-de1e5fe3dcd8","403":"afe15cd5-ff79-41b8-89e8-00ca87170fb0","429":"a88c967f-1d0b-4dfa-8e2a-d04621bb814a","default":"3cecb464-8de1-4b51-858a-6132da665042"},"tags":["container_groups"],"x-codeSamples":[{"source":"using Salad.Cloud.SDK;\nusing Salad.Cloud.SDK.Config;\nusing Salad.Cloud.SDK.Models;\n\nvar config = new SaladCloudSdkConfig{};\n\nvar client = new SaladCloudSdkClient(config);\n\nvar gpuClasses = new List\u003cstring>() { \"gpu_classes\" };\nvar resources = new CreateContainerResourceRequirements(827, 734164836, gpuClasses, 64, 761306530849177.9);\nvar command = new List\u003cstring>() { \"command\" };\nvar axiom = new AxiomLoggingConfiguration(\"api_token\", \"dataset\", \"host\");\nvar tagsItem = new DatadogTagForContainerLogging(\"name\", \"value\");\nvar tags = new List\u003cDatadogTagForContainerLogging>() { tagsItem };\nvar datadog = new DatadogLoggingConfiguration(\"api_key\", \"host\", tags);\nvar headersItem = new ContainerLoggingHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerLoggingHttpHeader>() { headersItem };\nvar http = new ContainerLoggingConfigurationHttp2(ContainerLoggingHttpCompression.None, ContainerLoggingHttpFormat.Json, \"host\", 42056, headers, \"password\", \"path\", \"user\");\nvar newRelic = new NewRelicLoggingConfiguration(\"host\", \"ingestion_key\");\nvar splunk = new ContainerLoggingSplunkConfiguration(\"host\", \"token\");\nvar tcp = new TcpLoggingConfiguration(\"host\", 44671);\nvar logging = new ContainerConfigurationLogging(axiom, datadog, http, newRelic, splunk, tcp);\nvar awsEcr = new ContainerRegistryAuthenticationAwsEcr(\"access_key_id\", \"secret_access_key\");\nvar basic = new ContainerRegistryAuthenticationBasic(\"password\", \"username\");\nvar dockerHub = new ContainerRegistryAuthenticationDockerHub(\"personal_access_token\", \"username\");\nvar gcpGar = new ContainerRegistryAuthenticationGcpGar(\"service_key\");\nvar gcpGcr = new ContainerRegistryAuthenticationGcpGcr(\"service_key\");\nvar registryAuthentication = new ContainerRegistryAuthentication(awsEcr, basic, dockerHub, gcpGar, gcpGcr);\nvar container = new ContainerConfiguration(\"acme/:latest\", resources, command, new object(), true, logging, ContainerGroupPriority.High, registryAuthentication);\nvar countryCodes = new List\u003cCountryCode>() { CountryCode.Af };\nvar command = new List\u003cstring>() { \"command\" };\nvar exec = new ContainerGroupProbeExec(command);\nvar grpc = new ContainerGroupGRpcProbe(37648, \"service\");\nvar headersItem = new ContainerGroupProbeHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerGroupProbeHttpHeader>() { headersItem };\nvar http = new ContainerGroupHttpProbeConfiguration(headers, \"path\", 29069, HttpScheme.Http);\nvar tcp = new ContainerGroupTcpProbe(13817);\nvar livenessProbe = new ContainerGroupLivenessProbe(3, 670, 10, 1, 30, exec, grpc, http, tcp);\nvar networking = new CreateContainerGroupNetworking(false, 60000, ContainerNetworkingProtocol.Http, 100000, TheContainerGroupNetworkingLoadBalancer.RoundRobin, 100000, false);\nvar queueAutoscaler = new QueueBasedAutoscalerConfiguration(53, 321, 54, 59, 100, 140);\nvar queueConnection = new ContainerGroupQueueConnection(\"path\", 47568, \"z1h-3z01x9\");\nvar command = new List\u003cstring>() { \"command\" };\nvar exec = new ContainerGroupProbeExec(command);\nvar grpc = new ContainerGroupGRpcProbe(37648, \"service\");\nvar headersItem = new ContainerGroupProbeHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerGroupProbeHttpHeader>() { headersItem };\nvar http = new ContainerGroupHttpProbeConfiguration(headers, \"path\", 29069, HttpScheme.Http);\nvar tcp = new ContainerGroupTcpProbe(13817);\nvar readinessProbe = new ContainerGroupReadinessProbe(3, 262, 1, 1, 1, exec, grpc, http, tcp);\nvar scalingActionsItem = new ContainerGroupScalingAction(461, \"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\");\nvar scalingActions = new List\u003cContainerGroupScalingAction>() { scalingActionsItem };\nvar command = new List\u003cstring>() { \"command\" };\nvar exec = new ContainerGroupProbeExec(command);\nvar grpc = new ContainerGroupGRpcProbe(37648, \"service\");\nvar headersItem = new ContainerGroupProbeHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerGroupProbeHttpHeader>() { headersItem };\nvar http = new ContainerGroupHttpProbeConfiguration(headers, \"path\", 29069, HttpScheme.Http);\nvar tcp = new ContainerGroupTcpProbe(13817);\nvar startupProbe = new ContainerGroupStartupProbe(15, 503, 3, 2, 10, exec, grpc, http, tcp);\nvar input = new ContainerGroupCreationRequest(false, container, \"name\", 77, ContainerRestartPolicy.Always, countryCodes, \"KMg0KyVwpb\", livenessProbe, networking, queueAutoscaler, queueConnection, readinessProbe, scalingActions, true, startupProbe);\n\nvar response = await client.ContainerGroups.CreateContainerGroupAsync(input, \"acme-corp\", \"dev-env\");\n\nConsole.WriteLine(response);","lang":"C#"},{"source":"import com.salad.cloud.sdk.SaladCloudSdk;\nimport com.salad.cloud.sdk.config.ApiKeyAuthConfig;\nimport com.salad.cloud.sdk.config.SaladCloudSdkConfig;\nimport com.salad.cloud.sdk.models.AxiomLoggingConfiguration;\nimport com.salad.cloud.sdk.models.ContainerConfiguration;\nimport com.salad.cloud.sdk.models.ContainerConfigurationLogging;\nimport com.salad.cloud.sdk.models.ContainerGroup;\nimport com.salad.cloud.sdk.models.ContainerGroupCreationRequest;\nimport com.salad.cloud.sdk.models.ContainerGroupGRpcProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupHttpProbeConfiguration;\nimport com.salad.cloud.sdk.models.ContainerGroupLivenessProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupPriority;\nimport com.salad.cloud.sdk.models.ContainerGroupProbeExec;\nimport com.salad.cloud.sdk.models.ContainerGroupProbeHttpHeader;\nimport com.salad.cloud.sdk.models.ContainerGroupQueueConnection;\nimport com.salad.cloud.sdk.models.ContainerGroupReadinessProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupScalingAction;\nimport com.salad.cloud.sdk.models.ContainerGroupStartupProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupTcpProbe;\nimport com.salad.cloud.sdk.models.ContainerLoggingConfigurationHttp2;\nimport com.salad.cloud.sdk.models.ContainerLoggingHttpCompression;\nimport com.salad.cloud.sdk.models.ContainerLoggingHttpFormat;\nimport com.salad.cloud.sdk.models.ContainerLoggingHttpHeader;\nimport com.salad.cloud.sdk.models.ContainerLoggingSplunkConfiguration;\nimport com.salad.cloud.sdk.models.ContainerNetworkingProtocol;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthentication;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationAwsEcr;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationBasic;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationDockerHub;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationGcpGar;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationGcpGcr;\nimport com.salad.cloud.sdk.models.ContainerRestartPolicy;\nimport com.salad.cloud.sdk.models.CountryCode;\nimport com.salad.cloud.sdk.models.CreateContainerGroupNetworking;\nimport com.salad.cloud.sdk.models.CreateContainerResourceRequirements;\nimport com.salad.cloud.sdk.models.DatadogLoggingConfiguration;\nimport com.salad.cloud.sdk.models.DatadogTagForContainerLogging;\nimport com.salad.cloud.sdk.models.HttpScheme;\nimport com.salad.cloud.sdk.models.NewRelicLoggingConfiguration;\nimport com.salad.cloud.sdk.models.QueueBasedAutoscalerConfiguration;\nimport com.salad.cloud.sdk.models.TcpLoggingConfiguration;\nimport com.salad.cloud.sdk.models.TheContainerGroupNetworkingLoadBalancer;\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\n\npublic class Main {\n public static void main(String[] args) {\n\t\tSaladCloudSdkConfig config = SaladCloudSdkConfig.builder()\n\t\t\t.apiKeyAuthConfig(\n\t\t\t\tApiKeyAuthConfig.builder()\n\t\t\t\t\t.apiKey(\"YOUR_API_KEY\")\n\t\t\t\t\t.build()\n\t\t\t)\n\t\t\t.build();\n\n\t\tSaladCloudSdk saladCloudSdk = new SaladCloudSdk(config);\n\n\t\tList\u003cString> commandList = Arrays.asList(\"command\");\n\n\t\tAxiomLoggingConfiguration axiomLoggingConfiguration = AxiomLoggingConfiguration.builder()\n\t\t\t.apiToken(\"api_token\")\n\t\t\t.dataset(\"dataset\")\n\t\t\t.host(\"host\")\n\t\t\t.build();\n\n\t\tDatadogTagForContainerLogging datadogTagForContainerLogging = DatadogTagForContainerLogging.builder()\n\t\t\t.name(\"name\")\n\t\t\t.value(\"value\")\n\t\t\t.build();\n\n\t\tList\u003cDatadogTagForContainerLogging> tagsList = Arrays.asList(datadogTagForContainerLogging);\n\n\t\tDatadogLoggingConfiguration datadogLoggingConfiguration = DatadogLoggingConfiguration.builder()\n\t\t\t.apiKey(\"api_key\")\n\t\t\t.host(\"host\")\n\t\t\t.tags(tagsList)\n\t\t\t.build();\n\n\t\tContainerLoggingHttpHeader containerLoggingHttpHeader = ContainerLoggingHttpHeader.builder()\n\t\t\t.name(\"name\")\n\t\t\t.value(\"value\")\n\t\t\t.build();\n\n\t\tList\u003cContainerLoggingHttpHeader> headersList = Arrays.asList(containerLoggingHttpHeader);\n\n\t\tContainerLoggingConfigurationHttp2 containerLoggingConfigurationHttp2 = ContainerLoggingConfigurationHttp2.builder()\n\t\t\t.compression(ContainerLoggingHttpCompression.NONE)\n\t\t\t.format(ContainerLoggingHttpFormat.JSON)\n\t\t\t.headers(headersList)\n\t\t\t.host(\"host\")\n\t\t\t.password(\"password\")\n\t\t\t.path(\"path\")\n\t\t\t.port(42056L)\n\t\t\t.user(\"user\")\n\t\t\t.build();\n\n\t\tNewRelicLoggingConfiguration newRelicLoggingConfiguration = NewRelicLoggingConfiguration.builder()\n\t\t\t.host(\"host\")\n\t\t\t.ingestionKey(\"ingestion_key\")\n\t\t\t.build();\n\n\t\tContainerLoggingSplunkConfiguration containerLoggingSplunkConfiguration = ContainerLoggingSplunkConfiguration.builder()\n\t\t\t.host(\"host\")\n\t\t\t.token(\"token\")\n\t\t\t.build();\n\n\t\tTcpLoggingConfiguration tcpLoggingConfiguration = TcpLoggingConfiguration.builder()\n\t\t\t.host(\"host\")\n\t\t\t.port(44671L)\n\t\t\t.build();\n\n\t\tContainerConfigurationLogging containerConfigurationLogging = ContainerConfigurationLogging.builder()\n\t\t\t.axiom(axiomLoggingConfiguration)\n\t\t\t.datadog(datadogLoggingConfiguration)\n\t\t\t.http(containerLoggingConfigurationHttp2)\n\t\t\t.newRelic(newRelicLoggingConfiguration)\n\t\t\t.splunk(containerLoggingSplunkConfiguration)\n\t\t\t.tcp(tcpLoggingConfiguration)\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationAwsEcr containerRegistryAuthenticationAwsEcr = ContainerRegistryAuthenticationAwsEcr.builder()\n\t\t\t.accessKeyId(\"access_key_id\")\n\t\t\t.secretAccessKey(\"secret_access_key\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationBasic containerRegistryAuthenticationBasic = ContainerRegistryAuthenticationBasic.builder()\n\t\t\t.password(\"password\")\n\t\t\t.username(\"username\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationDockerHub containerRegistryAuthenticationDockerHub = ContainerRegistryAuthenticationDockerHub.builder()\n\t\t\t.personalAccessToken(\"personal_access_token\")\n\t\t\t.username(\"username\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationGcpGar containerRegistryAuthenticationGcpGar = ContainerRegistryAuthenticationGcpGar.builder()\n\t\t\t.serviceKey(\"service_key\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationGcpGcr containerRegistryAuthenticationGcpGcr = ContainerRegistryAuthenticationGcpGcr.builder()\n\t\t\t.serviceKey(\"service_key\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthentication containerRegistryAuthentication = ContainerRegistryAuthentication.builder()\n\t\t\t.awsEcr(containerRegistryAuthenticationAwsEcr)\n\t\t\t.basic(containerRegistryAuthenticationBasic)\n\t\t\t.dockerHub(containerRegistryAuthenticationDockerHub)\n\t\t\t.gcpGar(containerRegistryAuthenticationGcpGar)\n\t\t\t.gcpGcr(containerRegistryAuthenticationGcpGcr)\n\t\t\t.build();\n\n\t\tList\u003cString> gpuClassesList = Arrays.asList(\"gpu_classes\");\n\n\t\tCreateContainerResourceRequirements createContainerResourceRequirements = CreateContainerResourceRequirements.builder()\n\t\t\t.cpu(827L)\n\t\t\t.gpuClasses(gpuClassesList)\n\t\t\t.memory(734164836L)\n\t\t\t.shmSize(64L)\n\t\t\t.storageAmount(761306530849177.9L)\n\t\t\t.build();\n\n\t\tContainerConfiguration containerConfiguration = ContainerConfiguration.builder()\n\t\t\t.command(commandList)\n\t\t\t.environmentVariables(new HashMap())\n\t\t\t.image(\"acme/:latest\")\n\t\t\t.imageCaching(true)\n\t\t\t.logging(containerConfigurationLogging)\n\t\t\t.priority(ContainerGroupPriority.HIGH)\n\t\t\t.registryAuthentication(containerRegistryAuthentication)\n\t\t\t.resources(createContainerResourceRequirements)\n\t\t\t.build();\n\n\t\tList\u003cCountryCode> countryCodesList = Arrays.asList(CountryCode.AF);\n\n\t\tList\u003cString> commandList1 = Arrays.asList(\"command\");\n\n\t\tContainerGroupProbeExec containerGroupProbeExec = ContainerGroupProbeExec.builder()\n\t\t\t.command(commandList1)\n\t\t\t.build();\n\n\t\tContainerGroupGRpcProbe containerGroupGRpcProbe = ContainerGroupGRpcProbe.builder()\n\t\t\t.port(37648L)\n\t\t\t.service(\"service\")\n\t\t\t.build();\n\n\t\tContainerGroupProbeHttpHeader containerGroupProbeHttpHeader = ContainerGroupProbeHttpHeader.builder()\n\t\t\t.name(\"name\")\n\t\t\t.value(\"value\")\n\t\t\t.build();\n\n\t\tList\u003cContainerGroupProbeHttpHeader> headersList1 = Arrays.asList(containerGroupProbeHttpHeader);\n\n\t\tContainerGroupHttpProbeConfiguration containerGroupHttpProbeConfiguration = ContainerGroupHttpProbeConfiguration.builder()\n\t\t\t.headers(headersList1)\n\t\t\t.path(\"path\")\n\t\t\t.port(29069L)\n\t\t\t.scheme(HttpScheme.HTTP)\n\t\t\t.build();\n\n\t\tContainerGroupTcpProbe containerGroupTcpProbe = ContainerGroupTcpProbe.builder()\n\t\t\t.port(13817L)\n\t\t\t.build();\n\n\t\tContainerGroupLivenessProbe containerGroupLivenessProbe = ContainerGroupLivenessProbe.builder()\n\t\t\t.exec(containerGroupProbeExec)\n\t\t\t.failureThreshold(3L)\n\t\t\t.grpc(containerGroupGRpcProbe)\n\t\t\t.http(containerGroupHttpProbeConfiguration)\n\t\t\t.initialDelaySeconds(670L)\n\t\t\t.periodSeconds(10L)\n\t\t\t.successThreshold(1L)\n\t\t\t.tcp(containerGroupTcpProbe)\n\t\t\t.timeoutSeconds(30L)\n\t\t\t.build();\n\n\t\tCreateContainerGroupNetworking createContainerGroupNetworking = CreateContainerGroupNetworking.builder()\n\t\t\t.auth(false)\n\t\t\t.clientRequestTimeout(100000L)\n\t\t\t.loadBalancer(TheContainerGroupNetworkingLoadBalancer.ROUND_ROBIN)\n\t\t\t.port(60000L)\n\t\t\t.protocol(ContainerNetworkingProtocol.HTTP)\n\t\t\t.serverResponseTimeout(100000L)\n\t\t\t.singleConnectionLimit(false)\n\t\t\t.build();\n\n\t\tQueueBasedAutoscalerConfiguration queueBasedAutoscalerConfiguration = QueueBasedAutoscalerConfiguration.builder()\n\t\t\t.desiredQueueLength(53L)\n\t\t\t.maxDownscalePerMinute(59L)\n\t\t\t.maxReplicas(321L)\n\t\t\t.maxUpscalePerMinute(100L)\n\t\t\t.minReplicas(54L)\n\t\t\t.pollingPeriod(140L)\n\t\t\t.build();\n\n\t\tContainerGroupQueueConnection containerGroupQueueConnection = ContainerGroupQueueConnection.builder()\n\t\t\t.path(\"path\")\n\t\t\t.port(47568L)\n\t\t\t.queueName(\"z1h-3z01x9\")\n\t\t\t.build();\n\n\t\tContainerGroupReadinessProbe containerGroupReadinessProbe = ContainerGroupReadinessProbe.builder()\n\t\t\t.exec(containerGroupProbeExec)\n\t\t\t.failureThreshold(3L)\n\t\t\t.grpc(containerGroupGRpcProbe)\n\t\t\t.http(containerGroupHttpProbeConfiguration)\n\t\t\t.initialDelaySeconds(262L)\n\t\t\t.periodSeconds(1L)\n\t\t\t.successThreshold(1L)\n\t\t\t.tcp(containerGroupTcpProbe)\n\t\t\t.timeoutSeconds(1L)\n\t\t\t.build();\n\n\t\tContainerGroupScalingAction containerGroupScalingAction = ContainerGroupScalingAction.builder()\n\t\t\t.replicas(461L)\n\t\t\t.schedule(\"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\")\n\t\t\t.build();\n\n\t\tList\u003cContainerGroupScalingAction> scalingActionsList = Arrays.asList(containerGroupScalingAction);\n\n\t\tContainerGroupStartupProbe containerGroupStartupProbe = ContainerGroupStartupProbe.builder()\n\t\t\t.exec(containerGroupProbeExec)\n\t\t\t.failureThreshold(15L)\n\t\t\t.grpc(containerGroupGRpcProbe)\n\t\t\t.http(containerGroupHttpProbeConfiguration)\n\t\t\t.initialDelaySeconds(503L)\n\t\t\t.periodSeconds(3L)\n\t\t\t.successThreshold(2L)\n\t\t\t.tcp(containerGroupTcpProbe)\n\t\t\t.timeoutSeconds(10L)\n\t\t\t.build();\n\n\t\tContainerGroupCreationRequest containerGroupCreationRequest = ContainerGroupCreationRequest.builder()\n\t\t\t.autostartPolicy(false)\n\t\t\t.container(containerConfiguration)\n\t\t\t.countryCodes(countryCodesList)\n\t\t\t.displayName(\"KMg0KyVwpb\")\n\t\t\t.livenessProbe(containerGroupLivenessProbe)\n\t\t\t.name(\"name\")\n\t\t\t.networking(createContainerGroupNetworking)\n\t\t\t.queueAutoscaler(queueBasedAutoscalerConfiguration)\n\t\t\t.queueConnection(containerGroupQueueConnection)\n\t\t\t.readinessProbe(containerGroupReadinessProbe)\n\t\t\t.replicas(77L)\n\t\t\t.restartPolicy(ContainerRestartPolicy.ALWAYS)\n\t\t\t.scalingActions(scalingActionsList)\n\t\t\t.scheduledScalingEnabled(true)\n\t\t\t.startupProbe(containerGroupStartupProbe)\n\t\t\t.build();\n\n\t\tContainerGroup response = saladCloudSdk.containerGroups.createContainerGroup(\"acme-corp\", \"dev-env\", containerGroupCreationRequest);\n\n\t\tSystem.out.println(response);\n }\n}","lang":"Java"},{"source":"import (\n \"fmt\"\n \"encoding/json\"\n \"context\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/saladcloudsdkconfig\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/saladcloudsdk\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/util\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/containergroups\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/shared\"\n)\n\nconfig := saladcloudsdkconfig.NewConfig()\nconfig.SetApiKey(\"API_KEY\")\nclient := saladcloudsdk.NewSaladCloudSdk(config)\n\n\naxiomLoggingConfiguration := shared.AxiomLoggingConfiguration{\n ApiToken: util.ToPointer(\"api_token\"),\n Dataset: util.ToPointer(\"dataset\"),\n Host: util.ToPointer(\"host\"),\n}\n\n\ndatadogTagForContainerLogging := shared.DatadogTagForContainerLogging{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\ndatadogLoggingConfiguration := shared.DatadogLoggingConfiguration{\n ApiKey: util.ToPointer(\"api_key\"),\n Host: util.ToPointer(\"host\"),\n Tags: []shared.DatadogTagForContainerLogging{datadogTagForContainerLogging},\n}\n\ncontainerLoggingHttpCompression := shared.CONTAINER_LOGGING_HTTP_COMPRESSION_NONE\n\ncontainerLoggingHttpFormat := shared.CONTAINER_LOGGING_HTTP_FORMAT_JSON\n\n\ncontainerLoggingHttpHeader := shared.ContainerLoggingHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\ncontainerLoggingConfigurationHttp2 := containergroups.ContainerLoggingConfigurationHttp2{\n Compression: \u0026containerLoggingHttpCompression,\n Format: \u0026containerLoggingHttpFormat,\n Headers: []shared.ContainerLoggingHttpHeader{containerLoggingHttpHeader},\n Host: util.ToPointer(\"host\"),\n Password: util.ToPointer(util.Nullable[string]{ Value: \"password\" }),\n Path: util.ToPointer(util.Nullable[string]{ Value: \"path\" }),\n Port: util.ToPointer(int64(42056)),\n User: util.ToPointer(util.Nullable[string]{ Value: \"user\" }),\n}\n\n\nnewRelicLoggingConfiguration := shared.NewRelicLoggingConfiguration{\n Host: util.ToPointer(\"host\"),\n IngestionKey: util.ToPointer(\"ingestion_key\"),\n}\n\n\ncontainerLoggingSplunkConfiguration := shared.ContainerLoggingSplunkConfiguration{\n Host: util.ToPointer(\"host\"),\n Token: util.ToPointer(\"token\"),\n}\n\n\ntcpLoggingConfiguration := shared.TcpLoggingConfiguration{\n Host: util.ToPointer(\"host\"),\n Port: util.ToPointer(int64(44671)),\n}\n\ncontainerConfigurationLogging := containergroups.ContainerConfigurationLogging{\n Axiom: \u0026axiomLoggingConfiguration,\n Datadog: \u0026datadogLoggingConfiguration,\n Http: \u0026containerLoggingConfigurationHttp2,\n NewRelic: \u0026newRelicLoggingConfiguration,\n Splunk: \u0026containerLoggingSplunkConfiguration,\n Tcp: \u0026tcpLoggingConfiguration,\n}\n\ncontainerGroupPriority := shared.CONTAINER_GROUP_PRIORITY_HIGH\n\n\ncontainerRegistryAuthenticationAwsEcr := containergroups.ContainerRegistryAuthenticationAwsEcr{\n AccessKeyId: util.ToPointer(\"access_key_id\"),\n SecretAccessKey: util.ToPointer(\"secret_access_key\"),\n}\n\n\ncontainerRegistryAuthenticationBasic := containergroups.ContainerRegistryAuthenticationBasic{\n Password: util.ToPointer(\"password\"),\n Username: util.ToPointer(\"username\"),\n}\n\n\ncontainerRegistryAuthenticationDockerHub := containergroups.ContainerRegistryAuthenticationDockerHub{\n PersonalAccessToken: util.ToPointer(\"personal_access_token\"),\n Username: util.ToPointer(\"username\"),\n}\n\n\ncontainerRegistryAuthenticationGcpGar := containergroups.ContainerRegistryAuthenticationGcpGar{\n ServiceKey: util.ToPointer(\"service_key\"),\n}\n\n\ncontainerRegistryAuthenticationGcpGcr := containergroups.ContainerRegistryAuthenticationGcpGcr{\n ServiceKey: util.ToPointer(\"service_key\"),\n}\n\ncontainerRegistryAuthentication := containergroups.ContainerRegistryAuthentication{\n AwsEcr: \u0026containerRegistryAuthenticationAwsEcr,\n Basic: \u0026containerRegistryAuthenticationBasic,\n DockerHub: \u0026containerRegistryAuthenticationDockerHub,\n GcpGar: \u0026containerRegistryAuthenticationGcpGar,\n GcpGcr: \u0026containerRegistryAuthenticationGcpGcr,\n}\n\n\ncreateContainerResourceRequirements := containergroups.CreateContainerResourceRequirements{\n Cpu: util.ToPointer(int64(827)),\n GpuClasses: []string{},\n Memory: util.ToPointer(int64(734164836)),\n ShmSize: util.ToPointer(int64(64)),\n StorageAmount: util.ToPointer(int64(761306530849177.9)),\n}\n\ncontainerConfiguration := containergroups.ContainerConfiguration{\n Command: []string{},\n EnvironmentVariables: map[string]string{},\n Image: util.ToPointer(\"acme/:latest\"),\n ImageCaching: util.ToPointer(true),\n Logging: \u0026containerConfigurationLogging,\n Priority: \u0026containerGroupPriority,\n RegistryAuthentication: \u0026containerRegistryAuthentication,\n Resources: \u0026createContainerResourceRequirements,\n}\n\ncountryCode := shared.COUNTRY_CODE_AF\n\n\ncontainerGroupProbeExec := shared.ContainerGroupProbeExec{\n Command: []string{},\n}\n\n\ncontainerGroupGRpcProbe := shared.ContainerGroupGRpcProbe{\n Port: util.ToPointer(int64(37648)),\n Service: util.ToPointer(\"service\"),\n}\n\n\ncontainerGroupProbeHttpHeader := shared.ContainerGroupProbeHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\nhttpScheme := shared.HTTP_SCHEME_HTTP\n\ncontainerGroupHttpProbeConfiguration := shared.ContainerGroupHttpProbeConfiguration{\n Headers: []shared.ContainerGroupProbeHttpHeader{containerGroupProbeHttpHeader},\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(29069)),\n Scheme: \u0026httpScheme,\n}\n\n\ncontainerGroupTcpProbe := shared.ContainerGroupTcpProbe{\n Port: util.ToPointer(int64(13817)),\n}\n\ncontainerGroupLivenessProbe := shared.ContainerGroupLivenessProbe{\n Exec: \u0026containerGroupProbeExec,\n FailureThreshold: util.ToPointer(int64(3)),\n Grpc: \u0026containerGroupGRpcProbe,\n Http: \u0026containerGroupHttpProbeConfiguration,\n InitialDelaySeconds: util.ToPointer(int64(670)),\n PeriodSeconds: util.ToPointer(int64(10)),\n SuccessThreshold: util.ToPointer(int64(1)),\n Tcp: \u0026containerGroupTcpProbe,\n TimeoutSeconds: util.ToPointer(int64(30)),\n}\n\ntheContainerGroupNetworkingLoadBalancer := shared.THE_CONTAINER_GROUP_NETWORKING_LOAD_BALANCER_ROUND_ROBIN\n\ncontainerNetworkingProtocol := shared.CONTAINER_NETWORKING_PROTOCOL_HTTP\n\ncreateContainerGroupNetworking := containergroups.CreateContainerGroupNetworking{\n Auth: util.ToPointer(true),\n ClientRequestTimeout: util.ToPointer(int64(100000)),\n LoadBalancer: \u0026theContainerGroupNetworkingLoadBalancer,\n Port: util.ToPointer(int64(60000)),\n Protocol: \u0026containerNetworkingProtocol,\n ServerResponseTimeout: util.ToPointer(int64(100000)),\n SingleConnectionLimit: util.ToPointer(true),\n}\n\n\nqueueBasedAutoscalerConfiguration := shared.QueueBasedAutoscalerConfiguration{\n DesiredQueueLength: util.ToPointer(int64(53)),\n MaxDownscalePerMinute: util.ToPointer(int64(59)),\n MaxReplicas: util.ToPointer(int64(321)),\n MaxUpscalePerMinute: util.ToPointer(int64(100)),\n MinReplicas: util.ToPointer(int64(54)),\n PollingPeriod: util.ToPointer(int64(140)),\n}\n\n\ncontainerGroupQueueConnection := shared.ContainerGroupQueueConnection{\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(47568)),\n QueueName: util.ToPointer(\"z1h-3z01x9\"),\n}\n\n\ncontainerGroupProbeExec := shared.ContainerGroupProbeExec{\n Command: []string{},\n}\n\n\ncontainerGroupGRpcProbe := shared.ContainerGroupGRpcProbe{\n Port: util.ToPointer(int64(37648)),\n Service: util.ToPointer(\"service\"),\n}\n\n\ncontainerGroupProbeHttpHeader := shared.ContainerGroupProbeHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\nhttpScheme := shared.HTTP_SCHEME_HTTP\n\ncontainerGroupHttpProbeConfiguration := shared.ContainerGroupHttpProbeConfiguration{\n Headers: []shared.ContainerGroupProbeHttpHeader{containerGroupProbeHttpHeader},\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(29069)),\n Scheme: \u0026httpScheme,\n}\n\n\ncontainerGroupTcpProbe := shared.ContainerGroupTcpProbe{\n Port: util.ToPointer(int64(13817)),\n}\n\ncontainerGroupReadinessProbe := shared.ContainerGroupReadinessProbe{\n Exec: \u0026containerGroupProbeExec,\n FailureThreshold: util.ToPointer(int64(3)),\n Grpc: \u0026containerGroupGRpcProbe,\n Http: \u0026containerGroupHttpProbeConfiguration,\n InitialDelaySeconds: util.ToPointer(int64(262)),\n PeriodSeconds: util.ToPointer(int64(1)),\n SuccessThreshold: util.ToPointer(int64(1)),\n Tcp: \u0026containerGroupTcpProbe,\n TimeoutSeconds: util.ToPointer(int64(1)),\n}\n\ncontainerRestartPolicy := shared.CONTAINER_RESTART_POLICY_ALWAYS\n\n\ncontainerGroupScalingAction := shared.ContainerGroupScalingAction{\n Replicas: util.ToPointer(int64(461)),\n Schedule: util.ToPointer(\"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\"),\n}\n\n\ncontainerGroupProbeExec := shared.ContainerGroupProbeExec{\n Command: []string{},\n}\n\n\ncontainerGroupGRpcProbe := shared.ContainerGroupGRpcProbe{\n Port: util.ToPointer(int64(37648)),\n Service: util.ToPointer(\"service\"),\n}\n\n\ncontainerGroupProbeHttpHeader := shared.ContainerGroupProbeHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\nhttpScheme := shared.HTTP_SCHEME_HTTP\n\ncontainerGroupHttpProbeConfiguration := shared.ContainerGroupHttpProbeConfiguration{\n Headers: []shared.ContainerGroupProbeHttpHeader{containerGroupProbeHttpHeader},\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(29069)),\n Scheme: \u0026httpScheme,\n}\n\n\ncontainerGroupTcpProbe := shared.ContainerGroupTcpProbe{\n Port: util.ToPointer(int64(13817)),\n}\n\ncontainerGroupStartupProbe := shared.ContainerGroupStartupProbe{\n Exec: \u0026containerGroupProbeExec,\n FailureThreshold: util.ToPointer(int64(15)),\n Grpc: \u0026containerGroupGRpcProbe,\n Http: \u0026containerGroupHttpProbeConfiguration,\n InitialDelaySeconds: util.ToPointer(int64(503)),\n PeriodSeconds: util.ToPointer(int64(3)),\n SuccessThreshold: util.ToPointer(int64(2)),\n Tcp: \u0026containerGroupTcpProbe,\n TimeoutSeconds: util.ToPointer(int64(10)),\n}\n\nrequest := containergroups.ContainerGroupCreationRequest{\n AutostartPolicy: util.ToPointer(true),\n Container: \u0026containerConfiguration,\n CountryCodes: []shared.CountryCode{countryCode},\n DisplayName: util.ToPointer(\"KMg0KyVwpb\"),\n LivenessProbe: \u0026containerGroupLivenessProbe,\n Name: util.ToPointer(\"name\"),\n Networking: \u0026createContainerGroupNetworking,\n QueueAutoscaler: \u0026queueBasedAutoscalerConfiguration,\n QueueConnection: \u0026containerGroupQueueConnection,\n ReadinessProbe: \u0026containerGroupReadinessProbe,\n Replicas: util.ToPointer(int64(77)),\n RestartPolicy: \u0026containerRestartPolicy,\n ScalingActions: []shared.ContainerGroupScalingAction{containerGroupScalingAction},\n ScheduledScalingEnabled: util.ToPointer(true),\n StartupProbe: \u0026containerGroupStartupProbe,\n}\n\nresponse, err := client.ContainerGroups.CreateContainerGroup(context.Background(), \"acme-corp\", \"dev-env\", request)\nif err != nil {\n panic(err)\n}\n\nfmt.Println(response)","lang":"Go"},{"source":"import {\n AxiomLoggingConfiguration,\n ContainerConfiguration,\n ContainerConfigurationLogging,\n ContainerGroupCreationRequest,\n ContainerGroupGRpcProbe,\n ContainerGroupHttpProbeConfiguration,\n ContainerGroupLivenessProbe,\n ContainerGroupPriority,\n ContainerGroupProbeExec,\n ContainerGroupProbeHttpHeader,\n ContainerGroupQueueConnection,\n ContainerGroupReadinessProbe,\n ContainerGroupScalingAction,\n ContainerGroupStartupProbe,\n ContainerGroupTcpProbe,\n ContainerLoggingConfigurationHttp2,\n ContainerLoggingHttpCompression,\n ContainerLoggingHttpFormat,\n ContainerLoggingHttpHeader,\n ContainerLoggingSplunkConfiguration,\n ContainerNetworkingProtocol,\n ContainerRegistryAuthentication,\n ContainerRegistryAuthenticationAwsEcr,\n ContainerRegistryAuthenticationBasic,\n ContainerRegistryAuthenticationDockerHub,\n ContainerRegistryAuthenticationGcpGar,\n ContainerRegistryAuthenticationGcpGcr,\n ContainerRestartPolicy,\n CountryCode,\n CreateContainerGroupNetworking,\n CreateContainerResourceRequirements,\n DatadogLoggingConfiguration,\n DatadogTagForContainerLogging,\n HttpScheme,\n NewRelicLoggingConfiguration,\n QueueBasedAutoscalerConfiguration,\n SaladCloudSdk,\n TcpLoggingConfiguration,\n TheContainerGroupNetworkingLoadBalancer,\n} from '@saladtechnologies-oss/salad-cloud-sdk';\n\n(async () => {\n const saladCloudSdk = new SaladCloudSdk({\n apiKey: 'YOUR_API_KEY',\n });\n\n const axiomLoggingConfiguration: AxiomLoggingConfiguration = {\n apiToken: 'api_token',\n dataset: 'dataset',\n host: 'host',\n };\n\n const datadogTagForContainerLogging: DatadogTagForContainerLogging = {\n name: 'name',\n value: 'value',\n };\n\n const datadogLoggingConfiguration: DatadogLoggingConfiguration = {\n apiKey: 'api_key',\n host: 'host',\n tags: [datadogTagForContainerLogging],\n };\n\n const containerLoggingHttpCompression = ContainerLoggingHttpCompression.NONE;\n\n const containerLoggingHttpFormat = ContainerLoggingHttpFormat.JSON;\n\n const containerLoggingHttpHeader: ContainerLoggingHttpHeader = {\n name: 'name',\n value: 'value',\n };\n\n const containerLoggingConfigurationHttp2: ContainerLoggingConfigurationHttp2 = {\n compression: containerLoggingHttpCompression,\n format: containerLoggingHttpFormat,\n headers: [containerLoggingHttpHeader],\n host: 'host',\n password: 'password',\n path: 'path',\n port: 42056,\n user: 'user',\n };\n\n const newRelicLoggingConfiguration: NewRelicLoggingConfiguration = {\n host: 'host',\n ingestionKey: 'ingestion_key',\n };\n\n const containerLoggingSplunkConfiguration: ContainerLoggingSplunkConfiguration = {\n host: 'host',\n token: 'token',\n };\n\n const tcpLoggingConfiguration: TcpLoggingConfiguration = {\n host: 'host',\n port: 44671,\n };\n\n const containerConfigurationLogging: ContainerConfigurationLogging = {\n axiom: axiomLoggingConfiguration,\n datadog: datadogLoggingConfiguration,\n http: containerLoggingConfigurationHttp2,\n newRelic: newRelicLoggingConfiguration,\n splunk: containerLoggingSplunkConfiguration,\n tcp: tcpLoggingConfiguration,\n };\n\n const containerGroupPriority = ContainerGroupPriority.HIGH;\n\n const containerRegistryAuthenticationAwsEcr: ContainerRegistryAuthenticationAwsEcr = {\n accessKeyId: 'access_key_id',\n secretAccessKey: 'secret_access_key',\n };\n\n const containerRegistryAuthenticationBasic: ContainerRegistryAuthenticationBasic = {\n password: 'password',\n username: 'username',\n };\n\n const containerRegistryAuthenticationDockerHub: ContainerRegistryAuthenticationDockerHub = {\n personalAccessToken: 'personal_access_token',\n username: 'username',\n };\n\n const containerRegistryAuthenticationGcpGar: ContainerRegistryAuthenticationGcpGar = {\n serviceKey: 'service_key',\n };\n\n const containerRegistryAuthenticationGcpGcr: ContainerRegistryAuthenticationGcpGcr = {\n serviceKey: 'service_key',\n };\n\n const containerRegistryAuthentication: ContainerRegistryAuthentication = {\n awsEcr: containerRegistryAuthenticationAwsEcr,\n basic: containerRegistryAuthenticationBasic,\n dockerHub: containerRegistryAuthenticationDockerHub,\n gcpGar: containerRegistryAuthenticationGcpGar,\n gcpGcr: containerRegistryAuthenticationGcpGcr,\n };\n\n const createContainerResourceRequirements: CreateContainerResourceRequirements = {\n cpu: 827,\n gpuClasses: ['gpu_classes'],\n memory: 734164836,\n shmSize: 64,\n storageAmount: 761306530849177.9,\n };\n\n const containerConfiguration: ContainerConfiguration = {\n command: ['command'],\n environmentVariables: [],\n image: 'acme/:latest',\n imageCaching: true,\n logging: containerConfigurationLogging,\n priority: containerGroupPriority,\n registryAuthentication: containerRegistryAuthentication,\n resources: createContainerResourceRequirements,\n };\n\n const countryCode = CountryCode.AF;\n\n const containerGroupProbeExec: ContainerGroupProbeExec = {\n command: ['command'],\n };\n\n const containerGroupGRpcProbe: ContainerGroupGRpcProbe = {\n port: 37648,\n service: 'service',\n };\n\n const containerGroupProbeHttpHeader: ContainerGroupProbeHttpHeader = {\n name: 'name',\n value: 'value',\n };\n\n const httpScheme = HttpScheme.HTTP;\n\n const containerGroupHttpProbeConfiguration: ContainerGroupHttpProbeConfiguration = {\n headers: [containerGroupProbeHttpHeader],\n path: 'path',\n port: 29069,\n scheme: httpScheme,\n };\n\n const containerGroupTcpProbe: ContainerGroupTcpProbe = {\n port: 13817,\n };\n\n const containerGroupLivenessProbe: ContainerGroupLivenessProbe = {\n exec: containerGroupProbeExec,\n failureThreshold: 3,\n grpc: containerGroupGRpcProbe,\n http: containerGroupHttpProbeConfiguration,\n initialDelaySeconds: 670,\n periodSeconds: 10,\n successThreshold: 1,\n tcp: containerGroupTcpProbe,\n timeoutSeconds: 30,\n };\n\n const theContainerGroupNetworkingLoadBalancer = TheContainerGroupNetworkingLoadBalancer.ROUND_ROBIN;\n\n const containerNetworkingProtocol = ContainerNetworkingProtocol.HTTP;\n\n const createContainerGroupNetworking: CreateContainerGroupNetworking = {\n auth: true,\n clientRequestTimeout: 100000,\n loadBalancer: theContainerGroupNetworkingLoadBalancer,\n port: 60000,\n protocol: containerNetworkingProtocol,\n serverResponseTimeout: 100000,\n singleConnectionLimit: true,\n };\n\n const queueBasedAutoscalerConfiguration: QueueBasedAutoscalerConfiguration = {\n desiredQueueLength: 53,\n maxDownscalePerMinute: 59,\n maxReplicas: 321,\n maxUpscalePerMinute: 100,\n minReplicas: 54,\n pollingPeriod: 140,\n };\n\n const containerGroupQueueConnection: ContainerGroupQueueConnection = {\n path: 'path',\n port: 47568,\n queueName: 'z1h-3z01x9',\n };\n\n const containerGroupReadinessProbe: ContainerGroupReadinessProbe = {\n exec: containerGroupProbeExec,\n failureThreshold: 3,\n grpc: containerGroupGRpcProbe,\n http: containerGroupHttpProbeConfiguration,\n initialDelaySeconds: 262,\n periodSeconds: 1,\n successThreshold: 1,\n tcp: containerGroupTcpProbe,\n timeoutSeconds: 1,\n };\n\n const containerRestartPolicy = ContainerRestartPolicy.ALWAYS;\n\n const containerGroupScalingAction: ContainerGroupScalingAction = {\n replicas: 461,\n schedule: '7kwC/T8C da x6Ci bM-rgGYn bDY6,vT',\n };\n\n const containerGroupStartupProbe: ContainerGroupStartupProbe = {\n exec: containerGroupProbeExec,\n failureThreshold: 15,\n grpc: containerGroupGRpcProbe,\n http: containerGroupHttpProbeConfiguration,\n initialDelaySeconds: 503,\n periodSeconds: 3,\n successThreshold: 2,\n tcp: containerGroupTcpProbe,\n timeoutSeconds: 10,\n };\n\n const containerGroupCreationRequest: ContainerGroupCreationRequest = {\n autostartPolicy: true,\n container: containerConfiguration,\n countryCodes: [countryCode],\n displayName: 'KMg0KyVwpb',\n livenessProbe: containerGroupLivenessProbe,\n name: 'name',\n networking: createContainerGroupNetworking,\n queueAutoscaler: queueBasedAutoscalerConfiguration,\n queueConnection: containerGroupQueueConnection,\n readinessProbe: containerGroupReadinessProbe,\n replicas: 77,\n restartPolicy: containerRestartPolicy,\n scalingActions: [containerGroupScalingAction],\n scheduledScalingEnabled: true,\n startupProbe: containerGroupStartupProbe,\n };\n\n const { data } = await saladCloudSdk.containerGroups.createContainerGroup(\n 'acme-corp',\n 'dev-env',\n containerGroupCreationRequest,\n );\n\n console.log(data);\n})();","lang":"TypeScript"},{"source":"from salad_cloud_sdk import SaladCloudSdk\nfrom salad_cloud_sdk.models import ContainerGroupCreationRequest\n\nsdk = SaladCloudSdk(\n api_key=\"YOUR_API_KEY\",\n api_key_header=\"YOUR_API_KEY_HEADER\",\n timeout=10000\n)\n\nrequest_body = ContainerGroupCreationRequest(\n autostart_policy=False,\n container={\n \"command\": [\n \"command\"\n ],\n \"environment_variables\": {},\n \"image\": \"acme/:latest\",\n \"image_caching\": True,\n \"logging\": {\n \"axiom\": {\n \"api_token\": \"api_token\",\n \"dataset\": \"dataset\",\n \"host\": \"host\"\n },\n \"datadog\": {\n \"api_key\": \"api_key\",\n \"host\": \"host\",\n \"tags\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ]\n },\n \"http\": {\n \"compression\": \"none\",\n \"format\": \"json\",\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"host\": \"host\",\n \"password\": \"password\",\n \"path\": \"path\",\n \"port\": 42056,\n \"user\": \"user\"\n },\n \"new_relic\": {\n \"host\": \"host\",\n \"ingestion_key\": \"ingestion_key\"\n },\n \"splunk\": {\n \"host\": \"host\",\n \"token\": \"token\"\n },\n \"tcp\": {\n \"host\": \"host\",\n \"port\": 44671\n }\n },\n \"priority\": \"high\",\n \"registry_authentication\": {\n \"aws_ecr\": {\n \"access_key_id\": \"access_key_id\",\n \"secret_access_key\": \"secret_access_key\"\n },\n \"basic\": {\n \"password\": \"password\",\n \"username\": \"username\"\n },\n \"docker_hub\": {\n \"personal_access_token\": \"personal_access_token\",\n \"username\": \"username\"\n },\n \"gcp_gar\": {\n \"service_key\": \"service_key\"\n },\n \"gcp_gcr\": {\n \"service_key\": \"service_key\"\n }\n },\n \"resources\": {\n \"cpu\": 827,\n \"gpu_classes\": [\n \"gpu_classes\"\n ],\n \"memory\": 734164836,\n \"shm_size\": 64,\n \"storage_amount\": 761306530849177.9\n }\n },\n country_codes=[\n \"af\"\n ],\n display_name=\"KMg0KyVwpb\",\n liveness_probe={\n \"exec_\": {\n \"command\": [\n \"command\"\n ]\n },\n \"failure_threshold\": 3,\n \"grpc\": {\n \"port\": 37648,\n \"service\": \"service\"\n },\n \"http\": {\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"path\": \"path\",\n \"port\": 29069,\n \"scheme\": \"http\"\n },\n \"initial_delay_seconds\": 670,\n \"period_seconds\": 10,\n \"success_threshold\": 1,\n \"tcp\": {\n \"port\": 13817\n },\n \"timeout_seconds\": 30\n },\n name=\"name\",\n networking={\n \"auth\": False,\n \"client_request_timeout\": 100000,\n \"load_balancer\": \"round_robin\",\n \"port\": 60000,\n \"protocol\": \"http\",\n \"server_response_timeout\": 100000,\n \"single_connection_limit\": False\n },\n queue_autoscaler={\n \"desired_queue_length\": 53,\n \"max_downscale_per_minute\": 59,\n \"max_replicas\": 321,\n \"max_upscale_per_minute\": 100,\n \"min_replicas\": 54,\n \"polling_period\": 140\n },\n queue_connection={\n \"path\": \"path\",\n \"port\": 47568,\n \"queue_name\": \"z1h-3z01x9\"\n },\n readiness_probe={\n \"exec_\": {\n \"command\": [\n \"command\"\n ]\n },\n \"failure_threshold\": 3,\n \"grpc\": {\n \"port\": 37648,\n \"service\": \"service\"\n },\n \"http\": {\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"path\": \"path\",\n \"port\": 29069,\n \"scheme\": \"http\"\n },\n \"initial_delay_seconds\": 262,\n \"period_seconds\": 1,\n \"success_threshold\": 1,\n \"tcp\": {\n \"port\": 13817\n },\n \"timeout_seconds\": 1\n },\n replicas=77,\n restart_policy=\"always\",\n scaling_actions=[\n {\n \"replicas\": 461,\n \"schedule\": \"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\"\n }\n ],\n scheduled_scaling_enabled=True,\n startup_probe={\n \"exec_\": {\n \"command\": [\n \"command\"\n ]\n },\n \"failure_threshold\": 15,\n \"grpc\": {\n \"port\": 37648,\n \"service\": \"service\"\n },\n \"http\": {\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"path\": \"path\",\n \"port\": 29069,\n \"scheme\": \"http\"\n },\n \"initial_delay_seconds\": 503,\n \"period_seconds\": 3,\n \"success_threshold\": 2,\n \"tcp\": {\n \"port\": 13817\n },\n \"timeout_seconds\": 10\n }\n)\n\nresult = sdk.container_groups.create_container_group(\n request_body=request_body,\n organization_name=\"acme-corp\",\n project_name=\"dev-env\"\n)\n\nprint(result)","lang":"Python"}],"method":"post","type":"path","servers":["984d8c00-672e-43a3-954b-7c01051f4b36"],"security":["d0ee2b14-68b4-4887-965a-3312f87c64f6"],"path":"/organizations/{organization_name}/projects/{project_name}/containers","baseUrlOptions":["https://api.salad.com/api/public"],"title":"Create Container Group","codeSamples":[{"lang":"C#","source":"using Salad.Cloud.SDK;\nusing Salad.Cloud.SDK.Config;\nusing Salad.Cloud.SDK.Models;\n\nvar config = new SaladCloudSdkConfig{};\n\nvar client = new SaladCloudSdkClient(config);\n\nvar gpuClasses = new List\u003cstring>() { \"gpu_classes\" };\nvar resources = new CreateContainerResourceRequirements(827, 734164836, gpuClasses, 64, 761306530849177.9);\nvar command = new List\u003cstring>() { \"command\" };\nvar axiom = new AxiomLoggingConfiguration(\"api_token\", \"dataset\", \"host\");\nvar tagsItem = new DatadogTagForContainerLogging(\"name\", \"value\");\nvar tags = new List\u003cDatadogTagForContainerLogging>() { tagsItem };\nvar datadog = new DatadogLoggingConfiguration(\"api_key\", \"host\", tags);\nvar headersItem = new ContainerLoggingHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerLoggingHttpHeader>() { headersItem };\nvar http = new ContainerLoggingConfigurationHttp2(ContainerLoggingHttpCompression.None, ContainerLoggingHttpFormat.Json, \"host\", 42056, headers, \"password\", \"path\", \"user\");\nvar newRelic = new NewRelicLoggingConfiguration(\"host\", \"ingestion_key\");\nvar splunk = new ContainerLoggingSplunkConfiguration(\"host\", \"token\");\nvar tcp = new TcpLoggingConfiguration(\"host\", 44671);\nvar logging = new ContainerConfigurationLogging(axiom, datadog, http, newRelic, splunk, tcp);\nvar awsEcr = new ContainerRegistryAuthenticationAwsEcr(\"access_key_id\", \"secret_access_key\");\nvar basic = new ContainerRegistryAuthenticationBasic(\"password\", \"username\");\nvar dockerHub = new ContainerRegistryAuthenticationDockerHub(\"personal_access_token\", \"username\");\nvar gcpGar = new ContainerRegistryAuthenticationGcpGar(\"service_key\");\nvar gcpGcr = new ContainerRegistryAuthenticationGcpGcr(\"service_key\");\nvar registryAuthentication = new ContainerRegistryAuthentication(awsEcr, basic, dockerHub, gcpGar, gcpGcr);\nvar container = new ContainerConfiguration(\"acme/:latest\", resources, command, new object(), true, logging, ContainerGroupPriority.High, registryAuthentication);\nvar countryCodes = new List\u003cCountryCode>() { CountryCode.Af };\nvar command = new List\u003cstring>() { \"command\" };\nvar exec = new ContainerGroupProbeExec(command);\nvar grpc = new ContainerGroupGRpcProbe(37648, \"service\");\nvar headersItem = new ContainerGroupProbeHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerGroupProbeHttpHeader>() { headersItem };\nvar http = new ContainerGroupHttpProbeConfiguration(headers, \"path\", 29069, HttpScheme.Http);\nvar tcp = new ContainerGroupTcpProbe(13817);\nvar livenessProbe = new ContainerGroupLivenessProbe(3, 670, 10, 1, 30, exec, grpc, http, tcp);\nvar networking = new CreateContainerGroupNetworking(false, 60000, ContainerNetworkingProtocol.Http, 100000, TheContainerGroupNetworkingLoadBalancer.RoundRobin, 100000, false);\nvar queueAutoscaler = new QueueBasedAutoscalerConfiguration(53, 321, 54, 59, 100, 140);\nvar queueConnection = new ContainerGroupQueueConnection(\"path\", 47568, \"z1h-3z01x9\");\nvar command = new List\u003cstring>() { \"command\" };\nvar exec = new ContainerGroupProbeExec(command);\nvar grpc = new ContainerGroupGRpcProbe(37648, \"service\");\nvar headersItem = new ContainerGroupProbeHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerGroupProbeHttpHeader>() { headersItem };\nvar http = new ContainerGroupHttpProbeConfiguration(headers, \"path\", 29069, HttpScheme.Http);\nvar tcp = new ContainerGroupTcpProbe(13817);\nvar readinessProbe = new ContainerGroupReadinessProbe(3, 262, 1, 1, 1, exec, grpc, http, tcp);\nvar scalingActionsItem = new ContainerGroupScalingAction(461, \"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\");\nvar scalingActions = new List\u003cContainerGroupScalingAction>() { scalingActionsItem };\nvar command = new List\u003cstring>() { \"command\" };\nvar exec = new ContainerGroupProbeExec(command);\nvar grpc = new ContainerGroupGRpcProbe(37648, \"service\");\nvar headersItem = new ContainerGroupProbeHttpHeader(\"name\", \"value\");\nvar headers = new List\u003cContainerGroupProbeHttpHeader>() { headersItem };\nvar http = new ContainerGroupHttpProbeConfiguration(headers, \"path\", 29069, HttpScheme.Http);\nvar tcp = new ContainerGroupTcpProbe(13817);\nvar startupProbe = new ContainerGroupStartupProbe(15, 503, 3, 2, 10, exec, grpc, http, tcp);\nvar input = new ContainerGroupCreationRequest(false, container, \"name\", 77, ContainerRestartPolicy.Always, countryCodes, \"KMg0KyVwpb\", livenessProbe, networking, queueAutoscaler, queueConnection, readinessProbe, scalingActions, true, startupProbe);\n\nvar response = await client.ContainerGroups.CreateContainerGroupAsync(input, \"acme-corp\", \"dev-env\");\n\nConsole.WriteLine(response);"},{"lang":"Java","source":"import com.salad.cloud.sdk.SaladCloudSdk;\nimport com.salad.cloud.sdk.config.ApiKeyAuthConfig;\nimport com.salad.cloud.sdk.config.SaladCloudSdkConfig;\nimport com.salad.cloud.sdk.models.AxiomLoggingConfiguration;\nimport com.salad.cloud.sdk.models.ContainerConfiguration;\nimport com.salad.cloud.sdk.models.ContainerConfigurationLogging;\nimport com.salad.cloud.sdk.models.ContainerGroup;\nimport com.salad.cloud.sdk.models.ContainerGroupCreationRequest;\nimport com.salad.cloud.sdk.models.ContainerGroupGRpcProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupHttpProbeConfiguration;\nimport com.salad.cloud.sdk.models.ContainerGroupLivenessProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupPriority;\nimport com.salad.cloud.sdk.models.ContainerGroupProbeExec;\nimport com.salad.cloud.sdk.models.ContainerGroupProbeHttpHeader;\nimport com.salad.cloud.sdk.models.ContainerGroupQueueConnection;\nimport com.salad.cloud.sdk.models.ContainerGroupReadinessProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupScalingAction;\nimport com.salad.cloud.sdk.models.ContainerGroupStartupProbe;\nimport com.salad.cloud.sdk.models.ContainerGroupTcpProbe;\nimport com.salad.cloud.sdk.models.ContainerLoggingConfigurationHttp2;\nimport com.salad.cloud.sdk.models.ContainerLoggingHttpCompression;\nimport com.salad.cloud.sdk.models.ContainerLoggingHttpFormat;\nimport com.salad.cloud.sdk.models.ContainerLoggingHttpHeader;\nimport com.salad.cloud.sdk.models.ContainerLoggingSplunkConfiguration;\nimport com.salad.cloud.sdk.models.ContainerNetworkingProtocol;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthentication;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationAwsEcr;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationBasic;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationDockerHub;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationGcpGar;\nimport com.salad.cloud.sdk.models.ContainerRegistryAuthenticationGcpGcr;\nimport com.salad.cloud.sdk.models.ContainerRestartPolicy;\nimport com.salad.cloud.sdk.models.CountryCode;\nimport com.salad.cloud.sdk.models.CreateContainerGroupNetworking;\nimport com.salad.cloud.sdk.models.CreateContainerResourceRequirements;\nimport com.salad.cloud.sdk.models.DatadogLoggingConfiguration;\nimport com.salad.cloud.sdk.models.DatadogTagForContainerLogging;\nimport com.salad.cloud.sdk.models.HttpScheme;\nimport com.salad.cloud.sdk.models.NewRelicLoggingConfiguration;\nimport com.salad.cloud.sdk.models.QueueBasedAutoscalerConfiguration;\nimport com.salad.cloud.sdk.models.TcpLoggingConfiguration;\nimport com.salad.cloud.sdk.models.TheContainerGroupNetworkingLoadBalancer;\nimport java.util.Arrays;\nimport java.util.HashMap;\nimport java.util.List;\n\npublic class Main {\n public static void main(String[] args) {\n\t\tSaladCloudSdkConfig config = SaladCloudSdkConfig.builder()\n\t\t\t.apiKeyAuthConfig(\n\t\t\t\tApiKeyAuthConfig.builder()\n\t\t\t\t\t.apiKey(\"YOUR_API_KEY\")\n\t\t\t\t\t.build()\n\t\t\t)\n\t\t\t.build();\n\n\t\tSaladCloudSdk saladCloudSdk = new SaladCloudSdk(config);\n\n\t\tList\u003cString> commandList = Arrays.asList(\"command\");\n\n\t\tAxiomLoggingConfiguration axiomLoggingConfiguration = AxiomLoggingConfiguration.builder()\n\t\t\t.apiToken(\"api_token\")\n\t\t\t.dataset(\"dataset\")\n\t\t\t.host(\"host\")\n\t\t\t.build();\n\n\t\tDatadogTagForContainerLogging datadogTagForContainerLogging = DatadogTagForContainerLogging.builder()\n\t\t\t.name(\"name\")\n\t\t\t.value(\"value\")\n\t\t\t.build();\n\n\t\tList\u003cDatadogTagForContainerLogging> tagsList = Arrays.asList(datadogTagForContainerLogging);\n\n\t\tDatadogLoggingConfiguration datadogLoggingConfiguration = DatadogLoggingConfiguration.builder()\n\t\t\t.apiKey(\"api_key\")\n\t\t\t.host(\"host\")\n\t\t\t.tags(tagsList)\n\t\t\t.build();\n\n\t\tContainerLoggingHttpHeader containerLoggingHttpHeader = ContainerLoggingHttpHeader.builder()\n\t\t\t.name(\"name\")\n\t\t\t.value(\"value\")\n\t\t\t.build();\n\n\t\tList\u003cContainerLoggingHttpHeader> headersList = Arrays.asList(containerLoggingHttpHeader);\n\n\t\tContainerLoggingConfigurationHttp2 containerLoggingConfigurationHttp2 = ContainerLoggingConfigurationHttp2.builder()\n\t\t\t.compression(ContainerLoggingHttpCompression.NONE)\n\t\t\t.format(ContainerLoggingHttpFormat.JSON)\n\t\t\t.headers(headersList)\n\t\t\t.host(\"host\")\n\t\t\t.password(\"password\")\n\t\t\t.path(\"path\")\n\t\t\t.port(42056L)\n\t\t\t.user(\"user\")\n\t\t\t.build();\n\n\t\tNewRelicLoggingConfiguration newRelicLoggingConfiguration = NewRelicLoggingConfiguration.builder()\n\t\t\t.host(\"host\")\n\t\t\t.ingestionKey(\"ingestion_key\")\n\t\t\t.build();\n\n\t\tContainerLoggingSplunkConfiguration containerLoggingSplunkConfiguration = ContainerLoggingSplunkConfiguration.builder()\n\t\t\t.host(\"host\")\n\t\t\t.token(\"token\")\n\t\t\t.build();\n\n\t\tTcpLoggingConfiguration tcpLoggingConfiguration = TcpLoggingConfiguration.builder()\n\t\t\t.host(\"host\")\n\t\t\t.port(44671L)\n\t\t\t.build();\n\n\t\tContainerConfigurationLogging containerConfigurationLogging = ContainerConfigurationLogging.builder()\n\t\t\t.axiom(axiomLoggingConfiguration)\n\t\t\t.datadog(datadogLoggingConfiguration)\n\t\t\t.http(containerLoggingConfigurationHttp2)\n\t\t\t.newRelic(newRelicLoggingConfiguration)\n\t\t\t.splunk(containerLoggingSplunkConfiguration)\n\t\t\t.tcp(tcpLoggingConfiguration)\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationAwsEcr containerRegistryAuthenticationAwsEcr = ContainerRegistryAuthenticationAwsEcr.builder()\n\t\t\t.accessKeyId(\"access_key_id\")\n\t\t\t.secretAccessKey(\"secret_access_key\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationBasic containerRegistryAuthenticationBasic = ContainerRegistryAuthenticationBasic.builder()\n\t\t\t.password(\"password\")\n\t\t\t.username(\"username\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationDockerHub containerRegistryAuthenticationDockerHub = ContainerRegistryAuthenticationDockerHub.builder()\n\t\t\t.personalAccessToken(\"personal_access_token\")\n\t\t\t.username(\"username\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationGcpGar containerRegistryAuthenticationGcpGar = ContainerRegistryAuthenticationGcpGar.builder()\n\t\t\t.serviceKey(\"service_key\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthenticationGcpGcr containerRegistryAuthenticationGcpGcr = ContainerRegistryAuthenticationGcpGcr.builder()\n\t\t\t.serviceKey(\"service_key\")\n\t\t\t.build();\n\n\t\tContainerRegistryAuthentication containerRegistryAuthentication = ContainerRegistryAuthentication.builder()\n\t\t\t.awsEcr(containerRegistryAuthenticationAwsEcr)\n\t\t\t.basic(containerRegistryAuthenticationBasic)\n\t\t\t.dockerHub(containerRegistryAuthenticationDockerHub)\n\t\t\t.gcpGar(containerRegistryAuthenticationGcpGar)\n\t\t\t.gcpGcr(containerRegistryAuthenticationGcpGcr)\n\t\t\t.build();\n\n\t\tList\u003cString> gpuClassesList = Arrays.asList(\"gpu_classes\");\n\n\t\tCreateContainerResourceRequirements createContainerResourceRequirements = CreateContainerResourceRequirements.builder()\n\t\t\t.cpu(827L)\n\t\t\t.gpuClasses(gpuClassesList)\n\t\t\t.memory(734164836L)\n\t\t\t.shmSize(64L)\n\t\t\t.storageAmount(761306530849177.9L)\n\t\t\t.build();\n\n\t\tContainerConfiguration containerConfiguration = ContainerConfiguration.builder()\n\t\t\t.command(commandList)\n\t\t\t.environmentVariables(new HashMap())\n\t\t\t.image(\"acme/:latest\")\n\t\t\t.imageCaching(true)\n\t\t\t.logging(containerConfigurationLogging)\n\t\t\t.priority(ContainerGroupPriority.HIGH)\n\t\t\t.registryAuthentication(containerRegistryAuthentication)\n\t\t\t.resources(createContainerResourceRequirements)\n\t\t\t.build();\n\n\t\tList\u003cCountryCode> countryCodesList = Arrays.asList(CountryCode.AF);\n\n\t\tList\u003cString> commandList1 = Arrays.asList(\"command\");\n\n\t\tContainerGroupProbeExec containerGroupProbeExec = ContainerGroupProbeExec.builder()\n\t\t\t.command(commandList1)\n\t\t\t.build();\n\n\t\tContainerGroupGRpcProbe containerGroupGRpcProbe = ContainerGroupGRpcProbe.builder()\n\t\t\t.port(37648L)\n\t\t\t.service(\"service\")\n\t\t\t.build();\n\n\t\tContainerGroupProbeHttpHeader containerGroupProbeHttpHeader = ContainerGroupProbeHttpHeader.builder()\n\t\t\t.name(\"name\")\n\t\t\t.value(\"value\")\n\t\t\t.build();\n\n\t\tList\u003cContainerGroupProbeHttpHeader> headersList1 = Arrays.asList(containerGroupProbeHttpHeader);\n\n\t\tContainerGroupHttpProbeConfiguration containerGroupHttpProbeConfiguration = ContainerGroupHttpProbeConfiguration.builder()\n\t\t\t.headers(headersList1)\n\t\t\t.path(\"path\")\n\t\t\t.port(29069L)\n\t\t\t.scheme(HttpScheme.HTTP)\n\t\t\t.build();\n\n\t\tContainerGroupTcpProbe containerGroupTcpProbe = ContainerGroupTcpProbe.builder()\n\t\t\t.port(13817L)\n\t\t\t.build();\n\n\t\tContainerGroupLivenessProbe containerGroupLivenessProbe = ContainerGroupLivenessProbe.builder()\n\t\t\t.exec(containerGroupProbeExec)\n\t\t\t.failureThreshold(3L)\n\t\t\t.grpc(containerGroupGRpcProbe)\n\t\t\t.http(containerGroupHttpProbeConfiguration)\n\t\t\t.initialDelaySeconds(670L)\n\t\t\t.periodSeconds(10L)\n\t\t\t.successThreshold(1L)\n\t\t\t.tcp(containerGroupTcpProbe)\n\t\t\t.timeoutSeconds(30L)\n\t\t\t.build();\n\n\t\tCreateContainerGroupNetworking createContainerGroupNetworking = CreateContainerGroupNetworking.builder()\n\t\t\t.auth(false)\n\t\t\t.clientRequestTimeout(100000L)\n\t\t\t.loadBalancer(TheContainerGroupNetworkingLoadBalancer.ROUND_ROBIN)\n\t\t\t.port(60000L)\n\t\t\t.protocol(ContainerNetworkingProtocol.HTTP)\n\t\t\t.serverResponseTimeout(100000L)\n\t\t\t.singleConnectionLimit(false)\n\t\t\t.build();\n\n\t\tQueueBasedAutoscalerConfiguration queueBasedAutoscalerConfiguration = QueueBasedAutoscalerConfiguration.builder()\n\t\t\t.desiredQueueLength(53L)\n\t\t\t.maxDownscalePerMinute(59L)\n\t\t\t.maxReplicas(321L)\n\t\t\t.maxUpscalePerMinute(100L)\n\t\t\t.minReplicas(54L)\n\t\t\t.pollingPeriod(140L)\n\t\t\t.build();\n\n\t\tContainerGroupQueueConnection containerGroupQueueConnection = ContainerGroupQueueConnection.builder()\n\t\t\t.path(\"path\")\n\t\t\t.port(47568L)\n\t\t\t.queueName(\"z1h-3z01x9\")\n\t\t\t.build();\n\n\t\tContainerGroupReadinessProbe containerGroupReadinessProbe = ContainerGroupReadinessProbe.builder()\n\t\t\t.exec(containerGroupProbeExec)\n\t\t\t.failureThreshold(3L)\n\t\t\t.grpc(containerGroupGRpcProbe)\n\t\t\t.http(containerGroupHttpProbeConfiguration)\n\t\t\t.initialDelaySeconds(262L)\n\t\t\t.periodSeconds(1L)\n\t\t\t.successThreshold(1L)\n\t\t\t.tcp(containerGroupTcpProbe)\n\t\t\t.timeoutSeconds(1L)\n\t\t\t.build();\n\n\t\tContainerGroupScalingAction containerGroupScalingAction = ContainerGroupScalingAction.builder()\n\t\t\t.replicas(461L)\n\t\t\t.schedule(\"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\")\n\t\t\t.build();\n\n\t\tList\u003cContainerGroupScalingAction> scalingActionsList = Arrays.asList(containerGroupScalingAction);\n\n\t\tContainerGroupStartupProbe containerGroupStartupProbe = ContainerGroupStartupProbe.builder()\n\t\t\t.exec(containerGroupProbeExec)\n\t\t\t.failureThreshold(15L)\n\t\t\t.grpc(containerGroupGRpcProbe)\n\t\t\t.http(containerGroupHttpProbeConfiguration)\n\t\t\t.initialDelaySeconds(503L)\n\t\t\t.periodSeconds(3L)\n\t\t\t.successThreshold(2L)\n\t\t\t.tcp(containerGroupTcpProbe)\n\t\t\t.timeoutSeconds(10L)\n\t\t\t.build();\n\n\t\tContainerGroupCreationRequest containerGroupCreationRequest = ContainerGroupCreationRequest.builder()\n\t\t\t.autostartPolicy(false)\n\t\t\t.container(containerConfiguration)\n\t\t\t.countryCodes(countryCodesList)\n\t\t\t.displayName(\"KMg0KyVwpb\")\n\t\t\t.livenessProbe(containerGroupLivenessProbe)\n\t\t\t.name(\"name\")\n\t\t\t.networking(createContainerGroupNetworking)\n\t\t\t.queueAutoscaler(queueBasedAutoscalerConfiguration)\n\t\t\t.queueConnection(containerGroupQueueConnection)\n\t\t\t.readinessProbe(containerGroupReadinessProbe)\n\t\t\t.replicas(77L)\n\t\t\t.restartPolicy(ContainerRestartPolicy.ALWAYS)\n\t\t\t.scalingActions(scalingActionsList)\n\t\t\t.scheduledScalingEnabled(true)\n\t\t\t.startupProbe(containerGroupStartupProbe)\n\t\t\t.build();\n\n\t\tContainerGroup response = saladCloudSdk.containerGroups.createContainerGroup(\"acme-corp\", \"dev-env\", containerGroupCreationRequest);\n\n\t\tSystem.out.println(response);\n }\n}"},{"lang":"Go","source":"import (\n \"fmt\"\n \"encoding/json\"\n \"context\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/saladcloudsdkconfig\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/saladcloudsdk\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/util\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/containergroups\"\n \"github.com/saladtechnologies/salad-cloud-sdk-go/pkg/shared\"\n)\n\nconfig := saladcloudsdkconfig.NewConfig()\nconfig.SetApiKey(\"API_KEY\")\nclient := saladcloudsdk.NewSaladCloudSdk(config)\n\n\naxiomLoggingConfiguration := shared.AxiomLoggingConfiguration{\n ApiToken: util.ToPointer(\"api_token\"),\n Dataset: util.ToPointer(\"dataset\"),\n Host: util.ToPointer(\"host\"),\n}\n\n\ndatadogTagForContainerLogging := shared.DatadogTagForContainerLogging{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\ndatadogLoggingConfiguration := shared.DatadogLoggingConfiguration{\n ApiKey: util.ToPointer(\"api_key\"),\n Host: util.ToPointer(\"host\"),\n Tags: []shared.DatadogTagForContainerLogging{datadogTagForContainerLogging},\n}\n\ncontainerLoggingHttpCompression := shared.CONTAINER_LOGGING_HTTP_COMPRESSION_NONE\n\ncontainerLoggingHttpFormat := shared.CONTAINER_LOGGING_HTTP_FORMAT_JSON\n\n\ncontainerLoggingHttpHeader := shared.ContainerLoggingHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\ncontainerLoggingConfigurationHttp2 := containergroups.ContainerLoggingConfigurationHttp2{\n Compression: \u0026containerLoggingHttpCompression,\n Format: \u0026containerLoggingHttpFormat,\n Headers: []shared.ContainerLoggingHttpHeader{containerLoggingHttpHeader},\n Host: util.ToPointer(\"host\"),\n Password: util.ToPointer(util.Nullable[string]{ Value: \"password\" }),\n Path: util.ToPointer(util.Nullable[string]{ Value: \"path\" }),\n Port: util.ToPointer(int64(42056)),\n User: util.ToPointer(util.Nullable[string]{ Value: \"user\" }),\n}\n\n\nnewRelicLoggingConfiguration := shared.NewRelicLoggingConfiguration{\n Host: util.ToPointer(\"host\"),\n IngestionKey: util.ToPointer(\"ingestion_key\"),\n}\n\n\ncontainerLoggingSplunkConfiguration := shared.ContainerLoggingSplunkConfiguration{\n Host: util.ToPointer(\"host\"),\n Token: util.ToPointer(\"token\"),\n}\n\n\ntcpLoggingConfiguration := shared.TcpLoggingConfiguration{\n Host: util.ToPointer(\"host\"),\n Port: util.ToPointer(int64(44671)),\n}\n\ncontainerConfigurationLogging := containergroups.ContainerConfigurationLogging{\n Axiom: \u0026axiomLoggingConfiguration,\n Datadog: \u0026datadogLoggingConfiguration,\n Http: \u0026containerLoggingConfigurationHttp2,\n NewRelic: \u0026newRelicLoggingConfiguration,\n Splunk: \u0026containerLoggingSplunkConfiguration,\n Tcp: \u0026tcpLoggingConfiguration,\n}\n\ncontainerGroupPriority := shared.CONTAINER_GROUP_PRIORITY_HIGH\n\n\ncontainerRegistryAuthenticationAwsEcr := containergroups.ContainerRegistryAuthenticationAwsEcr{\n AccessKeyId: util.ToPointer(\"access_key_id\"),\n SecretAccessKey: util.ToPointer(\"secret_access_key\"),\n}\n\n\ncontainerRegistryAuthenticationBasic := containergroups.ContainerRegistryAuthenticationBasic{\n Password: util.ToPointer(\"password\"),\n Username: util.ToPointer(\"username\"),\n}\n\n\ncontainerRegistryAuthenticationDockerHub := containergroups.ContainerRegistryAuthenticationDockerHub{\n PersonalAccessToken: util.ToPointer(\"personal_access_token\"),\n Username: util.ToPointer(\"username\"),\n}\n\n\ncontainerRegistryAuthenticationGcpGar := containergroups.ContainerRegistryAuthenticationGcpGar{\n ServiceKey: util.ToPointer(\"service_key\"),\n}\n\n\ncontainerRegistryAuthenticationGcpGcr := containergroups.ContainerRegistryAuthenticationGcpGcr{\n ServiceKey: util.ToPointer(\"service_key\"),\n}\n\ncontainerRegistryAuthentication := containergroups.ContainerRegistryAuthentication{\n AwsEcr: \u0026containerRegistryAuthenticationAwsEcr,\n Basic: \u0026containerRegistryAuthenticationBasic,\n DockerHub: \u0026containerRegistryAuthenticationDockerHub,\n GcpGar: \u0026containerRegistryAuthenticationGcpGar,\n GcpGcr: \u0026containerRegistryAuthenticationGcpGcr,\n}\n\n\ncreateContainerResourceRequirements := containergroups.CreateContainerResourceRequirements{\n Cpu: util.ToPointer(int64(827)),\n GpuClasses: []string{},\n Memory: util.ToPointer(int64(734164836)),\n ShmSize: util.ToPointer(int64(64)),\n StorageAmount: util.ToPointer(int64(761306530849177.9)),\n}\n\ncontainerConfiguration := containergroups.ContainerConfiguration{\n Command: []string{},\n EnvironmentVariables: map[string]string{},\n Image: util.ToPointer(\"acme/:latest\"),\n ImageCaching: util.ToPointer(true),\n Logging: \u0026containerConfigurationLogging,\n Priority: \u0026containerGroupPriority,\n RegistryAuthentication: \u0026containerRegistryAuthentication,\n Resources: \u0026createContainerResourceRequirements,\n}\n\ncountryCode := shared.COUNTRY_CODE_AF\n\n\ncontainerGroupProbeExec := shared.ContainerGroupProbeExec{\n Command: []string{},\n}\n\n\ncontainerGroupGRpcProbe := shared.ContainerGroupGRpcProbe{\n Port: util.ToPointer(int64(37648)),\n Service: util.ToPointer(\"service\"),\n}\n\n\ncontainerGroupProbeHttpHeader := shared.ContainerGroupProbeHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\nhttpScheme := shared.HTTP_SCHEME_HTTP\n\ncontainerGroupHttpProbeConfiguration := shared.ContainerGroupHttpProbeConfiguration{\n Headers: []shared.ContainerGroupProbeHttpHeader{containerGroupProbeHttpHeader},\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(29069)),\n Scheme: \u0026httpScheme,\n}\n\n\ncontainerGroupTcpProbe := shared.ContainerGroupTcpProbe{\n Port: util.ToPointer(int64(13817)),\n}\n\ncontainerGroupLivenessProbe := shared.ContainerGroupLivenessProbe{\n Exec: \u0026containerGroupProbeExec,\n FailureThreshold: util.ToPointer(int64(3)),\n Grpc: \u0026containerGroupGRpcProbe,\n Http: \u0026containerGroupHttpProbeConfiguration,\n InitialDelaySeconds: util.ToPointer(int64(670)),\n PeriodSeconds: util.ToPointer(int64(10)),\n SuccessThreshold: util.ToPointer(int64(1)),\n Tcp: \u0026containerGroupTcpProbe,\n TimeoutSeconds: util.ToPointer(int64(30)),\n}\n\ntheContainerGroupNetworkingLoadBalancer := shared.THE_CONTAINER_GROUP_NETWORKING_LOAD_BALANCER_ROUND_ROBIN\n\ncontainerNetworkingProtocol := shared.CONTAINER_NETWORKING_PROTOCOL_HTTP\n\ncreateContainerGroupNetworking := containergroups.CreateContainerGroupNetworking{\n Auth: util.ToPointer(true),\n ClientRequestTimeout: util.ToPointer(int64(100000)),\n LoadBalancer: \u0026theContainerGroupNetworkingLoadBalancer,\n Port: util.ToPointer(int64(60000)),\n Protocol: \u0026containerNetworkingProtocol,\n ServerResponseTimeout: util.ToPointer(int64(100000)),\n SingleConnectionLimit: util.ToPointer(true),\n}\n\n\nqueueBasedAutoscalerConfiguration := shared.QueueBasedAutoscalerConfiguration{\n DesiredQueueLength: util.ToPointer(int64(53)),\n MaxDownscalePerMinute: util.ToPointer(int64(59)),\n MaxReplicas: util.ToPointer(int64(321)),\n MaxUpscalePerMinute: util.ToPointer(int64(100)),\n MinReplicas: util.ToPointer(int64(54)),\n PollingPeriod: util.ToPointer(int64(140)),\n}\n\n\ncontainerGroupQueueConnection := shared.ContainerGroupQueueConnection{\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(47568)),\n QueueName: util.ToPointer(\"z1h-3z01x9\"),\n}\n\n\ncontainerGroupProbeExec := shared.ContainerGroupProbeExec{\n Command: []string{},\n}\n\n\ncontainerGroupGRpcProbe := shared.ContainerGroupGRpcProbe{\n Port: util.ToPointer(int64(37648)),\n Service: util.ToPointer(\"service\"),\n}\n\n\ncontainerGroupProbeHttpHeader := shared.ContainerGroupProbeHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\nhttpScheme := shared.HTTP_SCHEME_HTTP\n\ncontainerGroupHttpProbeConfiguration := shared.ContainerGroupHttpProbeConfiguration{\n Headers: []shared.ContainerGroupProbeHttpHeader{containerGroupProbeHttpHeader},\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(29069)),\n Scheme: \u0026httpScheme,\n}\n\n\ncontainerGroupTcpProbe := shared.ContainerGroupTcpProbe{\n Port: util.ToPointer(int64(13817)),\n}\n\ncontainerGroupReadinessProbe := shared.ContainerGroupReadinessProbe{\n Exec: \u0026containerGroupProbeExec,\n FailureThreshold: util.ToPointer(int64(3)),\n Grpc: \u0026containerGroupGRpcProbe,\n Http: \u0026containerGroupHttpProbeConfiguration,\n InitialDelaySeconds: util.ToPointer(int64(262)),\n PeriodSeconds: util.ToPointer(int64(1)),\n SuccessThreshold: util.ToPointer(int64(1)),\n Tcp: \u0026containerGroupTcpProbe,\n TimeoutSeconds: util.ToPointer(int64(1)),\n}\n\ncontainerRestartPolicy := shared.CONTAINER_RESTART_POLICY_ALWAYS\n\n\ncontainerGroupScalingAction := shared.ContainerGroupScalingAction{\n Replicas: util.ToPointer(int64(461)),\n Schedule: util.ToPointer(\"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\"),\n}\n\n\ncontainerGroupProbeExec := shared.ContainerGroupProbeExec{\n Command: []string{},\n}\n\n\ncontainerGroupGRpcProbe := shared.ContainerGroupGRpcProbe{\n Port: util.ToPointer(int64(37648)),\n Service: util.ToPointer(\"service\"),\n}\n\n\ncontainerGroupProbeHttpHeader := shared.ContainerGroupProbeHttpHeader{\n Name: util.ToPointer(\"name\"),\n Value: util.ToPointer(\"value\"),\n}\n\nhttpScheme := shared.HTTP_SCHEME_HTTP\n\ncontainerGroupHttpProbeConfiguration := shared.ContainerGroupHttpProbeConfiguration{\n Headers: []shared.ContainerGroupProbeHttpHeader{containerGroupProbeHttpHeader},\n Path: util.ToPointer(\"path\"),\n Port: util.ToPointer(int64(29069)),\n Scheme: \u0026httpScheme,\n}\n\n\ncontainerGroupTcpProbe := shared.ContainerGroupTcpProbe{\n Port: util.ToPointer(int64(13817)),\n}\n\ncontainerGroupStartupProbe := shared.ContainerGroupStartupProbe{\n Exec: \u0026containerGroupProbeExec,\n FailureThreshold: util.ToPointer(int64(15)),\n Grpc: \u0026containerGroupGRpcProbe,\n Http: \u0026containerGroupHttpProbeConfiguration,\n InitialDelaySeconds: util.ToPointer(int64(503)),\n PeriodSeconds: util.ToPointer(int64(3)),\n SuccessThreshold: util.ToPointer(int64(2)),\n Tcp: \u0026containerGroupTcpProbe,\n TimeoutSeconds: util.ToPointer(int64(10)),\n}\n\nrequest := containergroups.ContainerGroupCreationRequest{\n AutostartPolicy: util.ToPointer(true),\n Container: \u0026containerConfiguration,\n CountryCodes: []shared.CountryCode{countryCode},\n DisplayName: util.ToPointer(\"KMg0KyVwpb\"),\n LivenessProbe: \u0026containerGroupLivenessProbe,\n Name: util.ToPointer(\"name\"),\n Networking: \u0026createContainerGroupNetworking,\n QueueAutoscaler: \u0026queueBasedAutoscalerConfiguration,\n QueueConnection: \u0026containerGroupQueueConnection,\n ReadinessProbe: \u0026containerGroupReadinessProbe,\n Replicas: util.ToPointer(int64(77)),\n RestartPolicy: \u0026containerRestartPolicy,\n ScalingActions: []shared.ContainerGroupScalingAction{containerGroupScalingAction},\n ScheduledScalingEnabled: util.ToPointer(true),\n StartupProbe: \u0026containerGroupStartupProbe,\n}\n\nresponse, err := client.ContainerGroups.CreateContainerGroup(context.Background(), \"acme-corp\", \"dev-env\", request)\nif err != nil {\n panic(err)\n}\n\nfmt.Println(response)"},{"lang":"TypeScript","source":"import {\n AxiomLoggingConfiguration,\n ContainerConfiguration,\n ContainerConfigurationLogging,\n ContainerGroupCreationRequest,\n ContainerGroupGRpcProbe,\n ContainerGroupHttpProbeConfiguration,\n ContainerGroupLivenessProbe,\n ContainerGroupPriority,\n ContainerGroupProbeExec,\n ContainerGroupProbeHttpHeader,\n ContainerGroupQueueConnection,\n ContainerGroupReadinessProbe,\n ContainerGroupScalingAction,\n ContainerGroupStartupProbe,\n ContainerGroupTcpProbe,\n ContainerLoggingConfigurationHttp2,\n ContainerLoggingHttpCompression,\n ContainerLoggingHttpFormat,\n ContainerLoggingHttpHeader,\n ContainerLoggingSplunkConfiguration,\n ContainerNetworkingProtocol,\n ContainerRegistryAuthentication,\n ContainerRegistryAuthenticationAwsEcr,\n ContainerRegistryAuthenticationBasic,\n ContainerRegistryAuthenticationDockerHub,\n ContainerRegistryAuthenticationGcpGar,\n ContainerRegistryAuthenticationGcpGcr,\n ContainerRestartPolicy,\n CountryCode,\n CreateContainerGroupNetworking,\n CreateContainerResourceRequirements,\n DatadogLoggingConfiguration,\n DatadogTagForContainerLogging,\n HttpScheme,\n NewRelicLoggingConfiguration,\n QueueBasedAutoscalerConfiguration,\n SaladCloudSdk,\n TcpLoggingConfiguration,\n TheContainerGroupNetworkingLoadBalancer,\n} from '@saladtechnologies-oss/salad-cloud-sdk';\n\n(async () => {\n const saladCloudSdk = new SaladCloudSdk({\n apiKey: 'YOUR_API_KEY',\n });\n\n const axiomLoggingConfiguration: AxiomLoggingConfiguration = {\n apiToken: 'api_token',\n dataset: 'dataset',\n host: 'host',\n };\n\n const datadogTagForContainerLogging: DatadogTagForContainerLogging = {\n name: 'name',\n value: 'value',\n };\n\n const datadogLoggingConfiguration: DatadogLoggingConfiguration = {\n apiKey: 'api_key',\n host: 'host',\n tags: [datadogTagForContainerLogging],\n };\n\n const containerLoggingHttpCompression = ContainerLoggingHttpCompression.NONE;\n\n const containerLoggingHttpFormat = ContainerLoggingHttpFormat.JSON;\n\n const containerLoggingHttpHeader: ContainerLoggingHttpHeader = {\n name: 'name',\n value: 'value',\n };\n\n const containerLoggingConfigurationHttp2: ContainerLoggingConfigurationHttp2 = {\n compression: containerLoggingHttpCompression,\n format: containerLoggingHttpFormat,\n headers: [containerLoggingHttpHeader],\n host: 'host',\n password: 'password',\n path: 'path',\n port: 42056,\n user: 'user',\n };\n\n const newRelicLoggingConfiguration: NewRelicLoggingConfiguration = {\n host: 'host',\n ingestionKey: 'ingestion_key',\n };\n\n const containerLoggingSplunkConfiguration: ContainerLoggingSplunkConfiguration = {\n host: 'host',\n token: 'token',\n };\n\n const tcpLoggingConfiguration: TcpLoggingConfiguration = {\n host: 'host',\n port: 44671,\n };\n\n const containerConfigurationLogging: ContainerConfigurationLogging = {\n axiom: axiomLoggingConfiguration,\n datadog: datadogLoggingConfiguration,\n http: containerLoggingConfigurationHttp2,\n newRelic: newRelicLoggingConfiguration,\n splunk: containerLoggingSplunkConfiguration,\n tcp: tcpLoggingConfiguration,\n };\n\n const containerGroupPriority = ContainerGroupPriority.HIGH;\n\n const containerRegistryAuthenticationAwsEcr: ContainerRegistryAuthenticationAwsEcr = {\n accessKeyId: 'access_key_id',\n secretAccessKey: 'secret_access_key',\n };\n\n const containerRegistryAuthenticationBasic: ContainerRegistryAuthenticationBasic = {\n password: 'password',\n username: 'username',\n };\n\n const containerRegistryAuthenticationDockerHub: ContainerRegistryAuthenticationDockerHub = {\n personalAccessToken: 'personal_access_token',\n username: 'username',\n };\n\n const containerRegistryAuthenticationGcpGar: ContainerRegistryAuthenticationGcpGar = {\n serviceKey: 'service_key',\n };\n\n const containerRegistryAuthenticationGcpGcr: ContainerRegistryAuthenticationGcpGcr = {\n serviceKey: 'service_key',\n };\n\n const containerRegistryAuthentication: ContainerRegistryAuthentication = {\n awsEcr: containerRegistryAuthenticationAwsEcr,\n basic: containerRegistryAuthenticationBasic,\n dockerHub: containerRegistryAuthenticationDockerHub,\n gcpGar: containerRegistryAuthenticationGcpGar,\n gcpGcr: containerRegistryAuthenticationGcpGcr,\n };\n\n const createContainerResourceRequirements: CreateContainerResourceRequirements = {\n cpu: 827,\n gpuClasses: ['gpu_classes'],\n memory: 734164836,\n shmSize: 64,\n storageAmount: 761306530849177.9,\n };\n\n const containerConfiguration: ContainerConfiguration = {\n command: ['command'],\n environmentVariables: [],\n image: 'acme/:latest',\n imageCaching: true,\n logging: containerConfigurationLogging,\n priority: containerGroupPriority,\n registryAuthentication: containerRegistryAuthentication,\n resources: createContainerResourceRequirements,\n };\n\n const countryCode = CountryCode.AF;\n\n const containerGroupProbeExec: ContainerGroupProbeExec = {\n command: ['command'],\n };\n\n const containerGroupGRpcProbe: ContainerGroupGRpcProbe = {\n port: 37648,\n service: 'service',\n };\n\n const containerGroupProbeHttpHeader: ContainerGroupProbeHttpHeader = {\n name: 'name',\n value: 'value',\n };\n\n const httpScheme = HttpScheme.HTTP;\n\n const containerGroupHttpProbeConfiguration: ContainerGroupHttpProbeConfiguration = {\n headers: [containerGroupProbeHttpHeader],\n path: 'path',\n port: 29069,\n scheme: httpScheme,\n };\n\n const containerGroupTcpProbe: ContainerGroupTcpProbe = {\n port: 13817,\n };\n\n const containerGroupLivenessProbe: ContainerGroupLivenessProbe = {\n exec: containerGroupProbeExec,\n failureThreshold: 3,\n grpc: containerGroupGRpcProbe,\n http: containerGroupHttpProbeConfiguration,\n initialDelaySeconds: 670,\n periodSeconds: 10,\n successThreshold: 1,\n tcp: containerGroupTcpProbe,\n timeoutSeconds: 30,\n };\n\n const theContainerGroupNetworkingLoadBalancer = TheContainerGroupNetworkingLoadBalancer.ROUND_ROBIN;\n\n const containerNetworkingProtocol = ContainerNetworkingProtocol.HTTP;\n\n const createContainerGroupNetworking: CreateContainerGroupNetworking = {\n auth: true,\n clientRequestTimeout: 100000,\n loadBalancer: theContainerGroupNetworkingLoadBalancer,\n port: 60000,\n protocol: containerNetworkingProtocol,\n serverResponseTimeout: 100000,\n singleConnectionLimit: true,\n };\n\n const queueBasedAutoscalerConfiguration: QueueBasedAutoscalerConfiguration = {\n desiredQueueLength: 53,\n maxDownscalePerMinute: 59,\n maxReplicas: 321,\n maxUpscalePerMinute: 100,\n minReplicas: 54,\n pollingPeriod: 140,\n };\n\n const containerGroupQueueConnection: ContainerGroupQueueConnection = {\n path: 'path',\n port: 47568,\n queueName: 'z1h-3z01x9',\n };\n\n const containerGroupReadinessProbe: ContainerGroupReadinessProbe = {\n exec: containerGroupProbeExec,\n failureThreshold: 3,\n grpc: containerGroupGRpcProbe,\n http: containerGroupHttpProbeConfiguration,\n initialDelaySeconds: 262,\n periodSeconds: 1,\n successThreshold: 1,\n tcp: containerGroupTcpProbe,\n timeoutSeconds: 1,\n };\n\n const containerRestartPolicy = ContainerRestartPolicy.ALWAYS;\n\n const containerGroupScalingAction: ContainerGroupScalingAction = {\n replicas: 461,\n schedule: '7kwC/T8C da x6Ci bM-rgGYn bDY6,vT',\n };\n\n const containerGroupStartupProbe: ContainerGroupStartupProbe = {\n exec: containerGroupProbeExec,\n failureThreshold: 15,\n grpc: containerGroupGRpcProbe,\n http: containerGroupHttpProbeConfiguration,\n initialDelaySeconds: 503,\n periodSeconds: 3,\n successThreshold: 2,\n tcp: containerGroupTcpProbe,\n timeoutSeconds: 10,\n };\n\n const containerGroupCreationRequest: ContainerGroupCreationRequest = {\n autostartPolicy: true,\n container: containerConfiguration,\n countryCodes: [countryCode],\n displayName: 'KMg0KyVwpb',\n livenessProbe: containerGroupLivenessProbe,\n name: 'name',\n networking: createContainerGroupNetworking,\n queueAutoscaler: queueBasedAutoscalerConfiguration,\n queueConnection: containerGroupQueueConnection,\n readinessProbe: containerGroupReadinessProbe,\n replicas: 77,\n restartPolicy: containerRestartPolicy,\n scalingActions: [containerGroupScalingAction],\n scheduledScalingEnabled: true,\n startupProbe: containerGroupStartupProbe,\n };\n\n const { data } = await saladCloudSdk.containerGroups.createContainerGroup(\n 'acme-corp',\n 'dev-env',\n containerGroupCreationRequest,\n );\n\n console.log(data);\n})();"},{"lang":"Python","source":"from salad_cloud_sdk import SaladCloudSdk\nfrom salad_cloud_sdk.models import ContainerGroupCreationRequest\n\nsdk = SaladCloudSdk(\n api_key=\"YOUR_API_KEY\",\n api_key_header=\"YOUR_API_KEY_HEADER\",\n timeout=10000\n)\n\nrequest_body = ContainerGroupCreationRequest(\n autostart_policy=False,\n container={\n \"command\": [\n \"command\"\n ],\n \"environment_variables\": {},\n \"image\": \"acme/:latest\",\n \"image_caching\": True,\n \"logging\": {\n \"axiom\": {\n \"api_token\": \"api_token\",\n \"dataset\": \"dataset\",\n \"host\": \"host\"\n },\n \"datadog\": {\n \"api_key\": \"api_key\",\n \"host\": \"host\",\n \"tags\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ]\n },\n \"http\": {\n \"compression\": \"none\",\n \"format\": \"json\",\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"host\": \"host\",\n \"password\": \"password\",\n \"path\": \"path\",\n \"port\": 42056,\n \"user\": \"user\"\n },\n \"new_relic\": {\n \"host\": \"host\",\n \"ingestion_key\": \"ingestion_key\"\n },\n \"splunk\": {\n \"host\": \"host\",\n \"token\": \"token\"\n },\n \"tcp\": {\n \"host\": \"host\",\n \"port\": 44671\n }\n },\n \"priority\": \"high\",\n \"registry_authentication\": {\n \"aws_ecr\": {\n \"access_key_id\": \"access_key_id\",\n \"secret_access_key\": \"secret_access_key\"\n },\n \"basic\": {\n \"password\": \"password\",\n \"username\": \"username\"\n },\n \"docker_hub\": {\n \"personal_access_token\": \"personal_access_token\",\n \"username\": \"username\"\n },\n \"gcp_gar\": {\n \"service_key\": \"service_key\"\n },\n \"gcp_gcr\": {\n \"service_key\": \"service_key\"\n }\n },\n \"resources\": {\n \"cpu\": 827,\n \"gpu_classes\": [\n \"gpu_classes\"\n ],\n \"memory\": 734164836,\n \"shm_size\": 64,\n \"storage_amount\": 761306530849177.9\n }\n },\n country_codes=[\n \"af\"\n ],\n display_name=\"KMg0KyVwpb\",\n liveness_probe={\n \"exec_\": {\n \"command\": [\n \"command\"\n ]\n },\n \"failure_threshold\": 3,\n \"grpc\": {\n \"port\": 37648,\n \"service\": \"service\"\n },\n \"http\": {\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"path\": \"path\",\n \"port\": 29069,\n \"scheme\": \"http\"\n },\n \"initial_delay_seconds\": 670,\n \"period_seconds\": 10,\n \"success_threshold\": 1,\n \"tcp\": {\n \"port\": 13817\n },\n \"timeout_seconds\": 30\n },\n name=\"name\",\n networking={\n \"auth\": False,\n \"client_request_timeout\": 100000,\n \"load_balancer\": \"round_robin\",\n \"port\": 60000,\n \"protocol\": \"http\",\n \"server_response_timeout\": 100000,\n \"single_connection_limit\": False\n },\n queue_autoscaler={\n \"desired_queue_length\": 53,\n \"max_downscale_per_minute\": 59,\n \"max_replicas\": 321,\n \"max_upscale_per_minute\": 100,\n \"min_replicas\": 54,\n \"polling_period\": 140\n },\n queue_connection={\n \"path\": \"path\",\n \"port\": 47568,\n \"queue_name\": \"z1h-3z01x9\"\n },\n readiness_probe={\n \"exec_\": {\n \"command\": [\n \"command\"\n ]\n },\n \"failure_threshold\": 3,\n \"grpc\": {\n \"port\": 37648,\n \"service\": \"service\"\n },\n \"http\": {\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"path\": \"path\",\n \"port\": 29069,\n \"scheme\": \"http\"\n },\n \"initial_delay_seconds\": 262,\n \"period_seconds\": 1,\n \"success_threshold\": 1,\n \"tcp\": {\n \"port\": 13817\n },\n \"timeout_seconds\": 1\n },\n replicas=77,\n restart_policy=\"always\",\n scaling_actions=[\n {\n \"replicas\": 461,\n \"schedule\": \"7kwC/T8C da x6Ci bM-rgGYn bDY6,vT\"\n }\n ],\n scheduled_scaling_enabled=True,\n startup_probe={\n \"exec_\": {\n \"command\": [\n \"command\"\n ]\n },\n \"failure_threshold\": 15,\n \"grpc\": {\n \"port\": 37648,\n \"service\": \"service\"\n },\n \"http\": {\n \"headers\": [\n {\n \"name\": \"name\",\n \"value\": \"value\"\n }\n ],\n \"path\": \"path\",\n \"port\": 29069,\n \"scheme\": \"http\"\n },\n \"initial_delay_seconds\": 503,\n \"period_seconds\": 3,\n \"success_threshold\": 2,\n \"tcp\": {\n \"port\": 13817\n },\n \"timeout_seconds\": 10\n }\n)\n\nresult = sdk.container_groups.create_container_group(\n request_body=request_body,\n organization_name=\"acme-corp\",\n project_name=\"dev-env\"\n)\n\nprint(result)"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"519aa742-329d-4d4e-87d6-03fd68910bd8":{"name":"organization_name","in":"path","description":"Your organization name. This identifies the billing context for the API operation and represents a security boundary for SaladCloud resources. The organization must be created before using the API, and you must be a member of the organization.","required":true,"schema":{"description":"Your organization name. This identifies the billing context for the API operation and represents a security boundary for SaladCloud resources. The organization must be created before using the API, and you must be a member of the organization.\nThe organization name.","type":"string","examples":["acme-corp"],"maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","title":"Organization Name","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"fe8cb50d-42bf-42e4-b99c-1db3bbf99d93":{"name":"project_name","in":"path","description":"Your project name. This represents a collection of related SaladCloud resources. The project must be created before using the API.","required":true,"schema":{"description":"Your project name. This represents a collection of related SaladCloud resources. The project must be created before using the API.\nThe project name.","type":"string","examples":["dev-env"],"maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"description":"Represents a request to create a container group, which manages a collection of container instances with shared configuration and scaling policies","type":"object","properties":{"autostart_policy":{"description":"Determines whether the container group should start automatically when created (true) or remain stopped until manually started (false)","type":"boolean","isRequired":true,"uniqueKey":"autostart_policy","typeLabel":"boolean"},"container":{"description":"Configuration for creating a container within a container group. Defines the container image, resource requirements, environment variables, and other settings needed to deploy and run the container.","type":"object","properties":{"image":{"description":"The container image.","type":"string","examples":["acme/:latest"],"maxLength":2048,"minLength":1,"pattern":"^.*$","title":"Container Image","isRequired":true,"uniqueKey":"container.image","typeLabel":"string"},"resources":{"description":"Specifies the resource requirements for creating a container.","type":"object","properties":{"cpu":{"description":"The number of CPU cores to allocate to the container (between 1 and 1024).","type":"integer","format":"int32","maximum":1024,"minimum":1,"isRequired":true,"uniqueKey":"container.resources.cpu","typeLabel":"integer\u003cint32>"},"memory":{"description":"The amount of memory to allocate to the container in megabytes (between 1024 and 1073741824).","type":"integer","format":"int32","maximum":1073741824,"minimum":1024,"isRequired":true,"uniqueKey":"container.resources.memory","typeLabel":"integer\u003cint32>"},"gpu_classes":{"description":"A list of GPU class UUIDs required by the container. Can be null if no GPU is required.","type":"array","items":{"type":"string","format":"uuid","uniqueKey":"container.resources.gpu_classes.items.[INDEX]","typeLabel":"string\u003cuuid>"},"maxItems":100,"minItems":0,"uniqueKey":"container.resources.gpu_classes","typeLabel":"string\u003cuuid>[]"},"shm_size":{"description":"The amount of shared memory to allocate to the container via `/dev/shm` in megabytes (between 64 and 1073741824). If not specified, defaults to 64 MB.","type":"integer","format":"int32","default":64,"maximum":1073741824,"minimum":64,"uniqueKey":"container.resources.shm_size","typeLabel":"integer\u003cint32>"},"storage_amount":{"description":"The amount of storage to allocate to the container in bytes (between 1 GB and 1 PB).","type":"integer","format":"int64","maximum":1125899906842624,"minimum":1073741824,"uniqueKey":"container.resources.storage_amount","typeLabel":"integer\u003cint64>"}},"required":["cpu","memory"],"isRequired":true,"uniqueKey":"container.resources","typeLabel":"object"},"command":{"oneOf":[{"description":"Pass a command (and optional arguments) to override the ENTRYPOINT and CMD of a container image. Each element in the array represents a command segment or argument.","type":"array","items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"^.*$","uniqueKey":"container.command.oneOf.0.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":0,"uniqueKey":"container.command.oneOf.0","typeLabel":"string[]"},{"description":"Pass a command (and optional arguments) to override the ENTRYPOINT and CMD of a container image. Each element in the array represents a command segment or argument.","type":"null","items":{"type":"string","minLength":1,"maxLength":1000,"pattern":"^.*$"},"maxItems":100,"minItems":0,"uniqueKey":"container.command.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.command","typeLabel":"string[] | null"},"environment_variables":{"description":"Key-value pairs of environment variables to set within the container. These variables will be available to processes running inside the container.","type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":1000,"pattern":"^.*$","uniqueKey":"container.environment_variables.additionalProperties","typeLabel":"string"},"uniqueKey":"container.environment_variables","typeLabel":"object"},"image_caching":{"description":"The container image caching.","type":"boolean","examples":[true],"title":"Container Image Caching","uniqueKey":"container.image_caching","typeLabel":"boolean"},"logging":{"description":"Configuration options for directing container logs to a logging provider. This schema enables you to specify a single logging destination for container output, supporting monitoring, debugging, and analytics use cases. Each provider has its own configuration parameters defined in the referenced schemas. Only one logging provider can be selected at a time.","type":"object","properties":{"axiom":{"description":"Configuration settings for integrating container logs with the Axiom logging service. When specified, container logs will be forwarded to the Axiom instance defined by these parameters.","type":"object","properties":{"api_token":{"description":"Authentication token for the Axiom API with appropriate write permissions","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.axiom.api_token","typeLabel":"string"},"dataset":{"description":"Name of the Axiom dataset where the container logs will be stored and indexed","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.axiom.dataset","typeLabel":"string"},"host":{"description":"The Axiom host URL where logs will be sent (e.g. logs.axiom.co)","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.axiom.host","typeLabel":"string"}},"required":["host","api_token","dataset"],"title":"Axiom Logging Configuration","uniqueKey":"container.logging.axiom","typeLabel":"Axiom Logging Configuration · object"},"datadog":{"description":"Configuration for forwarding container logs to Datadog monitoring service.","type":"object","properties":{"api_key":{"description":"The Datadog API key used for authentication when sending logs.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.api_key","typeLabel":"string"},"host":{"description":"The Datadog intake server host URL where logs will be sent.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.host","typeLabel":"string"},"tags":{"oneOf":[{"description":"Optional metadata tags to attach to logs for filtering and categorization in Datadog.","items":{"description":"Represents a Datadog tag used for container logging metadata.","type":"object","properties":{"name":{"description":"The name of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.0.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.0.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"title":"Datadog Tag for Container Logging","uniqueKey":"container.logging.datadog.tags.oneOf.0.items.[INDEX]","typeLabel":"Datadog Tag for Container Logging · object"},"maxItems":1000,"minItems":0,"type":"array","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.0","typeLabel":"Datadog Tag for Container Logging · object[]"},{"description":"Optional metadata tags to attach to logs for filtering and categorization in Datadog.","items":{"description":"Represents a Datadog tag used for container logging metadata.","type":"object","properties":{"name":{"description":"The name of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$"}},"required":["name","value"],"title":"Datadog Tag for Container Logging"},"maxItems":1000,"minItems":0,"type":"null","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"container.logging.datadog.tags","typeLabel":"Datadog Tag for Container Logging · object[] | null"}},"required":["host","api_key","tags"],"title":"Datadog Logging Configuration","uniqueKey":"container.logging.datadog","typeLabel":"Datadog Logging Configuration · object"},"http":{"description":"Configuration for sending container logs to an HTTP endpoint. Defines how logs are formatted, compressed, and transmitted.","type":"object","properties":{"compression":{"description":"The compression algorithm to apply to logs before transmission","type":"string","enum":["none","gzip"],"isRequired":true,"uniqueKey":"container.logging.http.compression","typeLabel":"enum\u003cstring>"},"format":{"description":"The format in which logs will be delivered","type":"string","enum":["json","json_lines"],"isRequired":true,"uniqueKey":"container.logging.http.format","typeLabel":"enum\u003cstring>"},"host":{"description":"The hostname or IP address of the HTTP logging endpoint","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.http.host","typeLabel":"string"},"port":{"description":"The port number of the HTTP logging endpoint (1-65535)","type":"integer","format":"int32","maximum":65535,"minimum":1,"isRequired":true,"uniqueKey":"container.logging.http.port","typeLabel":"integer\u003cint32>"},"headers":{"description":"Optional HTTP headers to include in log transmission requests","type":"array","items":{"description":"Represents an HTTP header used for container logging configuration.","type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value of the HTTP header","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"title":"Container Logging Http Header","uniqueKey":"container.logging.http.headers.items.[INDEX]","typeLabel":"Container Logging Http Header · object"},"maxItems":1000,"minItems":0,"uniqueKey":"container.logging.http.headers","typeLabel":"Container Logging Http Header · object[]"},"password":{"oneOf":[{"description":"Optional password for HTTP authentication","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.password.oneOf.0","typeLabel":"string"},{"description":"Optional password for HTTP authentication","type":"null","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.logging.http.password","typeLabel":"string | null"},"path":{"oneOf":[{"description":"Optional URL path for the HTTP endpoint","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.path.oneOf.0","typeLabel":"string"},{"description":"Optional URL path for the HTTP endpoint","type":"null","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.path.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.logging.http.path","typeLabel":"string | null"},"user":{"oneOf":[{"description":"Optional username for HTTP authentication","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.user.oneOf.0","typeLabel":"string"},{"description":"Optional username for HTTP authentication","type":"null","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.logging.http.user","typeLabel":"string | null"}},"required":["host","port","format","compression"],"title":"Container HTTP Logging Configuration","uniqueKey":"container.logging.http","typeLabel":"Container HTTP Logging Configuration · object"},"new_relic":{"description":"Configuration for sending container logs to New Relic's log management platform.","type":"object","properties":{"host":{"description":"The New Relic endpoint host for log ingestion (e.g., log-api.newrelic.com).","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.new_relic.host","typeLabel":"string"},"ingestion_key":{"description":"The New Relic license or ingestion key used for authentication and data routing.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.new_relic.ingestion_key","typeLabel":"string"}},"required":["host","ingestion_key"],"title":"New Relic Logging Configuration","uniqueKey":"container.logging.new_relic","typeLabel":"New Relic Logging Configuration · object"},"splunk":{"description":"Configuration settings for forwarding container logs to a Splunk instance.","type":"object","properties":{"host":{"description":"The URL of the Splunk HTTP Event Collector (HEC) endpoint.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.splunk.host","typeLabel":"string"},"token":{"description":"The authentication token required to send data to the Splunk HEC endpoint.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.splunk.token","typeLabel":"string"}},"required":["host","token"],"title":"Container Logging Splunk Configuration","uniqueKey":"container.logging.splunk","typeLabel":"Container Logging Splunk Configuration · object"},"tcp":{"description":"Configuration for forwarding container logs to a remote TCP endpoint","type":"object","properties":{"host":{"description":"The hostname or IP address of the remote TCP logging endpoint","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.tcp.host","typeLabel":"string"},"port":{"description":"The port number on which the TCP logging endpoint is listening","type":"integer","format":"int32","maximum":65535,"minimum":1,"isRequired":true,"uniqueKey":"container.logging.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["host","port"],"title":"TCP Logging Configuration","uniqueKey":"container.logging.tcp","typeLabel":"TCP Logging Configuration · object"}},"title":"Container Logging Configuration","uniqueKey":"container.logging","typeLabel":"Container Logging Configuration · object"},"priority":{"oneOf":[{"description":"Specifies the priority level for container group execution, which determines resource allocation and scheduling precedence.","type":"string","enum":["high","medium","low","batch"],"title":"Container Group Priority","uniqueKey":"container.priority.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Specifies the priority level for container group execution, which determines resource allocation and scheduling precedence.","type":"null","enum":["high","medium","low","batch"],"title":"Container Group Priority","uniqueKey":"container.priority.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.priority","typeLabel":"enum\u003cstring> | null"},"registry_authentication":{"description":"Authentication configuration for various container registry types, including AWS ECR, Docker Hub, GCP GAR, GCP GCR, and basic authentication.","type":"object","properties":{"aws_ecr":{"oneOf":[{"description":"Authentication details for AWS Elastic Container Registry (ECR)","type":"object","properties":{"access_key_id":{"description":"AWS access key ID used for ECR authentication","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.registry_authentication.aws_ecr.oneOf.0.access_key_id","typeLabel":"string"},"secret_access_key":{"description":"AWS secret access key used for ECR authentication","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.registry_authentication.aws_ecr.oneOf.0.secret_access_key","typeLabel":"string"}},"required":["access_key_id","secret_access_key"],"uniqueKey":"container.registry_authentication.aws_ecr.oneOf.0","typeLabel":"object"},{"description":"Authentication details for AWS Elastic Container Registry (ECR)","type":"null","properties":{"access_key_id":{"description":"AWS access key ID used for ECR authentication","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$"},"secret_access_key":{"description":"AWS secret access key used for ECR authentication","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$"}},"required":["access_key_id","secret_access_key"],"uniqueKey":"container.registry_authentication.aws_ecr.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.registry_authentication.aws_ecr","typeLabel":"object | null"},"basic":{"description":"Basic username and password authentication for generic container registries","type":"object","properties":{"password":{"description":"Password for registry authentication","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.registry_authentication.basic.password","typeLabel":"string"},"username":{"description":"Username for registry authentication","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.registry_authentication.basic.username","typeLabel":"string"}},"required":["username","password"],"uniqueKey":"container.registry_authentication.basic","typeLabel":"object"},"docker_hub":{"description":"Authentication details for Docker Hub registry","type":"object","properties":{"personal_access_token":{"description":"Docker Hub personal access token (PAT)","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.registry_authentication.docker_hub.personal_access_token","typeLabel":"string"},"username":{"description":"Docker Hub username","type":"string","maxLength":10000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.registry_authentication.docker_hub.username","typeLabel":"string"}},"required":["username","personal_access_token"],"uniqueKey":"container.registry_authentication.docker_hub","typeLabel":"object"},"gcp_gar":{"description":"Authentication details for Google Artifact Registry (GAR)","type":"object","properties":{"service_key":{"description":"GCP service account key in JSON format for GAR authentication","type":"string","maxLength":10000,"minLength":1,"isRequired":true,"uniqueKey":"container.registry_authentication.gcp_gar.service_key","typeLabel":"string"}},"required":["service_key"],"uniqueKey":"container.registry_authentication.gcp_gar","typeLabel":"object"},"gcp_gcr":{"description":"Authentication details for Google Container Registry (GCR)","type":"object","properties":{"service_key":{"description":"GCP service account key in JSON format for GCR authentication","type":"string","maxLength":10000,"minLength":1,"isRequired":true,"uniqueKey":"container.registry_authentication.gcp_gcr.service_key","typeLabel":"string"}},"required":["service_key"],"uniqueKey":"container.registry_authentication.gcp_gcr","typeLabel":"object"}},"title":"Container Registry Authentication","uniqueKey":"container.registry_authentication","typeLabel":"Container Registry Authentication · object"}},"required":["image","resources"],"title":"Container Configuration","isRequired":true,"uniqueKey":"container","typeLabel":"Container Configuration · object"},"name":{"description":"Unique identifier for the container group that must follow DNS naming conventions (lowercase alphanumeric with hyphens)","type":"string","maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"replicas":{"description":"Number of container instances to deploy and maintain for this container group","type":"integer","format":"int32","maximum":500,"minimum":0,"isRequired":true,"uniqueKey":"replicas","typeLabel":"integer\u003cint32>"},"restart_policy":{"description":"Specifies the policy for restarting containers when they exit or fail.","type":"string","enum":["always","on_failure","never"],"title":"Container Restart Policy","isRequired":true,"uniqueKey":"restart_policy","typeLabel":"enum\u003cstring>"},"country_codes":{"description":"List of countries nodes must be located in. Remove this field to permit nodes from any country.","type":"array","items":{"description":"ISO 3166-1 alpha-2 country code","type":"string","example":"us","enum":["af","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","au","at","az","bs","bh","bd","bb","by","be","bz","bj","bm","bt","bo","bq","ba","bw","bv","br","io","bn","bg","bf","bi","cv","kh","cm","ca","ky","cf","td","cl","cn","cx","cc","co","km","cd","cg","ck","cr","hr","cu","cw","cy","cz","ci","dk","dj","dm","do","ec","eg","sv","gq","er","ee","sz","et","fk","fo","fj","fi","fr","gf","pf","tf","ga","gm","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","va","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kp","kr","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","fm","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","ng","nu","nf","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","mk","ro","ru","rw","re","bl","sh","kn","lc","mf","pm","vc","ws","sm","st","sa","sn","rs","sc","sl","sg","sx","sk","si","sb","so","za","gs","ss","es","lk","sd","sr","sj","se","ch","sy","tw","tj","tz","th","tl","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","gb","um","us","uy","uz","vu","ve","vn","vg","vi","wf","eh","ye","zm","zw","ax"],"title":"Country Code","uniqueKey":"country_codes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":500,"minItems":1,"uniqueKey":"country_codes","typeLabel":"enum\u003cstring>[]"},"display_name":{"description":"Human-readable name for the container group that can include spaces and special characters, used for display purposes","type":"string","maxLength":63,"minLength":2,"pattern":"^[ ,-.0-9A-Za-z]+$","uniqueKey":"display_name","typeLabel":"string"},"liveness_probe":{"oneOf":[{"description":"Defines a liveness probe for container groups that determines when to restart a container if it becomes unhealthy","type":"object","properties":{"failure_threshold":{"description":"Number of consecutive failures required to consider the probe as failed","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.failure_threshold","typeLabel":"integer\u003cint32>"},"initial_delay_seconds":{"description":"Number of seconds to wait after container start before initiating liveness probes","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.initial_delay_seconds","typeLabel":"integer\u003cint32>"},"period_seconds":{"description":"Frequency in seconds at which the probe should be executed","type":"integer","format":"int32","default":10,"maximum":120,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.period_seconds","typeLabel":"integer\u003cint32>"},"success_threshold":{"description":"Number of consecutive successes required to consider the probe successful","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.success_threshold","typeLabel":"integer\u003cint32>"},"timeout_seconds":{"description":"Number of seconds after which the probe times out if no response is received","type":"integer","format":"int32","default":30,"maximum":60,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.timeout_seconds","typeLabel":"integer\u003cint32>"},"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"liveness_probe.oneOf.0.exec.command.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.exec.command","typeLabel":"string[]"}},"required":["command"],"title":"Container Group Probe Exec","uniqueKey":"liveness_probe.oneOf.0.exec","typeLabel":"Container Group Probe Exec · object"},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.grpc.port","typeLabel":"integer\u003cint32>"},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.grpc.service","typeLabel":"string"}},"required":["port","service"],"title":"Container Group gRPC Probe","uniqueKey":"liveness_probe.oneOf.0.grpc","typeLabel":"Container Group gRPC Probe · object"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"liveness_probe.oneOf.0.http.headers.items.[INDEX]","typeLabel":"object"},"maxItems":50,"minItems":1,"title":"HTTP Headers","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.headers","typeLabel":"HTTP Headers · object[]"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.path","typeLabel":"string"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.port","typeLabel":"integer\u003cint32>"},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.scheme.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.scheme","typeLabel":"enum\u003cstring> | null"}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration","uniqueKey":"liveness_probe.oneOf.0.http","typeLabel":"Container Group HTTP Probe Configuration · object"},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["port"],"title":"Container Group TCP Probe","uniqueKey":"liveness_probe.oneOf.0.tcp","typeLabel":"Container Group TCP Probe · object"}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"liveness_probe.oneOf.0","typeLabel":"object"},{"description":"Defines a liveness probe for container groups that determines when to restart a container if it becomes unhealthy","type":"null","properties":{"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":1}},"required":["command"],"title":"Container Group Probe Exec"},"failure_threshold":{"description":"Number of consecutive failures required to consider the probe as failed","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$"}},"required":["port","service"],"title":"Container Group gRPC Probe"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$"}},"required":["name","value"]},"maxItems":50,"minItems":1,"title":"HTTP Headers"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme"}]}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration"},"initial_delay_seconds":{"description":"Number of seconds to wait after container start before initiating liveness probes","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0},"period_seconds":{"description":"Frequency in seconds at which the probe should be executed","type":"integer","format":"int32","default":10,"maximum":120,"minimum":1},"success_threshold":{"description":"Number of consecutive successes required to consider the probe successful","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0}},"required":["port"],"title":"Container Group TCP Probe"},"timeout_seconds":{"description":"Number of seconds after which the probe times out if no response is received","type":"integer","format":"int32","default":30,"maximum":60,"minimum":1}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"liveness_probe.oneOf.1","typeLabel":"null"}],"uniqueKey":"liveness_probe","typeLabel":"object | null"},"networking":{"description":"Network configuration for container groups specifying connectivity parameters, including authentication, protocol, and timeout settings","type":"object","properties":{"auth":{"description":"Determines whether authentication is required for network connections to the container group","type":"boolean","isRequired":true,"uniqueKey":"networking.auth","typeLabel":"boolean"},"port":{"description":"The container group networking port.","type":"integer","format":"int32","examples":[60000],"maximum":65535,"minimum":1,"title":"Container Group Networking Port","isRequired":true,"uniqueKey":"networking.port","typeLabel":"integer\u003cint32>"},"protocol":{"description":"Defines the communication protocol used for network traffic between containers or external systems. Currently supports HTTP protocol for web-based communication.","type":"string","enum":["http"],"title":"Container Networking Protocol","isRequired":true,"uniqueKey":"networking.protocol","typeLabel":"enum\u003cstring>"},"client_request_timeout":{"description":"The container group networking client request timeout.","type":"integer","format":"int32","default":100000,"examples":[100000],"maximum":100000,"minimum":1,"title":"Container Group Networking Client Request Timeout","uniqueKey":"networking.client_request_timeout","typeLabel":"integer\u003cint32>"},"load_balancer":{"description":"The container group networking load balancer.","type":"string","default":"round_robin","enum":["round_robin","least_number_of_connections"],"title":"The Container Group Networking Load Balancer","uniqueKey":"networking.load_balancer","typeLabel":"enum\u003cstring>"},"server_response_timeout":{"description":"The container group networking server response timeout.","type":"integer","format":"int32","default":100000,"examples":[100000],"maximum":100000,"minimum":1,"title":"Container Group Networking Server Response Timeout","uniqueKey":"networking.server_response_timeout","typeLabel":"integer\u003cint32>"},"single_connection_limit":{"description":"The container group networking single connection limit flag.","type":"boolean","default":false,"examples":[false],"title":"Container Group Networking Single Connection Limit","uniqueKey":"networking.single_connection_limit","typeLabel":"boolean"}},"required":["auth","port","protocol"],"uniqueKey":"networking","typeLabel":"object"},"queue_autoscaler":{"description":"Defines configuration for automatically scaling container instances based on queue length. The autoscaler monitors a queue and adjusts the number of running replicas to maintain the desired queue length.","type":"object","properties":{"desired_queue_length":{"description":"The target number of items in the queue that the autoscaler attempts to maintain by scaling the containers up or down","type":"integer","format":"int32","maximum":100,"minimum":1,"isRequired":true,"uniqueKey":"queue_autoscaler.desired_queue_length","typeLabel":"integer\u003cint32>"},"max_replicas":{"description":"The maximum number of instances the container can scale up to","type":"integer","format":"int32","maximum":500,"minimum":1,"isRequired":true,"uniqueKey":"queue_autoscaler.max_replicas","typeLabel":"integer\u003cint32>"},"min_replicas":{"description":"The minimum number of instances the container can scale down to, ensuring baseline availability","type":"integer","format":"int32","maximum":100,"minimum":0,"isRequired":true,"uniqueKey":"queue_autoscaler.min_replicas","typeLabel":"integer\u003cint32>"},"max_downscale_per_minute":{"description":"The maximum number of instances that can be removed per minute to prevent rapid downscaling","type":"integer","format":"int32","maximum":100,"minimum":1,"uniqueKey":"queue_autoscaler.max_downscale_per_minute","typeLabel":"integer\u003cint32>"},"max_upscale_per_minute":{"description":"The maximum number of instances that can be added per minute to prevent rapid upscaling","type":"integer","format":"int32","maximum":100,"minimum":1,"uniqueKey":"queue_autoscaler.max_upscale_per_minute","typeLabel":"integer\u003cint32>"},"polling_period":{"description":"The period (in seconds) in which the autoscaler checks the queue length and applies the scaling formula","type":"integer","format":"int32","maximum":1800,"minimum":15,"uniqueKey":"queue_autoscaler.polling_period","typeLabel":"integer\u003cint32>"}},"required":["desired_queue_length","max_replicas","min_replicas"],"title":"Queue-based Autoscaler Configuration","uniqueKey":"queue_autoscaler","typeLabel":"Queue-based Autoscaler Configuration · object"},"queue_connection":{"description":"Configuration for connecting a container group to a message queue system, enabling asynchronous communication between services.","type":"object","properties":{"path":{"description":"The endpoint path for accessing the queue service, relative to the base URL of the queue server.","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"queue_connection.path","typeLabel":"string"},"port":{"description":"The network port number used to connect to the queue service. Must be a valid TCP/IP port between 1 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":1,"isRequired":true,"uniqueKey":"queue_connection.port","typeLabel":"integer\u003cint32>"},"queue_name":{"description":"Unique identifier for the queue. Must start with a lowercase letter, can contain lowercase letters, numbers, and hyphens, and must end with a letter or number.","type":"string","maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","isRequired":true,"uniqueKey":"queue_connection.queue_name","typeLabel":"string"}},"required":["path","port","queue_name"],"uniqueKey":"queue_connection","typeLabel":"object"},"readiness_probe":{"oneOf":[{"description":"Defines how to check if a container is ready to serve traffic. The readiness probe determines whether the container's application is ready to accept traffic. If the readiness probe fails, the container is considered not ready and traffic will not be sent to it.","type":"object","properties":{"failure_threshold":{"description":"The number of consecutive failures required to consider the probe failed. After this many consecutive failures, the container is marked as not ready.","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.failure_threshold","typeLabel":"integer\u003cint32>"},"initial_delay_seconds":{"description":"The time in seconds to wait after the container starts before initiating the first probe. This allows time for the application to initialize before being tested.","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.initial_delay_seconds","typeLabel":"integer\u003cint32>"},"period_seconds":{"description":"How frequently (in seconds) the probe should be executed during the container's lifetime. Specifies the interval between consecutive probe executions.","type":"integer","format":"int32","default":1,"maximum":120,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.period_seconds","typeLabel":"integer\u003cint32>"},"success_threshold":{"description":"The minimum consecutive successes required to consider the probe successful after it has failed. Defines how many successful probe results are needed to transition from failure to success.","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.success_threshold","typeLabel":"integer\u003cint32>"},"timeout_seconds":{"description":"The maximum time in seconds that the probe has to complete. If the probe doesn't return a result before the timeout, it's considered failed.","type":"integer","format":"int32","default":1,"maximum":60,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.timeout_seconds","typeLabel":"integer\u003cint32>"},"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"readiness_probe.oneOf.0.exec.command.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.exec.command","typeLabel":"string[]"}},"required":["command"],"title":"Container Group Probe Exec","uniqueKey":"readiness_probe.oneOf.0.exec","typeLabel":"Container Group Probe Exec · object"},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.grpc.port","typeLabel":"integer\u003cint32>"},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.grpc.service","typeLabel":"string"}},"required":["port","service"],"title":"Container Group gRPC Probe","uniqueKey":"readiness_probe.oneOf.0.grpc","typeLabel":"Container Group gRPC Probe · object"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"readiness_probe.oneOf.0.http.headers.items.[INDEX]","typeLabel":"object"},"maxItems":50,"minItems":1,"title":"HTTP Headers","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.headers","typeLabel":"HTTP Headers · object[]"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.path","typeLabel":"string"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.port","typeLabel":"integer\u003cint32>"},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.scheme.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.scheme","typeLabel":"enum\u003cstring> | null"}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration","uniqueKey":"readiness_probe.oneOf.0.http","typeLabel":"Container Group HTTP Probe Configuration · object"},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["port"],"title":"Container Group TCP Probe","uniqueKey":"readiness_probe.oneOf.0.tcp","typeLabel":"Container Group TCP Probe · object"}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"readiness_probe.oneOf.0","typeLabel":"object"},{"description":"Defines how to check if a container is ready to serve traffic. The readiness probe determines whether the container's application is ready to accept traffic. If the readiness probe fails, the container is considered not ready and traffic will not be sent to it.","type":"null","properties":{"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":1}},"required":["command"],"title":"Container Group Probe Exec"},"failure_threshold":{"description":"The number of consecutive failures required to consider the probe failed. After this many consecutive failures, the container is marked as not ready.","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$"}},"required":["port","service"],"title":"Container Group gRPC Probe"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$"}},"required":["name","value"]},"maxItems":50,"minItems":1,"title":"HTTP Headers"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme"}]}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration"},"initial_delay_seconds":{"description":"The time in seconds to wait after the container starts before initiating the first probe. This allows time for the application to initialize before being tested.","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0},"period_seconds":{"description":"How frequently (in seconds) the probe should be executed during the container's lifetime. Specifies the interval between consecutive probe executions.","type":"integer","format":"int32","default":1,"maximum":120,"minimum":1},"success_threshold":{"description":"The minimum consecutive successes required to consider the probe successful after it has failed. Defines how many successful probe results are needed to transition from failure to success.","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0}},"required":["port"],"title":"Container Group TCP Probe"},"timeout_seconds":{"description":"The maximum time in seconds that the probe has to complete. If the probe doesn't return a result before the timeout, it's considered failed.","type":"integer","format":"int32","default":1,"maximum":60,"minimum":1}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"readiness_probe.oneOf.1","typeLabel":"null"}],"uniqueKey":"readiness_probe","typeLabel":"object | null"},"scaling-actions":{"description":"List of scaling action configurations","type":"array","items":{"description":"Represents a scaling action configuration for a container group","type":"object","properties":{"replicas":{"description":"The number of replicas to scale to during the scheduled period","type":"integer","format":"int32","maximum":500,"minimum":0,"isRequired":true,"uniqueKey":"scaling-actions.items.[INDEX].replicas","typeLabel":"integer\u003cint32>"},"schedule":{"description":"The cron-style schedule string defining when the scaling should occur","type":"string","pattern":"^([0-9A-Za-z*/,-]+)([\\t ]+[0-9A-Za-z*/,-]+){4}$","isRequired":true,"uniqueKey":"scaling-actions.items.[INDEX].schedule","typeLabel":"string"}},"required":["schedule","replicas"],"title":"Container Group Scaling Action","uniqueKey":"scaling-actions.items.[INDEX]","typeLabel":"Container Group Scaling Action · object"},"maxItems":100,"minItems":0,"uniqueKey":"scaling-actions","typeLabel":"Container Group Scaling Action · object[]"},"scheduled-scaling-enabled":{"description":"Indicates if scheduled scaling is enabled","type":"boolean","uniqueKey":"scheduled-scaling-enabled","typeLabel":"boolean"},"startup_probe":{"oneOf":[{"description":"Defines a probe that checks if a container application has started successfully. Startup probes help prevent applications from being prematurely marked as unhealthy during initialization. The probe can use HTTP requests, TCP connections, gRPC calls, or shell commands to determine startup status.","type":"object","properties":{"failure_threshold":{"description":"Number of times the probe must fail before considering the container not started","type":"integer","format":"int32","default":15,"maximum":20,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.failure_threshold","typeLabel":"integer\u003cint32>"},"initial_delay_seconds":{"description":"Number of seconds to wait after container startup before the first probe is executed","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.initial_delay_seconds","typeLabel":"integer\u003cint32>"},"period_seconds":{"description":"How frequently (in seconds) to perform the probe","type":"integer","format":"int32","default":3,"maximum":120,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.period_seconds","typeLabel":"integer\u003cint32>"},"success_threshold":{"description":"Minimum consecutive successes required for the probe to be considered successful","type":"integer","format":"int32","default":2,"maximum":10,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.success_threshold","typeLabel":"integer\u003cint32>"},"timeout_seconds":{"description":"Maximum time (in seconds) to wait for a probe response before considering it failed","type":"integer","format":"int32","default":10,"maximum":60,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.timeout_seconds","typeLabel":"integer\u003cint32>"},"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"startup_probe.oneOf.0.exec.command.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.exec.command","typeLabel":"string[]"}},"required":["command"],"title":"Container Group Probe Exec","uniqueKey":"startup_probe.oneOf.0.exec","typeLabel":"Container Group Probe Exec · object"},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.grpc.port","typeLabel":"integer\u003cint32>"},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.grpc.service","typeLabel":"string"}},"required":["port","service"],"title":"Container Group gRPC Probe","uniqueKey":"startup_probe.oneOf.0.grpc","typeLabel":"Container Group gRPC Probe · object"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"startup_probe.oneOf.0.http.headers.items.[INDEX]","typeLabel":"object"},"maxItems":50,"minItems":1,"title":"HTTP Headers","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.headers","typeLabel":"HTTP Headers · object[]"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.path","typeLabel":"string"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.port","typeLabel":"integer\u003cint32>"},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.scheme.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.scheme","typeLabel":"enum\u003cstring> | null"}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration","uniqueKey":"startup_probe.oneOf.0.http","typeLabel":"Container Group HTTP Probe Configuration · object"},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["port"],"title":"Container Group TCP Probe","uniqueKey":"startup_probe.oneOf.0.tcp","typeLabel":"Container Group TCP Probe · object"}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"title":"Container Group Startup Probe","uniqueKey":"startup_probe.oneOf.0","typeLabel":"Container Group Startup Probe · object"},{"description":"Defines a probe that checks if a container application has started successfully. Startup probes help prevent applications from being prematurely marked as unhealthy during initialization. The probe can use HTTP requests, TCP connections, gRPC calls, or shell commands to determine startup status.","type":"null","properties":{"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":1}},"required":["command"],"title":"Container Group Probe Exec"},"failure_threshold":{"description":"Number of times the probe must fail before considering the container not started","type":"integer","format":"int32","default":15,"maximum":20,"minimum":1},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$"}},"required":["port","service"],"title":"Container Group gRPC Probe"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$"}},"required":["name","value"]},"maxItems":50,"minItems":1,"title":"HTTP Headers"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme"}]}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration"},"initial_delay_seconds":{"description":"Number of seconds to wait after container startup before the first probe is executed","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0},"period_seconds":{"description":"How frequently (in seconds) to perform the probe","type":"integer","format":"int32","default":3,"maximum":120,"minimum":1},"success_threshold":{"description":"Minimum consecutive successes required for the probe to be considered successful","type":"integer","format":"int32","default":2,"maximum":10,"minimum":1},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0}},"required":["port"],"title":"Container Group TCP Probe"},"timeout_seconds":{"description":"Maximum time (in seconds) to wait for a probe response before considering it failed","type":"integer","format":"int32","default":10,"maximum":60,"minimum":1}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"title":"Container Group Startup Probe","uniqueKey":"startup_probe.oneOf.1","typeLabel":"null"}],"uniqueKey":"startup_probe","typeLabel":"Container Group Startup Probe · object | null"}},"required":["autostart_policy","container","name","replicas","restart_policy"],"title":"Container Group Creation Request","uniqueKey":"","typeLabel":"Container Group Creation Request · object"},"examples":{"Example":{"title":"Example","value":{"autostart_policy":true,"container":{"image":"acme/:latest","resources":{"cpu":512,"memory":536871424,"gpu_classes":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"shm_size":64,"storage_amount":562950490292224},"command":["\u003cstring>"],"environment_variables":{},"image_caching":true,"logging":{},"registry_authentication":{"aws_ecr":{"access_key_id":"\u003cstring>","secret_access_key":"\u003cstring>"}}},"name":"\u003cstring>","replicas":250,"country_codes":["us"],"display_name":"\u003cstring>","liveness_probe":{"failure_threshold":3,"initial_delay_seconds":0,"period_seconds":10,"success_threshold":1,"timeout_seconds":30},"readiness_probe":{"failure_threshold":3,"initial_delay_seconds":0,"period_seconds":1,"success_threshold":1,"timeout_seconds":1},"scaling-actions":[{"replicas":250,"schedule":"\u003cstring>"}],"scheduled-scaling-enabled":true,"startup_probe":{"failure_threshold":15,"initial_delay_seconds":0,"period_seconds":3,"success_threshold":2,"timeout_seconds":10}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"527f52c9-abec-4583-8012-13956fbb298a":{"description":"Created","headers":{"Location":{"schema":{"type":"string","examples":["/organizations/acme-corp/projects/anvil-drop-simulator/containers/sim1"],"maxLength":2048,"minLength":1,"pattern":"^.*$"}}},"content":{"application/json":{"schema":{"description":"A container group definition that represents a scalable set of identical containers running as a distributed service","type":"object","properties":{"autostart_policy":{"description":"Defines whether containers in this group should automatically start when deployed (true) or require manual starting (false)","type":"boolean","isRequired":true,"uniqueKey":"autostart_policy","typeLabel":"boolean"},"container":{"description":"Represents a container with its configuration and resource requirements.","type":"object","properties":{"command":{"oneOf":[{"description":"List of commands to run inside the container. Each command is a string representing a command-line instruction.","type":"null","items":{"type":"string","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":0,"isRequired":true,"uniqueKey":"container.command.oneOf.0","typeLabel":"null"},{"description":"List of commands to run inside the container. Each command is a string representing a command-line instruction.","type":"array","items":{"type":"string","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"container.command.oneOf.1.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":0,"isRequired":true,"uniqueKey":"container.command.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"container.command","typeLabel":"null | string[]"},"image":{"description":"The container image.","type":"string","examples":["acme/:latest"],"maxLength":2048,"minLength":1,"pattern":"^.*$","title":"Container Image","isRequired":true,"uniqueKey":"container.image","typeLabel":"string"},"resources":{"description":"Specifies the resource requirements for a container.","type":"object","properties":{"cpu":{"description":"The number of CPU cores required by the container. Must be between 1 and 16.","type":"integer","format":"int32","maximum":1024,"minimum":1,"isRequired":true,"uniqueKey":"container.resources.cpu","typeLabel":"integer\u003cint32>"},"gpu_classes":{"description":"A list of GPU class UUIDs required by the container. Can be null if no GPU is required.","type":"array","items":{"type":"string","format":"uuid","uniqueKey":"container.resources.gpu_classes.items.[INDEX]","typeLabel":"string\u003cuuid>"},"maxItems":100,"minItems":0,"isRequired":true,"uniqueKey":"container.resources.gpu_classes","typeLabel":"string\u003cuuid>[]"},"memory":{"description":"The amount of memory (in MB) required by the container. Must be between 1024 MB and 61440 MB.","type":"integer","format":"int32","maximum":1073741824,"minimum":1024,"isRequired":true,"uniqueKey":"container.resources.memory","typeLabel":"integer\u003cint32>"},"shm_size":{"description":"The size of the shared memory (/dev/shm) in MB. If not specified, defaults to 1024MB.","type":"integer","format":"int32","default":64,"maximum":1073741824,"minimum":64,"uniqueKey":"container.resources.shm_size","typeLabel":"integer\u003cint32>"},"storage_amount":{"description":"The amount of storage (in bytes) required by the container. Must be between 1 GB (1073741824 bytes) and 250 GB (268435456000 bytes).","type":"integer","format":"int64","maximum":1125899906842624,"minimum":1073741824,"uniqueKey":"container.resources.storage_amount","typeLabel":"integer\u003cint64>"}},"required":["cpu","memory","gpu_classes"],"isRequired":true,"uniqueKey":"container.resources","typeLabel":"object"},"environment_variables":{"description":"Environment variables to set in the container.","type":"object","additionalProperties":{"type":"string","description":"Key-value pairs of environment variables to set in the container.","pattern":"^.*$","minLength":0,"maxLength":2048,"uniqueKey":"container.environment_variables.additionalProperties","typeLabel":"string"},"uniqueKey":"container.environment_variables","typeLabel":"object"},"hash":{"description":"SHA-256 hash (64-character hexadecimal string)","type":"string","maxLength":135,"minLength":47,"pattern":"^sha\\d{1,3}:[a-fA-F0-9]{40,135}$","uniqueKey":"container.hash","typeLabel":"string"},"image_caching":{"description":"The container image caching.","type":"boolean","examples":[true],"title":"Container Image Caching","uniqueKey":"container.image_caching","typeLabel":"boolean"},"logging":{"description":"Configuration options for directing container logs to a logging provider. This schema enables you to specify a single logging destination for container output, supporting monitoring, debugging, and analytics use cases. Each provider has its own configuration parameters defined in the referenced schemas. Only one logging provider can be selected at a time.","type":"object","properties":{"axiom":{"description":"Configuration settings for integrating container logs with the Axiom logging service. When specified, container logs will be forwarded to the Axiom instance defined by these parameters.","type":"object","properties":{"api_token":{"description":"Authentication token for the Axiom API with appropriate write permissions","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.axiom.api_token","typeLabel":"string"},"dataset":{"description":"Name of the Axiom dataset where the container logs will be stored and indexed","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.axiom.dataset","typeLabel":"string"},"host":{"description":"The Axiom host URL where logs will be sent (e.g. logs.axiom.co)","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.axiom.host","typeLabel":"string"}},"required":["host","api_token","dataset"],"title":"Axiom Logging Configuration","uniqueKey":"container.logging.axiom","typeLabel":"Axiom Logging Configuration · object"},"datadog":{"description":"Configuration for forwarding container logs to Datadog monitoring service.","type":"object","properties":{"api_key":{"description":"The Datadog API key used for authentication when sending logs.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.api_key","typeLabel":"string"},"host":{"description":"The Datadog intake server host URL where logs will be sent.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.host","typeLabel":"string"},"tags":{"oneOf":[{"description":"Optional metadata tags to attach to logs for filtering and categorization in Datadog.","items":{"description":"Represents a Datadog tag used for container logging metadata.","type":"object","properties":{"name":{"description":"The name of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.0.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.0.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"title":"Datadog Tag for Container Logging","uniqueKey":"container.logging.datadog.tags.oneOf.0.items.[INDEX]","typeLabel":"Datadog Tag for Container Logging · object"},"maxItems":1000,"minItems":0,"type":"array","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.0","typeLabel":"Datadog Tag for Container Logging · object[]"},{"description":"Optional metadata tags to attach to logs for filtering and categorization in Datadog.","items":{"description":"Represents a Datadog tag used for container logging metadata.","type":"object","properties":{"name":{"description":"The name of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value of the metadata tag.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$"}},"required":["name","value"],"title":"Datadog Tag for Container Logging"},"maxItems":1000,"minItems":0,"type":"null","isRequired":true,"uniqueKey":"container.logging.datadog.tags.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"container.logging.datadog.tags","typeLabel":"Datadog Tag for Container Logging · object[] | null"}},"required":["host","api_key","tags"],"title":"Datadog Logging Configuration","uniqueKey":"container.logging.datadog","typeLabel":"Datadog Logging Configuration · object"},"http":{"description":"Configuration for sending container logs to an HTTP endpoint. Defines how logs are formatted, compressed, and transmitted.","type":"object","properties":{"compression":{"description":"The compression algorithm to apply to logs before transmission","type":"string","enum":["none","gzip"],"isRequired":true,"uniqueKey":"container.logging.http.compression","typeLabel":"enum\u003cstring>"},"format":{"description":"The format in which logs will be delivered","type":"string","enum":["json","json_lines"],"isRequired":true,"uniqueKey":"container.logging.http.format","typeLabel":"enum\u003cstring>"},"headers":{"oneOf":[{"description":"Optional HTTP headers to include in log transmission requests","type":"array","items":{"description":"Represents an HTTP header used for container logging configuration.","type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.http.headers.oneOf.0.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value of the HTTP header","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.http.headers.oneOf.0.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"title":"Container Logging Http Header","uniqueKey":"container.logging.http.headers.oneOf.0.items.[INDEX]","typeLabel":"Container Logging Http Header · object"},"maxItems":1000,"minItems":0,"isRequired":true,"uniqueKey":"container.logging.http.headers.oneOf.0","typeLabel":"Container Logging Http Header · object[]"},{"description":"Optional HTTP headers to include in log transmission requests","type":"null","items":{"description":"Represents an HTTP header used for container logging configuration.","type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value of the HTTP header","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$"}},"required":["name","value"],"title":"Container Logging Http Header"},"maxItems":1000,"minItems":0,"isRequired":true,"uniqueKey":"container.logging.http.headers.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"container.logging.http.headers","typeLabel":"Container Logging Http Header · object[] | null"},"host":{"description":"The hostname or IP address of the HTTP logging endpoint","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.http.host","typeLabel":"string"},"port":{"description":"The port number of the HTTP logging endpoint (1-65535)","type":"integer","format":"int32","maximum":65535,"minimum":1,"isRequired":true,"uniqueKey":"container.logging.http.port","typeLabel":"integer\u003cint32>"},"password":{"oneOf":[{"description":"Optional password for HTTP authentication","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.password.oneOf.0","typeLabel":"string"},{"description":"Optional password for HTTP authentication","type":"null","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.password.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.logging.http.password","typeLabel":"string | null"},"path":{"oneOf":[{"description":"Optional URL path for the HTTP endpoint","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.path.oneOf.0","typeLabel":"string"},{"description":"Optional URL path for the HTTP endpoint","type":"null","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.path.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.logging.http.path","typeLabel":"string | null"},"user":{"oneOf":[{"description":"Optional username for HTTP authentication","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.user.oneOf.0","typeLabel":"string"},{"description":"Optional username for HTTP authentication","type":"null","maxLength":1000,"minLength":1,"pattern":"^.*$","uniqueKey":"container.logging.http.user.oneOf.1","typeLabel":"null"}],"uniqueKey":"container.logging.http.user","typeLabel":"string | null"}},"required":["headers","host","port","format","compression"],"title":"Container HTTP Logging Configuration","uniqueKey":"container.logging.http","typeLabel":"Container HTTP Logging Configuration · object"},"new_relic":{"description":"Configuration for sending container logs to New Relic's log management platform.","type":"object","properties":{"host":{"description":"The New Relic endpoint host for log ingestion (e.g., log-api.newrelic.com).","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.new_relic.host","typeLabel":"string"},"ingestion_key":{"description":"The New Relic license or ingestion key used for authentication and data routing.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.new_relic.ingestion_key","typeLabel":"string"}},"required":["host","ingestion_key"],"title":"New Relic Logging Configuration","uniqueKey":"container.logging.new_relic","typeLabel":"New Relic Logging Configuration · object"},"splunk":{"description":"Configuration settings for forwarding container logs to a Splunk instance.","type":"object","properties":{"host":{"description":"The URL of the Splunk HTTP Event Collector (HEC) endpoint.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.splunk.host","typeLabel":"string"},"token":{"description":"The authentication token required to send data to the Splunk HEC endpoint.","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.splunk.token","typeLabel":"string"}},"required":["host","token"],"title":"Container Logging Splunk Configuration","uniqueKey":"container.logging.splunk","typeLabel":"Container Logging Splunk Configuration · object"},"tcp":{"description":"Configuration for forwarding container logs to a remote TCP endpoint","type":"object","properties":{"host":{"description":"The hostname or IP address of the remote TCP logging endpoint","type":"string","maxLength":1000,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"container.logging.tcp.host","typeLabel":"string"},"port":{"description":"The port number on which the TCP logging endpoint is listening","type":"integer","format":"int32","maximum":65535,"minimum":1,"isRequired":true,"uniqueKey":"container.logging.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["host","port"],"title":"TCP Logging Configuration","uniqueKey":"container.logging.tcp","typeLabel":"TCP Logging Configuration · object"}},"title":"Container Logging Configuration","uniqueKey":"container.logging","typeLabel":"Container Logging Configuration · object"},"size":{"description":"Size of the container in bytes.","type":"integer","format":"int64","maximum":9223372036854776000,"minimum":0,"uniqueKey":"container.size","typeLabel":"integer\u003cint64>"}},"required":["command","image","resources"],"isRequired":true,"uniqueKey":"container","typeLabel":"object"},"country_codes":{"description":"List of country codes where container instances are permitted to run. When not specified or empty, containers may run in any available region.","type":"array","items":{"description":"ISO 3166-1 alpha-2 country code","type":"string","example":"us","enum":["af","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","au","at","az","bs","bh","bd","bb","by","be","bz","bj","bm","bt","bo","bq","ba","bw","bv","br","io","bn","bg","bf","bi","cv","kh","cm","ca","ky","cf","td","cl","cn","cx","cc","co","km","cd","cg","ck","cr","hr","cu","cw","cy","cz","ci","dk","dj","dm","do","ec","eg","sv","gq","er","ee","sz","et","fk","fo","fj","fi","fr","gf","pf","tf","ga","gm","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","va","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kp","kr","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","fm","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","ng","nu","nf","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","mk","ro","ru","rw","re","bl","sh","kn","lc","mf","pm","vc","ws","sm","st","sa","sn","rs","sc","sl","sg","sx","sk","si","sb","so","za","gs","ss","es","lk","sd","sr","sj","se","ch","sy","tw","tj","tz","th","tl","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","gb","um","us","uy","uz","vu","ve","vn","vg","vi","wf","eh","ye","zm","zw","ax"],"title":"Country Code","uniqueKey":"country_codes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":500,"minItems":0,"isRequired":true,"uniqueKey":"country_codes","typeLabel":"enum\u003cstring>[]"},"create_time":{"description":"ISO 8601 timestamp when this container group was initially created","type":"string","format":"date-time","isRequired":true,"uniqueKey":"create_time","typeLabel":"string\u003cdate-time>"},"current_state":{"description":"Represents the operational state of a container group during its lifecycle, including timing information, status, and instance distribution metrics. This state captures the current execution status, start and finish times, and provides visibility into the operational health across instances.","type":"object","properties":{"finish_time":{"description":"Timestamp when the container group execution finished or is expected to finish","type":"string","format":"date-time","isRequired":true,"uniqueKey":"current_state.finish_time","typeLabel":"string\u003cdate-time>"},"instance_status_counts":{"description":"A summary of container group instances categorized by their current lifecycle status","type":"object","properties":{"allocating_count":{"description":"The number of container instances that are currently being allocated resources","type":"integer","format":"int32","maximum":2147483647,"minimum":0,"isRequired":true,"uniqueKey":"current_state.instance_status_counts.allocating_count","typeLabel":"integer\u003cint32>"},"creating_count":{"description":"The number of container instances that are in the process of being created","type":"integer","format":"int32","maximum":2147483647,"minimum":0,"isRequired":true,"uniqueKey":"current_state.instance_status_counts.creating_count","typeLabel":"integer\u003cint32>"},"running_count":{"description":"The number of container instances that are currently running and operational","type":"integer","format":"int32","maximum":2147483647,"minimum":0,"isRequired":true,"uniqueKey":"current_state.instance_status_counts.running_count","typeLabel":"integer\u003cint32>"},"stopping_count":{"description":"The number of container instances that are in the process of stopping","type":"integer","format":"int32","maximum":2147483647,"minimum":0,"isRequired":true,"uniqueKey":"current_state.instance_status_counts.stopping_count","typeLabel":"integer\u003cint32>"}},"required":["allocating_count","creating_count","running_count","stopping_count"],"isRequired":true,"uniqueKey":"current_state.instance_status_counts","typeLabel":"object"},"start_time":{"description":"Timestamp when the container group execution started","type":"string","format":"date-time","isRequired":true,"uniqueKey":"current_state.start_time","typeLabel":"string\u003cdate-time>"},"status":{"description":"Represents the current operational state of a container group within the Salad platform.","type":"string","enum":["pending","running","stopped","succeeded","failed","deploying"],"title":"ContainerGroupStatus","isRequired":true,"uniqueKey":"current_state.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"description":"Optional textual description or notes about the current state of the container group","type":"string","maxLength":1000,"minLength":0,"pattern":"^.*$","uniqueKey":"current_state.description.oneOf.0","typeLabel":"string"},{"description":"Optional textual description or notes about the current state of the container group","type":"null","maxLength":1000,"minLength":0,"pattern":"^.*$","uniqueKey":"current_state.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"current_state.description","typeLabel":"string | null"}},"required":["finish_time","instance_status_counts","start_time","status"],"title":"Container Group State","isRequired":true,"uniqueKey":"current_state","typeLabel":"Container Group State · object"},"display_name":{"description":"The display-friendly name of the resource.","type":"string","examples":["Name"],"maxLength":63,"minLength":2,"pattern":"^[ ,-.0-9A-Za-z]+$","isRequired":true,"uniqueKey":"display_name","typeLabel":"string"},"id":{"description":"The container group identifier.","type":"string","format":"uuid","examples":["ab3a4591-efc3-46c0-b06a-3d820c0ec100"],"title":"Container Group ID","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"name":{"description":"The container group name.","type":"string","examples":["mandlebrot"],"maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","title":"Container Group Name","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"organization_name":{"description":"The organization name.","type":"string","examples":["acme-corp"],"maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","title":"Organization Name","isRequired":true,"uniqueKey":"organization_name","typeLabel":"string"},"pending_change":{"description":"Indicates whether a configuration change has been requested but not yet applied to all containers in the group","type":"boolean","isRequired":true,"uniqueKey":"pending_change","typeLabel":"boolean"},"priority":{"oneOf":[{"description":"Specifies the priority level for container group execution, which determines resource allocation and scheduling precedence.","type":"string","enum":["high","medium","low","batch"],"title":"Container Group Priority","isRequired":true,"uniqueKey":"priority.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"Specifies the priority level for container group execution, which determines resource allocation and scheduling precedence.","type":"null","enum":["high","medium","low","batch"],"title":"Container Group Priority","isRequired":true,"uniqueKey":"priority.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priority","typeLabel":"enum\u003cstring> | null"},"project_name":{"description":"The project name.","type":"string","examples":["dev-env"],"maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","isRequired":true,"uniqueKey":"project_name","typeLabel":"string"},"replicas":{"description":"The container group replicas.","type":"integer","format":"int32","examples":[50],"maximum":500,"minimum":0,"title":"Container Group Replicas","isRequired":true,"uniqueKey":"replicas","typeLabel":"integer\u003cint32>"},"restart_policy":{"description":"Specifies the policy for restarting containers when they exit or fail.","type":"string","enum":["always","on_failure","never"],"title":"Container Restart Policy","isRequired":true,"uniqueKey":"restart_policy","typeLabel":"enum\u003cstring>"},"scaling-actions":{"description":"List of scaling actions configurations","type":"array","items":{"description":"Represents a scaling action configuration for a container group","type":"object","properties":{"replicas":{"description":"The number of replicas to scale to during the scheduled period","type":"integer","format":"int32","maximum":500,"minimum":0,"isRequired":true,"uniqueKey":"scaling-actions.items.[INDEX].replicas","typeLabel":"integer\u003cint32>"},"schedule":{"description":"The cron-style schedule string defining when the scaling should occur","type":"string","pattern":"^([0-9A-Za-z*/,-]+)([\\t ]+[0-9A-Za-z*/,-]+){4}$","isRequired":true,"uniqueKey":"scaling-actions.items.[INDEX].schedule","typeLabel":"string"}},"required":["schedule","replicas"],"title":"Container Group Scaling Action","uniqueKey":"scaling-actions.items.[INDEX]","typeLabel":"Container Group Scaling Action · object"},"maxItems":100,"minItems":0,"isRequired":true,"uniqueKey":"scaling-actions","typeLabel":"Container Group Scaling Action · object[]"},"scheduled-scaling-enabled":{"description":"Indicates if scheduled scaling is enabled","type":"boolean","isRequired":true,"uniqueKey":"scheduled-scaling-enabled","typeLabel":"boolean"},"update_time":{"description":"ISO 8601 timestamp when this container group was last updated","type":"string","format":"date-time","isRequired":true,"uniqueKey":"update_time","typeLabel":"string\u003cdate-time>"},"version":{"description":"Incremental version number that increases with each configuration change to the container group","type":"integer","format":"int32","maximum":2147483647,"minimum":1,"isRequired":true,"uniqueKey":"version","typeLabel":"integer\u003cint32>"},"liveness_probe":{"oneOf":[{"description":"Defines a liveness probe for container groups that determines when to restart a container if it becomes unhealthy","type":"object","properties":{"failure_threshold":{"description":"Number of consecutive failures required to consider the probe as failed","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.failure_threshold","typeLabel":"integer\u003cint32>"},"initial_delay_seconds":{"description":"Number of seconds to wait after container start before initiating liveness probes","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.initial_delay_seconds","typeLabel":"integer\u003cint32>"},"period_seconds":{"description":"Frequency in seconds at which the probe should be executed","type":"integer","format":"int32","default":10,"maximum":120,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.period_seconds","typeLabel":"integer\u003cint32>"},"success_threshold":{"description":"Number of consecutive successes required to consider the probe successful","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.success_threshold","typeLabel":"integer\u003cint32>"},"timeout_seconds":{"description":"Number of seconds after which the probe times out if no response is received","type":"integer","format":"int32","default":30,"maximum":60,"minimum":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.timeout_seconds","typeLabel":"integer\u003cint32>"},"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"liveness_probe.oneOf.0.exec.command.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.exec.command","typeLabel":"string[]"}},"required":["command"],"title":"Container Group Probe Exec","uniqueKey":"liveness_probe.oneOf.0.exec","typeLabel":"Container Group Probe Exec · object"},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.grpc.port","typeLabel":"integer\u003cint32>"},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.grpc.service","typeLabel":"string"}},"required":["port","service"],"title":"Container Group gRPC Probe","uniqueKey":"liveness_probe.oneOf.0.grpc","typeLabel":"Container Group gRPC Probe · object"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"liveness_probe.oneOf.0.http.headers.items.[INDEX]","typeLabel":"object"},"maxItems":50,"minItems":1,"title":"HTTP Headers","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.headers","typeLabel":"HTTP Headers · object[]"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.path","typeLabel":"string"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.port","typeLabel":"integer\u003cint32>"},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.scheme.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.http.scheme","typeLabel":"enum\u003cstring> | null"}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration","uniqueKey":"liveness_probe.oneOf.0.http","typeLabel":"Container Group HTTP Probe Configuration · object"},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0,"isRequired":true,"uniqueKey":"liveness_probe.oneOf.0.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["port"],"title":"Container Group TCP Probe","uniqueKey":"liveness_probe.oneOf.0.tcp","typeLabel":"Container Group TCP Probe · object"}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"liveness_probe.oneOf.0","typeLabel":"object"},{"description":"Defines a liveness probe for container groups that determines when to restart a container if it becomes unhealthy","type":"null","properties":{"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":1}},"required":["command"],"title":"Container Group Probe Exec"},"failure_threshold":{"description":"Number of consecutive failures required to consider the probe as failed","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$"}},"required":["port","service"],"title":"Container Group gRPC Probe"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$"}},"required":["name","value"]},"maxItems":50,"minItems":1,"title":"HTTP Headers"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme"}]}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration"},"initial_delay_seconds":{"description":"Number of seconds to wait after container start before initiating liveness probes","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0},"period_seconds":{"description":"Frequency in seconds at which the probe should be executed","type":"integer","format":"int32","default":10,"maximum":120,"minimum":1},"success_threshold":{"description":"Number of consecutive successes required to consider the probe successful","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0}},"required":["port"],"title":"Container Group TCP Probe"},"timeout_seconds":{"description":"Number of seconds after which the probe times out if no response is received","type":"integer","format":"int32","default":30,"maximum":60,"minimum":1}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"liveness_probe.oneOf.1","typeLabel":"null"}],"uniqueKey":"liveness_probe","typeLabel":"object | null"},"networking":{"description":"Network configuration for container groups that defines connectivity, routing, and access control settings","type":"object","properties":{"auth":{"description":"Whether authentication is required for network access to the container group","type":"boolean","isRequired":true,"uniqueKey":"networking.auth","typeLabel":"boolean"},"dns":{"description":"Domain name or URL endpoint for the container group's network interface","type":"string","format":"url","maxLength":253,"minLength":1,"pattern":"^([a-z][a-z0-9-]{0,61}[a-z0-9]\\.)*[a-z][a-z0-9-]{0,61}[a-z0-9]$","isRequired":true,"uniqueKey":"networking.dns","typeLabel":"string\u003curl>"},"load_balancer":{"description":"The container group networking load balancer.","type":"string","default":"round_robin","enum":["round_robin","least_number_of_connections"],"title":"The Container Group Networking Load Balancer","isRequired":true,"uniqueKey":"networking.load_balancer","typeLabel":"enum\u003cstring>"},"port":{"description":"The container group networking port.","type":"integer","format":"int32","examples":[60000],"maximum":65535,"minimum":1,"title":"Container Group Networking Port","isRequired":true,"uniqueKey":"networking.port","typeLabel":"integer\u003cint32>"},"protocol":{"description":"Defines the communication protocol used for network traffic between containers or external systems. Currently supports HTTP protocol for web-based communication.","type":"string","enum":["http"],"title":"Container Networking Protocol","isRequired":true,"uniqueKey":"networking.protocol","typeLabel":"enum\u003cstring>"},"client_request_timeout":{"description":"The container group networking client request timeout.","type":"integer","format":"int32","default":100000,"examples":[100000],"maximum":100000,"minimum":1,"title":"Container Group Networking Client Request Timeout","uniqueKey":"networking.client_request_timeout","typeLabel":"integer\u003cint32>"},"server_response_timeout":{"description":"The container group networking server response timeout.","type":"integer","format":"int32","default":100000,"examples":[100000],"maximum":100000,"minimum":1,"title":"Container Group Networking Server Response Timeout","uniqueKey":"networking.server_response_timeout","typeLabel":"integer\u003cint32>"},"single_connection_limit":{"description":"The container group networking single connection limit flag.","type":"boolean","default":false,"examples":[false],"title":"Container Group Networking Single Connection Limit","uniqueKey":"networking.single_connection_limit","typeLabel":"boolean"}},"required":["auth","dns","load_balancer","port","protocol"],"title":"Container Group Networking Configuration","uniqueKey":"networking","typeLabel":"Container Group Networking Configuration · object"},"queue_autoscaler":{"description":"Defines configuration for automatically scaling container instances based on queue length. The autoscaler monitors a queue and adjusts the number of running replicas to maintain the desired queue length.","type":"object","properties":{"desired_queue_length":{"description":"The target number of items in the queue that the autoscaler attempts to maintain by scaling the containers up or down","type":"integer","format":"int32","maximum":100,"minimum":1,"isRequired":true,"uniqueKey":"queue_autoscaler.desired_queue_length","typeLabel":"integer\u003cint32>"},"max_replicas":{"description":"The maximum number of instances the container can scale up to","type":"integer","format":"int32","maximum":500,"minimum":1,"isRequired":true,"uniqueKey":"queue_autoscaler.max_replicas","typeLabel":"integer\u003cint32>"},"min_replicas":{"description":"The minimum number of instances the container can scale down to, ensuring baseline availability","type":"integer","format":"int32","maximum":100,"minimum":0,"isRequired":true,"uniqueKey":"queue_autoscaler.min_replicas","typeLabel":"integer\u003cint32>"},"max_downscale_per_minute":{"description":"The maximum number of instances that can be removed per minute to prevent rapid downscaling","type":"integer","format":"int32","maximum":100,"minimum":1,"uniqueKey":"queue_autoscaler.max_downscale_per_minute","typeLabel":"integer\u003cint32>"},"max_upscale_per_minute":{"description":"The maximum number of instances that can be added per minute to prevent rapid upscaling","type":"integer","format":"int32","maximum":100,"minimum":1,"uniqueKey":"queue_autoscaler.max_upscale_per_minute","typeLabel":"integer\u003cint32>"},"polling_period":{"description":"The period (in seconds) in which the autoscaler checks the queue length and applies the scaling formula","type":"integer","format":"int32","maximum":1800,"minimum":15,"uniqueKey":"queue_autoscaler.polling_period","typeLabel":"integer\u003cint32>"}},"required":["desired_queue_length","max_replicas","min_replicas"],"title":"Queue-based Autoscaler Configuration","uniqueKey":"queue_autoscaler","typeLabel":"Queue-based Autoscaler Configuration · object"},"queue_connection":{"description":"Configuration for connecting a container group to a message queue system, enabling asynchronous communication between services.","type":"object","properties":{"path":{"description":"The endpoint path for accessing the queue service, relative to the base URL of the queue server.","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"queue_connection.path","typeLabel":"string"},"port":{"description":"The network port number used to connect to the queue service. Must be a valid TCP/IP port between 1 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":1,"isRequired":true,"uniqueKey":"queue_connection.port","typeLabel":"integer\u003cint32>"},"queue_name":{"description":"Unique identifier for the queue. Must start with a lowercase letter, can contain lowercase letters, numbers, and hyphens, and must end with a letter or number.","type":"string","maxLength":63,"minLength":2,"pattern":"^[a-z][a-z0-9-]{0,61}[a-z0-9]$","isRequired":true,"uniqueKey":"queue_connection.queue_name","typeLabel":"string"}},"required":["path","port","queue_name"],"uniqueKey":"queue_connection","typeLabel":"object"},"readiness_probe":{"oneOf":[{"description":"Defines how to check if a container is ready to serve traffic. The readiness probe determines whether the container's application is ready to accept traffic. If the readiness probe fails, the container is considered not ready and traffic will not be sent to it.","type":"object","properties":{"failure_threshold":{"description":"The number of consecutive failures required to consider the probe failed. After this many consecutive failures, the container is marked as not ready.","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.failure_threshold","typeLabel":"integer\u003cint32>"},"initial_delay_seconds":{"description":"The time in seconds to wait after the container starts before initiating the first probe. This allows time for the application to initialize before being tested.","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.initial_delay_seconds","typeLabel":"integer\u003cint32>"},"period_seconds":{"description":"How frequently (in seconds) the probe should be executed during the container's lifetime. Specifies the interval between consecutive probe executions.","type":"integer","format":"int32","default":1,"maximum":120,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.period_seconds","typeLabel":"integer\u003cint32>"},"success_threshold":{"description":"The minimum consecutive successes required to consider the probe successful after it has failed. Defines how many successful probe results are needed to transition from failure to success.","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.success_threshold","typeLabel":"integer\u003cint32>"},"timeout_seconds":{"description":"The maximum time in seconds that the probe has to complete. If the probe doesn't return a result before the timeout, it's considered failed.","type":"integer","format":"int32","default":1,"maximum":60,"minimum":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.timeout_seconds","typeLabel":"integer\u003cint32>"},"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"readiness_probe.oneOf.0.exec.command.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.exec.command","typeLabel":"string[]"}},"required":["command"],"title":"Container Group Probe Exec","uniqueKey":"readiness_probe.oneOf.0.exec","typeLabel":"Container Group Probe Exec · object"},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.grpc.port","typeLabel":"integer\u003cint32>"},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.grpc.service","typeLabel":"string"}},"required":["port","service"],"title":"Container Group gRPC Probe","uniqueKey":"readiness_probe.oneOf.0.grpc","typeLabel":"Container Group gRPC Probe · object"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"readiness_probe.oneOf.0.http.headers.items.[INDEX]","typeLabel":"object"},"maxItems":50,"minItems":1,"title":"HTTP Headers","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.headers","typeLabel":"HTTP Headers · object[]"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.path","typeLabel":"string"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.port","typeLabel":"integer\u003cint32>"},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.scheme.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.http.scheme","typeLabel":"enum\u003cstring> | null"}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration","uniqueKey":"readiness_probe.oneOf.0.http","typeLabel":"Container Group HTTP Probe Configuration · object"},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0,"isRequired":true,"uniqueKey":"readiness_probe.oneOf.0.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["port"],"title":"Container Group TCP Probe","uniqueKey":"readiness_probe.oneOf.0.tcp","typeLabel":"Container Group TCP Probe · object"}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"readiness_probe.oneOf.0","typeLabel":"object"},{"description":"Defines how to check if a container is ready to serve traffic. The readiness probe determines whether the container's application is ready to accept traffic. If the readiness probe fails, the container is considered not ready and traffic will not be sent to it.","type":"null","properties":{"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":1}},"required":["command"],"title":"Container Group Probe Exec"},"failure_threshold":{"description":"The number of consecutive failures required to consider the probe failed. After this many consecutive failures, the container is marked as not ready.","type":"integer","format":"int32","default":3,"maximum":20,"minimum":1},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$"}},"required":["port","service"],"title":"Container Group gRPC Probe"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$"}},"required":["name","value"]},"maxItems":50,"minItems":1,"title":"HTTP Headers"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme"}]}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration"},"initial_delay_seconds":{"description":"The time in seconds to wait after the container starts before initiating the first probe. This allows time for the application to initialize before being tested.","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0},"period_seconds":{"description":"How frequently (in seconds) the probe should be executed during the container's lifetime. Specifies the interval between consecutive probe executions.","type":"integer","format":"int32","default":1,"maximum":120,"minimum":1},"success_threshold":{"description":"The minimum consecutive successes required to consider the probe successful after it has failed. Defines how many successful probe results are needed to transition from failure to success.","type":"integer","format":"int32","default":1,"maximum":10,"minimum":1},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0}},"required":["port"],"title":"Container Group TCP Probe"},"timeout_seconds":{"description":"The maximum time in seconds that the probe has to complete. If the probe doesn't return a result before the timeout, it's considered failed.","type":"integer","format":"int32","default":1,"maximum":60,"minimum":1}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"uniqueKey":"readiness_probe.oneOf.1","typeLabel":"null"}],"uniqueKey":"readiness_probe","typeLabel":"object | null"},"readme":{"type":"string","maxLength":65000,"minLength":2,"uniqueKey":"readme","typeLabel":"string"},"startup_probe":{"oneOf":[{"description":"Defines a probe that checks if a container application has started successfully. Startup probes help prevent applications from being prematurely marked as unhealthy during initialization. The probe can use HTTP requests, TCP connections, gRPC calls, or shell commands to determine startup status.","type":"object","properties":{"failure_threshold":{"description":"Number of times the probe must fail before considering the container not started","type":"integer","format":"int32","default":15,"maximum":20,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.failure_threshold","typeLabel":"integer\u003cint32>"},"initial_delay_seconds":{"description":"Number of seconds to wait after container startup before the first probe is executed","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.initial_delay_seconds","typeLabel":"integer\u003cint32>"},"period_seconds":{"description":"How frequently (in seconds) to perform the probe","type":"integer","format":"int32","default":3,"maximum":120,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.period_seconds","typeLabel":"integer\u003cint32>"},"success_threshold":{"description":"Minimum consecutive successes required for the probe to be considered successful","type":"integer","format":"int32","default":2,"maximum":10,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.success_threshold","typeLabel":"integer\u003cint32>"},"timeout_seconds":{"description":"Maximum time (in seconds) to wait for a probe response before considering it failed","type":"integer","format":"int32","default":10,"maximum":60,"minimum":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.timeout_seconds","typeLabel":"integer\u003cint32>"},"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048,"uniqueKey":"startup_probe.oneOf.0.exec.command.items.[INDEX]","typeLabel":"string"},"maxItems":100,"minItems":1,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.exec.command","typeLabel":"string[]"}},"required":["command"],"title":"Container Group Probe Exec","uniqueKey":"startup_probe.oneOf.0.exec","typeLabel":"Container Group Probe Exec · object"},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.grpc.port","typeLabel":"integer\u003cint32>"},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.grpc.service","typeLabel":"string"}},"required":["port","service"],"title":"Container Group gRPC Probe","uniqueKey":"startup_probe.oneOf.0.grpc","typeLabel":"Container Group gRPC Probe · object"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.headers.items.[INDEX].name","typeLabel":"string"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.headers.items.[INDEX].value","typeLabel":"string"}},"required":["name","value"],"uniqueKey":"startup_probe.oneOf.0.http.headers.items.[INDEX]","typeLabel":"object"},"maxItems":50,"minItems":1,"title":"HTTP Headers","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.headers","typeLabel":"HTTP Headers · object[]"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.path","typeLabel":"string"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.port","typeLabel":"integer\u003cint32>"},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.scheme.oneOf.0","typeLabel":"enum\u003cstring>"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme","isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.scheme.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.http.scheme","typeLabel":"enum\u003cstring> | null"}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration","uniqueKey":"startup_probe.oneOf.0.http","typeLabel":"Container Group HTTP Probe Configuration · object"},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0,"isRequired":true,"uniqueKey":"startup_probe.oneOf.0.tcp.port","typeLabel":"integer\u003cint32>"}},"required":["port"],"title":"Container Group TCP Probe","uniqueKey":"startup_probe.oneOf.0.tcp","typeLabel":"Container Group TCP Probe · object"}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"title":"Container Group Startup Probe","uniqueKey":"startup_probe.oneOf.0","typeLabel":"Container Group Startup Probe · object"},{"description":"Defines a probe that checks if a container application has started successfully. Startup probes help prevent applications from being prematurely marked as unhealthy during initialization. The probe can use HTTP requests, TCP connections, gRPC calls, or shell commands to determine startup status.","type":"null","properties":{"exec":{"description":"Defines the exec action for a probe in a container group. This is used to execute a command inside a container for health checks.","type":"object","properties":{"command":{"description":"The command to execute inside the container. Exit status of 0 is considered successful, any other exit status is considered failure.","type":"array","items":{"type":"string","description":"Individual component of the command to be run.","pattern":"^.*$","minLength":1,"maxLength":2048},"maxItems":100,"minItems":1}},"required":["command"],"title":"Container Group Probe Exec"},"failure_threshold":{"description":"Number of times the probe must fail before considering the container not started","type":"integer","format":"int32","default":15,"maximum":20,"minimum":1},"grpc":{"description":"Configuration for gRPC-based health probes in container groups, used to determine container health status.","type":"object","properties":{"port":{"description":"The port number on which the gRPC health check service is exposed.","type":"integer","format":"int32","maximum":65536,"minimum":0},"service":{"description":"The name of the gRPC service that implements the health check protocol.","type":"string","maxLength":1024,"minLength":0,"pattern":"^.*$"}},"required":["port","service"],"title":"Container Group gRPC Probe"},"http":{"description":"Defines HTTP probe configuration for container health checks within a container group.","type":"object","properties":{"headers":{"description":"A collection of HTTP header name-value pairs used for configuring requests and responses in container group endpoints. Each header consists of a name and its corresponding value.","type":"array","items":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string","maxLength":256,"minLength":1,"pattern":"^.*$"},"value":{"description":"The value associated with the HTTP header","type":"string","maxLength":1024,"minLength":1,"pattern":"^.*$"}},"required":["name","value"]},"maxItems":50,"minItems":1,"title":"HTTP Headers"},"path":{"description":"The HTTP path that will be probed to check container health.","type":"string","maxLength":2048,"minLength":1,"pattern":"^.*$"},"port":{"description":"The TCP port number to which the HTTP request will be sent.","type":"integer","format":"int32","maximum":65536,"minimum":0},"scheme":{"oneOf":[{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"string","enum":["http","https"],"title":"HTTP Scheme"},{"description":"The protocol scheme used for HTTP probe requests in container health checks.","type":"null","enum":["http","https"],"title":"HTTP Scheme"}]}},"required":["headers","path","port","scheme"],"title":"Container Group HTTP Probe Configuration"},"initial_delay_seconds":{"description":"Number of seconds to wait after container startup before the first probe is executed","type":"integer","format":"int32","default":0,"maximum":1200,"minimum":0},"period_seconds":{"description":"How frequently (in seconds) to perform the probe","type":"integer","format":"int32","default":3,"maximum":120,"minimum":1},"success_threshold":{"description":"Minimum consecutive successes required for the probe to be considered successful","type":"integer","format":"int32","default":2,"maximum":10,"minimum":1},"tcp":{"description":"Configuration for a TCP probe used to check container health via network connectivity.","type":"object","properties":{"port":{"description":"The TCP port number that the probe should connect to. Must be a valid port number between 0 and 65535.","type":"integer","format":"int32","maximum":65535,"minimum":0}},"required":["port"],"title":"Container Group TCP Probe"},"timeout_seconds":{"description":"Maximum time (in seconds) to wait for a probe response before considering it failed","type":"integer","format":"int32","default":10,"maximum":60,"minimum":1}},"required":["failure_threshold","initial_delay_seconds","period_seconds","success_threshold","timeout_seconds"],"title":"Container Group Startup Probe","uniqueKey":"startup_probe.oneOf.1","typeLabel":"null"}],"uniqueKey":"startup_probe","typeLabel":"Container Group Startup Probe · object | null"}},"required":["autostart_policy","container","country_codes","create_time","current_state","display_name","id","name","organization_name","pending_change","priority","project_name","replicas","restart_policy","update_time","version","scheduled-scaling-enabled","scaling-actions"],"title":"Container Group","uniqueKey":"","typeLabel":"Container Group · object"},"examples":{"Example":{"title":"Example","value":{"autostart_policy":true,"container":{"command":["\u003cstring>"],"image":"acme/:latest","resources":{"cpu":512,"gpu_classes":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"memory":536871424,"shm_size":64,"storage_amount":562950490292224},"environment_variables":{},"hash":"\u003cstring>","image_caching":true,"logging":{"axiom":{"api_token":"\u003cstring>","dataset":"\u003cstring>","host":"\u003cstring>"},"datadog":{"api_key":"\u003cstring>","host":"\u003cstring>","tags":[{"name":"\u003cstring>","value":"\u003cstring>"}]},"http":{"compression":"none","format":"json","headers":[{"name":"\u003cstring>","value":"\u003cstring>"}],"host":"\u003cstring>","port":32768,"password":"\u003cstring>","path":"\u003cstring>","user":"\u003cstring>"},"new_relic":{"host":"\u003cstring>","ingestion_key":"\u003cstring>"},"splunk":{"host":"\u003cstring>","token":"\u003cstring>"},"tcp":{"host":"\u003cstring>","port":32768}},"size":4611686018427388000},"country_codes":["us"],"create_time":"2023-11-07T05:31:56Z","current_state":{"finish_time":"2023-11-07T05:31:56Z","instance_status_counts":{"allocating_count":1073741823,"creating_count":1073741823,"running_count":1073741823,"stopping_count":1073741823},"start_time":"2023-11-07T05:31:56Z","status":"pending","description":"\u003cstring>"},"display_name":"Name","id":"ab3a4591-efc3-46c0-b06a-3d820c0ec100","name":"mandlebrot","organization_name":"acme-corp","pending_change":true,"priority":"high","project_name":"dev-env","replicas":50,"restart_policy":"always","scaling-actions":[{"replicas":250,"schedule":"\u003cstring>"}],"scheduled-scaling-enabled":true,"update_time":"2023-11-07T05:31:56Z","version":1073741824,"liveness_probe":{"failure_threshold":3,"initial_delay_seconds":0,"period_seconds":10,"success_threshold":1,"timeout_seconds":30,"exec":{"command":["\u003cstring>"]},"grpc":{"port":32768,"service":"\u003cstring>"},"http":{"headers":[{"name":"\u003cstring>","value":"\u003cstring>"}],"path":"\u003cstring>","port":32768,"scheme":"http"},"tcp":{"port":32767}},"networking":{"auth":true,"dns":"\u003cstring>","load_balancer":"round_robin","port":60000,"protocol":"http","client_request_timeout":100000,"server_response_timeout":100000,"single_connection_limit":false},"queue_autoscaler":{"desired_queue_length":50,"max_replicas":250,"min_replicas":50,"max_downscale_per_minute":50,"max_upscale_per_minute":50,"polling_period":907},"queue_connection":{"path":"\u003cstring>","port":32768,"queue_name":"\u003cstring>"},"readiness_probe":{"failure_threshold":3,"initial_delay_seconds":0,"period_seconds":1,"success_threshold":1,"timeout_seconds":1,"exec":{"command":["\u003cstring>"]},"grpc":{"port":32768,"service":"\u003cstring>"},"http":{"headers":[{"name":"\u003cstring>","value":"\u003cstring>"}],"path":"\u003cstring>","port":32768,"scheme":"http"},"tcp":{"port":32767}},"readme":"\u003cstring>","startup_probe":{"failure_threshold":15,"initial_delay_seconds":0,"period_seconds":3,"success_threshold":2,"timeout_seconds":10,"exec":{"command":["\u003cstring>"]},"grpc":{"port":32768,"service":"\u003cstring>"},"http":{"headers":[{"name":"\u003cstring>","value":"\u003cstring>"}],"path":"\u003cstring>","port":32768,"scheme":"http"},"tcp":{"port":32767}}}}},"exampleType":"generated"}},"links":{"get_container_group_by_name":{"operationId":"get_container_group","parameters":{"container_group_name":"$response.body#/name"}}},"exampleType":"generated"},"705e1be8-80fb-41a5-b2e1-de1e5fe3dcd8":{"description":"Bad Request","content":{"application/json":{"schema":{"description":"Represents an API error","type":"object","properties":{"detail":{"description":"The human-readable explanation specific to this occurrence of the error.","type":"string","examples":["The container group could not be found."],"maxLength":2000,"minLength":1,"uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The URI reference that identifies the specific occurrence of the error.","type":"string","format":"url","examples":["https://example.com/error-instances/12345"],"maxLength":2048,"minLength":1,"uniqueKey":"instance","typeLabel":"string\u003curl>"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the error.","type":"integer","format":"int32","examples":[404],"maximum":599,"minimum":100,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"The short, human-readable summary of the error type.","type":"string","examples":["Not Found"],"maxLength":2000,"minLength":1,"uniqueKey":"title","typeLabel":"string"},"type":{"description":"The URI reference that identifies the error type.","type":"string","format":"url","default":"about:blank","examples":["https://example.com/errors/invalid-request"],"maxLength":2048,"minLength":1,"uniqueKey":"type","typeLabel":"string\u003curl>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"The container group could not be found.","instance":"https://example.com/error-instances/12345","status":404,"title":"Not Found","type":"https://example.com/errors/invalid-request"}}},"exampleType":"generated"}},"exampleType":"generated"},"afe15cd5-ff79-41b8-89e8-00ca87170fb0":{"description":"Forbidden","content":{"application/json":{"schema":{"description":"Represents an API error","type":"object","properties":{"detail":{"description":"The human-readable explanation specific to this occurrence of the error.","type":"string","examples":["The container group could not be found."],"maxLength":2000,"minLength":1,"uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The URI reference that identifies the specific occurrence of the error.","type":"string","format":"url","examples":["https://example.com/error-instances/12345"],"maxLength":2048,"minLength":1,"uniqueKey":"instance","typeLabel":"string\u003curl>"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the error.","type":"integer","format":"int32","examples":[404],"maximum":599,"minimum":100,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"The short, human-readable summary of the error type.","type":"string","examples":["Not Found"],"maxLength":2000,"minLength":1,"uniqueKey":"title","typeLabel":"string"},"type":{"description":"The URI reference that identifies the error type.","type":"string","format":"url","default":"about:blank","examples":["https://example.com/errors/invalid-request"],"maxLength":2048,"minLength":1,"uniqueKey":"type","typeLabel":"string\u003curl>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"The container group could not be found.","instance":"https://example.com/error-instances/12345","status":404,"title":"Not Found","type":"https://example.com/errors/invalid-request"}}},"exampleType":"generated"}},"exampleType":"generated"},"a88c967f-1d0b-4dfa-8e2a-d04621bb814a":{"description":"Too Many Requests","content":{"application/json":{"schema":{"description":"Represents an API error","type":"object","properties":{"detail":{"description":"The human-readable explanation specific to this occurrence of the error.","type":"string","examples":["The container group could not be found."],"maxLength":2000,"minLength":1,"uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The URI reference that identifies the specific occurrence of the error.","type":"string","format":"url","examples":["https://example.com/error-instances/12345"],"maxLength":2048,"minLength":1,"uniqueKey":"instance","typeLabel":"string\u003curl>"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the error.","type":"integer","format":"int32","examples":[404],"maximum":599,"minimum":100,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"The short, human-readable summary of the error type.","type":"string","examples":["Not Found"],"maxLength":2000,"minLength":1,"uniqueKey":"title","typeLabel":"string"},"type":{"description":"The URI reference that identifies the error type.","type":"string","format":"url","default":"about:blank","examples":["https://example.com/errors/invalid-request"],"maxLength":2048,"minLength":1,"uniqueKey":"type","typeLabel":"string\u003curl>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"The container group could not be found.","instance":"https://example.com/error-instances/12345","status":404,"title":"Not Found","type":"https://example.com/errors/invalid-request"}}},"exampleType":"generated"}},"exampleType":"generated"},"3cecb464-8de1-4b51-858a-6132da665042":{"description":"Unknown Error","content":{"application/json":{"schema":{"description":"Represents an API error","type":"object","properties":{"detail":{"description":"The human-readable explanation specific to this occurrence of the error.","type":"string","examples":["The container group could not be found."],"maxLength":2000,"minLength":1,"uniqueKey":"detail","typeLabel":"string"},"instance":{"description":"The URI reference that identifies the specific occurrence of the error.","type":"string","format":"url","examples":["https://example.com/error-instances/12345"],"maxLength":2048,"minLength":1,"uniqueKey":"instance","typeLabel":"string\u003curl>"},"status":{"description":"The HTTP status code generated by the origin server for this occurrence of the error.","type":"integer","format":"int32","examples":[404],"maximum":599,"minimum":100,"uniqueKey":"status","typeLabel":"integer\u003cint32>"},"title":{"description":"The short, human-readable summary of the error type.","type":"string","examples":["Not Found"],"maxLength":2000,"minLength":1,"uniqueKey":"title","typeLabel":"string"},"type":{"description":"The URI reference that identifies the error type.","type":"string","format":"url","default":"about:blank","examples":["https://example.com/errors/invalid-request"],"maxLength":2048,"minLength":1,"uniqueKey":"type","typeLabel":"string\u003curl>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"The container group could not be found.","instance":"https://example.com/error-instances/12345","status":404,"title":"Not Found","type":"https://example.com/errors/invalid-request"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d0ee2b14-68b4-4887-965a-3312f87c64f6":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Salad-Api-Key","scopes":[]}}},"servers":{"984d8c00-672e-43a3-954b-7c01051f4b36":{"url":"https://api.salad.com/api/public"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Salad-Api-Key","scopes":[]},"schema":{"title":"Salad-Api-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"Salad-Api-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-specs/salad-cloud.yaml"},"subdomain":"salad","siteName":"SaladCloud","title":"Create Container Group - SaladCloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-08-13T13:24:09.180Z","originalFileLocation":"reference/saladcloud-api/container-groups/create-container-group.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a new container group\">\u003cmeta data-mint-head name=\"application-name\" content=\"SaladCloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Container Group - SaladCloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a new container group\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SaladCloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://salad.mintlify.app/_mintlify/api/og/v2?division=Container+Groups\u0026amp;title=Create+Container+Group\u0026amp;description=Creates+a+new+container+group\u0026amp;theme=efb3db7e1c2965c23b6d25f6\u0026amp;signature=7ec7c753f04f4e6732385ff588cb1a6ea4ce986dc8ad79672e98ab585992cf45\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Container Group - SaladCloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a new container group\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://salad.mintlify.app/_mintlify/api/og/v2?division=Container+Groups\u0026amp;title=Create+Container+Group\u0026amp;description=Creates+a+new+container+group\u0026amp;theme=efb3db7e1c2965c23b6d25f6\u0026amp;signature=7ec7c753f04f4e6732385ff588cb1a6ea4ce986dc8ad79672e98ab585992cf45\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/salad/fl_n7ouaaj7nQ7SL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SaladCloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#53A626\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/saladcloud-api/container-groups/create-container-group.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.salad.com/#organization\",\"name\":\"SaladCloud\",\"url\":\"https://docs.salad.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/salad/EawwuVEIAqrvltQ2/logo/light.svg?fit=max\u0026auto=format\u0026n=EawwuVEIAqrvltQ2\u0026q=85\u0026s=1ad3f967dcd4a77e38b71e493c2bb856\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.salad.com#website\",\"name\":\"SaladCloud\",\"url\":\"https://docs.salad.com\",\"publisher\":{\"@id\":\"https://docs.salad.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group#webpage\",\"url\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group\",\"name\":\"Create Container Group\",\"description\":\"Creates a new container group\",\"dateModified\":\"2025-08-13T13:24:09.180Z\",\"isPartOf\":{\"@id\":\"https://docs.salad.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.salad.com/reference/api-usage\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SaladCloud API\",\"item\":\"https://docs.salad.com/reference/saladcloud-api/organizations/list-gpu-classes\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Container Groups\",\"item\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/list-container-groups\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create Container Group\",\"item\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group#apireference\",\"headline\":\"Create Container Group\",\"name\":\"Create Container Group\",\"description\":\"Creates a new container group\",\"url\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group\",\"mainEntityOfPage\":{\"@id\":\"https://docs.salad.com/reference/saladcloud-api/container-groups/create-container-group#webpage\"},\"dateModified\":\"2025-08-13T13:24:09.180Z\",\"publisher\":{\"@id\":\"https://docs.salad.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.salad.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SaladCloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SaladCloud","nav":{"global":null,"tabs":[{"tab":"General","pages":[{"title":"General","href":""}]},{"tab":"Agent Operations","hidden":true,"searchable":true,"pages":[{"title":"Agent Operations","href":"/agents/overview"}]},{"tab":"Container Engine","pages":[{"title":"Container Engine","href":"/container-engine/explanation/core-concepts/overview"}]},{"tab":"Transcription","pages":[{"title":"Transcription","href":"/transcription/explanation/overview"}]},{"tab":"AI Gateway","pages":[{"title":"AI Gateway","href":"/ai-gateway/explanation/overview"}]},{"tab":"Gateway Service (SGS)","pages":[{"title":"Gateway Service (SGS)","href":"/gateway-service/explanation/overview"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Using the API","href":"/reference/api-usage"},{"group":"SaladCloud API","pages":[{"group":"Organizations","pages":[{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/gpu-classes","title":"List the GPU Classes","href":"/reference/saladcloud-api/organizations/list-gpu-classes"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/availability/sce-gpu-availability","title":"Get GPU Availability","href":"/reference/saladcloud-api/organizations/get-gpu-availability"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/availability/sce-cpu-availability","title":"Get CPU Availability","href":"/reference/saladcloud-api/organizations/get-cpu-availability"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/quotas","title":"Get Quotas","href":"/reference/saladcloud-api/organizations/get-quotas"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/webhook-secret-key","title":"Gets the webhook secret key","href":"/reference/saladcloud-api/organizations/get-webhook-secret-key"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/webhook-secret-key","title":"Updates the webhook secret key","href":"/reference/saladcloud-api/organizations/update-webhook-secret-key"}]},{"group":"Container Groups","pages":[{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/containers","title":"List Container Groups","description":"Gets the list of container groups","href":"/reference/saladcloud-api/container-groups/list-container-groups"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers","title":"Create Container Group","href":"/reference/saladcloud-api/container-groups/create-container-group"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}","title":"Get Container Group","description":"Gets a container group","href":"/reference/saladcloud-api/container-groups/get-container-group"},{"openapi":"api-specs/salad-cloud.yaml patch /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}","title":"Update Container Group","href":"/reference/saladcloud-api/container-groups/update-container-group"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/start","title":"Start Container Group","href":"/reference/saladcloud-api/container-groups/start-container-group"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/stop","title":"Stop Container Group","href":"/reference/saladcloud-api/container-groups/stop-container-group"},{"openapi":"api-specs/salad-cloud.yaml delete /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}","title":"Delete Container Group","href":"/reference/saladcloud-api/container-groups/delete-container-group"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/system-logs","deprecated":true,"title":"Get System Logs","href":"/reference/saladcloud-api/container-groups/get-container-group-logs"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances","title":"List Container Group Instances","href":"/reference/saladcloud-api/container-groups/list-container-group-instances"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}","title":"Get Container Group Instance","href":"/reference/saladcloud-api/container-groups/get-container-group-instance"},{"openapi":"api-specs/salad-cloud.yaml patch /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}","title":"Update Container Group Instance","href":"/reference/saladcloud-api/container-groups/update-container-group-instance"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}/reallocate","title":"Reallocate Container Group Instance","href":"/reference/saladcloud-api/container-groups/reallocate-container-group-instance"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}/recreate","title":"Recreate Container Group Instance","href":"/reference/saladcloud-api/container-groups/recreate-container-group-instance"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/containers/{container_group_name}/instances/{container_group_instance_id}/restart","title":"Restart container Group Instance","href":"/reference/saladcloud-api/container-groups/restart-container-group-instance"}]},{"group":"Job Queues","pages":[{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/queues","title":"List Queues","href":"/reference/saladcloud-api/queues/list-queues"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/queues","title":"Create Queue","href":"/reference/saladcloud-api/queues/create-queue"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}","title":"Get Queue","href":"/reference/saladcloud-api/queues/get-queue"},{"openapi":"api-specs/salad-cloud.yaml patch /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}","title":"Update Queue","href":"/reference/saladcloud-api/queues/update-queue"},{"openapi":"api-specs/salad-cloud.yaml delete /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}","title":"Delete Queue","href":"/reference/saladcloud-api/queues/delete-queue"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs","title":"List Jobs","href":"/reference/saladcloud-api/queues/list-jobs"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs","title":"Create Job","href":"/reference/saladcloud-api/queues/create-job"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs/{queue_job_id}","title":"Get Job","href":"/reference/saladcloud-api/queues/get-job"},{"openapi":"api-specs/salad-cloud.yaml delete /organizations/{organization_name}/projects/{project_name}/queues/{queue_name}/jobs/{queue_job_id}","title":"Delete Job","href":"/reference/saladcloud-api/queues/delete-job"}]},{"group":"Inference Endpoints","pages":[{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/inference-endpoints","title":"List Inference Endpoints","href":"/reference/saladcloud-api/inference-endpoints/list-inference-endpoints"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}","title":"Get an Inference Endpoint","href":"/reference/saladcloud-api/inference-endpoints/get-inference-endpoint"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs","title":"List Inference Endpoint Jobs","href":"/reference/saladcloud-api/inference-endpoints/list-inference-endpoint-jobs"},{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs","title":"Create a New Inference Endpoint Job","href":"/reference/saladcloud-api/inference-endpoints/create-inference-endpoint-job"},{"openapi":"api-specs/salad-cloud.yaml get /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs/{inference_endpoint_job_id}","title":"Get an Inference Endpoint Job","href":"/reference/saladcloud-api/inference-endpoints/get-inference-endpoint-job"},{"openapi":"api-specs/salad-cloud.yaml delete /organizations/{organization_name}/inference-endpoints/{inference_endpoint_name}/jobs/{inference_endpoint_job_id}","title":"Cancel an Inference Endpoint Job","href":"/reference/saladcloud-api/inference-endpoints/delete-inference-endpoint-job"}]},{"group":"Log Entries","pages":[{"openapi":"api-specs/salad-cloud.yaml post /organizations/{organization_name}/log-entries","title":"Query Log Entries","href":"/reference/saladcloud-api/logs/query-log-entries"}]}]},{"group":"Instance Metadata Service","pages":[{"openapi":"salad-cloud-imds get /v1/status","title":"Get Container Instance Status","href":"/reference/imds/get-status"},{"openapi":"salad-cloud-imds get /v1/token","title":"Get Container Instance Token","href":"/reference/imds/get-token"},{"openapi":"salad-cloud-imds get /v1/deletion-cost","title":"Get Container Instance Deletion Cost","href":"/reference/imds/get-deletion-cost"},{"openapi":"salad-cloud-imds put /v1/deletion-cost","title":"Replace Container Instance Deletion Cost","href":"/reference/imds/replace-deletion-cost"},{"openapi":"salad-cloud-imds post /v1/reallocate","title":"Reallocate Container Instance","href":"/reference/imds/reallocate"},{"openapi":"salad-cloud-imds post /v1/recreate","title":"Recreate Container Instance","href":"/reference/imds/recreate"},{"openapi":"salad-cloud-imds post /v1/restart","title":"Restart Container Instance","href":"/reference/imds/restart"}]},{"group":"Transcription API","pages":[{"openapi":"transcribe post /organizations/{organization_name}/inference-endpoints/transcribe/jobs","title":"Create a job for Salad Transcription API","href":"/reference/transcribe/inference_endpoints/create-an-inference-endpoint-job"},{"openapi":"transcribe get /organizations/{organization_name}/inference-endpoints/transcribe/jobs/{job_id}","title":"Get job for Salad Transcription API","href":"/reference/transcribe/inference_endpoints/get-an-inference-endpoint-job"},{"openapi":"transcribe delete /organizations/{organization_name}/inference-endpoints/transcribe/jobs/{job_id}","title":"Delete job for Salad Transcription API","href":"/reference/transcribe/inference_endpoints/delete-an-inference-endpoint-job"}]},{"group":"Transcription Lite API","pages":[{"openapi":"transcription-lite post /organizations/{organization_name}/inference-endpoints/transcription-lite/jobs","title":"Create a job for Salad Transcription Lite API","href":"/reference/transcription-lite/inference_endpoints/create-an-inference-endpoint-job"},{"openapi":"transcription-lite get /organizations/{organization_name}/inference-endpoints/transcription-lite/jobs/{job_id}","title":"Get job for Salad Transcription Lite API","href":"/reference/transcription-lite/inference_endpoints/get-an-inference-endpoint-job"},{"openapi":"transcription-lite delete /organizations/{organization_name}/inference-endpoints/transcription-lite/jobs/{job_id}","title":"Delete job for Salad Transcription Lite API","href":"/reference/transcription-lite/inference_endpoints/delete-an-inference-endpoint-job"}]},{"group":"S4 - Salad Simple Storage Service","pages":[{"openapi":"s4 get /organizations/{organization_name}/files","title":"List all files","href":"/reference/s4/list-all-files-that-belong-to-the-organization"},{"openapi":"s4 put /organizations/{organization_name}/files/{filename+}","title":"Upload a file","href":"/reference/s4/upload-a-file"},{"openapi":"s4 get /organizations/{organization_name}/files/{filename+}","title":"Download a file","href":"/reference/s4/download-a-file"},{"openapi":"s4 post /organizations/{organization_name}/file_tokens/{filename+}","title":"Sign a file and return a signed URL","href":"/reference/s4/sign-a-file-and-return-a-signed-url"},{"openapi":"s4 delete /organizations/{organization_name}/files/{filename+}","title":"Delete a file","href":"/reference/s4/delete-a-file"}]}]}]},{"tab":"Support","pages":[{"title":"Support","href":"/support"}]}]},"title":"Create Container Group - SaladCloud","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}