Terraform Resources
This page provides a comprehensive reference for all resources available in the Kubiya Control Plane Terraform Provider.Core Resources
controlplane_environment
Manages execution environments for agents and workers. Arguments:name(Required, string) - Environment namedisplay_name(Optional, string) - Display namedescription(Optional, string) - Environment descriptiontags(Optional, list(string)) - Tags for organizationconfiguration(Optional, JSON string) - Environment configurationexecution_environment(Optional, JSON string) - Execution settings
controlplane_project
Manages projects for organizing resources. Arguments:name(Required, string) - Project namekey(Required, string) - Project key (uppercase abbreviation)description(Optional, string) - Project descriptiongoals(Optional, string) - Project goalsvisibility(Optional, string) - Visibility setting (“private” or “public”)metadata(Optional, JSON string) - Additional metadata
controlplane_team
Manages teams with shared configuration and capabilities. Arguments:name(Required, string) - Team namedescription(Optional, string) - Team descriptionruntime(Required, string) - Runtime type: “default” (Agno) or “claude_code” (Claude Code SDK)configuration(Optional, JSON string) - Team configurationcapabilities(Optional, list(string)) - Team capabilities
controlplane_agent
Manages AI agents with custom LLM configurations. Arguments:name(Required, string) - Agent namedescription(Optional, string) - Agent descriptionmodel_id(Required, string) - LLM model (e.g., “kubiya/claude-sonnet-4”, “kubiya/gpt-4”)runtime(Required, string) - Runtime: “default” or “claude_code”team_id(Optional, string) - Team ID to assign agentllm_config(Required, JSON string) - LLM configuration (temperature, max_tokens, etc.)configuration(Optional, JSON string) - Agent-specific configurationcapabilities(Optional, list(string)) - Agent capabilities
Capability Resources
controlplane_skill
Manages skills for agent capabilities (filesystem, shell, docker, etc.). Arguments:name(Required, string) - Skill namedescription(Optional, string) - Skill descriptiontype(Required, string) - Skill type: “shell”, “file_system”, “docker”, “custom”enabled(Optional, bool) - Whether skill is enabled (default: true)configuration(Optional, JSON string) - Skill-specific configuration
controlplane_policy
Manages OPA Rego policies for governance and security. Arguments:name(Required, string) - Policy namedescription(Optional, string) - Policy descriptionenabled(Optional, bool) - Whether policy is enabled (default: true)policy_content(Required, string) - OPA Rego policy contenttags(Optional, list(string)) - Policy tags
controlplane_worker_queue
Manages worker queues for task execution within an environment. Arguments:environment_id(Required, string) - Environment ID (cannot be changed after creation)name(Required, string) - Queue name (lowercase, no spaces, 2-50 characters)display_name(Optional, string) - Display name (default: "")description(Optional, string) - Queue description (default: "")status(Optional, string) - Queue status: “active”, “inactive”, or “paused” (default: “active”)heartbeat_interval(Optional, number) - Heartbeat interval in seconds (10-300, default: 60)max_workers(Optional, number) - Maximum workers (null = unlimited)tags(Optional, list(string)) - Queue tags (default: [])settings(Optional, map(string)) - Additional settings as key-value pairs (default: )
id- Worker Queue IDactive_workers- Number of currently active workerstask_queue_name- Task queue name for Temporalcreated_at- Creation timestampupdated_at- Last update timestamp
controlplane_job
Manages scheduled, webhook-triggered, and manual jobs. Arguments:name(Required, string) - Job namedescription(Optional, string) - Job descriptionenabled(Optional, bool) - Whether job is enabled (default: true)trigger_type(Required, string) - Trigger type: “cron”, “webhook”, or “manual”cron_schedule(Optional, string) - Cron expression (required for cron triggers)cron_timezone(Optional, string) - Timezone for cron (default: “UTC”)planning_mode(Optional, string) - Planning mode: “predefined_agent”, “predefined_team”, “predefined_workflow”, or “on_the_fly” (default: “predefined_agent”)entity_type(Optional, string) - Entity type: “agent”, “team”, or “workflow” (required when planning_mode is not “on_the_fly”)entity_id(Optional, string) - Entity ID (agent_id, team_id, or workflow_id) (required when planning_mode is not “on_the_fly”)prompt_template(Required, string) - Prompt template with variablessystem_prompt(Optional, string) - System prompt for agentexecutor_type(Optional, string) - Executor: “auto”, “specific_queue”, or “environment” (default: “auto”)worker_queue_name(Optional, string) - Worker queue name (required for “specific_queue” executor)environment_name(Optional, string) - Environment name (required for “environment” executor)execution_env_vars(Optional, map(string)) - Environment variablesexecution_secrets(Optional, list(string)) - Secret namesexecution_integrations(Optional, list(string)) - Integration IDs to injectconfig(Optional, JSON string) - Additional configuration
Attributes Reference
All resources export the following attributes:id- Unique identifier for the resourcecreated_at- Timestamp when resource was createdupdated_at- Timestamp when resource was last updated
Job-Specific Attributes
Jobs also export:webhook_url- Webhook URL (for webhook trigger type)webhook_secret- Webhook HMAC secret for signature verification (sensitive)status- Job status
Worker Queue-Specific Attributes
Worker queues also export:environment_id- Environment IDstatus- Queue statusactive_workers- Number of active workerstask_queue_name- Task queue name for Temporal
Import
Resources can be imported using their ID:Best Practices
Resource Naming
Use consistent, descriptive names:Configuration as JSON
Usejsonencode() for configuration blocks:
Dependencies
Use explicit dependencies when needed:Tags for Organization
Use tags consistently:Next Steps
- Data Sources - Query existing resources
- Modules - Use pre-built modules for common patterns
- Examples - Complete end-to-end examples
- Provider Configuration - Configuration options