diff --git a/docs/data-sources/eks_settings.md b/docs/data-sources/eks_settings.md index 4ae1811b..9eb96330 100644 --- a/docs/data-sources/eks_settings.md +++ b/docs/data-sources/eks_settings.md @@ -10,7 +10,16 @@ description: |- Retrieve IAM policy, IAM User Policy and instance profile policies for the specified cluster - +## Example Usage + +```terraform +data "castai_eks_settings" "current" { + account_id = data.aws_caller_identity.current.account_id + region = var.cluster_region + cluster = var.cluster_name + vpc = var.vpc +} +``` ## Schema diff --git a/docs/data-sources/gke_user_policies.md b/docs/data-sources/gke_user_policies.md index 8bb52b5c..a403b155 100644 --- a/docs/data-sources/gke_user_policies.md +++ b/docs/data-sources/gke_user_policies.md @@ -10,7 +10,11 @@ description: |- +## Example Usage +```terraform +data "castai_gke_user_policies" "gke" {} +``` ## Schema diff --git a/docs/data-sources/organization.md b/docs/data-sources/organization.md index ecd95a25..a56ea9f1 100644 --- a/docs/data-sources/organization.md +++ b/docs/data-sources/organization.md @@ -10,7 +10,13 @@ description: |- Retrieve organization ID +## Example Usage +```terraform +data "castai_organization" "dev" { + name = var.castai_dev_organization_name +} +``` ## Schema diff --git a/docs/resources/autoscaler.md b/docs/resources/autoscaler.md index 2dcf9401..be7b6e36 100644 --- a/docs/resources/autoscaler.md +++ b/docs/resources/autoscaler.md @@ -10,7 +10,92 @@ description: |- CAST AI autoscaler resource to manage autoscaler settings - +## Example Usage + +```terraform +resource "castai_autoscaler" "castai_autoscaler_policy" { + cluster_id = castai_eks_cluster.castai_cluster.id + + autoscaler_policies_json = var.autoscaler_policies_json + + autoscaler_settings { + enabled = true + is_scoped_mode = false + node_templates_partial_matching_enabled = false + + unschedulable_pods { + enabled = true + custom_instances_enabled = false + + headroom { + enabled = true + cpu_percentage = 20 + memory_percentage = 30 + } + + headroom_spot { + enabled = true + cpu_percentage = 15 + memory_percentage = 25 + } + + node_constraints { + enabled = true + min_cpu_cores = 2 + max_cpu_cores = 8 + min_ram_mib = 2048 + max_ram_mib = 8192 + } + } + + cluster_limits { + enabled = true + + cpu { + min_cores = 1 + max_cores = 10 + } + } + + spot_instances { + enabled = true + max_reclaim_rate = 50 + spot_diversity_enabled = true + spot_diversity_price_increase_limit = 20 + + spot_backups { + enabled = true + spot_backup_restore_rate_seconds = 300 + } + + spot_interruption_predictions { + enabled = true + spot_interruption_predictions_type = "history" + } + } + + node_downscaler { + enabled = true + + empty_nodes { + enabled = true + delay_seconds = 60 + } + + evictor { + enabled = true + dry_run = false + aggressive_mode = false + scoped_mode = false + cycle_interval = 300 + node_grace_period_minutes = 10 + pod_eviction_failure_back_off_interval = 30 + ignore_pod_disruption_budgets = false + } + } + } +} +``` ## Schema diff --git a/docs/resources/eks_clusterid.md b/docs/resources/eks_clusterid.md index cecc6de7..60528ee1 100644 --- a/docs/resources/eks_clusterid.md +++ b/docs/resources/eks_clusterid.md @@ -3,14 +3,22 @@ page_title: "castai_eks_clusterid Resource - terraform-provider-castai" subcategory: "" description: |- - + Retrieve CAST AI clusterid --- # castai_eks_clusterid (Resource) +Retrieve CAST AI clusterid +## Example Usage - +```terraform +resource "castai_eks_clusterid" "cluster_id" { + account_id = data.aws_caller_identity.current.account_id + region = var.cluster_region + cluster_name = var.cluster_name +} +``` ## Schema diff --git a/docs/resources/eks_user_arn.md b/docs/resources/eks_user_arn.md index 5e353d27..20fab1a6 100644 --- a/docs/resources/eks_user_arn.md +++ b/docs/resources/eks_user_arn.md @@ -3,14 +3,20 @@ page_title: "castai_eks_user_arn Resource - terraform-provider-castai" subcategory: "" description: |- - + Retrieve EKS Cluster user arn --- # castai_eks_user_arn (Resource) +Retrieve EKS Cluster user arn +## Example Usage - +```terraform +resource "castai_eks_user_arn" "castai_user_arn" { + cluster_id = castai_eks_clusterid.cluster_id.id +} +``` ## Schema diff --git a/docs/resources/evictor_advanced_config.md b/docs/resources/evictor_advanced_config.md index 1a0fed02..d8fff7a2 100644 --- a/docs/resources/evictor_advanced_config.md +++ b/docs/resources/evictor_advanced_config.md @@ -10,7 +10,35 @@ description: |- CAST AI eviction config resource to manage evictor properties - +## Example Usage + +```terraform +resource "evictor_advanced_config" "config" { + evictor_advanced_config = [ + { + pod_selector = { + kind = "Job" + namespace = "castai" + match_labels = { + "app.kubernetes.io/name" = "castai-node" + } + }, + aggressive = true + }, + { + node_selector = { + match_expressions = [ + { + key = "pod.cast.ai/flag" + operator = "Exists" + } + ] + }, + disposable = true + } + ] +} +``` ## Schema @@ -33,11 +61,11 @@ CAST AI eviction config resource to manage evictor properties Optional: -- `aggressive` (Boolean) -- `disposable` (Boolean) +- `aggressive` (Boolean) Apply Aggressive mode to Evictor +- `disposable` (Boolean) Marking node as disposable - `node_selector` (Block List) node selector (see [below for nested schema](#nestedblock--evictor_advanced_config--node_selector)) - `pod_selector` (Block List) pod selector (see [below for nested schema](#nestedblock--evictor_advanced_config--pod_selector)) -- `removal_disabled` (Boolean) +- `removal_disabled` (Boolean) Marking pods as removalDisabled ### Nested Schema for `evictor_advanced_config.node_selector` diff --git a/docs/resources/node_template.md b/docs/resources/node_template.md index 49c35e13..4c64d022 100644 --- a/docs/resources/node_template.md +++ b/docs/resources/node_template.md @@ -10,7 +10,74 @@ description: |- CAST AI node template resource to manage node templates - +## Example Usage + +```terraform +resource "castai_node_template" "this" { + cluster_id = castai_eks_cluster.castai_cluster.id + + name = "my-node-template" + is_default = false + is_enabled = true + configuration_id = "config-id-123" + should_taint = true + + custom_labels = { + env = "production" + } + + custom_taints { + key = "dedicated" + value = "backend" + effect = "NoSchedule" + } + + constraints { + compute_optimized = true + storage_optimized = false + compute_optimized_state = "on" + storage_optimized_state = "off" + is_gpu_only = false + spot = true + on_demand = false + use_spot_fallbacks = true + fallback_restore_rate_seconds = 300 + enable_spot_diversity = true + spot_diversity_price_increase_limit_percent = 20 + spot_interruption_predictions_enabled = true + spot_interruption_predictions_type = "history" + min_cpu = 2 + max_cpu = 8 + min_memory = 4096 + max_memory = 16384 + architectures = ["amd64"] + azs = ["us-east-1a", "us-east-1b"] + burstable_instances = false + customer_specific = false + + instance_families { + include = ["m5", "m6i"] + exclude = ["m4"] + } + + gpu { + manufacturers = ["nvidia"] + include_names = ["p2"] + exclude_names = ["p3"] + min_count = 1 + max_count = 4 + } + + custom_priority { + instance_families = ["m5", "m6i"] + spot = true + on_demand = false + } + } + + depends_on = [castai_autoscaler.castai_autoscaler_policies] +} +``` ## Schema diff --git a/docs/resources/organization_members.md b/docs/resources/organization_members.md index 98e43a1f..45ae274e 100644 --- a/docs/resources/organization_members.md +++ b/docs/resources/organization_members.md @@ -10,7 +10,27 @@ description: |- CAST AI organization members resource to manage organization members +## Example Usage +```terraform +data "castai_organization" "dev" { + name = var.castai_dev_organization_name +} + +resource "castai_organization_members" "dev" { + organization_id = data.castai_organization.dev.id + + owners = [ + "owner@test.ai", + ] + + members = [ + "member@test.ai", + ] + + viewers = [] +} +``` ## Schema diff --git a/docs/resources/workload_scaling_policy.md b/docs/resources/workload_scaling_policy.md index 41631e3b..d4c2fb0e 100644 --- a/docs/resources/workload_scaling_policy.md +++ b/docs/resources/workload_scaling_policy.md @@ -17,7 +17,7 @@ simultaneously or create custom policies with different settings and apply them ```terraform castai_workload_scaling_policy "services" { name = "services" - cluster_id = castai_gke_cluster.dev.id + cluster_id = castai_eks_cluster.dev.id apply_type = "IMMEDIATE" management_option = "MANAGED" cpu {