[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rancher-fleet.json","additionalProperties":false,"definitions":{"selector":{"description":"A selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty selector matches all objects","properties":{"matchExpressions":{"description":"matchExpressions is An array of label selector requirements. The requirements are ANDed","items":{"properties":{"key":{"description":"key is the label key that the selector applies to","type":"string"},"operator":{"description":"operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty","items":{"description":"The value of the label that must be compared to according to the selected operator","type":"string"},"type":"array"}},"type":"object"},"type":"array"},"matchLabels":{"description":"matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed","additionalProperties":{"type":"string"},"type":"object"}},"type":["object","null"]},"diff":{"description":"An array of diff options to consider when comparing the current state of the bundle to the desired one.","properties":{"comparePatches":{"description":"An array of compare patches; how the diff should be calculated and eventually ignored. See ref: https://fleet.rancher.io/next/ref-crds#comparepatch","items":{"properties":{"apiVersion":{"description":"The apiVersion of the resource to compare","type":"string"},"jsonPointers":{"description":"An array of custom JSONPointers. See ref: https://jsonpatch.com/#json-pointer","items":{"type":"string"},"type":"array"},"kind":{"description":"The kind of the resource to compare","type":"string"},"name":{"description":"The name of the resource to compare","type":"string"},"namespace":{"description":"The namespace of the resource to compare","type":"string"},"operations":{"description":"An array of operations to consider when comparing the current state of the resource to the desired one. See example: https://fleet.rancher.io/next/bundle-diffs#combining-it-all-together","items":{"properties":{"op":{"description":"The operation to perform. See ref: https://jsonpatch.com/#operations","type":"string"},"path":{"description":"The path to the field to compare. See ref: https://jsonpatch.com/#json-pointer","type":"string"},"value":{"description":"The value to add or replace","type":"string"}},"type":"object"},"type":"array"}},"type":"object"},"type":"array"}},"type":"object"},"helm":{"properties":{"atomic":{"description":"Set the Helm --atomic flag when upgrading. Default: false","type":"boolean"},"chart":{"description":"Use a custom location for the Helm chart. This can refer to any go-getter URL, OCI registry based helm chart URL e.g. \"oci://ghcr.io/fleetrepoci/guestbook\" or a local/remote tgz file. This allows one to download charts from most any location.  Also know that go-getter URL supports adding a digest to validate the download. If repo is set below this field is the name of the chart to lookup","type":"string"},"disablePreProcess":{"description":"Disable go template pre-processing on the fleet values. Default: false","type":"boolean"},"force":{"description":"Set the Helm --force flag when upgrading. This could be dangerous (sic). Default: false","type":"boolean"},"maxHistory":{"description":"Set the Helm --max-history flag when upgrading","type":"integer"},"releaseName":{"description":"A custom release name to deploy the chart as. If not specified a release name will be generated by combining the invoking GitRepo.name + GitRepo.path","type":"string","maxLength":53,"pattern":"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"},"repo":{"description":"A https URL to a Helm repo to download the chart from. If repo is used the value of `chart` will be used as the chart name to lookup in the Helm repository","examples":["https://charts.rancher.io"],"type":"string"},"takeOwnership":{"description":"Makes helm skip the check for its own annotations. Default: false","default":false,"type":"boolean"},"timeoutSeconds":{"description":"Set the Helm --timeout flag when upgrading.","type":"integer"},"values":{"description":"Any values that should be placed in the `values.yaml` and passed to helm during install. Cluster labels can also be used here, see https://fleet.rancher.io/next/gitrepo-structure#reference for more info","examples":["{\"replicaCount\": 2}","{\"replicaCount\": 2, \"image\": {\"tag\": \"v1.0.0\"}}"],"type":"object"},"valuesFiles":{"description":"Path to any values files that need to be passed to helm during install","items":{"description":"Path to the value file","type":"string"},"type":"array"},"valuesFrom":{"description":"An array of of configmap or secrets references defined in the downstream clusters to get values for the chart.","items":{"properties":{"configMapKeyRef":{"description":"A reference to a configmap key","properties":{"key":{"description":"The key to get from the configmap","type":"string"},"name":{"description":"The name of the configmap","type":"string"},"namespace":{"description":"The namespace of the configmap","type":"string"}},"type":"object"},"secretKeyRef":{"description":"A reference to a secret key","properties":{"key":{"description":"The key to get from the secret","type":"string"},"name":{"description":"The name of the secret","type":"string"},"namespace":{"description":"The namespace of the secret","type":"string"}},"type":"object"}},"type":"object"},"type":"array"},"version":{"description":"The version of the chart or semver constraint of the chart to find. If a constraint is specified it is evaluated each time git changes. The version also determines which chart to download from OCI registries","type":"string"},"waitForJobs":{"description":"Wait for all jobs to complete before marking the GitRepo as ready. A timeoutSeconds duration must be set when using. Default: true","type":"boolean"}},"type":["object","null"]},"kustomize":{"properties":{"dir":{"type":"string","description":"Custom folder for kustomize resources. This folder must contain a kustomization.yaml file. Path is relative to repository root"}},"type":["object","null"]}},"description":"The driving file of a Fleet bundle","properties":{"defaultNamespace":{"$ref":"https://json.schemastore.org/base.json#/definitions/nullable-string","description":"The default namespace to be applied to resources. This field is not used to enforce or lock down the deployment to a specific namespace, but instead provide the default value of the namespace field if one is not specified in the manifests. Default: default"},"dependsOn":{"description":"An array of dependencies to other Bundles.","items":{"properties":{"name":{"type":"string","description":"Format: <GITREPO-NAME>-<BUNDLE_PATH> with all path separators replaced by \"-\". Example: A Gitrepo named \"one\", with a Bundle path \"/multi-cluster/hello-world\" => \"one-multi-cluster-hello-world\""},"selector":{"$ref":"#/definitions/selector"}},"type":"object"},"type":["array","null"]},"diff":{"$ref":"#/definitions/diff"},"helm":{"$ref":"#/definitions/helm","description":"Helm overrides for the bundle. When changes are applied to the values.yaml from multiple sources at the same time, the values will update in the following order: helm.values -> helm.valuesFiles -> helm.valuesFrom"},"kustomize":{"$ref":"#/definitions/kustomize","description":"Kustomize options for the bundle."},"labels":{"$ref":"https://json.schemastore.org/base.json#/definitions/nullable-object","description":"Labels to apply to the bundle. These labels can be used to select bundles by using the dependsOn keyword"},"namespace":{"$ref":"https://json.schemastore.org/base.json#/definitions/nullable-string","description":"All resources will be assigned to this namespace and if any cluster scoped resource exists the deployment will fail. Default: \"\""},"namespaceAnnotations":{"description":"Annotations to apply to the namespace created by Fleet","type":"object"},"namespaceLabels":{"description":"Labels to apply to the namespace created by Fleet","type":"object"},"paused":{"$ref":"https://json.schemastore.org/base.json#/definitions/nullable-boolean","description":" A paused bundle will not update downstream clusters but instead mark the bundle as OutOfSync. One can then manually confirm that a bundle should be deployed to the downstream clusters. Default: false"},"rolloutStrategy":{"properties":{"autoPartitionSize":{"type":"string","description":"A number of percentage of how to automatically partition clusters if not specific partitioning strategy is configured. Default: 25%"},"maxUnavailable":{"type":"string","description":"A number or percentage of clusters that can be unavailable during an update of a bundle. This follows the same basic approach as a deployment rollout strategy. Once the number of clusters meets unavailable state update will be  paused. Default value is 100% which doesn't take effect on update. Default: 100%"},"maxUnavailablePartitions":{"type":"string","description":"A number or percentage of cluster partitions that can be unavailable during an update of a bundle. Default: 0"},"partitions":{"description":"An array of definitions of partitions. If any target clusters do not match the configuration they are added to partitions at the end following the autoPartitionSize","items":{"properties":{"clusterGroup":{"description":"A cluster group name to include in this partition","type":"string"},"clusterGroupSelector":{"$ref":"#/definitions/selector","description":"Selector matching cluster group labels to include in this partition"},"clusterName":{"description":"A cluster name to include in this partition","type":"string"},"clusterSelector":{"$ref":"#/definitions/selector","description":"Selector matching cluster labels to include in this partition"},"maxUnavailable":{"description":"A number or percentage of clusters that can be unavailable in this partition before this partition is treated as done.Default: 10%","type":"string"},"name":{"description":"A user friend name given to the partition used for Display (optional). Default: \"\"","type":"string"}},"type":"object"},"type":"array"}},"type":["object","null"]},"serviceAccount":{"$comment":"Undocumented field in the fleet docs.","$ref":"https://json.schemastore.org/base.json#/definitions/nullable-string","description":"The Service account which will be used for the BundleDeployments. Default: \"\""},"targetCustomizations":{"description":"Target customization are used to determine how resources should be modified per target. Targets are evaluated in order and the first one to match a cluster is used for that cluster","items":{"properties":{"clusterGroup":{"description":"A cluster group name to select","type":"string"},"clusterGroupSelector":{"$ref":"#/definitions/selector","description":"Selector matching cluster group labels to select"},"clusterSelector":{"$ref":"#/definitions/selector","description":"Selector matching cluster labels to select"},"defaultNamespace":{"description":"Custom defaultNamespace value overriding the value at the root","type":"string"},"diff":{"$ref":"#/definitions/diff"},"doNotDeploy":{"description":"Resources will not be deployed in the matched clusters if doNotDeploy is true. Default: false","type":"boolean"},"helm":{"$ref":"#/definitions/helm","description":"Custom helm options overriding the options at the root"},"kustomize":{"$ref":"#/definitions/kustomize","description":"Custom kustomize options overriding the options at the root"},"name":{"description":"The name of target. If not specified a default name of the format \"target000\" will be used. This value is mostly for display","type":"string"},"namespace":{"description":"Custom namespace value overriding the value at the root","type":"string"},"serviceAccount":{"description":"Custom serviceAccount value overriding the value at the root","type":"string"},"yaml":{"description":"If using raw YAML these are names that map to overlays/{name} that will be used to replace or patch a resource. If you wish to customize the file ./subdir/resource.yaml then a file ./overlays/myoverlay/subdir/resource.yaml will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml will patch the base file. A patch can in JSON Patch or JSON Merge format or a strategic merge patch for builtin Kubernetes types. Refer to \"Raw YAML Resource Customization\" (https://fleet.rancher.io/next/gitrepo-structure#raw-yaml-resource-customization) for more information","properties":{"overlays":{"description":"An array of overlays to apply to the resource. The overlays are applied in the order they are listed","items":{"description":"An overlay to apply to the resource. The overlay can be a patch or a replacement. It should point to the folder containing the overlay file(s)","type":"string"},"type":"array"}},"type":"object"}},"type":"object"},"type":["array","null"]},"imageScans":{"description":"ImageScans is An array of images repositories to scan for, so the corresponding repositories may be automatically updated with the specified image","items":{"properties":{"image":{"description":"The image to scan for","type":"string"},"interval":{"description":"The scan interval","examples":["5m"],"type":"string"},"policy":{"description":"An array of policies on how to retrieve the latest image. Can be semver or alphabetical","properties":{"alphabetical":{"description":"The alphabetical policy specifics","properties":{"order":{"description":"The order of the images to use. Can be ascending or descending","type":"string"}},"type":"object"},"semver":{"description":"The semver policy specifics","properties":{"range":{"description":"Semver string to evaluate latest image. For more details on how to use semver, see https://github.com/Masterminds/semver","type":"string"}},"type":"object"}},"type":"object"},"secretRef":{"description":"The secret reference to use for the image repository","properties":{"name":{"description":"The name of the secret. It must be located in the same namespace as the GitRepo","type":"string"}},"type":"object"},"tagName":{"description":"The tag name used in the manifest files, to be replaced with the latest image. Must be unique per Bundle","type":"string"}},"type":"object"},"type":["array","null"]},"ignore":{"description":"Ignore options when monitoring a Bundle. This can be used when Fleet thinks some conditions in Custom Resources makes the Bundle to be in an error state when it shouldn't.","type":"object","properties":{"conditions":{"description":"Conditions to be ignored","type":"array"}}},"overrideTargets":{"description":"Override targets defined in the GitRepo. The Bundle will not have any targets from the GitRepo if overrideTargets is provided.","type":"array","items":{"$ref":"#/definitions/selector"}}},"title":"fleet.yaml","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "fleet.yaml". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

A selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty selector matches all objects

matchExpressions is An array of label selector requirements. The requirements are ANDed

key is the label key that the selector applies to

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty

The value of the label that must be compared to according to the selected operator

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed

An array of diff options to consider when comparing the current state of the bundle to the desired one.

An array of compare patches; how the diff should be calculated and eventually ignored. See ref: https://fleet.rancher.io/next/ref-crds#comparepatch

The apiVersion of the resource to compare

An array of custom JSONPointers. See ref: https://jsonpatch.com/#json-pointer

The kind of the resource to compare

The name of the resource to compare

The namespace of the resource to compare

An array of operations to consider when comparing the current state of the resource to the desired one. See example: https://fleet.rancher.io/next/bundle-diffs#combining-it-all-together

The operation to perform. See ref: https://jsonpatch.com/#operations

The path to the field to compare. See ref: https://jsonpatch.com/#json-pointer

The value to add or replace

Set the Helm --atomic flag when upgrading. Default: false

Use a custom location for the Helm chart. This can refer to any go-getter URL, OCI registry based helm chart URL e.g. "oci://ghcr.io/fleetrepoci/guestbook" or a local/remote tgz file. This allows one to download charts from most any location.  Also know that go-getter URL supports adding a digest to validate the download. If repo is set below this field is the name of the chart to lookup

Disable go template pre-processing on the fleet values. Default: false

Set the Helm --force flag when upgrading. This could be dangerous (sic). Default: false

Set the Helm --max-history flag when upgrading

A custom release name to deploy the chart as. If not specified a release name will be generated by combining the invoking GitRepo.name + GitRepo.path

A https URL to a Helm repo to download the chart from. If repo is used the value of `chart` will be used as the chart name to lookup in the Helm repository

Makes helm skip the check for its own annotations. Default: false

Set the Helm --timeout flag when upgrading.

Any values that should be placed in the `values.yaml` and passed to helm during install. Cluster labels can also be used here, see https://fleet.rancher.io/next/gitrepo-structure#reference for more info

Path to any values files that need to be passed to helm during install

Path to the value file

An array of of configmap or secrets references defined in the downstream clusters to get values for the chart.

A reference to a configmap key

The key to get from the configmap

The name of the configmap

The namespace of the configmap

A reference to a secret key

The key to get from the secret

The name of the secret

The namespace of the secret

The version of the chart or semver constraint of the chart to find. If a constraint is specified it is evaluated each time git changes. The version also determines which chart to download from OCI registries

Wait for all jobs to complete before marking the GitRepo as ready. A timeoutSeconds duration must be set when using. Default: true

Custom folder for kustomize resources. This folder must contain a kustomization.yaml file. Path is relative to repository root

The driving file of a Fleet bundle

The default namespace to be applied to resources. This field is not used to enforce or lock down the deployment to a specific namespace, but instead provide the default value of the namespace field if one is not specified in the manifests. Default: default

An array of dependencies to other Bundles.

Format: <GITREPO-NAME>-<BUNDLE_PATH> with all path separators replaced by "-". Example: A Gitrepo named "one", with a Bundle path "/multi-cluster/hello-world" => "one-multi-cluster-hello-world"

Helm overrides for the bundle. When changes are applied to the values.yaml from multiple sources at the same time, the values will update in the following order: helm.values -> helm.valuesFiles -> helm.valuesFrom

Kustomize options for the bundle.

Labels to apply to the bundle. These labels can be used to select bundles by using the dependsOn keyword

All resources will be assigned to this namespace and if any cluster scoped resource exists the deployment will fail. Default: ""

Annotations to apply to the namespace created by Fleet

Labels to apply to the namespace created by Fleet

A paused bundle will not update downstream clusters but instead mark the bundle as OutOfSync. One can then manually confirm that a bundle should be deployed to the downstream clusters. Default: false

A number of percentage of how to automatically partition clusters if not specific partitioning strategy is configured. Default: 25%

A number or percentage of clusters that can be unavailable during an update of a bundle. This follows the same basic approach as a deployment rollout strategy. Once the number of clusters meets unavailable state update will be  paused. Default value is 100% which doesn't take effect on update. Default: 100%

A number or percentage of cluster partitions that can be unavailable during an update of a bundle. Default: 0

An array of definitions of partitions. If any target clusters do not match the configuration they are added to partitions at the end following the autoPartitionSize

A cluster group name to include in this partition

Selector matching cluster group labels to include in this partition

A cluster name to include in this partition

Selector matching cluster labels to include in this partition

A number or percentage of clusters that can be unavailable in this partition before this partition is treated as done.Default: 10%

A user friend name given to the partition used for Display (optional). Default: ""

The Service account which will be used for the BundleDeployments. Default: ""

Target customization are used to determine how resources should be modified per target. Targets are evaluated in order and the first one to match a cluster is used for that cluster

A cluster group name to select

Selector matching cluster group labels to select

Selector matching cluster labels to select

Custom defaultNamespace value overriding the value at the root

Resources will not be deployed in the matched clusters if doNotDeploy is true. Default: false

Custom helm options overriding the options at the root

Custom kustomize options overriding the options at the root

The name of target. If not specified a default name of the format "target000" will be used. This value is mostly for display

Custom namespace value overriding the value at the root

Custom serviceAccount value overriding the value at the root

If using raw YAML these are names that map to overlays/{name} that will be used to replace or patch a resource. If you wish to customize the file ./subdir/resource.yaml then a file ./overlays/myoverlay/subdir/resource.yaml will replace the base file. A file named ./overlays/myoverlay/subdir/resource_patch.yaml will patch the base file. A patch can in JSON Patch or JSON Merge format or a strategic merge patch for builtin Kubernetes types. Refer to "Raw YAML Resource Customization" (https://fleet.rancher.io/next/gitrepo-structure#raw-yaml-resource-customization) for more information

An array of overlays to apply to the resource. The overlays are applied in the order they are listed

An overlay to apply to the resource. The overlay can be a patch or a replacement. It should point to the folder containing the overlay file(s)

ImageScans is An array of images repositories to scan for, so the corresponding repositories may be automatically updated with the specified image

The image to scan for

The scan interval

An array of policies on how to retrieve the latest image. Can be semver or alphabetical

The alphabetical policy specifics

The order of the images to use. Can be ascending or descending

The semver policy specifics

Semver string to evaluate latest image. For more details on how to use semver, see https://github.com/Masterminds/semver

The secret reference to use for the image repository

The name of the secret. It must be located in the same namespace as the GitRepo

The tag name used in the manifest files, to be replaced with the latest image. Must be unique per Bundle

Ignore options when monitoring a Bundle. This can be used when Fleet thinks some conditions in Custom Resources makes the Bundle to be in an error state when it shouldn't.

Conditions to be ignored

Override targets defined in the GitRepo. The Bundle will not have any targets from the GitRepo if overrideTargets is provided.

fleet.yaml

Provide a JSON object that satisfies the schema "fleet.yaml". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://github.com/ray-project/ray/python/ray/autoscaler/ray-schema.json","title":"Ray AutoScaler","description":"Ray autoscaler schema","type":"object","definitions":{"commands":{"type":"array","items":{"type":"string","description":"shell command"}}},"required":["cluster_name","provider"],"additionalProperties":false,"properties":{"cluster_name":{"description":"A unique identifier for the head node and workers of this cluster.","type":"string"},"max_workers":{"description":"The maximum number of workers nodes to launch in addition to the head node. This should be no larger than the sum of min_workers for all available node types.","type":"integer","minimum":0},"upscaling_speed":{"description":"The autoscaler will scale up the cluster faster with higher upscaling speed. E.g., if the task requires adding more nodes then autoscaler will gradually scale up the cluster in chunks of upscaling_speed*currently_running_nodes. This number should be > 0.","type":"number","minimum":0},"idle_timeout_minutes":{"description":"If a node is idle for this many minutes, it will be removed.","type":"number","minimum":0},"provider":{"type":"object","description":"Cloud-provider specific configuration.","required":["type"],"additionalProperties":true,"properties":{"type":{"type":"string","description":"e.g. aws, azure, gcp,..."},"region":{"type":"string","description":"e.g. us-east-1"},"module":{"type":"string","description":"module, if using external node provider"},"head_ip":{"type":"string","description":"gcp project id, if using gcp"},"worker_ips":{"type":"array","description":"local cluster head node"},"use_internal_ips":{"type":"boolean","description":"don't require public ips"},"namespace":{"type":"string","description":"k8s namespace, if using k8s"},"location":{"type":"string","description":"Azure location"},"resource_group":{"type":"string","description":"Azure resource group"},"tags":{"type":"object","description":"Azure user-defined tags"},"subscription_id":{"type":"string","description":"Azure subscription id"},"msi_identity_id":{"type":"string","description":"User-defined managed identity (generated by config)"},"msi_identity_principal_id":{"type":"string","description":"User-defined managed identity principal id (generated by config)"},"subnet_id":{"type":"string","description":"Network subnet id"},"autoscaler_service_account":{"type":"object","description":"k8s autoscaler permissions, if using k8s"},"autoscaler_role":{"type":"object","description":"k8s autoscaler permissions, if using k8s"},"autoscaler_role_binding":{"type":"object","description":"k8s autoscaler permissions, if using k8s"},"cache_stopped_nodes":{"type":"boolean","description":" Whether to try to reuse previously stopped nodes instead of launching nodes. This will also cause the autoscaler to stop nodes instead of terminating them. Only implemented for AWS."},"availability_zone":{"type":"string","description":"GCP availability zone"},"project_id":{"type":["string","null"],"description":"GCP globally unique project id"},"security_group":{"type":"object","description":"AWS security group","additionalProperties":false,"properties":{"GroupName":{"type":"string","description":"Security group name"},"IpPermissions":{"type":"array","description":"Security group in bound rules"}}},"disable_node_updaters":{"type":"boolean","description":"Disables node updaters if set to True. Default is False. (For Kubernetes operator usage.)"},"gcp_credentials":{"type":"object","description":"Credentials for authenticating with the GCP client","required":["type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["credentials_token","service_account"],"description":"Credentials type: either temporary OAuth 2.0 token or permanent service account credentials blob."},"credentials":{"type":"string","description":"Oauth token or JSON string constituting service account credentials"}}},"cloudwatch":{"agent":{"CLOUDWATCH_AGENT_INSTALLED_AMI_TAG":{"type":["string"],"description":"Tag to be added to cloudwatch agent pre-installed AMI name."},"config":{"type":["string","null"],"description":"Path to Unified CloudWatch Agent config file. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for additional details."},"retryer":{"max_attempts":{"type":["integer","null"],"description":"Max allowed Unified CloudWatch Agent installation attempts on any host."},"delay_seconds":{"type":["integer","null"],"description":"Seconds to wait between each Unified CloudWatch Agent installation attempt."}}},"dashboard":{"name":{"type":["string","null"],"description":"User defined CloudWatch Dashboard name."},"config":{"type":["string","null"],"description":"Path to CloudWatch Dashboard config file. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html for additional details."}},"alarm":{"config":{"type":["string","null"],"description":"Path to CloudWatch Alarm config file. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html for additional details."}}}}},"auth":{"type":"object","description":"How Ray will authenticate with newly launched nodes.","additionalProperties":false,"properties":{"ssh_user":{"type":"string","default":"ubuntu"},"ssh_public_key":{"type":"string"},"ssh_private_key":{"type":"string"},"ssh_proxy_command":{"description":"A value for ProxyCommand ssh option, for connecting through proxies. Example: nc -x proxy.example.com:1234 %h %p","type":"string"}}},"docker":{"type":"object","description":"Docker configuration. If this is specified, all setup and start commands will be executed in the container.","additionalProperties":false,"properties":{"image":{"type":"string","description":"the docker image name","default":"rayproject/ray:latest"},"container_name":{"type":"string","default":"ray_docker"},"pull_before_run":{"type":"boolean","description":"run `docker pull` first"},"run_options":{"type":"array","description":"shared options for starting head/worker docker"},"head_image":{"type":"string","description":"image for head node, takes precedence over 'image' if specified"},"head_run_options":{"type":"array","description":"head specific run options, appended to run_options"},"worker_image":{"type":"string","description":"analogous to head_image"},"worker_run_options":{"type":"array","description":"analogous to head_run_options"},"disable_automatic_runtime_detection":{"type":"boolean","description":"disable Ray from automatically using the NVIDIA runtime if available","default":false},"disable_shm_size_detection":{"type":"boolean","description":"disable Ray from automatically detecting /dev/shm size for the container","default":false},"use_podman":{"type":"boolean","description":"Use 'podman' command in place of 'docker'","default":false}}},"head_node_type":{"type":"string","description":"If using multiple node types, specifies the head node type."},"file_mounts":{"type":"object","description":"Map of remote paths to local paths, e.g. {\"/tmp/data\": \"/my/local/data\"}"},"cluster_synced_files":{"type":"array","description":"List of paths on the head node which should sync to the worker nodes, e.g. [\"/some/data/somehwere\"]"},"file_mounts_sync_continuously":{"type":"boolean","description":"If enabled, file mounts will sync continously between the head node and the worker nodes. The nodes will not re-run setup commands if only the contents of the file mounts folders change."},"rsync_exclude":{"type":"array","description":"File pattern to not sync up or down when using the rsync command. Matches the format of rsync's --exclude param."},"rsync_filter":{"type":"array","description":"Pattern files to lookup patterns to exclude when using rsync up or rsync down. This file is checked for recursively in all directories. For example, if .gitignore is provided here, the behavior will match git's .gitignore behavior."},"metadata":{"type":"object","description":"Metadata field that can be used to store user-defined data in the cluster config. Ray does not interpret these fields."},"initialization_commands":{"$ref":"#/definitions/commands","description":"List of commands that will be run before `setup_commands`. If docker is enabled, these commands will run outside the container and before docker is setup."},"setup_commands":{"$ref":"#/definitions/commands","description":"List of common shell commands to run to setup nodes."},"head_setup_commands":{"$ref":"#/definitions/commands","description":"Commands that will be run on the head node after common setup."},"worker_setup_commands":{"$ref":"#/definitions/commands","description":"Commands that will be run on worker nodes after common setup."},"head_start_ray_commands":{"$ref":"#/definitions/commands","description":"Command to start ray on the head node. You shouldn't need to modify this."},"worker_start_ray_commands":{"$ref":"#/definitions/commands","description":"Command to start ray on worker nodes. You shouldn't need to modify this."},"no_restart":{"description":"Whether to avoid restarting the cluster during updates. This field is controlled by the ray --no-restart flag and cannot be set by the user."},"available_node_types":{"type":"object","description":"A list of node types for multi-node-type autoscaling.","patternProperties":{".*":{"type":"object","required":["resources","node_config"],"properties":{"node_config":{"type":"object","description":"Provider-specific config for the node, e.g. instance type."},"min_workers":{"type":"integer"},"max_workers":{"type":"integer"},"idle_timeout_s":{"type":"number","nullable":true},"resources":{"type":"object","patternProperties":{".*":{"type":"integer","minimum":0}}},"labels":{"type":"object","patternProperties":{".*":{"type":"string"}}},"initialization_commands":{"$ref":"#/definitions/commands","description":"List of commands that will be run before `setup_commands`. If docker is enabled, these commands will run outside the container and before docker is setup."},"worker_setup_commands":{"$ref":"#/definitions/commands","description":"List of common shell commands to run to setup nodes. This node specfic list will override the global setup_commands and worker_setup_commands."},"docker":{"description":"Configuration of Worker nodes.","type":"object","properties":{"pull_before_run":{"type":"boolean","description":"run `docker pull` first"},"worker_image":{"type":"string","description":"analogous to head_image"},"worker_run_options":{"type":"array","description":"analogous to head_run_options, merged with the global docker run_options."}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}}
</schema>

[User] Provide a JSON object that satisfies the schema "Ray AutoScaler". Here are the required top‑level fields: cluster_name, provider. Return only the valid JSON object.

Ray AutoScaler

Ray autoscaler schema

shell command

A unique identifier for the head node and workers of this cluster.

The maximum number of workers nodes to launch in addition to the head node. This should be no larger than the sum of min_workers for all available node types.

The autoscaler will scale up the cluster faster with higher upscaling speed. E.g., if the task requires adding more nodes then autoscaler will gradually scale up the cluster in chunks of upscaling_speed*currently_running_nodes. This number should be > 0.

If a node is idle for this many minutes, it will be removed.

Cloud-provider specific configuration.

e.g. aws, azure, gcp,...

e.g. us-east-1

module, if using external node provider

gcp project id, if using gcp

local cluster head node

don't require public ips

k8s namespace, if using k8s

Azure location

Azure resource group

Azure user-defined tags

Azure subscription id

User-defined managed identity (generated by config)

User-defined managed identity principal id (generated by config)

Network subnet id

k8s autoscaler permissions, if using k8s

Whether to try to reuse previously stopped nodes instead of launching nodes. This will also cause the autoscaler to stop nodes instead of terminating them. Only implemented for AWS.

GCP availability zone

GCP globally unique project id

AWS security group

Security group name

Security group in bound rules

Disables node updaters if set to True. Default is False. (For Kubernetes operator usage.)

Credentials for authenticating with the GCP client

Credentials type: either temporary OAuth 2.0 token or permanent service account credentials blob.

Oauth token or JSON string constituting service account credentials

Tag to be added to cloudwatch agent pre-installed AMI name.

Path to Unified CloudWatch Agent config file. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for additional details.

Max allowed Unified CloudWatch Agent installation attempts on any host.

Seconds to wait between each Unified CloudWatch Agent installation attempt.

User defined CloudWatch Dashboard name.

Path to CloudWatch Dashboard config file. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html for additional details.

Path to CloudWatch Alarm config file. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html for additional details.

How Ray will authenticate with newly launched nodes.

A value for ProxyCommand ssh option, for connecting through proxies. Example: nc -x proxy.example.com:1234 %h %p

Docker configuration. If this is specified, all setup and start commands will be executed in the container.

the docker image name

run `docker pull` first

shared options for starting head/worker docker

image for head node, takes precedence over 'image' if specified

head specific run options, appended to run_options

analogous to head_image

analogous to head_run_options

disable Ray from automatically using the NVIDIA runtime if available

disable Ray from automatically detecting /dev/shm size for the container

Use 'podman' command in place of 'docker'

If using multiple node types, specifies the head node type.

Map of remote paths to local paths, e.g. {"/tmp/data": "/my/local/data"}

List of paths on the head node which should sync to the worker nodes, e.g. ["/some/data/somehwere"]

If enabled, file mounts will sync continously between the head node and the worker nodes. The nodes will not re-run setup commands if only the contents of the file mounts folders change.

File pattern to not sync up or down when using the rsync command. Matches the format of rsync's --exclude param.

Pattern files to lookup patterns to exclude when using rsync up or rsync down. This file is checked for recursively in all directories. For example, if .gitignore is provided here, the behavior will match git's .gitignore behavior.

Metadata field that can be used to store user-defined data in the cluster config. Ray does not interpret these fields.

List of commands that will be run before `setup_commands`. If docker is enabled, these commands will run outside the container and before docker is setup.

Commands that will be run on the head node after common setup.

Commands that will be run on worker nodes after common setup.

Command to start ray on the head node. You shouldn't need to modify this.

Command to start ray on worker nodes. You shouldn't need to modify this.

Whether to avoid restarting the cluster during updates. This field is controlled by the ray --no-restart flag and cannot be set by the user.

A list of node types for multi-node-type autoscaling.

Provider-specific config for the node, e.g. instance type.

List of common shell commands to run to setup nodes. This node specfic list will override the global setup_commands and worker_setup_commands.

Configuration of Worker nodes.

run `docker pull` first

analogous to head_image

analogous to head_run_options, merged with the global docker run_options.

Provide a JSON object that satisfies the schema "Ray AutoScaler". Here are the required top‑level fields: cluster_name, provider. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rc3-auth-0.0.3.json","title":"rc3 auth","description":"RC auth that can be stored at Collection, Folder, or Request levels","additionalProperties":false,"properties":{"type":{"description":"The type of authentication","type":"string","enum":["none","token","bearer","basic","inherit"]},"token_header":{"description":"The HTTP Header name (for token auth type)","type":"string"},"token_value":{"description":"The HTTP Header value (for token auth type)","type":"string"},"bearer_token":{"description":"The bearer token (for bearer auth type)","type":"string"},"username":{"description":"The basic auth username","type":"string"},"password":{"description":"The basic auth password","type":"string"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "rc3 auth". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

rc3 auth

RC auth that can be stored at Collection, Folder, or Request levels

The type of authentication

The HTTP Header name (for token auth type)

The HTTP Header value (for token auth type)

The bearer token (for bearer auth type)

The basic auth username

The basic auth password

Provide a JSON object that satisfies the schema "rc3 auth". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rc3-collection-0.0.3.json","title":"rc3 collection","description":"RC collection information","additionalProperties":false,"properties":{"$schema":{"description":"The JSON schema to use for validation","type":"string"},"name":{"description":"The name of the collection","type":"string"},"current_request":{"description":"The current request in the collection","type":"string"},"current_environment":{"description":"The current environment in the collection","type":"string"},"auth":{"$ref":"https://json.schemastore.org/rc3-auth-0.0.3.json"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "rc3 collection". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

rc3 collection

RC collection information

The JSON schema to use for validation

The name of the collection

The current request in the collection

The current environment in the collection

Provide a JSON object that satisfies the schema "rc3 collection". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rc3-environment-0.0.3.json","additionalProperties":{"type":"string"},"title":"rc3 environment","description":"RC environment for both Global and per Collection environments","properties":{"$schema":{"description":"The JSON schema to use for validation","type":"string"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "rc3 environment". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

rc3 environment

RC environment for both Global and per Collection environments

The JSON schema to use for validation

Provide a JSON object that satisfies the schema "rc3 environment". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rc3-folder-0.0.3.json","title":"rc3 folder","description":"RC folder information","additionalProperties":false,"properties":{"$schema":{"description":"The JSON schema to use for validation","type":"string"},"comment":{"description":"Ummm","type":"string"},"auth":{"$ref":"https://json.schemastore.org/rc3-auth-0.0.3.json"}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "rc3 folder". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

rc3 folder

RC folder information

The JSON schema to use for validation

Ummm

Provide a JSON object that satisfies the schema "rc3 folder". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rc3-request-0.0.3.json","$defs":{"nvp":{"type":"object","properties":{"name":{"type":"string"}},"additionalProperties":{"type":"string"}}},"title":"rc3 request","description":"RC request information","additionalProperties":false,"properties":{"$schema":{"description":"The JSON schema to use for validation","type":"string"},"comment":{"description":"A comment to provide documentation for this request","type":"string"},"method":{"description":"The HTTP method to use for this request","type":"string","enum":["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]},"url":{"description":"The URL to use for this request","type":"string"},"params":{"$ref":"#/$defs/nvp","description":"The query parameters to send with this request"},"form_data":{"$ref":"#/$defs/nvp","description":"Form x-www-form-urlencoded data to pass in the request body"},"auth":{"$ref":"https://json.schemastore.org/rc3-auth-0.0.3.json"},"headers":{"$ref":"#/$defs/nvp","description":"The HTTP headers to send with this request"},"body":{"description":"The body of the request","type":"object","properties":{"text":{"type":"string"},"json":{"type":"object"}},"additionalProperties":false},"save_responses":{"description":"Whether to save .response files in the same dir as the .request file","type":"boolean"},"extract":{"description":"JSON node, or Text pattern (with regex group) to extract from response","type":"object","properties":{"json_path":{"description":"A JSON Path expression to extract a single field from JSON","type":"string"},"text_pattern":{"description":"A Python regex pattern with a single REGEX GROUP to be extracted from the response","type":"string"},"env":{"description":"Choose to store the extracted field in either the global env (default), or currently selected env from your collection","type":"string","enum":["global","current"]},"var":{"description":"The var name (default is token) in the environment to store the extracted value in","type":"string"}},"additionalProperties":false}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "rc3 request". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

rc3 request

RC request information

The JSON schema to use for validation

A comment to provide documentation for this request

The HTTP method to use for this request

The URL to use for this request

The query parameters to send with this request

Form x-www-form-urlencoded data to pass in the request body

The HTTP headers to send with this request

The body of the request

Whether to save .response files in the same dir as the .request file

JSON node, or Text pattern (with regex group) to extract from response

A JSON Path expression to extract a single field from JSON

A Python regex pattern with a single REGEX GROUP to be extracted from the response

Choose to store the extracted field in either the global env (default), or currently selected env from your collection

The var name (default is token) in the environment to store the extracted value in

Provide a JSON object that satisfies the schema "rc3 request". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rc3-settings-0.0.3.json","$defs":{"collection_ref":{"type":"object","properties":{"name":{"type":"string"},"location":{"type":"string"}},"additionalProperties":false}},"title":"rc3 settings","description":"RC settings stored in the users RC_HOME directory","additionalProperties":false,"properties":{"$schema":{"description":"The JSON schema to use for validation","type":"string"},"save_responses":{"description":"Whether to save .response files in the same dir as the .request file","type":"boolean"},"request_timeout_seconds":{"description":"Timeout for requests in seconds","type":"integer"},"indent":{"description":"Indentation width for JSON output","type":"integer"},"indent_type":{"description":"Indentation type for JSON output","type":"string","enum":["space","tab"]},"headers_send_nocache":{"description":"Whether to send no-cache headers","type":"boolean"},"follow_redirects":{"description":"Whether to follow redirects","type":"boolean"},"ca_cert_verification":{"description":"Whether to verify SSL certificates","type":"boolean"},"ca_bundle":{"description":"Path to Python-like CA truststore file","type":"string"},"current_collection":{"description":"The current collection","type":"string"},"collections":{"description":"The list of collections (each collection should be an absolute path to the collection root directory)","type":"array","items":{"$ref":"#/$defs/collection_ref"}}},"type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "rc3 settings". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

rc3 settings

RC settings stored in the users RC_HOME directory

The JSON schema to use for validation

Timeout for requests in seconds

Indentation width for JSON output

Indentation type for JSON output

Whether to send no-cache headers

Whether to follow redirects

Whether to verify SSL certificates

Path to Python-like CA truststore file

The current collection

The list of collections (each collection should be an absolute path to the collection root directory)

Provide a JSON object that satisfies the schema "rc3 settings". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$id":"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog.schema.json","$schema":"http://json-schema.org/draft-07/schema#","title":"Red-DiscordBot \u0421og metadata file","type":"object","properties":{"author":{"type":"array","description":"List of names of authors of the cog","items":{"type":"string"}},"description":{"type":"string","description":"A long description of the cog or repo. For cogs, this is displayed when a user executes [p]cog info."},"install_msg":{"type":"string","description":"The message that gets displayed when a cog is installed or a repo is added"},"short":{"type":"string","description":"A short description of the cog or repo. For cogs, this info is displayed when a user executes [p]cog list"},"end_user_data_statement":{"type":"string","description":"A statement explaining what end user data the cog is storing. This is displayed when a user executes [p]cog info. If the statement has changed since last update, user will be informed during the update."},"min_bot_version":{"type":"string","description":"Min version number of Red in the format MAJOR.MINOR.MICRO","pattern":"^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)((a|b|rc)(0|[1-9][0-9]*))?(\\.post(0|[1-9][0-9]*))?(\\.dev(0|[1-9][0-9]*))?$"},"max_bot_version":{"type":"string","description":"Max version number of Red in the format MAJOR.MINOR.MICRO, if min_bot_version is newer than max_bot_version, max_bot_version will be ignored","pattern":"^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)((a|b|rc)(0|[1-9][0-9]*))?(\\.post(0|[1-9][0-9]*))?(\\.dev(0|[1-9][0-9]*))?$"},"min_python_version":{"type":"array","description":"Min version number of Python in the format [MAJOR, MINOR, PATCH]","minItems":3,"maxItems":3,"items":{"type":"integer"}},"hidden":{"type":"boolean","description":"Determines if a cog is visible in the cog list for a repo."},"disabled":{"type":"boolean","description":"Determines if a cog is available for install."},"required_cogs":{"type":"object","description":"A dict of required cogs that this cog depends on in the format {cog_name : repo_url}. Downloader will not deal with this functionality but it may be useful for other cogs.","$ref":"#/definitions/required_cog"},"requirements":{"type":"array","description":"List of required libraries that are passed to pip on cog install.","items":{"type":"string"}},"tags":{"type":"array","description":"A list of strings that are related to the functionality of the cog. Used to aid in searching.","uniqueItems":true,"items":{"type":"string"}},"type":{"type":"string","description":"Optional, defaults to COG. Must be either COG or SHARED_LIBRARY. If SHARED_LIBRARY then hidden will be True.","enum":["COG","SHARED_LIBRARY"]}},"definitions":{"required_cog":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false}}}
</schema>

[User] Provide a JSON object that satisfies the schema "Red-DiscordBot Сog metadata file". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Red-DiscordBot Сog metadata file

List of names of authors of the cog

A long description of the cog or repo. For cogs, this is displayed when a user executes [p]cog info.

The message that gets displayed when a cog is installed or a repo is added

A short description of the cog or repo. For cogs, this info is displayed when a user executes [p]cog list

A statement explaining what end user data the cog is storing. This is displayed when a user executes [p]cog info. If the statement has changed since last update, user will be informed during the update.

Min version number of Red in the format MAJOR.MINOR.MICRO

Max version number of Red in the format MAJOR.MINOR.MICRO, if min_bot_version is newer than max_bot_version, max_bot_version will be ignored

Min version number of Python in the format [MAJOR, MINOR, PATCH]

Determines if a cog is visible in the cog list for a repo.

Determines if a cog is available for install.

A dict of required cogs that this cog depends on in the format {cog_name : repo_url}. Downloader will not deal with this functionality but it may be useful for other cogs.

List of required libraries that are passed to pip on cog install.

A list of strings that are related to the functionality of the cog. Used to aid in searching.

Optional, defaults to COG. Must be either COG or SHARED_LIBRARY. If SHARED_LIBRARY then hidden will be True.

Provide a JSON object that satisfies the schema "Red-DiscordBot Сog metadata file". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$id":"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog_repo.schema.json","$schema":"http://json-schema.org/draft-07/schema#","title":"Red-DiscordBot \u0421og Repo metadata file","type":"object","properties":{"author":{"type":"array","description":"List of names of authors of the cog","items":{"type":"string"}},"description":{"type":"string","description":"A long description of the cog or repo. For cogs, this is displayed when a user executes [p]cog info."},"install_msg":{"type":"string","description":"The message that gets displayed when a cog is installed or a repo is added"},"short":{"type":"string","description":"A short description of the cog or repo. For cogs, this info is displayed when a user executes [p]cog list"}}}
</schema>

[User] Provide a JSON object that satisfies the schema "Red-DiscordBot Сog Repo metadata file". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Red-DiscordBot Сog Repo metadata file

List of names of authors of the cog

Provide a JSON object that satisfies the schema "Red-DiscordBot Сog Repo metadata file". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.