import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Use this data source to access information about an existing [Workload](https://docs.controlplane.com/reference/workload) within Control Plane. * * ## Required * * - **name** (String) Name of the workload. * - **gvc** (String) Name of the GVC that the specified workload belongs to. * * ## Outputs * * The following attributes are exported: * * - **id** (String) The unique identifier for this workload. * - **cpln_id** (String) The ID, in GUID format, of the workload. * - **name** (String) Name of the workload. * - **gvc** (String) Name of the associated GVC. * - **type** (String) Workload type. Either `serverless`, `standard`, `stateful`, `cron`, or `vm`. * - **description** (String) Description of the workload. * - **tags** (Map of String) Key-value map of resource tags. * - **self_link** (String) Full link to this resource. Can be referenced by other resources. * - **identity_link** (String) Full link to the identity used as the access scope for 3rd party cloud resources. * - **support_dynamic_tags** (Boolean) Indicates if Control Plane automatically redeploys when referenced container images are updated in the registry. * - **extras** (String) Extra Kubernetes modifications. Only used for BYOK. * - **container** (Block List) (see below). * - **firewall_spec** (Block List, Max: 1) (see below). * - **options** (Block List, Max: 1) (see below). * - **local_options** (Block List) (see below). * - **job** (Block List, Max: 1) (see below). * - **sidecar** (Block List, Max: 1) (see below). * - **rollout_options** (Block List, Max: 1) (see below). * - **security_options** (Block List, Max: 1) (see below). * - **load_balancer** (Block List, Max: 1) (see below). * - **request_retry_policy** (Block List, Max: 1) (see below). * - **vm** (Attributes) VM-only configuration. Present when `type` is `vm` (see below). * - **health** (Attributes) Health summary of the workload (see below). * - **status** (Block List) (see below). * * * * ### `container` * * > **Note** A workload always exposes at least one container definition. * * Read-Only: * * - **name** (String) Name of the container. Cannot be `istio-proxy`, `queue-proxy`, or `istio-validation`, and cannot start with `cpln_`. * - **image** (String) The full image and tag path. * - **working_directory** (String) Override for the container working directory. Must be an absolute path. * - **port** (Number) The port the container exposes. Only one container can specify a port. Min: `80`. Max: `65535`. Used by the `serverless` workload type. **Deprecated – use `ports`.** * - **memory** (String) Reserved memory when Capacity AI is disabled, or maximum memory when it is enabled. Default: `128Mi`. * - **cpu** (String) Reserved CPU when Capacity AI is disabled, or maximum CPU when it is enabled. Default: `50m`. * - **min_cpu** (String) Minimum CPU when Capacity AI is enabled. * - **min_memory** (String) Minimum memory when Capacity AI is enabled. * - **env** (Map of String) Environment variables exposed to the container. * - **inherit_env** (Boolean) Indicates whether GVC environment variables are inherited. A variable in `env` overrides the same key from the GVC. * - **command** (String) Override for the container entry point. * - **args** (List of String) Command-line arguments passed to the container in order. * - **metrics** (Block List, Max: 1) (see below). * - **ports** (Block List) (see below). * - **readiness_probe** (Block List, Max: 1) (see below). * - **liveness_probe** (Block List, Max: 1) (see below). * - **gpu_nvidia** (Block List, Max: 1) (see below). * - **gpu_custom** (Block List, Max: 1) (see below). * - **lifecycle** (Block List, Max: 1) (see below). * - **volume** (Block List) (see below). * * > **Note** The following container ports are reserved and cannot be used: `8012`, `8022`, `9090`, `9091`, `15000`, `15001`, `15006`, `15020`, `15021`, `15090`, `41000`. * * * * ### `container.metrics` * * Read-Only: * * - **port** (Number) Port that exposes custom metrics. * - **path** (String) Path where custom metrics are available. * - **drop_metrics** (List of String) Patterns describing metrics to discard. * * * * ### `container.ports` * * Read-Only: * * - **protocol** (String) Protocol. One of `http`, `http2`, `tcp`, or `grpc`. * - **number** (Number) Port that the container exposes. * * * * ### `container.readiness_probe` * * Read-Only: * * - **initial_delay_seconds** (Number) Initial delay before the probe runs. Default: `10`. Min: `0`. Max: `600`. * - **period_seconds** (Number) Interval between probes. Default: `10`. Min: `1`. Max: `600`. * - **timeout_seconds** (Number) Probe timeout. Default: `1`. Min: `1`. Max: `600`. * - **success_threshold** (Number) Minimum consecutive successes to be considered ready. Default: `1`. Min: `1`. Max: `20`. * - **failure_threshold** (Number) Consecutive failures before marking the container unhealthy. Default: `3`. Min: `1`. Max: `20`. * - **exec** (Block List, Max: 1) (see below). * - **grpc** (Block List, Max: 1) (see below). * - **tcp_socket** (Block List, Max: 1) (see below). * - **http_get** (Block List, Max: 1) (see below). * * * * ### `container.liveness_probe` * * Read-Only: * * - **initial_delay_seconds** (Number) Initial delay before the probe runs. Default: `10`. Min: `0`. Max: `600`. * - **period_seconds** (Number) Interval between probes. Default: `10`. Min: `1`. Max: `600`. * - **timeout_seconds** (Number) Probe timeout. Default: `1`. Min: `1`. Max: `600`. * - **success_threshold** (Number) Minimum consecutive successes to be considered healthy. Default: `1`. Min: `1`. Max: `20`. * - **failure_threshold** (Number) Consecutive failures before restarting the container. Default: `3`. Min: `1`. Max: `20`. * - **exec** (Block List, Max: 1) (see below). * - **grpc** (Block List, Max: 1) (see below). * - **tcp_socket** (Block List, Max: 1) (see below). * - **http_get** (Block List, Max: 1) (see below). * * * * ### `container.*_probe.exec` * * Read-Only: * * - **command** (List of String) Command executed inside the container when the probe runs. * * * * ### `container.*_probe.grpc` * * Read-Only: * * - **port** (Number) gRPC port used for the probe. * * * * ### `container.*_probe.tcp_socket` * * Read-Only: * * - **port** (Number) TCP port used for the probe. * * * * ### `container.*_probe.http_get` * * Read-Only: * * - **path** (String) HTTP path to query. Default: `/`. * - **port** (Number) Port for the HTTP GET. Min: `80`. Max: `65535`. * - **http_headers** (Map of String) Headers included in the probe request. * - **scheme** (String) HTTP scheme. Either `HTTP` or `HTTPS`. Default: `HTTP`. * * * * ### `container.gpu_nvidia` * * Read-Only: * * - **model** (String) GPU model (for example, `t4`). * - **quantity** (Number) Number of NVIDIA GPUs attached to the container. * * * * ### `container.gpu_custom` * * Read-Only: * * - **resource** (String) Name of the custom GPU resource. * - **quantity** (Number) Number of GPUs requested. * - **runtime_class** (String) Runtime class that must be used with the custom GPU. * * * * ### `container.lifecycle` * * Read-Only: * * - **post_start** (Block List, Max: 1) (see below). * - **pre_stop** (Block List, Max: 1) (see below). * * * * ### `container.lifecycle.*` * * Read-Only: * * - **exec** (Block List, Max: 1) (see below). * * * * ### `container.lifecycle.*.exec` * * Read-Only: * * - **command** (List of String) Command executed during the lifecycle hook. * * * * ### `container.volume` * * > **Note** The following paths are reserved and cannot be used: `/dev`, `/dev/log`, `/tmp`, `/var`, `/var/log`. * * > **Note** Valid URI prefixes include `s3://bucket`, `gs://bucket`, `azureblob://storageAccount/container`, `azurefs://storageAccount/share`, `cpln://secret`, `cpln://volumeset`, and `scratch://`. * * Read-Only: * * - **uri** (String) URI of a volume hosted in Control Plane (Volume Set) or a supported cloud provider. * - **recovery_policy** (String) Recovery policy for persistent volumes. Either `retain` or `recycle`. **Deprecated – no longer used.** * - **path** (String) File-system path where the volume is mounted inside the container. * - **name** (String) VM disk name. Only set for `vm` workloads. * - **bus** (String) VM disk bus. Only set for `vm` workloads. Either `virtio`, `sata`, or `scsi`. * - **boot_order** (Number) VM disk boot order. Only set for `vm` workloads. * * * * ### `firewallSpec` * * Controls inbound and outbound access for external (public) and internal (service-to-service) traffic. Access is restricted by default. * * Read-Only: * * - **external** (Block List, Max: 1) (see below). * - **internal** (Block List, Max: 1) (see below). * * * * ### `firewall_spec.external` * * Read-Only: * * - **inbound_allow_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks allowed to reach the workload. `0.0.0.0/0` opens access to the public internet. * - **inbound_blocked_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks explicitly denied. * - **outbound_allow_hostname** (List of String) Public hostnames the workload can reach. Wildcards are allowed only as a prefix (for example, `*.amazonaws.com`). * - **outbound_allow_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks the workload can reach. `0.0.0.0/0` enables outbound access to the public internet. * - **outbound_blocked_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks that are denied even if allow lists include them. * - **outbound_allow_port** (Block List) (see below). * - **http** (Block List, Max: 1) (see below). * * * * ### `firewall_spec.external.outbound_allow_port` * * Allows outbound access to specific ports and protocols. * * Read-Only: * * - **protocol** (String) Either `http`, `https`, or `tcp`. Default: `tcp`. * - **number** (Number) Port number. Max: `65000`. * * * * ### `firewall_spec.external.http` * * Firewall options for HTTP workloads. * * Read-Only: * * - **inbound_header_filter** (Block List, Max: 1) (see below). * * * * ### `firewall_spec.external.http.inbound_header_filter` * * Configures header-based allow/deny logic. * * Read-Only: * * - **key** (String) Header name to inspect. * - **allowed_values** (List of String) Regular expressions describing allowed header values. Requests that fail to match any allowed value are filtered. * - **blocked_values** (List of String) Regular expressions describing blocked header values. Requests that match any blocked value are filtered. * * * * ### `firewall_spec.internal` * * Controls access between workloads. * * Read-Only: * * - **inbound_allow_type** (String) Internal firewall mode. One of `none`, `same-gvc`, `same-org`, or `workload-list`. * - **inbound_allow_workload** (List of String) Specific workloads allowed when `inboundAllowType` is `workload-list`. * * * * ### `options` * * Exports the workload-level options applied by Control Plane. * * Read-Only: * * - **timeout_seconds** (Number) Request timeout in seconds. Default: `5`. * - **capacity_ai** (Boolean) Whether Capacity AI is enabled. Default: `true`. * - **capacity_ai_update_minutes** (Number) Minimum interval (in minutes) between Capacity AI reservation updates. * - **debug** (Boolean) Indicates if debug mode is enabled. Default: `false`. * - **suspend** (Boolean) Indicates if the workload is suspended. Default: `false`. * - **autoscaling** (Block List, Max: 1) (see below). * - **multi_zone** (Block List, Max: 1) (see below). * * * * ### `options.autoscaling` * * Read-Only: * * - **metric** (String) Scaling metric. One of `concurrency`, `cpu`, `memory`, `rps`, `latency`, `keda`, or `disabled`. * - **metric_percentile** (String) Percentile to target when the metric represents a distribution (for example, latency). * - **target** (Number) Target value for the selected metric. Min: `1`. Max: `20000`. Default: `95`. * - **min_scale** (Number) Minimum replicas allowed. Min: `0`. Max: `maxScale`. Default: `1`. * - **max_scale** (Number) Maximum replicas allowed. Min: `0`. Default: `5`. * - **scale_to_zero_delay** (Number) Seconds without requests before scaling to zero. Min: `30`. Max: `3600`. Default: `300`. * - **max_concurrency** (Number) Maximum concurrent requests per replica. Min: `0`. Max: `1000`. Default: `0`. * - **multi** (Block List, Max: 1) (see below). * - **keda** (Block List, Max: 1) (see below). * * * * ### `options.autoscaling.multi` * * Read-Only: * * - **metric** (String) Either `cpu` or `memory`. * - **target** (Number) Target value for the metric. Min: `1`. Max: `20000`. * * * * ### `options.autoscaling.keda` * * KEDA (Kubernetes-based Event Driven Autoscaling) configuration. * * Read-Only: * * - **trigger** (Block List) (see below). * - **advanced** (Block List) (see below). * - **fallback** (Block List, Max: 1) (see below). * - **polling_interval** (Number) Seconds between KEDA polling cycles. * - **cooldown_period** (Number) Cooldown seconds after scaling to zero before scaling up again. * - **initial_cooldown_period** (Number) Initial cooldown after scaling to zero. * * * * ### `options.autoscaling.keda.trigger` * * Defines event-driven scaling triggers. * * Read-Only: * * - **type** (String) Trigger type (for example, `prometheus`, `aws-sqs`). * - **metadata** (Map of String) Configuration parameters required by the trigger. * - **name** (String) Optional trigger name. * - **use_cached_metrics** (Boolean) Indicates whether metrics caching is enabled during the polling interval. * - **metric_type** (String) Metric type used for scaling. * - **authentication_ref** (Block List, Max: 1) (see below). * * * * ### `options.autoscaling.keda.trigger.authentication_ref` * * Read-Only: * * - **name** (String) Name of the secret listed in `spec.keda.secrets` on the GVC. * * * * ### `options.autoscaling.keda.advanced` * * Advanced KEDA modifiers. * * Read-Only: * * - **scaling_modifiers** (Block List) (see below). * * * * ### `options.autoscaling.keda.advanced.scaling_modifiers` * * Read-Only: * * - **target** (String) New target value for the composed metric. * - **activation_target** (String) Activation target for the composed metric. * - **metric_type** (String) Metric type used for the composed metric. * - **formula** (String) Expression that combines or transforms metrics. * * * * ### `options.autoscaling.keda.fallback` * * Required: * * - **failure_threshold** (Number) Number of consecutive failures required to trigger fallback behavior. * - **replicas** (Number) Number of replicas to scale to when fallback is triggered. * * Optional: * * - **behavior** (String) Behavior to apply when fallback is triggered. Valid values: `static`, `currentReplicas`, `currentReplicasIfHigher`, `currentReplicasIfLower`. * * * * ### `options.multi_zone` * * Read-Only: * * - **enabled** (Boolean) Indicates if multi-zone execution is enabled. * * * * ### `localOptions` * * Overrides default options for specific Control Plane locations. * * Read-Only: * * - **location** (String) Location name whose options are overridden. * - All attributes from `options` are repeated here with location-specific values. * * * * ### `job` * * Exports cron workload settings. * * Read-Only: * * - **schedule** (String) Cron schedule expression determining job execution times. * - **concurrency_policy** (String) Either `Forbid`, `Replace` or `Allow`. Determines how overlapping jobs are handled. * - **history_limit** (Number) Maximum completed job instances retained. Integer between `1` and `10`. Default: `5`. * - **restart_policy** (String) Either `OnFailure` or `Never`. Default: `Never`. * - **active_deadline_seconds** (Number) Maximum seconds a job can run before it is forcibly stopped. * * * * ### `sidecar` * * Read-Only: * * - **envoy** (String) Name of the Envoy sidecar configuration attached to the workload. * * * * ### `rolloutOptions` * * Controls rolling-update behavior. * * Read-Only: * * - **min_ready_seconds** (Number) Minimum seconds a container must run without crashing to be considered available. * - **max_unavailable_replicas** (String) Maximum replicas that can be unavailable during an update. * - **max_surge_replicas** (String) Maximum replicas above the desired count during an update. * - **scaling_policy** (String) Update strategy. Either `OrderedReady` or `Parallel`. Default: `OrderedReady`. * - **termination_grace_period_seconds** (Number) Seconds allowed for graceful termination, including `preStop` hooks. * * > **Note** `maxSurgeReplicas` and `maxUnavailableReplicas` accept absolute numbers (for example, `2`) or percentages (for example, `50%`), and they cannot both be zero. * * * * ### `securityOptions` * * Read-Only: * * - **file_system_group_id** (Number) Group ID applied to mounted volumes. * - **run_as_user** (Number) The user id assigned to all container processes. * * * * ### `loadBalancer` * * Read-Only: * * - **replica_direct** (Boolean) When `true`, individual replicas can be reached directly using `replica-` subdomains. Only valid for `stateful` workloads. * - **direct** (Block List, Max: 1) (see below). * - **geo_location** (Block List, Max: 1) (see below). * * * * ### `load_balancer.direct` * * Direct load balancers are created in each workload location and expose the workload's standard endpoints. Customers must configure certificates if TLS is required. * * Read-Only: * * - **enabled** (Boolean) Indicates if the direct load balancer is active. * - **ipset** (String) Name of the IP set associated with the load balancer, if any. * - **port** (Block List) (see below). * * * * ### `load_balancer.direct.port` * * Read-Only: * * - **external_port** (Number) Public-facing port. * - **protocol** (String) Protocol exposed publicly. * - **scheme** (String) Overrides the default `https` URL scheme in generated links. * - **container_port** (Number) Container port receiving the traffic. * * * * ### `load_balancer.geo_location` * * Read-Only: * * - **enabled** (Boolean) When enabled, geo-location headers are injected into inbound HTTP requests. * - **headers** (Block List, Max: 1) (see below). * * * * ### `load_balancer.geo_location.headers` * * Read-Only: * * - **asn** (String) ASN header value injected into requests. * - **city** (String) City header value. * - **country** (String) Country header value. * - **region** (String) Region header value. * * * * ### `requestRetryPolicy` * * Read-Only: * * - **attempts** (Number) Number of retry attempts. Default: `2`. * - **retry_on** (List of String) Retry conditions that trigger another attempt. * * * * ### `vm` * * VM-only configuration for workloads of `type` `vm`. * * Read-Only: * * - **boot_disk** (Attributes) Boot disk configuration (see below). * - **cpu** (Attributes) CPU topology visible to the guest (see below). * - **firmware** (Attributes) Firmware configuration for the guest (see below). * - **guest_os** (String) Guest operating system family. Either `linux` or `windows`. * - **network** (Attributes List) Pod-network interface for the VM (see below). * - **cloud_init** (Attributes) Cloud-init configuration for the guest (see below). * - **access_credential** (Attributes Set) SSH public keys injected at runtime (see below). * - **run_strategy** (String) KubeVirt RunStrategy. Either `Always`, `RerunOnFailure`, `Manual`, or `Halted`. * - **clock** (Attributes) Guest clock configuration (see below). * - **hostname** (String) Hostname reported to the guest. * - **subdomain** (String) Subdomain used by the guest for replica-to-replica addressing. * * * * ### `vm.boot_disk` * * Read-Only: * * - **source** (Attributes) Boot disk image source (see below). * - **persist** (Attributes) Per-replica boot PVC populated via CDI (see below). * - **bus** (String) Disk bus exposed to the guest. Either `virtio`, `sata`, or `scsi`. * - **boot_order** (Number) Boot order of the boot disk. * * * * ### `vm.boot_disk.source` * * Read-Only: * * - **oci** (Attributes) Boot from an OCI containerDisk image (see below). * - **http** (Attributes) Boot disk image fetched over HTTP/HTTPS (see below). * * * * ### `vm.boot_disk.source.oci` * * Read-Only: * * - **image** (String) Full image reference of a containerDisk. * * * * ### `vm.boot_disk.source.http` * * Read-Only: * * - **url** (String) HTTP/HTTPS URL of the boot disk image. * - **checksum** (String) Disk image checksum, formatted as `sha256:` or `sha512:`. * * * * ### `vm.boot_disk.persist` * * Read-Only: * * - **volume_set** (String) VolumeSet URI used to provision one PVC per replica for the boot disk. * * * * ### `vm.cpu` * * Read-Only: * * - **sockets** (Number) CPU sockets visible to the guest. * - **threads** (Number) CPU threads per core visible to the guest. * * * * ### `vm.firmware` * * Read-Only: * * - **bootloader** (String) Bootloader used by the guest. Either `bios` or `efi`. * - **secure_boot** (Boolean) Whether UEFI Secure Boot is enabled. * - **uuid** (String) Fixed SMBIOS UUID for the VM. * - **serial** (String) SMBIOS system serial number reported to the guest. * - **smbios** (Attributes) SMBIOS system information reported to the guest (see below). * * * * ### `vm.firmware.smbios` * * Read-Only: * * - **manufacturer** (String) SMBIOS system manufacturer. * - **product** (String) SMBIOS system product name. * - **version** (String) SMBIOS system version. * - **sku** (String) SMBIOS system SKU. * - **family** (String) SMBIOS system family. * * * * ### `vm.network` * * Read-Only: * * - **name** (String) Network interface name. * * * * ### `vm.cloud_init` * * Read-Only: * * - **user_data** (String) Inline cloud-init user-data. * - **user_data_base64** (String) Inline cloud-init user-data, base64-encoded. * - **user_data_secret** (String) Secret containing cloud-init user-data. * - **ssh_public_key_secrets** (Set of String) SSH public keys injected via cloud-init. * * * * ### `vm.access_credential` * * Read-Only: * * - **ssh_public_key_secret** (String) Secret containing the SSH public keys to inject. * - **users** (Set of String) Guest OS users the SSH public keys are injected for. * - **delivery_method** (String) Delivery method for the access credential. Either `qemuGuestAgent` or `configDrive`. * * * * ### `vm.clock` * * Read-Only: * * - **timezone** (String) Guest timezone. * * * * ### `health` * * Health summary of the workload. * * Read-Only: * * - **readiness** (String) Readiness of the workload. * - **sync_failed** (Boolean) Whether the most recent sync of the workload failed. * - **ready_locations** (Number) Number of locations where the workload is ready. * - **total_locations** (Number) Total number of locations the workload is deployed to. * - **ready_replicas** (Number) Number of ready replicas across all locations. * - **total_replicas** (Number) Total number of replicas across all locations. * * * * ### `status` * * Current state of the workload. * * Read-Only: * * - **parent_id** (String) ID of the parent object. * - **canonical_endpoint** (String) Canonical endpoint for the workload. * - **endpoint** (String) Public endpoint for the workload. * - **internal_name** (String) Internal hostname used for service-to-service communication. * - **replica_internal_names** (List of String) * - **health_check** (Block List) (see below). * - **current_replica_count** (Number) Current number of replicas deployed. * - **resolved_images** (Block List) (see below). * - **load_balancer** (Block List) (see below). * - **suspended_status** (String) Computed suspension state of the workload. Valid values: `notSuspended`, `partiallySuspended`, `suspended`. * * * * ### `status.health_check` * * Details about the most recent health checks. * * Read-Only: * * - **active** (Boolean) Indicates if the health check is active. * - **success** (Boolean) Indicates if the workload is considered healthy. * - **code** (Number) Status code returned by the check. * - **message** (String) Health check message. * - **failures** (Number) Number of recent failures. * - **successes** (Number) Number of recent successes. * - **last_checked** (String) Timestamp (UTC) of the last health check. * * * * ### `status.resolved_images` * * Resolved container images when dynamic tags are enabled. * * Read-Only: * * - **resolved_for_version** (Number) Workload version for which the images were resolved. * - **resolved_at** (String) UTC timestamp when resolution happened. * - **error_messages** (List of String) Errors encountered while resolving images. * - **next_retry_at** (String) * - **images** (Block List) (see below). * * * * ### `status.resolved_images.images` * * Read-Only: * * - **digest** (String) SHA256 digest uniquely identifying the image content. * - **manifests** (Block List) (see below). * * * * ### `status.resolved_images.images.manifests` * * Read-Only: * * - **image** (String) Name and tag of the resolved image. * - **media_type** (String) MIME type describing the manifest format. * - **digest** (String) SHA256 digest identifying the manifest. * - **platform** (Map of String) Key-value pairs describing the target OS and architecture. * * * * ### `status.load_balancer` * * Read-Only: * * - **origin** (String) Origin identifier associated with the load balancer. * - **url** (String) Load-balancer endpoint URL exposed by Control Plane. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cpln from "@pulumiverse/cpln"; * * const workload = cpln.getWorkload({ * name: "workload-example", * gvc: "gvc-example", * }); * export const workloadId = workload.then(workload => workload.id); * ``` */ export declare function getWorkload(args: GetWorkloadArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getWorkload. */ export interface GetWorkloadArgs { containers?: inputs.GetWorkloadContainer[]; firewallSpecs?: inputs.GetWorkloadFirewallSpec[]; gvc: string; jobs?: inputs.GetWorkloadJob[]; loadBalancers?: inputs.GetWorkloadLoadBalancer[]; localOptions?: inputs.GetWorkloadLocalOption[]; name: string; options?: inputs.GetWorkloadOption[]; requestRetryPolicies?: inputs.GetWorkloadRequestRetryPolicy[]; rolloutOptions?: inputs.GetWorkloadRolloutOption[]; securityOptions?: inputs.GetWorkloadSecurityOption[]; sidecars?: inputs.GetWorkloadSidecar[]; tags?: { [key: string]: string; }; } /** * A collection of values returned by getWorkload. */ export interface GetWorkloadResult { readonly containers?: outputs.GetWorkloadContainer[]; readonly cplnId: string; readonly description: string; readonly extras: string; readonly firewallSpecs?: outputs.GetWorkloadFirewallSpec[]; readonly gvc: string; readonly health: outputs.GetWorkloadHealth; readonly id: string; readonly identityLink: string; readonly jobs?: outputs.GetWorkloadJob[]; readonly loadBalancers?: outputs.GetWorkloadLoadBalancer[]; readonly localOptions?: outputs.GetWorkloadLocalOption[]; readonly name: string; readonly options?: outputs.GetWorkloadOption[]; readonly requestRetryPolicies?: outputs.GetWorkloadRequestRetryPolicy[]; readonly rolloutOptions?: outputs.GetWorkloadRolloutOption[]; readonly securityOptions?: outputs.GetWorkloadSecurityOption[]; readonly selfLink: string; readonly sidecars?: outputs.GetWorkloadSidecar[]; readonly statuses: outputs.GetWorkloadStatus[]; readonly supportDynamicTags: boolean; readonly tags: { [key: string]: string; }; readonly type: string; readonly vm: outputs.GetWorkloadVm; } /** * Use this data source to access information about an existing [Workload](https://docs.controlplane.com/reference/workload) within Control Plane. * * ## Required * * - **name** (String) Name of the workload. * - **gvc** (String) Name of the GVC that the specified workload belongs to. * * ## Outputs * * The following attributes are exported: * * - **id** (String) The unique identifier for this workload. * - **cpln_id** (String) The ID, in GUID format, of the workload. * - **name** (String) Name of the workload. * - **gvc** (String) Name of the associated GVC. * - **type** (String) Workload type. Either `serverless`, `standard`, `stateful`, `cron`, or `vm`. * - **description** (String) Description of the workload. * - **tags** (Map of String) Key-value map of resource tags. * - **self_link** (String) Full link to this resource. Can be referenced by other resources. * - **identity_link** (String) Full link to the identity used as the access scope for 3rd party cloud resources. * - **support_dynamic_tags** (Boolean) Indicates if Control Plane automatically redeploys when referenced container images are updated in the registry. * - **extras** (String) Extra Kubernetes modifications. Only used for BYOK. * - **container** (Block List) (see below). * - **firewall_spec** (Block List, Max: 1) (see below). * - **options** (Block List, Max: 1) (see below). * - **local_options** (Block List) (see below). * - **job** (Block List, Max: 1) (see below). * - **sidecar** (Block List, Max: 1) (see below). * - **rollout_options** (Block List, Max: 1) (see below). * - **security_options** (Block List, Max: 1) (see below). * - **load_balancer** (Block List, Max: 1) (see below). * - **request_retry_policy** (Block List, Max: 1) (see below). * - **vm** (Attributes) VM-only configuration. Present when `type` is `vm` (see below). * - **health** (Attributes) Health summary of the workload (see below). * - **status** (Block List) (see below). * * * * ### `container` * * > **Note** A workload always exposes at least one container definition. * * Read-Only: * * - **name** (String) Name of the container. Cannot be `istio-proxy`, `queue-proxy`, or `istio-validation`, and cannot start with `cpln_`. * - **image** (String) The full image and tag path. * - **working_directory** (String) Override for the container working directory. Must be an absolute path. * - **port** (Number) The port the container exposes. Only one container can specify a port. Min: `80`. Max: `65535`. Used by the `serverless` workload type. **Deprecated – use `ports`.** * - **memory** (String) Reserved memory when Capacity AI is disabled, or maximum memory when it is enabled. Default: `128Mi`. * - **cpu** (String) Reserved CPU when Capacity AI is disabled, or maximum CPU when it is enabled. Default: `50m`. * - **min_cpu** (String) Minimum CPU when Capacity AI is enabled. * - **min_memory** (String) Minimum memory when Capacity AI is enabled. * - **env** (Map of String) Environment variables exposed to the container. * - **inherit_env** (Boolean) Indicates whether GVC environment variables are inherited. A variable in `env` overrides the same key from the GVC. * - **command** (String) Override for the container entry point. * - **args** (List of String) Command-line arguments passed to the container in order. * - **metrics** (Block List, Max: 1) (see below). * - **ports** (Block List) (see below). * - **readiness_probe** (Block List, Max: 1) (see below). * - **liveness_probe** (Block List, Max: 1) (see below). * - **gpu_nvidia** (Block List, Max: 1) (see below). * - **gpu_custom** (Block List, Max: 1) (see below). * - **lifecycle** (Block List, Max: 1) (see below). * - **volume** (Block List) (see below). * * > **Note** The following container ports are reserved and cannot be used: `8012`, `8022`, `9090`, `9091`, `15000`, `15001`, `15006`, `15020`, `15021`, `15090`, `41000`. * * * * ### `container.metrics` * * Read-Only: * * - **port** (Number) Port that exposes custom metrics. * - **path** (String) Path where custom metrics are available. * - **drop_metrics** (List of String) Patterns describing metrics to discard. * * * * ### `container.ports` * * Read-Only: * * - **protocol** (String) Protocol. One of `http`, `http2`, `tcp`, or `grpc`. * - **number** (Number) Port that the container exposes. * * * * ### `container.readiness_probe` * * Read-Only: * * - **initial_delay_seconds** (Number) Initial delay before the probe runs. Default: `10`. Min: `0`. Max: `600`. * - **period_seconds** (Number) Interval between probes. Default: `10`. Min: `1`. Max: `600`. * - **timeout_seconds** (Number) Probe timeout. Default: `1`. Min: `1`. Max: `600`. * - **success_threshold** (Number) Minimum consecutive successes to be considered ready. Default: `1`. Min: `1`. Max: `20`. * - **failure_threshold** (Number) Consecutive failures before marking the container unhealthy. Default: `3`. Min: `1`. Max: `20`. * - **exec** (Block List, Max: 1) (see below). * - **grpc** (Block List, Max: 1) (see below). * - **tcp_socket** (Block List, Max: 1) (see below). * - **http_get** (Block List, Max: 1) (see below). * * * * ### `container.liveness_probe` * * Read-Only: * * - **initial_delay_seconds** (Number) Initial delay before the probe runs. Default: `10`. Min: `0`. Max: `600`. * - **period_seconds** (Number) Interval between probes. Default: `10`. Min: `1`. Max: `600`. * - **timeout_seconds** (Number) Probe timeout. Default: `1`. Min: `1`. Max: `600`. * - **success_threshold** (Number) Minimum consecutive successes to be considered healthy. Default: `1`. Min: `1`. Max: `20`. * - **failure_threshold** (Number) Consecutive failures before restarting the container. Default: `3`. Min: `1`. Max: `20`. * - **exec** (Block List, Max: 1) (see below). * - **grpc** (Block List, Max: 1) (see below). * - **tcp_socket** (Block List, Max: 1) (see below). * - **http_get** (Block List, Max: 1) (see below). * * * * ### `container.*_probe.exec` * * Read-Only: * * - **command** (List of String) Command executed inside the container when the probe runs. * * * * ### `container.*_probe.grpc` * * Read-Only: * * - **port** (Number) gRPC port used for the probe. * * * * ### `container.*_probe.tcp_socket` * * Read-Only: * * - **port** (Number) TCP port used for the probe. * * * * ### `container.*_probe.http_get` * * Read-Only: * * - **path** (String) HTTP path to query. Default: `/`. * - **port** (Number) Port for the HTTP GET. Min: `80`. Max: `65535`. * - **http_headers** (Map of String) Headers included in the probe request. * - **scheme** (String) HTTP scheme. Either `HTTP` or `HTTPS`. Default: `HTTP`. * * * * ### `container.gpu_nvidia` * * Read-Only: * * - **model** (String) GPU model (for example, `t4`). * - **quantity** (Number) Number of NVIDIA GPUs attached to the container. * * * * ### `container.gpu_custom` * * Read-Only: * * - **resource** (String) Name of the custom GPU resource. * - **quantity** (Number) Number of GPUs requested. * - **runtime_class** (String) Runtime class that must be used with the custom GPU. * * * * ### `container.lifecycle` * * Read-Only: * * - **post_start** (Block List, Max: 1) (see below). * - **pre_stop** (Block List, Max: 1) (see below). * * * * ### `container.lifecycle.*` * * Read-Only: * * - **exec** (Block List, Max: 1) (see below). * * * * ### `container.lifecycle.*.exec` * * Read-Only: * * - **command** (List of String) Command executed during the lifecycle hook. * * * * ### `container.volume` * * > **Note** The following paths are reserved and cannot be used: `/dev`, `/dev/log`, `/tmp`, `/var`, `/var/log`. * * > **Note** Valid URI prefixes include `s3://bucket`, `gs://bucket`, `azureblob://storageAccount/container`, `azurefs://storageAccount/share`, `cpln://secret`, `cpln://volumeset`, and `scratch://`. * * Read-Only: * * - **uri** (String) URI of a volume hosted in Control Plane (Volume Set) or a supported cloud provider. * - **recovery_policy** (String) Recovery policy for persistent volumes. Either `retain` or `recycle`. **Deprecated – no longer used.** * - **path** (String) File-system path where the volume is mounted inside the container. * - **name** (String) VM disk name. Only set for `vm` workloads. * - **bus** (String) VM disk bus. Only set for `vm` workloads. Either `virtio`, `sata`, or `scsi`. * - **boot_order** (Number) VM disk boot order. Only set for `vm` workloads. * * * * ### `firewallSpec` * * Controls inbound and outbound access for external (public) and internal (service-to-service) traffic. Access is restricted by default. * * Read-Only: * * - **external** (Block List, Max: 1) (see below). * - **internal** (Block List, Max: 1) (see below). * * * * ### `firewall_spec.external` * * Read-Only: * * - **inbound_allow_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks allowed to reach the workload. `0.0.0.0/0` opens access to the public internet. * - **inbound_blocked_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks explicitly denied. * - **outbound_allow_hostname** (List of String) Public hostnames the workload can reach. Wildcards are allowed only as a prefix (for example, `*.amazonaws.com`). * - **outbound_allow_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks the workload can reach. `0.0.0.0/0` enables outbound access to the public internet. * - **outbound_blocked_cidr** (List of String) IPv4/IPv6 addresses or CIDR blocks that are denied even if allow lists include them. * - **outbound_allow_port** (Block List) (see below). * - **http** (Block List, Max: 1) (see below). * * * * ### `firewall_spec.external.outbound_allow_port` * * Allows outbound access to specific ports and protocols. * * Read-Only: * * - **protocol** (String) Either `http`, `https`, or `tcp`. Default: `tcp`. * - **number** (Number) Port number. Max: `65000`. * * * * ### `firewall_spec.external.http` * * Firewall options for HTTP workloads. * * Read-Only: * * - **inbound_header_filter** (Block List, Max: 1) (see below). * * * * ### `firewall_spec.external.http.inbound_header_filter` * * Configures header-based allow/deny logic. * * Read-Only: * * - **key** (String) Header name to inspect. * - **allowed_values** (List of String) Regular expressions describing allowed header values. Requests that fail to match any allowed value are filtered. * - **blocked_values** (List of String) Regular expressions describing blocked header values. Requests that match any blocked value are filtered. * * * * ### `firewall_spec.internal` * * Controls access between workloads. * * Read-Only: * * - **inbound_allow_type** (String) Internal firewall mode. One of `none`, `same-gvc`, `same-org`, or `workload-list`. * - **inbound_allow_workload** (List of String) Specific workloads allowed when `inboundAllowType` is `workload-list`. * * * * ### `options` * * Exports the workload-level options applied by Control Plane. * * Read-Only: * * - **timeout_seconds** (Number) Request timeout in seconds. Default: `5`. * - **capacity_ai** (Boolean) Whether Capacity AI is enabled. Default: `true`. * - **capacity_ai_update_minutes** (Number) Minimum interval (in minutes) between Capacity AI reservation updates. * - **debug** (Boolean) Indicates if debug mode is enabled. Default: `false`. * - **suspend** (Boolean) Indicates if the workload is suspended. Default: `false`. * - **autoscaling** (Block List, Max: 1) (see below). * - **multi_zone** (Block List, Max: 1) (see below). * * * * ### `options.autoscaling` * * Read-Only: * * - **metric** (String) Scaling metric. One of `concurrency`, `cpu`, `memory`, `rps`, `latency`, `keda`, or `disabled`. * - **metric_percentile** (String) Percentile to target when the metric represents a distribution (for example, latency). * - **target** (Number) Target value for the selected metric. Min: `1`. Max: `20000`. Default: `95`. * - **min_scale** (Number) Minimum replicas allowed. Min: `0`. Max: `maxScale`. Default: `1`. * - **max_scale** (Number) Maximum replicas allowed. Min: `0`. Default: `5`. * - **scale_to_zero_delay** (Number) Seconds without requests before scaling to zero. Min: `30`. Max: `3600`. Default: `300`. * - **max_concurrency** (Number) Maximum concurrent requests per replica. Min: `0`. Max: `1000`. Default: `0`. * - **multi** (Block List, Max: 1) (see below). * - **keda** (Block List, Max: 1) (see below). * * * * ### `options.autoscaling.multi` * * Read-Only: * * - **metric** (String) Either `cpu` or `memory`. * - **target** (Number) Target value for the metric. Min: `1`. Max: `20000`. * * * * ### `options.autoscaling.keda` * * KEDA (Kubernetes-based Event Driven Autoscaling) configuration. * * Read-Only: * * - **trigger** (Block List) (see below). * - **advanced** (Block List) (see below). * - **fallback** (Block List, Max: 1) (see below). * - **polling_interval** (Number) Seconds between KEDA polling cycles. * - **cooldown_period** (Number) Cooldown seconds after scaling to zero before scaling up again. * - **initial_cooldown_period** (Number) Initial cooldown after scaling to zero. * * * * ### `options.autoscaling.keda.trigger` * * Defines event-driven scaling triggers. * * Read-Only: * * - **type** (String) Trigger type (for example, `prometheus`, `aws-sqs`). * - **metadata** (Map of String) Configuration parameters required by the trigger. * - **name** (String) Optional trigger name. * - **use_cached_metrics** (Boolean) Indicates whether metrics caching is enabled during the polling interval. * - **metric_type** (String) Metric type used for scaling. * - **authentication_ref** (Block List, Max: 1) (see below). * * * * ### `options.autoscaling.keda.trigger.authentication_ref` * * Read-Only: * * - **name** (String) Name of the secret listed in `spec.keda.secrets` on the GVC. * * * * ### `options.autoscaling.keda.advanced` * * Advanced KEDA modifiers. * * Read-Only: * * - **scaling_modifiers** (Block List) (see below). * * * * ### `options.autoscaling.keda.advanced.scaling_modifiers` * * Read-Only: * * - **target** (String) New target value for the composed metric. * - **activation_target** (String) Activation target for the composed metric. * - **metric_type** (String) Metric type used for the composed metric. * - **formula** (String) Expression that combines or transforms metrics. * * * * ### `options.autoscaling.keda.fallback` * * Required: * * - **failure_threshold** (Number) Number of consecutive failures required to trigger fallback behavior. * - **replicas** (Number) Number of replicas to scale to when fallback is triggered. * * Optional: * * - **behavior** (String) Behavior to apply when fallback is triggered. Valid values: `static`, `currentReplicas`, `currentReplicasIfHigher`, `currentReplicasIfLower`. * * * * ### `options.multi_zone` * * Read-Only: * * - **enabled** (Boolean) Indicates if multi-zone execution is enabled. * * * * ### `localOptions` * * Overrides default options for specific Control Plane locations. * * Read-Only: * * - **location** (String) Location name whose options are overridden. * - All attributes from `options` are repeated here with location-specific values. * * * * ### `job` * * Exports cron workload settings. * * Read-Only: * * - **schedule** (String) Cron schedule expression determining job execution times. * - **concurrency_policy** (String) Either `Forbid`, `Replace` or `Allow`. Determines how overlapping jobs are handled. * - **history_limit** (Number) Maximum completed job instances retained. Integer between `1` and `10`. Default: `5`. * - **restart_policy** (String) Either `OnFailure` or `Never`. Default: `Never`. * - **active_deadline_seconds** (Number) Maximum seconds a job can run before it is forcibly stopped. * * * * ### `sidecar` * * Read-Only: * * - **envoy** (String) Name of the Envoy sidecar configuration attached to the workload. * * * * ### `rolloutOptions` * * Controls rolling-update behavior. * * Read-Only: * * - **min_ready_seconds** (Number) Minimum seconds a container must run without crashing to be considered available. * - **max_unavailable_replicas** (String) Maximum replicas that can be unavailable during an update. * - **max_surge_replicas** (String) Maximum replicas above the desired count during an update. * - **scaling_policy** (String) Update strategy. Either `OrderedReady` or `Parallel`. Default: `OrderedReady`. * - **termination_grace_period_seconds** (Number) Seconds allowed for graceful termination, including `preStop` hooks. * * > **Note** `maxSurgeReplicas` and `maxUnavailableReplicas` accept absolute numbers (for example, `2`) or percentages (for example, `50%`), and they cannot both be zero. * * * * ### `securityOptions` * * Read-Only: * * - **file_system_group_id** (Number) Group ID applied to mounted volumes. * - **run_as_user** (Number) The user id assigned to all container processes. * * * * ### `loadBalancer` * * Read-Only: * * - **replica_direct** (Boolean) When `true`, individual replicas can be reached directly using `replica-` subdomains. Only valid for `stateful` workloads. * - **direct** (Block List, Max: 1) (see below). * - **geo_location** (Block List, Max: 1) (see below). * * * * ### `load_balancer.direct` * * Direct load balancers are created in each workload location and expose the workload's standard endpoints. Customers must configure certificates if TLS is required. * * Read-Only: * * - **enabled** (Boolean) Indicates if the direct load balancer is active. * - **ipset** (String) Name of the IP set associated with the load balancer, if any. * - **port** (Block List) (see below). * * * * ### `load_balancer.direct.port` * * Read-Only: * * - **external_port** (Number) Public-facing port. * - **protocol** (String) Protocol exposed publicly. * - **scheme** (String) Overrides the default `https` URL scheme in generated links. * - **container_port** (Number) Container port receiving the traffic. * * * * ### `load_balancer.geo_location` * * Read-Only: * * - **enabled** (Boolean) When enabled, geo-location headers are injected into inbound HTTP requests. * - **headers** (Block List, Max: 1) (see below). * * * * ### `load_balancer.geo_location.headers` * * Read-Only: * * - **asn** (String) ASN header value injected into requests. * - **city** (String) City header value. * - **country** (String) Country header value. * - **region** (String) Region header value. * * * * ### `requestRetryPolicy` * * Read-Only: * * - **attempts** (Number) Number of retry attempts. Default: `2`. * - **retry_on** (List of String) Retry conditions that trigger another attempt. * * * * ### `vm` * * VM-only configuration for workloads of `type` `vm`. * * Read-Only: * * - **boot_disk** (Attributes) Boot disk configuration (see below). * - **cpu** (Attributes) CPU topology visible to the guest (see below). * - **firmware** (Attributes) Firmware configuration for the guest (see below). * - **guest_os** (String) Guest operating system family. Either `linux` or `windows`. * - **network** (Attributes List) Pod-network interface for the VM (see below). * - **cloud_init** (Attributes) Cloud-init configuration for the guest (see below). * - **access_credential** (Attributes Set) SSH public keys injected at runtime (see below). * - **run_strategy** (String) KubeVirt RunStrategy. Either `Always`, `RerunOnFailure`, `Manual`, or `Halted`. * - **clock** (Attributes) Guest clock configuration (see below). * - **hostname** (String) Hostname reported to the guest. * - **subdomain** (String) Subdomain used by the guest for replica-to-replica addressing. * * * * ### `vm.boot_disk` * * Read-Only: * * - **source** (Attributes) Boot disk image source (see below). * - **persist** (Attributes) Per-replica boot PVC populated via CDI (see below). * - **bus** (String) Disk bus exposed to the guest. Either `virtio`, `sata`, or `scsi`. * - **boot_order** (Number) Boot order of the boot disk. * * * * ### `vm.boot_disk.source` * * Read-Only: * * - **oci** (Attributes) Boot from an OCI containerDisk image (see below). * - **http** (Attributes) Boot disk image fetched over HTTP/HTTPS (see below). * * * * ### `vm.boot_disk.source.oci` * * Read-Only: * * - **image** (String) Full image reference of a containerDisk. * * * * ### `vm.boot_disk.source.http` * * Read-Only: * * - **url** (String) HTTP/HTTPS URL of the boot disk image. * - **checksum** (String) Disk image checksum, formatted as `sha256:` or `sha512:`. * * * * ### `vm.boot_disk.persist` * * Read-Only: * * - **volume_set** (String) VolumeSet URI used to provision one PVC per replica for the boot disk. * * * * ### `vm.cpu` * * Read-Only: * * - **sockets** (Number) CPU sockets visible to the guest. * - **threads** (Number) CPU threads per core visible to the guest. * * * * ### `vm.firmware` * * Read-Only: * * - **bootloader** (String) Bootloader used by the guest. Either `bios` or `efi`. * - **secure_boot** (Boolean) Whether UEFI Secure Boot is enabled. * - **uuid** (String) Fixed SMBIOS UUID for the VM. * - **serial** (String) SMBIOS system serial number reported to the guest. * - **smbios** (Attributes) SMBIOS system information reported to the guest (see below). * * * * ### `vm.firmware.smbios` * * Read-Only: * * - **manufacturer** (String) SMBIOS system manufacturer. * - **product** (String) SMBIOS system product name. * - **version** (String) SMBIOS system version. * - **sku** (String) SMBIOS system SKU. * - **family** (String) SMBIOS system family. * * * * ### `vm.network` * * Read-Only: * * - **name** (String) Network interface name. * * * * ### `vm.cloud_init` * * Read-Only: * * - **user_data** (String) Inline cloud-init user-data. * - **user_data_base64** (String) Inline cloud-init user-data, base64-encoded. * - **user_data_secret** (String) Secret containing cloud-init user-data. * - **ssh_public_key_secrets** (Set of String) SSH public keys injected via cloud-init. * * * * ### `vm.access_credential` * * Read-Only: * * - **ssh_public_key_secret** (String) Secret containing the SSH public keys to inject. * - **users** (Set of String) Guest OS users the SSH public keys are injected for. * - **delivery_method** (String) Delivery method for the access credential. Either `qemuGuestAgent` or `configDrive`. * * * * ### `vm.clock` * * Read-Only: * * - **timezone** (String) Guest timezone. * * * * ### `health` * * Health summary of the workload. * * Read-Only: * * - **readiness** (String) Readiness of the workload. * - **sync_failed** (Boolean) Whether the most recent sync of the workload failed. * - **ready_locations** (Number) Number of locations where the workload is ready. * - **total_locations** (Number) Total number of locations the workload is deployed to. * - **ready_replicas** (Number) Number of ready replicas across all locations. * - **total_replicas** (Number) Total number of replicas across all locations. * * * * ### `status` * * Current state of the workload. * * Read-Only: * * - **parent_id** (String) ID of the parent object. * - **canonical_endpoint** (String) Canonical endpoint for the workload. * - **endpoint** (String) Public endpoint for the workload. * - **internal_name** (String) Internal hostname used for service-to-service communication. * - **replica_internal_names** (List of String) * - **health_check** (Block List) (see below). * - **current_replica_count** (Number) Current number of replicas deployed. * - **resolved_images** (Block List) (see below). * - **load_balancer** (Block List) (see below). * - **suspended_status** (String) Computed suspension state of the workload. Valid values: `notSuspended`, `partiallySuspended`, `suspended`. * * * * ### `status.health_check` * * Details about the most recent health checks. * * Read-Only: * * - **active** (Boolean) Indicates if the health check is active. * - **success** (Boolean) Indicates if the workload is considered healthy. * - **code** (Number) Status code returned by the check. * - **message** (String) Health check message. * - **failures** (Number) Number of recent failures. * - **successes** (Number) Number of recent successes. * - **last_checked** (String) Timestamp (UTC) of the last health check. * * * * ### `status.resolved_images` * * Resolved container images when dynamic tags are enabled. * * Read-Only: * * - **resolved_for_version** (Number) Workload version for which the images were resolved. * - **resolved_at** (String) UTC timestamp when resolution happened. * - **error_messages** (List of String) Errors encountered while resolving images. * - **next_retry_at** (String) * - **images** (Block List) (see below). * * * * ### `status.resolved_images.images` * * Read-Only: * * - **digest** (String) SHA256 digest uniquely identifying the image content. * - **manifests** (Block List) (see below). * * * * ### `status.resolved_images.images.manifests` * * Read-Only: * * - **image** (String) Name and tag of the resolved image. * - **media_type** (String) MIME type describing the manifest format. * - **digest** (String) SHA256 digest identifying the manifest. * - **platform** (Map of String) Key-value pairs describing the target OS and architecture. * * * * ### `status.load_balancer` * * Read-Only: * * - **origin** (String) Origin identifier associated with the load balancer. * - **url** (String) Load-balancer endpoint URL exposed by Control Plane. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cpln from "@pulumiverse/cpln"; * * const workload = cpln.getWorkload({ * name: "workload-example", * gvc: "gvc-example", * }); * export const workloadId = workload.then(workload => workload.id); * ``` */ export declare function getWorkloadOutput(args: GetWorkloadOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getWorkload. */ export interface GetWorkloadOutputArgs { containers?: pulumi.Input[]>; firewallSpecs?: pulumi.Input[]>; gvc: pulumi.Input; jobs?: pulumi.Input[]>; loadBalancers?: pulumi.Input[]>; localOptions?: pulumi.Input[]>; name: pulumi.Input; options?: pulumi.Input[]>; requestRetryPolicies?: pulumi.Input[]>; rolloutOptions?: pulumi.Input[]>; securityOptions?: pulumi.Input[]>; sidecars?: pulumi.Input[]>; tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }